MolmoPoint: Better Pointing for VLMs with Grounding Tokens
Organizations: Allen Institute for AI · University of Washington
Abstract
Grounding has become a fundamental capability of vision-language models (VLMs). Most existing VLMs point by generating coordinates as part of their text output, which requires learning a complicated coordinate system and results in a high token count. Instead, we propose a more intuitive pointing mechanism that directly selects the visual tokens that contain the target concept. Our model generates a special pointing token that cross-attends to the input image or video tokens and selects the appropriate one. To make this model more fine-grained, we follow these pointing tokens with an additional special token that selects a fine-grained subpatch within the initially selected region, and then a third token that specifies a location within that subpatch. We further show that performance improves by generating points sequentially in a consistent order, encoding the relative position of the previously selected point, and including a special no-more-points class when selecting visual tokens. Using this method, we set a new state-of-the-art on image pointing (70.7% on PointBench), set a new state-of-the-art among fully open models on GUI pointing (61.1% on ScreenSpotPro), and improve video pointing (59.1% human preference win rate vs. a text coordinate baseline) and tracking (+6.3% gain on Molmo2Track). We additionally show that our method achieves much higher sample efficiency and discuss the qualitative differences that emerge from this design change.
Figures & tables
| Model | Aff. | Spat. | Reason | Steer. | Count. | Avg |
| Human | 92.3 | 83.6 | 87.8 | 86.3 | 95.6 | 89.1 |
| API call only | ||||||
| Gemini-Robotics-ER-1.5 [ 1 ] | 69.7 | 69.7 | 60.1 | 67.5 | 68.5 | 67.1 |
| Gemini-2.5-Pro [ 20 ] | 72.7 | 70.3 | 71.0 | 41.0 | 59.2 | 62.8 |
| Open weights | ||||||
| Poivre-7B [ 87 ] | - | - | - | - | - | 67.5 |
| Metric | API-only | Open-weights | Fully-open | Ours | |||||||
| GPT-5.2 | Gemini3-Pro | Qwen3-VL-8B | Qwen3-VL-4B | Molmo-7B-D | Molmo-72B | Molmo-7B-O | Molmo2-4B | Molmo2-8B | Molmo2-O-7B | MolmoPoint-8B | |
| Recall | 31.0 | 77.3 | 54.3 | 45.1 | 76.4 | 74.9 | 74.4 | 83.3 | 85.5 | 83.1 | 90.4 |
| Precision | 32.9 | 81.3 | 53.5 | 44.2 | 76.2 | 74.9 | 74.6 | 85.1 | 86.4 | 83.7 | 89.3 |
| F1 | 31.6 | 77.8 | 53.4 | 43.7 | 75.7 | 74.5 | 74.0 | 83.4 | 85.2 | 82.7 | 89.2 |
| Model | ScreenSpot-V2 | ScreenSpot-Pro | OSWorldG |
| API call only | |||
| Claude 3.7 [ 3 ] | 87.6 | 27.7 | - |
| OpenAI CUA [ 55 ] | 87.9 | 23.4 | - |
| Gemini-3-Pro [ 28 ] | 93.7 | 72.7 | 35.5 |
| Open weights | |||
| Holo2-8B [ 21 ] | 93.2 | 58.9 | 70.1 |
| BURST VC (test) [ 5 ] | Molmo2-VC | Molmo2-VP | |||||
| Model | Acc. | Close acc. | Acc. | Close acc. | F1 | Recall | Precision |
| API call only | |||||||
| GPT-5 [ 56 ] | 43.1 | 73.7 | 35.8 | 50.3 | 4.1 | 4.4 | 4.2 |
| GPT-5 mini [ 56 ] | 46.0 | 73.0 | 29.8 | 49.3 | 2.2 | 2.2 | 2.2 |
| Gemini 3 Pro [ 28 ] | 44.0 | 71.7 | 37.1 | 53.1 | 20.0 | 27.4 | 19.8 |
| Gemini 2.5 Pro [ 20 ] | 41.6 | 70.0 | 35.8 | 56.5 | 13.0 | 14.5 | 13.6 |
| MeViS [ 23 ] | MeViS [ 23 ] | Ref-YT-VOS [ 61 ] | Ref-Davis [ 34 ] | ReasonVOS [ 7 ] | |||||||||
| valid | valid-u | valid | valid | test | |||||||||
| Model | F1 | HOTA | F1 | HOTA | F1 | HOTA | F1 | HOTA | |||||
| API call only | |||||||||||||
| GPT-5 [ 56 ] | 23.4 | 26.5 | 17.3 | 14.0 | 30.9 | 21.0 | 18.4 | 25.2 | 17.0 | 11.6 | 24.7 | 13.6 | 10.7 |
| GPT-5 mini [ 56 ] | 15.7 | 15.4 | 8.5 | 6.8 | 16.2 | 7.4 | 6.2 | 8.4 | 3.4 | 2.3 | 14.6 | 4.2 | 3.4 |
| Gemini 3 Pro [ 28 ] | 42.5 | 51.1 | 42.3 | 36.0 | 55.0 | 49.1 | 45.5 | 66.6 | 60.8 | 55.7 | 52.6 | 48.5 | 42.1 |
| Animals | Person | Sports | Dancers | Misc | Overall | |||||||||||||
| Model | F1 | HOTA | F1 | HOTA | F1 | HOTA | F1 | HOTA | F1 | HOTA | F1 | HOTA | ||||||
| API call only | ||||||||||||||||||
| GPT-5 [ 56 ] | 41.4 | 20.6 | 20.3 | 16.5 | 4.5 | 4.2 | 14.4 | 2.0 | 2.5 | 33.8 | 11.7 | 11.5 | 14.6 | 2.2 | 1.6 | 23.5 | 7.5 | 7.5 |
| GPT-5 mini [ 56 ] | 21.7 | 7.8 | 8.0 | 8.6 | 1.6 | 1.5 | 10.7 | 0.6 | 0.8 | 15.6 | 2.1 | 2.0 | 13.5 | 0.6 | 0.4 | 12.7 | 2.1 | 2.1 |
| Gemini 3 Pro [ 20 ] | 70.4 | 62.3 | 60.0 | 44.5 | 30.7 | 29.2 | 23.4 | 10.3 | 8.8 | 55.6 | 44.3 | 37.8 | 35.3 | 18.3 | 14.4 | 44.6 | 32.2 | 29.1 |
| Gemini 2.5 Pro [ 20 ] | 69.3 | 56.8 | 53.2 | 50.0 | 33.6 | 31.9 | 29.7 | 10.8 | 8.9 | 55.9 | 39.4 | 32.2 | 34.7 | 17.6 | 18.3 | 47.9 | 31.2 | 27.8 |
| Model | Animals | Person | Sports | Dancers | Misc | Overall | ||||||
| F1 | HOTA | F1 | HOTA | F1 | HOTA | F1 | HOTA | F1 | HOTA | F1 | HOTA | |
| MolmoPoint-8B-Ablation | 83.4 | 85.3 | 49.2 | 49.1 | 56.5 | 57.6 | 64.9 | 63.7 | 47.5 | 44.5 | 59.3 | 59.3 |
| w/o grounding tokens | 80.7 | 81.8 | 44.4 | 44.5 | 49.4 | 51.4 | 62.9 | 62.9 | 37.9 | 35.5 | 54.7 | 55.3 |
| w/o MolmoPoint-Track | 80.0 | 81.0 | 43.5 | 43.8 | 49.4 | 50.5 | 61.8 | 61.6 | 30.3 | 28.1 | 53.8 | 54.2 |
| Model | Image Avg. | Multi-Image Avg. | Short Video Avg. | Long Video Avg. |
| API call only | ||||
| GPT-5 [ 56 ] | 83.7 | 72.1 | 73.1 | 76.3 |
| GPT-5 mini [ 56 ] | 81.9 | 68.2 | 66.8 | 69.8 |
| Gemini 3 Pro [ 28 ] | 86.2 | 81.9 | 71.0 | 78.8 |
| Gemini 2.5 Pro [ 20 ] | 81.3 | 72.4 | 71.1 | 80.4 |
| Gemini 2.5 Flash [ 20 ] | 79.3 | 68.3 | 67.0 | 74.5 |
| Model | PixMoPoint | PointBench | Molmo2-VC | ||
| F1 | Avg. | Correct | Close | Overcount | |
| Molmo2-P-Ablation | 85.2 | 67.8 | 58.0 | 36.6 | 3.6 |
| w/o rotary | 84.5 | 67.6 | 56.8 | 33.0 | 4.5 |
| w/o no-more-points | 84.7 | 66.6 | 52.3 | 32.8 | 10.3 |
| w/o point sorting | 83.6 | 71.2 | 40.0 | 24.4 | 3.2 |
| Dataset Group | MolmoPoint-8B | Molmo2 |
| Captioning/Long QA | 15.0 | 13.6 |
| Image QA | 25.0 | 22.7 |
| Video QA | 20.0 | 18.2 |
| Image Pointing | 7.0 | 9.1 |
| Video Pointing | 11.0 | 13.6 |
| Video Tracking | 12.0 | 13.6 |
| Model | phase | Hardware | GPUs | hours | GPU hr. | batch | steps | mm. | annotations |
| MolmoPoint-8B | Pretrain | B200 | 32 | 10.3 | 330 | 128 | 23k | 4.6m | 14m |
| MolmoPoint-8B | SFT | B200 | 80 | 86.4 | 6.9k | 160 | 22k | 13m | 49m |
| MolmoPoint-8B | SFT-LC | B200 | 80 | 36.2 | 2.9k | 160 | 2k | 2.2m | 7.5m |
| MolmoPoint-GUI-8B | SFT | B200 | 32 | 9.4 | 300 | 128 | 2k | 360k | 11m |
| MolmoPoint-Vid-8B | Pretrain | H100 | 32 | 10.1 | 323 | 128 | 23k | 3.5m | 6.6m |
| MolmoPoint-Vid-8B | SFT | B200 | 32 | 13.7 | 437 | 64 | 6k | 1.4m | 5.1m |
| Model | NextQA test [ 79 ] | PerceptionTest test [ 57 ] | MVBench test [ 39 ] | Tomato test [ 62 ] | MotionBench val [ 31 ] | TempCompass test MCQ [ 43 ] | Video-MME test [ 25 ] | Video-MME-Sub test [ 25 ] | LongVideoBench val [ 75 ] | MLVU test MCQ [ 101 ] | LVBench test [ 72 ] | VideoEvalPro test [ 49 ] | Ego Schema test [ 50 ] | Molmo2 Caption test F1 Score | Molmo2 Count val accuracy | Short QA avg. | Long QA avg. | Average |
| API call only | ||||||||||||||||||
| GPT-5 [ 56 ] | 86.3 | 79.4 | 74.1 | 53.0 | 65.4 | 80.4 | 83.3 | 86.9 | 72.6 | 77.7 | 65.2 | 68.8 | 75.6 | 50.1 | 35.8 | 73.1 | 76.3 | 70.6 |
| GPT-5 mini [ 56 ] | 83.2 | 72.0 | 66.5 | 44.1 | 59.9 | 74.9 | 77.3 | 82.3 | 69.7 | 69.1 | 54.7 | 60.1 | 70.9 | 56.6 | 29.8 | 66.8 | 69.8 | 65.0 |
| Gemini 3 Pro [ 28 ] | 84.3 | 77.6 | 70.4 | 48.3 | 62.6 | 82.8 | 88.6 | 87.5 | 75.9 | 75.7 | 77.0 | 78.0 | 68.9 | 36.0 | 37.1 | 71.0 | 78.8 | 70.0 |
| Gemini 2.5 Pro [ 20 ] | 85.3 | 78.4 | 70.6 | 48.6 | 62.0 | 81.9 | 87.8 | 87.8 | 76.8 | 81.5 | 75.7 | 78.4 | 72.2 | 42.1 | 35.8 | 71.1 | 80.4 | 71.2 |
| Gemini 2.5 Flash [ 20 ] | 81.8 | 74.7 | 67.0 | 39.1 | 59.3 | 80.2 | 84.2 | 84.2 | 73.1 | 75.1 | 64.9 | 69.6 | 70.2 | 46.0 | 31.9 | 67.0 | 74.5 | 66.7 |
| Model | AI2D test [ 33 ] | ChartQA test [ 51 ] | DocVQA test [ 53 ] | InfoQA test [ 52 ] | TextVQA val [ 63 ] | VQA v2.0 val [ 30 ] | RWQA [ 78 ] | MMMU val [ 95 ] | MathVista testmini [ 47 ] | CountBench [ 8 ] | PixMoCount test [ 22 ] | MuirBench [ 70 ] | MMIU [ 54 ] | Blink val [ 26 ] | Img QA avg. | MultiImg QA avg. | Average |
| API call only | |||||||||||||||||
| GPT-5 [ 56 ] | 89.5 | 83.8 | 88.9 | 83.0 | 78.7 | 79.7 | 80.8 | 81.8 | 82.7 | 90.8 | 67.2 | 78.6 | 71.0 | 66.5 | 82.5 | 72.1 | 80.2 |
| GPT-5 mini [ 56 ] | 86.7 | 82.1 | 86.7 | 82.2 | 79.1 | 72.1 | 77.0 | 78.7 | 79.2 | 87.1 | 74.4 | 71.4 | 64.5 | 68.7 | 80.5 | 68.2 | 77.8 |
| Gemini 2.5 Pro [ 20 ] | 94.3 | 77.8 | 91.5 | 82.0 | 70.3 | 67.1 | 77.4 | 79.6 | 84.6 | 90.8 | 73.8 | 74.5 | 68.9 | 73.7 | 80.8 | 72.4 | 79.0 |
| Gemini 2.5 Flash [ 20 ] | 95.9 | 76.8 | 91.1 | 80.9 | 73.0 | 69.4 | 74.5 | 79.0 | 81.2 | 86.7 | 63.9 | 73.5 | 61.2 | 70.2 | 79.3 | 68.3 | 76.9 |
| Claude Sonnet 4.5 [ 4 ] | 91.5 | 80.2 | 91.7 | 65.9 | 67.2 | 77.0 | 61.1 | 77.8 | 73.1 | 87.3 | 58.3 | 59.6 | 54.1 | 64.8 | 75.6 | 59.5 | 72.1 |
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