Releases: roboflow/trackers
Trackers 2.2.0
Changelog
🚀 Added
- Added camera motion compensation for stable trajectory visualization. (#263)
trackers-2.2.0-promo.mp4
-
Added
trackers trackCLI command. Full tracking pipeline from the command line. Point it at a video, webcam, RTSP stream, or image directory. (#242, #230, #252, #243)trackers track --source video.mp4 --output output.mp4 \ --model rfdetr-medium \ --model.confidence 0.3 \ --classes person \ --show-labels --show-trajectories -
Added
trackers evalCLI command. Evaluate tracker predictions against ground truth using standard MOT metrics. (#210, #211, #212, #214, #215, #223, #224, #226, #250)trackers eval \ --gt-dir data/gt \ --tracker-dir data/trackers \ --metrics CLEAR HOTA Identity \ --columns MOTA HOTA IDF1 IDSWSequence MOTA HOTA IDF1 IDSW ---------------------------------------------------------- MOT17-02-FRCNN 75.600 62.300 72.100 42 MOT17-04-FRCNN 78.200 65.100 74.800 31 ---------------------------------------------------------- COMBINED 75.033 62.400 72.033 73
-
Added Trackers Playground on Hugging Face Spaces. Interactive Gradio demo with model and tracker selection, COCO class filtering, visualization flags, and cached examples. (#249)
-
Added interactive CLI command builder to the docs. Generate trackers track commands with interactive controls. (#242)
🏆 Contributors
@omkar-334 (Omkar Kabde), @Aaryan2304 (Aaryan Kurade), @juan-cobos (Juan Cobos Álvarez), @Borda (Jirka Borovec), @SkalskiP (Piotr Skalski)
Trackers 2.1.0.
Changelog
Warning
Starting with version 2.1.0, Trackers package drops support for Python 3.9. If your environment still relies on Python 3.9, stay on Trackers 2.0.x or upgrade your Python runtime to 3.10 or newer.
Warning
Starting with version 2.1.0, the Trackers package drops support for DeepSORTTracker and ReIDModel. We plan to bring back improved ReID support in future releases.
🚀 Added
Added support for ByteTrack, a fast tracking by detection algorithm focused on stable identities under occlusion. We evaluated both SORT and ByteTrack implementations on three standard multiple object tracking benchmarks, MOT17, SportsMOT, and SoccerNet Tracking.
| Algorithm | Trackers API | MOT17 HOTA | MOT17 IDF1 | MOT17 MOTA | SportsMOT HOTA | SoccerNet HOTA |
|---|---|---|---|---|---|---|
| SORT | SORTTracker |
58.4 | 69.9 | 67.2 | 70.9 | 81.6 |
| ByteTrack | ByteTrackTracker |
60.1 | 73.2 | 74.1 | 73.0 | 84.0 |
import cv2
import supervision as sv
from rfdetr import RFDETRMedium
from trackers import ByteTrack
tracker = ByteTrack()
model = RFDETRMedium()
box_annotator = sv.BoxAnnotator()
label_annotator = sv.LabelAnnotator()
video_capture = cv2.VideoCapture("<SOURCE_VIDEO_PATH>")
if not video_capture.isOpened():
raise RuntimeError("Failed to open video source")
while True:
success, frame_bgr = video_capture.read()
if not success:
break
frame_rgb = cv2.cvtColor(frame_bgr, cv2.COLOR_BGR2RGB)
detections = model.predict(frame_rgb)
detections = tracker.update(detections)
annotated_frame = box_annotator.annotate(frame_bgr, detections)
annotated_frame = label_annotator.annotate(annotated_frame, detections, labels=detections.tracker_id)
cv2.imshow("RF-DETR + ByteTrack", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
video_capture.release()
cv2.destroyAllWindows()rf-detr-1.4.0-and-trackers-2.1.0-promo.mp4
🏆 Contributors
@tstanczyk95 (Tomasz Stańczyk), @AlexBodner (Alexander Bodner), @Borda (Jirka Borovec), @SkalskiP (Piotr Skalski)