Skip to content

CLI

BoxMOT exposes one command group for all supported workflows:

boxmot MODE [OPTIONS]

Core idea

  • MODE selects the workflow such as track, generate, or eval.
  • --detector selects the detector backend or profile.
  • --reid selects the appearance model or profile.
  • --tracker selects the tracker implementation and its YAML config.
  • --tracker-backend cpp selects a native C++ tracker implementation when one is registered.
  • ReID model lifecycle commands are also available through boxmot train, boxmot eval-reid, and boxmot export.

Legacy aliases such as --yolo-model, --reid-model, and --tracking-method are not part of the current CLI.

Common examples

Track a video:

boxmot track --detector yolov8n --reid osnet_x0_25_msmt17 --tracker botsort --source video.mp4 --save

Evaluate a tracker on a benchmark:

boxmot eval --benchmark mot17 --split ablation --tracker boosttrack --verbose

Run a native C++ tracker backend:

boxmot track --detector yolov8n --tracker bytetrack --tracker-backend cpp --source video.mp4
boxmot eval --benchmark mot17 --split ablation --tracker bytetrack:cpp

Export a ReID model:

boxmot export --weights osnet_x0_25_msmt17.pt --include onnx --include engine --dynamic

Train a ReID model:

boxmot train --model osnet_x0_25 --dataset market1501 --data-dir /data/reid

Evaluate a trained ReID model:

boxmot eval-reid --weights runs/reid_train/exp/best.pt --dataset market1501 --data-dir /data/reid

Run GEPA-based research:

boxmot research --benchmark mot17 --split ablation --tracker bytetrack --proposal-model openai/gpt-5.4 --max-metric-calls 24

Direct source vs benchmark configs

Use track when you already have a concrete source such as 0, video.mp4, path/, or rtsp://....

Use benchmark-driven modes when you want BoxMOT to resolve dataset, detector, and ReID profiles automatically from config files:

boxmot eval --benchmark mot17 --split ablation --tracker boosttrack

Full argument tables

Each mode page includes its own generated CLI argument table. Direct links: