| comments |
|---|
true |
Plug-and-play multi-object tracking for any detection model. Clean, modular implementations of SORT, ByteTrack, and OC-SORT under the Apache 2.0 license.
Get started by installing the package.
pip install trackers
For more options, see the install guide.
Point at a video, webcam, RTSP stream, or image directory. Get tracked output.
trackers track \
--source video.mp4 \
--output output.mp4 \
--model rfdetr-medium \
--tracker bytetrack \
--show-labels \
--show-trajectoriesFor all CLI options, see the tracking guide.
Plug trackers into your existing detection pipeline. Works with any detector.
import cv2
import supervision as sv
from inference import get_model
from trackers import ByteTrackTracker
model = get_model(model_id="rfdetr-medium")
tracker = ByteTrackTracker()
cap = cv2.VideoCapture("video.mp4")
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
result = model.infer(frame)[0]
detections = sv.Detections.from_inference(result)
tracked = tracker.update(detections)For more examples, see the tracking guide.
Benchmark your tracker against ground truth with standard MOT metrics.
trackers eval \
--gt-dir ./data/mot17/val \
--tracker-dir results \
--metrics CLEAR HOTA Identity \
--columns MOTA HOTA IDF1
Sequence MOTA HOTA IDF1
----------------------------------------------------
MOT17-02-FRCNN 30.192 35.475 38.515
MOT17-04-FRCNN 48.912 55.096 61.854
MOT17-05-FRCNN 52.755 45.515 55.705
MOT17-09-FRCNN 51.441 50.108 57.038
MOT17-10-FRCNN 51.832 49.648 55.797
MOT17-11-FRCNN 55.501 49.401 55.061
MOT17-13-FRCNN 60.488 58.651 69.884
----------------------------------------------------
COMBINED 47.406 50.355 56.600
For the full evaluation workflow, see the evaluation guide.
Clean, modular implementations of leading trackers. All HOTA scores use default parameters.
| Algorithm | Description | MOT17 HOTA | SportsMOT HOTA | SoccerNet HOTA | DanceTrack HOTA |
|---|---|---|---|---|---|
| SORT | Kalman filter + Hungarian matching baseline. | 58.4 | 70.9 | 81.6 | 45.0 |
| ByteTrack | Two-stage association using high and low confidence detections. | 60.1 | 73.0 | 84.0 | 50.2 |
| OC-SORT | Observation-centric recovery for lost tracks. | 61.9 | 71.7 | 78.4 | 51.8 |
For detailed benchmarks and tuned configurations, see the tracker comparison.
Pull benchmark datasets for evaluation with a single command.
trackers download mot17 \
--split val \
--asset annotations,detections| Dataset | Description | Splits | Assets | License |
|---|---|---|---|---|
mot17 |
Pedestrian tracking with crowded scenes and frequent occlusions. | train, val, test |
frames, annotations, detections |
CC BY-NC-SA 3.0 |
sportsmot |
Sports broadcast tracking with fast motion and similar-looking targets. | train, val, test |
frames, annotations |
CC BY 4.0 |
For more download options, see the download guide.
Try trackers in your browser with our Hugging Face Playground.
-
How to Track Objects with SORT
End-to-end example showing how to run RF-DETR detection with the SORT tracker.
-
How to Track Objects with ByteTrack
End-to-end example showing how to run RF-DETR detection with the ByteTrack tracker.
-
How to Track Objects with OC-SORT
End-to-end example showing how to run RF-DETR detection with the OC-SORT tracker.