Matching detections to tracks

Four tracks with stable IDs, four draggable detections, and the IoU cost matrix between them. Matching is greedy above a threshold, which is the simplest version of what every tracking-by-detection system does each frame.

Try this

Drag two detections past each other. At the crossing point the IDs swap, and that is an identity switch — the error IDF1 exists to punish.

Solid = frame t (known tracks). Dashed = frame t+1 detections, so drag them. Slide the two blue-ish boxes across each other to force an ID switch.
IoU cost matrix  tracks × detections

This lab has no article yet. It is here because the idea is worth playing with on its own.

More in detectors and trackers