Experiment Workflows
Use experiment configs for the generate, eval, tune, and research modes.
An experiment selects entries from the central boxmot/configs catalog, so commands do
not repeat paths or numeric class IDs.
boxmot generate --experiment mot17-ablation-yolox-lmbn
boxmot eval --experiment mot17-ablation-yolox-lmbn --tracker boosttrack
boxmot tune --experiment mot17-ablation-yolox-lmbn --tracker bytetrack
Detection sources
Choose the source in the experiment:
mot17-ablation-yolox-lmbnruns the named detector checkpoint.mot17-ablation-frcnn-lmbnuses MOT17 public FRCNN detections.mot17-ablation-precomputeddownloads the declared detections and embeddings.
The cache root is
<project>/dets_n_embs/<dataset>/<split>/<detector-or-public-producer>/.
Detection outputs live below dets/. Embeddings below embs/ are further
partitioned by their Python or C++ producer, model format and runtime, ReID
artifact fingerprint, preprocessing policy, and crop-schema version.
Keep the same experiment, split, detection producer, ReID weights, backend, and preprocessing overrides when later commands should reuse the same cache.
Data and replay
Downloaded MOT-style datasets are stored under boxmot/datasets/mot. Most
cached replay runs do not read images; trackers that need camera-motion inputs
still load frames during replay.
Native --tracker-backend cpp replay can reuse the detection cache. Embedding
producer identity is the effective Python or C++ implementation that generated
the vectors, not the tracker algorithm that consumes them.
See Embedding cache layout.
Benchmark publication
README benchmark cells use Python<br>(C++) for trackers with a native
implementation. Publish a native value only from the same experiment, detector
confidence threshold, split, cache producer, and metric aggregation as its
Python value. In particular, mmot-obb-test-precomputed uses the
yolo11l-mmot-obb detector's default 0.2 confidence threshold and TrackEval
Class Avg (Cls) across all eight classes.
Every published native HOTA, MOTA, and IDF1 value must be within 0.25
percentage points of its Python pair. The download-free publication check is:
python .github/scripts/tracker_benchmark_results.py verify-readme \
--readme README.md \
--tolerance 0.25
Outputs
generatewrites reusable detections and embeddings.evalwrites tracker outputs, metric results,config.source.yaml, andconfig.resolved.yaml.tunewrites trial outputs and the best parameters.researchwrites summaries for evaluated code proposals.