README.md

May 30, 2026 · View on GitHub

BoxMOT demo

mikel-brostrom%2Fboxmot | Trendshift

CI PyPI version downloads license python-version colab DOI docker pulls discord Ask DeepWiki

BoxMOT gives you one CLI and one Python API for running modern multi-object tracking workflows. It covers direct tracking, cached benchmark evaluation, tuning, research loops, ReID training and evaluation, and ReID export without forcing you to rebuild the detector and tracker stack for each experiment.

DocsInstallationModesAPI ReferenceTrackersContributing

Why BoxMOT

  • One interface for track, generate, eval, tune, research, train, eval-reid, and export.
  • Swappable trackers with shared detector and ReID plumbing.
  • Benchmark-oriented workflows with reusable detections and embeddings.
  • Support for both AABB and OBB tracking paths.
  • Optional production-ready native C++ tracker implementations with the same metrics as the Python path, opted into via --tracker-backend cpp and embeddable in standalone C++ projects via CMake (see Native C++ Integration).
  • Public Python API for embedding the same workflows in applications and notebooks.

Installation

BoxMOT supports Python 3.10 through 3.13.

pip install boxmot
boxmot --help

For mode-specific extras such as yolo, evolve, research, onnx, openvino, and tflite, see the installation guide.

Benchmark Results

Tracker MOT17 ablation SportsMOT val MMOT test OBB
HOTA MOTA IDF1 HOTA MOTA IDF1 HOTA MOTA IDF1
occluboost 70.47
(70.48)
78.32
(78.31)
84.14
(84.14)
83.17 97.48 89.36
botsort 69.44
(69.43)
78.24
(78.26)
81.94
(82.00)
76.93 98.11 78.30 51.79 46.05 60.85
boosttrack 69.25
(—)
75.91
(—)
83.20
(—)
76.32 97.08 77.82
strongsort 68.05
(—)
76.19
(—)
80.76
(—)
79.80 97.31 80.27
deepocsort 67.95
(—)
75.83
(—)
80.54
(—)
79.51 97.94 79.59
bytetrack 67.68
(67.75)
78.04
(78.03)
79.16
(79.38)
67.93 97.25 76.90 33.97 33.72 39.74
hybridsort 67.31
(—)
74.09
(—)
78.87
(—)
81.14 98.07 81.88
ocsort 66.44
(66.44)
74.55
(74.55)
77.90
(77.90)
76.34 96.60 75.64 28.57 26.19 29.95
sfsort 62.65
(62.66)
76.87
(76.74)
69.18
(69.18)
75.73 98.39 72.99 44.19 44.27 46.25

Py (C++); unavailable. See Benchmark Workflows.

Related guides:

Minimal Usage

CLI:

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

Python:

from boxmot import Boxmot

run = Boxmot(detector="yolov8n", reid="osnet_x0_25_msmt17", tracker="botsort").track(
    source="video.mp4",
    save=True,
)
print(run)

Contributing

Start with CONTRIBUTING.md and the contributor docs.

Contributors

BoxMOT contributors

Support and Citation