BoxMOT
raw JSON → 18.0.0 verified Sat May 09 auth: no python
BoxMOT provides pluggable state-of-the-art multi-object tracking modules for segmentation, object detection, and pose estimation models. Current version 18.0.0 requires Python <3.13,>=3.9 and follows a fast release cadence.
pip install boxmot Common errors
error ModuleNotFoundError: No module named 'boxmot.trackers' ↓
cause Import path changed in v18; old code uses boxmot.trackers submodule.
fix
Change import to
from boxmot import BoTSORT. error TypeError: update() missing 1 required positional argument: 'img' ↓
cause The update method now requires an image argument for feature computation.
fix
Pass an image array as second argument:
tracker.update(detections, image). error ValueError: detections array shape mismatch; expected (N,6) ↓
cause The detections array must have shape (N,6) with columns (x1,y1,x2,y2,conf,class_id).
fix
Ensure detections are formatted as 2D array with 6 columns per detection.
error ImportError: cannot import name 'create_tracker' from 'boxmot' ↓
cause The create_tracker helper function was removed in v18.
fix
Instantiate tracker classes directly:
from boxmot import BoTSORT; tracker = BoTSORT(). Warnings
breaking In version 18.0.0, the import paths changed: trackers are now directly under boxmot, not boxmot.trackers. ↓
fix Use `from boxmot import BoTSORT` instead of `from boxmot.trackers import BoTSORT`.
breaking The signature of the update method changed. The method now requires a second argument (image) for features, and the return format may differ. ↓
fix Call tracker.update(detections, image) where image is a numpy array (H,W,3). Review return structure.
deprecated The creation of a tracker without explicit configuration will use defaults; future versions may require config. ↓
fix Pass a configuration dictionary to the tracker constructor, e.g., BoTSORT(config={...}).
Install
pip install boxmot[ultralytics] Imports
- BoTSORT wrong
from boxmot.trackers import BoTSORTcorrectfrom boxmot import BoTSORT - StrongSORT wrong
from boxmot.trackers.strongsort import StrongSORTcorrectfrom boxmot import StrongSORT
Quickstart
from boxmot import BoTSORT
import numpy as np
# Initialize tracker
tracker = BoTSORT()
# Simulate detections: [x1, y1, x2, y2, conf, class_id]
detections = np.array([[100, 100, 200, 200, 0.9, 0]])
# Update with a dummy image (for embeddings, pass real image if needed)
results = tracker.update(detections, np.zeros((480, 640, 3), dtype=np.uint8))
print(results)