// the find
mikel-brostrom/boxmot
BoxMOT: Pluggable python and c++ SOTA multi-object tracking modules with support for axis-aligned and oriented bounding boxes
BoxMOT is a Python (and C++) library that wraps 9+ multi-object tracking algorithms behind a single API — ByteTrack, BotSORT, StrongSORT, OccluBoost, and others — with built-in ReID model support, hyperparameter tuning, and benchmark evaluation pipelines. It's aimed at CV researchers and practitioners who want to swap trackers without rewriting detector plumbing. Active development, 8k stars, ships pre-built benchmark results so you know what you're getting before you commit.
The pluggable tracker interface is the real value here — `tracker.update(dets, img)` works identically across all trackers, so A/B testing ByteTrack vs BotSORT is actually just one config flag. The C++ backend option (`--tracker-backend cpp`) with a proper CMake integration path is unusual for this category of library and means you can embed it in production pipelines without a Python runtime. Benchmark numbers are reproducible in-repo with cached detections, not just copied from papers. OBB (oriented bounding box) support is a real differentiator — most MOT libraries only handle axis-aligned boxes.
AGPL-3.0 license is a dealbreaker for any commercial product that doesn't want to open-source its stack — this should be the first thing anyone evaluates before integrating. The C++ path requires building from source and the Python bindings are thin wrappers; documentation on the native integration is sparse. ReID model zoo is a grab-bag of formats (ONNX, TFLite, OpenVINO extras) with inconsistent hardware support — getting the right model for your GPU/edge device requires trial and error. No async or streaming-friendly API; the `update()` call is synchronous and frame-blocking, which matters if you're feeding from multiple camera streams.