Tracker comparison · BoT-SORT vs OC-SORT

BoT-SORT vs OC-SORT

A head-to-head of BoT-SORT and OC-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, OC-SORT is the quicker of the two at 55 FPS versus 10 for BoT-SORT, roughly 5.6× its throughput, and it stays out front on all 10 GPU tiers. BoT-SORT is the steadier tracker: 16 ID fragmentations against 113 for OC-SORT (86% fewer), across 14 unique IDs to 79 on the same clip. For the BoT-SORT-vs-OC-SORT decision that's the trade-off in a nutshell: OC-SORT for simple, sparse scenes with little occlusion, BoT-SORT for moving-camera footage (drones, dashcams, handheld).

Faster overall
OC-SORT

Higher FPS on 10 of the 10 GPU tiers tested.

Steadier IDs
BoT-SORT

Only 16 ID fragmentations, versus 113 for 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.

TrackerApproachUnique IDsFragmentationsAvg track length
BoT-SORTMotion + camera comp.141661.7
OC-SORTMotion only7911329.6

Speed by GPU

BoT-SORT and OC-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 BoT-SORT and OC-SORT across all 10 GPU tiers. GPUs are ordered flagship-first.

Show GPUs
Frames per second for 2 trackers across 10 GPU tiers. BoT-SORT ranges 6 to 15 FPS; OC-SORT ranges 41 to 62 FPS.020406080FPSB200H200H100RTX PRO 6000A100 80GBA100 40GBL40SA10L4T4
  • BoT-SORT
  • OC-SORT

BoT-SORT vs OC-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, BoT-SORT clears 30 FPS on 0 and 60 FPS on 0; OC-SORT clears 30 FPS on 10 and 60 FPS on 1. 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 101.7 ms for BoT-SORT and 18.1 ms for OC-SORT, detection included.

Does the ranking hold across GPUs?

Yes. 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 61.7 frames for BoT-SORT and 29.6 for OC-SORT on the 200-frame clip, so BoT-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, OC-SORT costs $0.0199 per 1,000 frames against $0.1115 for BoT-SORT, about 5.6× cheaper. Over a single 30 FPS camera running for an hour that is roughly $2.15 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 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".

Choose OC-SORT if…

Simple, sparse scenes with little occlusion.

Strengths

  • No Re-ID model needed
  • Simple and lightweight
  • Solid motion baseline

Trade-offs

  • Many ID switches / fragmentations here
  • Weak through occlusion

Motion only, 2023. Enable it with tracker="ocsort.yaml".

How these numbers were measured

BoT-SORT and OC-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.

Blog

From the blog

Tutorials, code, and notes on computer vision, deep learning, and applied AI.

Frequently asked questions

Is BoT-SORT faster than OC-SORT?
On an NVIDIA H100 with yolo26n.pt, BoT-SORT ran at 10 FPS and OC-SORT at 55 FPS end to end, detection included. Across all 10 GPU tiers BoT-SORT was ahead on 0 and OC-SORT on 10. The ordering is the same on every tier tested.
Which holds object IDs better, BoT-SORT or OC-SORT?
BoT-SORT. On the same clip it recorded 16 ID fragmentations against 113, across 14 unique IDs for BoT-SORT and 79 for OC-SORT, with average track lengths of 61.7 and 29.6 frames. ID stability is a property of the algorithm rather than the GPU, so this holds on any hardware.
Is BoT-SORT or OC-SORT cheaper to run?
OC-SORT, at $0.0199 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 BoT-SORT and OC-SORT run in real time?
BoT-SORT sustained 30 FPS or better on 0 of the 10 GPU tiers and OC-SORT on 10. Per frame on an NVIDIA H100 that is 101.7 ms and 18.1 ms respectively. Anything under 33 ms per frame keeps up with a 30 FPS camera.
Should I choose BoT-SORT or OC-SORT?
Choose BoT-SORT for moving-camera footage (drones, dashcams, handheld). Choose OC-SORT for simple, sparse scenes with little occlusion. Camera-motion compensation for moving cameras. Pure motion: fast, but ID-hungry on this clip.
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.