Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ByteTrack

ByteTrack (arXiv 2110.06864). A two-stage IoU tracker that associates every detection, not just high-confidence ones, to recover objects that are briefly occluded or partially off-screen. A strong recall improvement over SORT at minimal extra cost.

#![allow(unused)]
fn main() {
use trackforge::trackers::byte_track::ByteTrack;

let mut tracker = ByteTrack::new(0.5, 30, 0.8, 0.6);
let tracks = tracker.update(vec![([100.0, 100.0, 50.0, 100.0], 0.9, 0)]);
for t in tracks {
    println!("ID: {}, Box: {:?}", t.track_id, t.tlwh);
}
}

Parameters

ParameterDefaultDescription
track_thresh0.5Confidence threshold separating high- and low-confidence detections
track_buffer30Frames a lost track is buffered before deletion
match_thresh0.8Stage-1 match cutoff as a maximum IoU distance (lower is stricter)
det_thresh0.6Minimum confidence to initialise a new track
second_match_thresh0.5Stage-2 match cutoff for recovering low-confidence detections

Tuning: lower track_thresh (~0.3) to feed more low-confidence detections into stage two; raise track_buffer (~60) when the detector drops frames; lower match_thresh (~0.7) for fast-moving objects where IoU falls off quickly.