Tracker comparison · Deep OC-SORT vs BoT-SORT
Deep OC-SORT vs BoT-SORT
A head-to-head of Deep OC-SORT and BoT-SORT for multi-object tracking behind YOLO: how fast each runs across 10 NVIDIA GPUs and how steadily it holds object IDs, measured on the same clip and the same detector.
The verdict: On an NVIDIA H100, Deep OC-SORT is the quicker of the two at 101 FPS versus 10 for BoT-SORT, roughly 10× its throughput, and it stays out front on all 10 GPU tiers. BoT-SORT is the steadier tracker: 16 ID fragmentations against 42 for Deep OC-SORT (62% fewer) on the same clip. For the Deep OC-SORT-vs-BoT-SORT decision that's the trade-off in a nutshell: Deep OC-SORT for crowded or occluded scenes where identity persistence matters, BoT-SORT for moving-camera footage (drones, dashcams, handheld).
Higher FPS on 10 of the 10 GPU tiers tested.
Only 16 ID fragmentations, versus 42 for Deep OC-SORT.
ID-stability: what a fragmentation actually looks like
How well a tracker holds a single, consistent ID on each object is a property of the algorithm, not the GPU, so these numbers barely move across hardware; we report them once (measured on the NVIDIA H100). This clip has no MOT ground truth, so instead of MOTA/IDF1 we report the raw stability signals: how many distinct IDs the tracker created, how many times a track was broken (fragmentations), and the average track length. Fewer IDs and fewer fragmentations mean steadier identities.
| Tracker | Approach | Unique IDs | Fragmentations | Avg track length |
|---|---|---|---|---|
| BoT-SORT | Motion + camera comp. | 14 | 16 | 61.7 |
| Deep OC-SORT | Motion + Re-ID | 12 | 42 | 80.4 |
Speed by GPU
Deep OC-SORT and BoT-SORT, ranked fastest-first. Pick any GPU to see which one leads on that hardware. End-to-end detection + tracking throughput (frames per second, higher is better) for Deep OC-SORT and BoT-SORT across all 10 GPU tiers. GPUs are ordered flagship-first.
- Deep OC-SORT
- BoT-SORT
Tip: Bold marks the faster tracker on each GPU. Measured with yolo26n.pt on a 200-frame clip.
| Tracker | B200 | H200 | H100 | RTX PRO 6000 | A100 80GB | A100 40GB | L40S | A10 | L4 | T4 |
|---|---|---|---|---|---|---|---|---|---|---|
| Deep OC-SORT | 104.5 | 111.4 | 101.3 | 154.9 | 62.7 | 71.8 | 72.9 | 80.2 | 74.5 | 60.3 |
| BoT-SORT | 10.5 | 9.2 | 9.8 | 14.7 | 8.3 | 8.6 | 9.3 | 7.3 | 9.6 | 6.3 |
Deep OC-SORT vs BoT-SORT: the four questions that decide it
Every figure below is computed from the same run as the tables above: throughput, per-frame latency, cost and track continuity for this pair specifically, rather than a general ranking.
Real-time headroom
Across the 10 tiers, Deep OC-SORT clears 30 FPS on 10 and 60 FPS on 10; BoT-SORT clears 30 FPS on 0 and 60 FPS on 0. BoT-SORT does not reach 30 FPS on any tier in this run, which puts it in the offline-analysis bracket rather than the live-video one. Per frame on an NVIDIA H100 that is 9.9 ms for Deep OC-SORT and 101.7 ms for BoT-SORT, detection included.
Does the ranking hold across GPUs?
Yes. Deep OC-SORT is ahead of BoT-SORT on all 10 tiers, from the B200 down to the T4, so the ordering you see on an NVIDIA H100 is the ordering you will get on whatever you deploy to. That consistency is itself useful: it means this choice can be made once rather than revisited per hardware refresh.
How long an identity survives
Average track length was 80.4 frames for Deep OC-SORT and 61.7 for BoT-SORT on the 200-frame clip, so Deep OC-SORT held each object for longer before losing or re-numbering it. Read alongside the fragmentation counts, that is what an ID switch feels like downstream: a counting line double-counts the same person, or a dwell-time average collapses because one visit was recorded as three. Neither number is MOTA, because this clip has no ground truth, but both come from the same run and point the same way.
Cost to run
At NVIDIA H100 rates, Deep OC-SORT costs $0.0108 per 1,000 frames against $0.1115 for BoT-SORT, about 10× cheaper. Over a single 30 FPS camera running for an hour that is roughly $1.17 versus $12.05. That is small per camera, and a real multiplier across a wall of them. Cost here is pure occupancy: a slower tracker holds the GPU for longer, so throughput and spend are the same fact in two units.
Choosing between them
Choose Deep OC-SORT if…
Crowded or occluded scenes where identity persistence matters.
Strengths
- Strong ID stability from appearance Re-ID
- Fast on Hopper/Blackwell GPUs
- Good occlusion recovery
Trade-offs
- Re-ID model adds compute and memory
- Slower than pure-motion trackers on budget GPUs
Motion + Re-ID, 2023. Enable it with tracker="deepocsort.yaml".
Choose BoT-SORT if…
Moving-camera footage (drones, dashcams, handheld).
Strengths
- Handles camera motion well
- Stable IDs with Re-ID enabled
- Ultralytics' default tracker
Trade-offs
- Slowest here with Re-ID + GMC on
- Heavier to run in real time
Motion + camera comp., 2022. Enable it with tracker="botsort.yaml".
Other head-to-head comparisons
More matchups involving Deep OC-SORT and BoT-SORT, each with the same speed, cost and ID-stability breakdown.
How these numbers were measured
Deep OC-SORT and BoT-SORT ran on the identical 200-frame clip with the same yolo26n.pt detector on each of the 10 GPU tiers, so the only variable is the tracker. There is no MOT ground truth on this clip, so no MOTA or IDF1 is claimed; the stability figures are raw counts. Full methodology and the benchmark script live on the hub, alongside all six trackers.
From the blog
Tutorials, code, and notes on computer vision, deep learning, and applied AI.
Object TrackingJuly 18, 20268 min readHow to use ByteTrack with YOLO for object tracking in Python
Object TrackingJune 27, 202613 min readUltralytics object trackers comparison: ByteTrack, BoT-SORT & More
YOLO26June 25, 202610 min readObject tracking and trajectory forecasting with YOLO26 and ByteTrack
YOLO11June 24, 20265 min readReal time bird detection and tracking using YOLO11
YOLO26June 23, 202612 min readHow to count people in zones with YOLO26 and OpenCV
Frequently asked questions
- Is Deep OC-SORT faster than BoT-SORT?
- On an NVIDIA H100 with yolo26n.pt, Deep OC-SORT ran at 101 FPS and BoT-SORT at 10 FPS end to end, detection included. Across all 10 GPU tiers Deep OC-SORT was ahead on 10 and BoT-SORT on 0. The ordering is the same on every tier tested.
- Which holds object IDs better, Deep OC-SORT or BoT-SORT?
- BoT-SORT. On the same clip it recorded 16 ID fragmentations against 42, across 12 unique IDs for Deep OC-SORT and 14 for BoT-SORT, with average track lengths of 80.4 and 61.7 frames. ID stability is a property of the algorithm rather than the GPU, so this holds on any hardware.
- Is Deep OC-SORT or BoT-SORT cheaper to run?
- Deep OC-SORT, at $0.0108 per 1,000 frames on an NVIDIA H100 versus $0.1115. The difference is occupancy: the slower tracker holds the GPU longer per frame, so the cost gap tracks the speed gap.
- Can Deep OC-SORT and BoT-SORT run in real time?
- Deep OC-SORT sustained 30 FPS or better on 10 of the 10 GPU tiers and BoT-SORT on 0. Per frame on an NVIDIA H100 that is 9.9 ms and 101.7 ms respectively. Anything under 33 ms per frame keeps up with a 30 FPS camera.
- Should I choose Deep OC-SORT or BoT-SORT?
- Choose Deep OC-SORT for crowded or occluded scenes where identity persistence matters. Choose BoT-SORT for moving-camera footage (drones, dashcams, handheld). OC-SORT plus a Re-ID model for stable identities. Camera-motion compensation for moving cameras.
- Does a more expensive GPU make tracking more accurate?
- No. A faster GPU only makes tracking run faster; it does not change how accurately the tracker follows objects. Accuracy and ID-stability depend on the tracking algorithm and your detector, not the hardware. That is why this page reports speed per GPU, but ID-stability only once.
- How was this YOLO tracker benchmark run?
- Every tracker ran on the same 200-frame clip with the same yolo26n.pt detector, on each of the 10 GPU tiers. FPS is the end-to-end detection-plus-tracking rate. All six trackers are built into Ultralytics, so results are reproducible with a single script.