When Trackers Fail: VLM-Guided Verification and Recovery for Robust Video Object Segmentation
Organizations: University of Tübingen, Germany · Woven by Toyota, Japan
Abstract
Recent trackers built on foundation models such as the Segment Anything Model (SAM) achieve strong performance by propagating object masks through memory. However, this strength is also a key source of failure: under occlusion, reappearance, or distractors, an incorrect prediction can enter the tracking loop and be propagated over time, resulting in persistent identity drift. Existing approaches seek to prevent such failures through improved memory and temporal modeling, but once a failure occurs, the tracker has no explicit mechanism to recognize or correct it. We address this gap with Dual-Agent, a failure-aware tracking framework that complements propagation with explicit verification and recovery. We address this gap with Dual-Agent, a failure-aware tracking framework that complements propagation with explicit verification and recovery. A vision-language verification agent first reasons over spatio-temporal context to determine whether the tracker is still following the target. When a failure is detected, a correction agent uses temporal context to recover the target before tracking continues. The correction agent is trained on real SAM3 failures, augmented with targeted identity-switch and distractor perturbations that expose it to challenging ambiguities during recovery. On LVOS-v2 and SecVOS, Dual-Agent improves SAM3 by 1.2 and 2.7 , respectively. Importantly, the proposed framework transfers without retraining to SAM2.1, SeC, and Cutie, as well as to long-term video object tracking benchmarks including LaSOT-ext, TNL2K, and VOT-LT2022. Our results show that explicitly reasoning about when tracking fails and how to recover provides a complementary path to robust tracking beyond improving propagation alone. Project page: valaybundele.github.io/Dual-Agent.
Figures & tables
| SAM3 IoU regime | Samples | SAM3 IoU | Corrector IoU | Wins / Losses | |
|---|---|---|---|---|---|
| (lost target) | 347 | 0.024 | 0.612 | +0.587 | 270 / 11 |
| – (severe drift) | 808 | 0.224 | 0.727 | +0.503 | 688 / 76 |
| – (drift) | 182 | 0.492 | 0.734 | +0.242 | 120 / 16 |
| (already good) | 551 | 0.955 | 0.912 | 9 / 40 |
| Method | |||||
|---|---|---|---|---|---|
| LWL | 60.6 | 58.0 | 64.3 | 57.2 | 62.9 |
| RDE | 62.2 | 56.7 | 64.1 | 60.8 | 67.2 |
| STCN | 60.6 | 57.2 | 64.0 | 57.5 | 63.8 |
| XMem | 64.5 | 62.6 | 69.1 | 60.6 | 65.6 |
| SAM 2.1 | 84.1 | 80.7 | 87.4 | 80.6 | 87.7 |
| SAM2.1Long | 85.9 | 81.7 | 88.6 | 83.0 | 90.5 |
| (a) Direct Attribution State at commit Count SAM3 IoU Dual IoU SAM3 missed 39 0.000 0.856 SAM3 drifted 32 0.035 0.903 SAM3 was correct 17 0.961 0.026 | (b) Controller Statistics Trigger Verifier Corrector Commit Outcome Overall 1360 240 88 67/19/2 Eff IoU var 713 120 53 42/9/2 Occlusion 508 105 26 19/7/0 Reappear 139 15 9 6/3/0 |
| Method | No Scene Change | Single Scene Change | Multi Scene Change | Overall | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| J&F | J | F | J&F | J | F | J&F | J | F | J&F | |
| XMem | 71.9 | 72.0 | 71.8 | 47.0 | 47.9 | 46.2 | 41.9 | 42.4 | 41.4 | 48.4 |
| DEVA | 71.6 | 71.6 | 71.5 | 48.5 | 48.4 | 48.6 | 46.4 | 46.0 | 46.8 | 49.7 |
| Cutie-base | 72.5 | 72.2 | 72.8 | 53.0 | 52.9 | 53.2 | 48.3 | 47.8 | 48.9 | 52.7 |
| SAM2.1 | 79.4 | 79.1 | 79.7 | 58.5 | 58.2 | 58.8 | 52.4 | 52.1 | 52.6 | 58.2 |
| SAMURAI | 81.8 | 81.6 | 81.9 | 60.6 | 60.6 | 60.7 | 59.3 | 58.9 | 59.7 | 62.2 |
| Trigger setting | J&F | J | F |
|---|---|---|---|
| Occlusion | 75.4 | 75.3 | 75.5 |
| + reappearance | 75.6 | 75.5 | 75.7 |
| + effective-IoU variance | 76.94 | 76.9 | 77.0 |
| Overall | No scene change | Single change | Multiple changes | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Propagator | Base | +Dual-Agent | Base | +Dual-Agent | Base | +Dual-Agent | Base | +Dual-Agent | |||
| Cutie [ 5 ] | 52.7 | 59.2 | 72.5 | 75.9 | 53.0 | 59.5 | 48.3 | 56.6 | |||
| SAM2.1 [ 19 ] | 58.2 | 65.1 | 79.4 | 83.4 | 58.5 | 61.6 | 52.4 | 61.3 | |||
| SeC [ 28 ] | 70.0 | 72.0 | 84.2 | 84.6 | 69.6 | 72.2 | 67.5 | 70.5 | |||
| SAM3 [ 4 ] | 74.21 | 76.94 | 87.09 | 88.11 | 74.62 | 76.22 | 69.27 | 73.39 | |||
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| Benchmark | Split | Sequences | Objects | Frames / annotations |
|---|---|---|---|---|
| LVOS-v2 | valid | 140 | 239 | every frame |
| SecVOS | full | 160 | 182 | every frame |
| LaSOT-ext | full | 150 | 150 | per-frame boxes |
| TNL2K | test | 700 | 700 | per-frame boxes |
| VOT-LT2022 | full | 50 | 50 | per-frame boxes |
| Sample type | Count | Share | Supervised behavior |
|---|---|---|---|
| false_negative | 14,131 | 17.8% | emit a fresh visible-true box from context |
| perturbed | 12,349 | 15.5% | recover from jittered context boxes |
| low_iou | 12,011 | 15.1% | emit a refined box over a drifted SAM3 box |
| correct | 11,618 | 14.6% | mirror SAM3’s already-correct prediction |
| both_none | 10,746 | 13.5% | emit visible-false on absent target |
| synthetic_fp | 4,807 | 6.0% | reject artificially-injected false positive |
| SAM3 was … | Visible target | Absent target | Total |
|---|---|---|---|
| Correct | 12,385 (15.6%) | 14,223 (17.9%) | 26,608 (33.5%) |
| Incorrect | 43,403 (54.6%) | 9,446 (11.9%) | 52,849 (66.5%) |
| Total | 55,788 (70.2%) | 23,669 (29.8%) | 79,457 (100%) |
| IoU bucket | Frames | Share |
|---|---|---|
| 45,598 | 18.2% | |
| 15,763 | 6.3% | |
| 13,595 | 5.4% | |
| 11,646 | 4.7% | |
| 15,922 | 6.4% | |
| 39,947 | 16.0% |
| Difficulty | Samples | Share | Definition |
|---|---|---|---|
| easy | 50,948 | 64.1% | at least 2 context frames with IoU |
| hard | 13,357 | 16.8% | one good context frame |
| noisy | 3,000 | 3.8% | no good context frame |
| no_context | 12,152 | 15.3% | no context frames |
| Sample type | N | Mean IoU | Median IoU |
|---|---|---|---|
| correct | 9,531 | 0.924 | 0.966 |
| both_none | 9,723 | 0.784 | 0.888 |
| perturbed | 9,736 | 0.774 | 0.895 |
| synthetic_fp | 4,257 | 0.762 | 0.873 |
| false_negative | 9,989 | 0.749 | 0.844 |
| paired_occluded | 3,365 | 0.724 | 0.811 |
| (a) Agent ablation Configuration SecVOS-160 SAM3 74.21 Corrector at every trigger (verifier skipped) 74.10 Dual-Agent (ours) 76.94 | (b) Commit-gate ablation Configuration Gate SecVOS-160 LVOS-v2 SAM3 – 74.21 88.2 Dual-Agent off 75.90 89.3 Dual-Agent (ours) on 76.94 89.4 |
| Split | Objects | Untouched | Improved | Unchanged | Regressed |
|---|---|---|---|---|---|
| Seen | 202 | 185 | 7 | 2 | 8 |
| Unseen | 37 | 31 | 5 | 0 | 1 |
Visual Object Tracking
Visual object tracking follows objects across video frames, maintaining their locations and identities despite motion, occlusion, and changing appearance.
See all 175 papers