← all work deep-computer-vision

Video instance segmentation

A per-frame detector run over video produces something that looks like video segmentation. The

Result

splitofficial `ImageSets/2017/val.txt` — 30 sequences
frames scored1999
ground-truth objects61, across 3929 instance-frames
predicted masks17632
modelCOCO-pretrained, never trained on DAVIS; published COCO mask AP 34.6

The finding

The model's video problem is association, not segmentation

The two temporal numbers disagree, and the disagreement is the result.

Frame-to-frame mask IoU for the predictions is 0.78932. For the *ground-truth* masks of the same objects over the same frame pairs it is 0.78441. The gap is −0.00491 — predicted masks change very slightly *less* between consecutive frames than the true masks do. By that measure the output is not jittery at all.

Yet on 0.10342 of consecutive frame pairs where the object is detected in both frames, the mask covering it is not linked to the mask that covered it a frame earlier. The shape is stable; the correspondence is what breaks.

This is exactly why the GT baseline has to be measured alongside. Reporting predicted frame-to-frame IoU alone (0.78932) would read as "temporally consistent". Reporting the jump rate alone would read as "jittery masks". Neither is true, and the fix each would suggest is different: what this needs is a tracking component, not a smoother mask head.

The GT number is also what makes the predicted one interpretable. Without it, 0.78932 could mean a stable model or a slow-moving dataset — DAVIS objects move enough that the true masks overlap themselves by only 0.78441 between frames.

Elsewhere

Code and full results on GitHub

Every number is read from the file the run produced. github.com/hammasbuilds · kaggle.com/muhammadhammas13