Ultralytics YOLO supports multi-object tracking for video analytics, extending object detection with persistent object identities across frames. This functionality is documented in the Ultralytics tracking guide and is available through the Ultralytics Python API and CLI.
It enables real-time tracking for detect, segment, and pose models, making it suitable for applications such as surveillance, transportation analytics, retail monitoring, sports analysis, and aquaculture.
Ultralytics YOLO object tracking builds on top of the standard YOLO detection pipeline by assigning a unique track ID to each detected object and maintaining that identity over time. This allows the system not only to detect what and where an object is, but also to follow it through a video stream.
The framework supports multiple tracking algorithms, most notably BoT-SORT and ByteTrack. These trackers can be selected through YAML configuration files and tuned for task-specific behavior. In practice, YOLO handles the object detection stage, while the tracker performs data association between frames to maintain consistent identities over time.
Key traits of Ultralytics YOLO tracking:
- Real-time multi-object tracking: Maintains persistent IDs for detected objects in video streams.
- Multiple tracker support: Supports both BoT-SORT and ByteTrack.
- Works across model types: Tracking is available for detect, segment, and pose variants.
- Configurable behavior: Thresholds, buffers, matching logic, and motion compensation can be tuned.
- Re-identification support: BoT-SORT can optionally use appearance-based ReID for stronger tracking through occlusions.
- A video stream is processed frame by frame by a YOLO model.
- Objects are first detected in each frame using a standard YOLO detection, segmentation, or pose model.
- A tracker such as BoT-SORT or ByteTrack associates detections across frames and assigns persistent track IDs.
- The output can be visualized as bounding boxes or masks together with IDs and optional trajectory paths over time.
- Additional configuration options allow tuning of matching thresholds, lost-track buffering, motion compensation, and optional ReID.
Ultralytics YOLO tracking is intended for:
- Video surveillance and security with persistent object identities.
- Transportation analytics, such as vehicle tracking and traffic monitoring.
- Retail and public-space analytics, including people tracking and flow analysis.
- Sports, robotics, and industrial video applications where object motion over time is important.
Limitations:
- Tracking quality depends heavily on the underlying detector quality, since missed detections can break tracks.
- Fast motion, severe occlusion, crowded scenes, or rapid viewpoint changes can still cause ID switches or track fragmentation.
- Re-identification improves robustness in some scenarios, but usually adds latency and extra computation.
- The system is best understood as a tracking framework built on YOLO detections, rather than a standalone end-to-end tracker independent of detection quality.
¶ BibTeX entry and citation info
@misc{ultralytics_yolo_tracking,
title={Multi-Object Tracking with Ultralytics YOLO},
author={Ultralytics},
howpublished={Ultralytics Docs},
url={https://docs.ultralytics.com/modes/track/}
}