ByteTrack Low-Score Matching
ByteTrack keeps the low-confidence boxes other trackers trash, matching strong ones first and rescuing occluded targets with the leftovers.
Why Does This Exist?
Every detector emits shaky low-score boxes under occlusion, and every classic tracker deletes them before association starts. Those deleted boxes are exactly the occluded people worth keeping. ByteTrack exists on a simple observation: a 0.3-score box overlapping a coasting track's prediction is evidence, not garbage. Two-stage matching cut identity switches dramatically with no appearance model at all. The paradigm is multi-object tracking; the motion baseline is SORT.
Think of It Like This
A lost-and-found with two shelves
A lost-and-found puts crisp labelled items on the front shelf and crumpled unknowns on the back shelf. Owners first claim from the front; only the still-missing browse the back, where a bent umbrella is obviously theirs. Other trackers burn the back shelf nightly. ByteTrack keeps it one round: high-score boxes match first, then unmatched tracks shop the low-score leftovers. The analogy stops at the geometry: claims are settled by IoU with predictions, not by owners pointing.
How It Actually Works
Detections split at a score threshold (often 0.6). Stage one matches high-score boxes to tracks with Hungarian assignment on IoU. Stage two matches the leftover tracks against low-score boxes, recovering the occluded. Unmatched tracks coast briefly before dying; unmatched high-score boxes seed births. No embedding network runs anywhere, so the whole method inherits the detector's speed.
A worked rescue
A track coasts behind a kiosk while the detector emits a 0.35 box overlapping the Kalman prediction at IoU 0.55. Stage one ignores it (below 0.6) and leaves the track unmatched. Stage two pairs them: 0.55 clears the second-stage gate, the track updates instead of dying, and the switch counter never moves. A threshold-only tracker deletes the box, kills the track two frames later, and mints a fresh ID on reappearance.
Watch Out For
Low-score clutter in static crowds
In dense static crowds, background boxes pile up at low scores and stage two glues tracks to clutter. The symptom is drifting boxes in crowds despite clean open scenes. Fix it by raising the low-score floor per scene density and by shortening the coast window where clutter is thick.
The Quick Version
- Split detections into high and low score; match in two stages.
- Low-score boxes rescue occluded tracks instead of dying as noise.
- No appearance model needed: motion plus careful bookkeeping suffices.
- Births come from high scores only; deaths wait out a coast window.
- Tune both thresholds per scene density or crowds glue tracks to clutter.