BoxMOT is a multi-object tracking framework that provides pluggable Python and C++ modules for tracking objects detected as axis-aligned or oriented bounding boxes from any detection model.
The tool addresses the need to integrate detection outputs into consistent tracking pipelines by offering swappable detector, segmentor, appearance-encoder, and tracker components built on validated Torch structures. It supports both axis-aligned bounding box and oriented bounding box tracking paths, allowing users to work with different detection formats. The framework provides both Python implementations and optional production-ready native C++ tracker implementations with equivalent metrics, which can be embedded in standalone C++ projects via CMake or used through a command-line interface that handles detection, tracking, segmentation, and re-identification workflows.
Developers should choose this tool if they need flexibility in composing tracking pipelines from independent components rather than a monolithic solution. It suits projects requiring support for multiple bounding box formats, those needing reusable detection and embedding caches stored as immutable keyed Parquet files, and applications where C++ performance is critical. The framework provides a structured Python API for embedding components in applications, alongside a CLI for research, evaluation, tuning, and dataset materialization workflows. It supports Python versions through the current stable releases.
The project maintains active development across multiple tracking algorithms and continues to expand its component ecosystem. The codebase includes both Python and C++ implementations kept in sync, indicating sustained effort to provide parity between language bindings. Documentation covers installation profiles for different hardware targets and use cases, suggesting ongoing attention to deployment scenarios. The project accepts contributions and maintains structured workflows for research and evaluation beyond basic tracking functionality.