Everyframe · tracking

How the lock holds.

The target is faint: this vehicle averages 0.38 detector confidence, and the detector loses it outright on some frames. A naive tracker would drop the lock constantly. Here is why the engine does not: ByteTrack keeps the low-confidence detections most trackers discard, and a Kalman filter predicts through the gaps. Every measurement below is the engine's real output.

20 high-confidence 196 low, recovered 34 predicted of 250 frames
01

The lock, frame by frame

Left is the feed with the tracker's box. Right is the lock view, magnified: the green or amber box is the raw detection this frame, coloured by which confidence gate it cleared; the dashed box and the ellipse are the Kalman prediction and its growing uncertainty; the arrow is the estimated velocity. Watch the ellipse swell when the detector drops out, then snap tight when a detection returns.

drone feed · the tracker's view box = tracked estimate
Lock view
Tracker state ACQUIRE
Detection conf
--
Gate
--
Velocity px/f
--
Uncertainty
--
Track age
--
Frame
--
Press play to run the tracker.
high-confidence lock low-confidence, recovered by ByteTrack gap, predicted by Kalman
02

Inside the loop

The same four steps run on every frame. This is the tracker every showcase's lock rides on.

1

Predict Kalman

Each track carries a constant-velocity model: position plus how fast it is moving. Before looking at the new frame, it projects where the target should be, and its uncertainty grows a little. That prediction is the dashed box; the ellipse is the uncertainty.

2

Gate ByteTrack · two passes

Detections are split by confidence. High-confidence ones match first. Then, crucially, a second pass matches the leftover low-confidence detections to the predictions. Those are the boxes a naive tracker throws away; here they carry the lock, because this small target rarely clears the high gate.

3

Update Kalman

A matched detection corrects the prediction, weighted by the Kalman gain, and the uncertainty snaps back tight. The velocity estimate is refreshed from the motion between detections, so the next prediction is sharper.

4

Persist lost pool

When no detection matches, the track is not dropped. It coasts on the prediction for a bounded number of frames (the amber-dashed reticle you see elsewhere), the uncertainty widening, until a detection re-acquires it or it ages out. That is the persistence the edge showcase runs with.

03

What is real, and what is illustration

The detections are the engine's real output. Every box and confidence comes from the same on-device detector and clip as the edge-ISR showcase (a Jetson-class 80-class detector on a drone vehicle-follow clip). Nothing here is invented.

The predict, gate and update steps are a faithful replay. The ByteTrack confidence gate and the constant-velocity Kalman are re-run over that real detection stream to show the mechanism step by step. It is the same algorithm the engine's tracker runs; the uncertainty ellipse and velocity arrow are drawn from this replay, not measured on the board.

The low-confidence recovery is the point. Only 20 of 250 frames clear the high gate; a tracker that kept only those would flicker and re-id constantly. ByteTrack's second pass recovers 196 more, and Kalman prediction covers the remaining 34 . The lock never breaks.