LOCUS: Locate Once, Check Until Settled. Draft-and-Verify Visual Grounding with a Box Head and Coordinate-Token Verification
Organizations: Independent Researcher
Abstract
Vision-language models (VLMs) ground a referring expression in one of two ways. They decode the box as coordinate tokens, which is precise but takes one sequential step per token, or they regress it from a hidden state with a small head, which takes one step but loses accuracy at high IoU. The two fail differently: a head usually finds the right object but places its edges loosely, while coordinate tokens place edges precisely. We therefore use the regression head as a speculative drafter for the model's own coordinate tokens. Locus writes the head's box as coordinate tokens and checks them with the same backbone by Jacobi iteration over a shared image prefix. The fixed point is the model's greedy coordinate-token answer, reached in about 5.60 sequential passes on average instead of 18.46 decoding steps; head and verifier are one set of weights, trained jointly. On the 8 RefCOCO, RefCOCO+ and RefCOCOg splits, verification raises Locus-2B's [email protected] from 54.87 for its own head to 59.13, and the one-pass head is ahead at [email protected] of every published model with at most 3B parameters except Florence-2-L. Against Jag, the strongest open regression-head model, at its own size and training budget, Locus ties at [email protected] and, with typical acceptance, gains +4.52 points at [email protected], with paired significance tests. Exact answers come 1.5x faster than vLLM greedy-decoding the same coordinate tokens with the same weights; a pure regression head remains faster still.
Figures & tables
| RefCOCO | RefCOCO+ | RefCOCOg | Mean | |||||||||
| Model | Params | Output | val | testA | testB | val | testA | testB | val | test | all 8 | 5 test |
| Specialist grounding models | ||||||||||||
| MDETR [ 14 ] | – | detector | 86.8 | 89.6 | 81.4 | 79.5 | 84.1 | 70.6 | 81.6 | 80.9 | 81.8 | 81.3 |
| PolyFormer [ 19 ] | – | polygon tokens | 90.4 | 92.9 | 87.2 | 85.0 | 89.8 | 78.0 | 85.8 | 85.9 | 86.9 | 86.8 |
| UNINEXT [ 29 ] | 0.74B | detector | 92.6 | 94.3 | 91.5 | 85.2 | 89.6 | 79.8 | 88.7 | 89.4 | 88.9 | 88.9 |
| Grounding DINO [ 20 ] | – | detector | 90.6 | 93.2 | 88.2 | 88.2 | 89.0 | 75.9 | 86.1 | 87.0 | 87.3 | 86.7 |
| Model | Output | [email protected] | [email protected] | [email protected] |
|---|---|---|---|---|
| Jag-0.8B | head | 88.16 | 76.51 | 48.76 |
| LocateAnything-3B † | box tokens | 88.68 | 80.82 | 65.55 |
| Hi-Token-3B † | digits | 87.24 | 76.93 | 54.75 |
| NExT-Chat-7B | decoder | 80.14 | 53.42 | 12.48 |
| head (1 pass) | 90.01 | 79.79 | 54.87 | |
| exact (5.60) | 89.30 | 80.31 | 59.13 |
| Objects365 | COCO | All | ||||
|---|---|---|---|---|---|---|
| Model | @0.5 | @0.9 | @0.5 | @0.9 | @0.5 | @0.9 |
| Jag-0.8B | 35.8 | 7.4 | 89.2 | 40.0 | 70.0 | 33.9 |
| Qwen3-VL-2B (0-shot) | 74.5 | 32.7 | 88.6 | 57.1 | 83.9 | 50.2 |
| Hi-Token-3B † | 24.7 | 1.1 | 88.0 | 44.9 | 65.0 | 35.9 |
| LocateAnything-3B † | 78.0 | 49.5 | 90.2 | 64.4 | 86.2 | 60.5 |
| Locus-0.8B head | 39.3 | 9.2 | 89.6 | 43.7 | 71.2 | 32.9 |
| System | Engine | ms | Steps | @0.5 | @0.9 |
| One RTX A6000, batch 1, end to end | |||||
| Jag-0.8B | eager | 53.1 | 0.0 | 91.5 | 48.8 |
| Jag-0.8B | graphs | 20.3 | 0.0 | 91.5 | 48.8 |
| Qwen3-VL-2B tokens | HF | 1484.6 | 41.8 | 88.5 | 59.6 |
| Qwen3-VL-2B tokens | vLLM | 297.2 | 41.8 | 88.5 | 59.6 |
| coord. only | vLLM | 150.9 | 18.3 | – | – |
| Jag-0.8B | Locus-2B | |||
| head | head | typical | exact | |
| 1 | 20.2 | 43.7 | 79.8 | 94.5 |
| 2 | 37.4 | 44.5 | 94.0 | 117.0 |
| 4 | 71.6 | 46.7 | 123.3 | 163.8 |
| 8 | 127.3 | 53.1 | 197.1 | 287.3 |
| per question at | ||||
| Head | Verified (exact) | ||||
| Variant | @0.5 | @0.9 | @0.5 | @0.9 | Passes |
| Qwen3.5-0.8B, 36k steps (2 epochs) | |||||
| Joint aLoRA | 87.36 | 33.58 | 86.36 | 49.79 | 7.98 |
| Dual LoRA | 88.06 | 45.72 | 86.81 | 52.52 | 7.22 |
| + merger LoRA | 87.87 | 46.13 | 86.65 | 52.72 | 7.30 |
| Dual full FT (Locus) | 87.97 | 47.03 | 87.05 | 53.10 | 6.68 |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Output | [email protected] | [email protected] | [email protected] |
|---|---|---|---|---|
| Qwen3-VL-2B, zero-shot | tokens | 88.53 | 79.52 | 59.56 |
| Qwen3-VL-4B, zero-shot | tokens | 90.60 | 81.44 | 61.92 |
| Jag-0.8B | head | 91.50 | 78.81 | 48.83 |
| Locus-0.8B | head | 91.46 | 78.57 | 47.46 |
| verified | 90.30 | 78.84 | 53.97 | |
| Locus-2B | head | 93.09 | 82.58 | 55.81 |
| Compared | Path | Rows | Differ | 10 | Passes |
|---|---|---|---|---|---|
| ver. vs. greedy | graphed, bf16 | 10,834 | 35.4 | 2.9 | 5.41 |
| ver. vs. greedy | eager, bf16 | 505 | 38.6 | 1.4 | 5.66 |
| ver. vs. greedy | eager, fp32 | 505 | 0.0 | 0.0 | 4.39 |
| greedy vs. greedy | batch 2/1 | 505 | 48.9 | 2.8 | – |
| greedy vs. greedy | eager/graphed | 505 | 51.3 | 3.6 | – |
| greedy vs. greedy | bf16/fp32 | 505 | 56.6 | 5.0 | – |
| vs Jag-0.8B, clean rows (95% CI) | ||||
|---|---|---|---|---|
| Model | Output | [email protected] | [email protected] | [email protected] |
| Locus-2B | head | |||
| verified | ||||
| Locus-0.8B | head | |||
| Acceptance | [email protected] | [email protected] | [email protected] | Passes |
|---|---|---|---|---|
| exact ( ) | 89.30 | 80.31 | 59.13 | 5.60 |
| 89.44 | 80.37 | 59.24 | 4.04 | |
| 89.60 | 80.49 | 58.95 | 3.43 | |
| 89.77 | 80.53 | 58.39 | 2.64 | |
| head only | 90.01 | 79.79 | 54.87 | 0 |
Vision-Language Grounding
Vision-Language Grounding links words and phrases to the objects, regions, actions, or moments they describe in images, video, and scenes.
See all 418 papers