This simple tracker, simply assigns track IDs which maximise the 'bounding box IoU' between previous tracks and current detections. It is also able to match detections to tracks at more than one timestep previously. """ import os import sys import numpy as np from multiprocessing.pool import Pool from multiprocessing import freeze_support sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))) from trackeval.baselines import baseline_utils as butils from trackeval.utils import get_code_path code_path = get_code_path() config = { 'INPUT_FOL': os.path.join(code_path, 'data/detections/rob_mots/{split}/non_overlap_supplied/data/'), 'OUTPUT_FOL': os.path.join(code_path, 'data/trackers/rob_mots/{split}/STP/data/'), 'SPLIT': 'train', # valid: 'train', 'val', 'test'. 'Benchmarks': None, # If None, all benchmarks in SPLIT. 'Num_Parallel_Cores': None, # If None, run without parallel. 'DETECTION_THRESHOLD': 0.5, 'ASSOCIATION_THRESHOLD': 1e-10, 'MAX_FRAMES_SKIP': 7 } def track_sequence(seq_file):
# python3 scripts/run_rob_mots.py --ROBMOTS_SPLIT train --TRACKERS_TO_EVAL STP --USE_PARALLEL True --NUM_PARALLEL_CORES 8 import sys import os import csv import numpy as np from multiprocessing import freeze_support sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) import trackeval # noqa: E402 from trackeval import utils code_path = utils.get_code_path() if __name__ == '__main__': freeze_support() script_config = { 'ROBMOTS_SPLIT': 'train', # 'train', # valid: 'train', 'val', 'test', 'test_live', 'test_post', 'test_all' 'BENCHMARKS': ['kitti_mots', 'davis_unsupervised', 'youtube_vis', 'ovis', 'tao'], # 'bdd_mots' coming soon 'GT_FOLDER': os.path.join(code_path, 'data/gt/rob_mots'), 'TRACKERS_FOLDER': os.path.join(code_path, 'data/trackers/rob_mots'), } default_eval_config = trackeval.Evaluator.get_default_eval_config() default_eval_config['PRINT_ONLY_COMBINED'] = True