mikel-brostrom/boxmot

BoxMOT: Pluggable Python and C++ SOTA multi-object tracking modules with support for axis-aligned and oriented bounding boxes

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 5 minutes ago
Added to GitGenius on September 8th, 2026
Created on June 26th, 2020
Open Issues & Pull Requests: 11 (+0)
GitHub issues: Enabled
Number of forks: 1,918
Total Stargazers: 8,293 (+0)
Total Subscribers: 59 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.4 hours
Mean response time: 3.7 days
90th percentile: 9.2 days
Tracked items: 211

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 7% of issues opened in the past year have been closed. Three people close 74% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 4 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (123)
  • Stale (106)
  • triage (78)
  • bug (56)
  • tracking (42)
  • enhancement (36)
  • reid (33)
  • engine (30)

Most active issues this week

Detailed Description

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.