Trackers
All trackers share the same Kalman filter and the same detection input, and differ only in how they associate detections to existing tracks. Pick based on your scene and whether you have a Re-ID model.
| Tracker | Appearance | Matching | When to use |
|---|---|---|---|
| SORT | None | IoU | Simple scenes, highest speed, no occlusions |
| ByteTrack | None | IoU (two-stage) | Crowded scenes, low-confidence detections, short occlusions |
| OC-SORT | None | IoU + velocity (OCM) | Frequent brief occlusions, no Re-ID available |
| DeepSORT | Re-ID embeddings | Appearance + IoU | Long occlusions, dense crowds, identity-sensitive cases |
| Deep OC-SORT | Re-ID embeddings | IoU + velocity + appearance | Occlusions where Re-ID helps recover identities |
The Kalman filter uses an 8-dimensional state [x, y, a, h, vx, vy, va, vh], where (x, y) is the
box centre, a is the aspect ratio, and h is the height. Detections in [x, y, w, h] (top-left)
form are converted to and from this representation internally.