NVIDIA LocateAnything:VLM 定位從逐 token 生成改成平行出框
多數 VLM 把 2D 框框座標序列化成文字 token,例如 x1、y1、x2、y2 一個個生成。這既慢,也容易破壞框框幾何結構。LocateAnything 改成一次預測完整 box / point。
它不是單純「下一代 YOLO」。YOLO 是高速 closed/open-set detector 路線;LocateAnything 是 vision-language grounding,重點在自然語言描述、GUI 元素、文件版面、OCR 文字區域與 point-based localization。
它代表 multimodal agent 的感知層正在變快:如果模型能更快、更準地把「畫面中的那個按鈕/那段文字/那個紅帽子的人」定位出來,GUI agent、機器人、文件解析、資料標註都會更可用。
核心技術:Parallel Box Decoding(PBD)
傳統 VLM grounding 常見做法,是把 bounding box 寫成一串 token,再由語言模型逐 token 生成。問題在於:框框本質上是幾何結構,四個座標彼此相關;但 token-by-token decoding 會把它拆成獨立序列,造成兩個瓶頸:
座標必須依序產生,前一個 token 沒出來,下一個 token 不能開始。當圖片裡有很多目標,延遲會累積。
x1、y1、x2、y2 被拆開生成,模型可能產生格式不規則或幾何不一致的座標。PBD 把一個框或點視為 box-aligned atomic unit,整組一起出。
LocateAnything 的做法是:輸入圖片與自然語言 query,由 vision encoder 保留高解析 spatial detail,再由 Qwen2.5 decoder 系列架構生成 box-aligned block-level predictions。Fast Mode 使用 MTP 平行預測;Slow Mode 使用 NTP / autoregressive 解碼;Hybrid Mode 預設先快,遇到格式異常或空間歧義再退回慢速重解碼。
官方數字與條件
| 項目 | 官方來源整理 | 解讀 |
|---|---|---|
| 模型 | LocateAnything-3B,base model 包含 Qwen2.5-3B-Instruct 與 MoonViT-SO-400M | 3B 研究模型,不是小型邊緣偵測器。 |
| 資料 | 12M unique images、138M+ natural-language queries、785M bounding boxes | 涵蓋一般物件偵測、GUI grounding、referring comprehension、文字定位、文件/場景 layout、point tasks。 |
| 速度 | README:single H100 上 12.7 BPS,約 10× Qwen3-VL、2.5× Rex-Omni;專案頁:throughput up to 2.5× | 這是 H100、batch size 1、特定 benchmark / comparison 的結果,不應外推成所有硬體都 10×。 |
| 任務 | object detection、phrase grounding、text grounding、scene text detection、document layout analysis、GUI grounding、pointing | 最大價值在「自然語言 → 空間座標」,不是只做 COCO 80 類物件偵測。 |
| 授權 | 模型為 NVIDIA License,非商業研究用途;GitHub code 標示 Apache-2.0,model license 另列 NVIDIA License | 商用前必須重新確認模型授權,不能因 repo 是 Apache-2.0 就直接把模型商用。 |
LocateAnything vs YOLO:比較點應該放在哪裡
Threads 留言有人要求「跟 YOLO 比」。這個比較可以做,但要避免錯位:
如果任務是「在攝影機畫面中快速偵測人、車、狗、工安帽」這類固定類別,YOLO 系列仍是成熟、輕量、部署友善的選擇。
如果任務是「框出戴紅帽子的那個人」、「點選畫面右上角的搜尋按鈕」、「找出文件中表格標題區」、「定位圖片中的所有文字」,VLM grounding 的彈性才是主菜。
LocateAnything 的重點不是單純省掉後處理,而是把座標輸出從文字序列改造成結構化幾何單位;這對 GUI agent 與文件理解比對一般 detector 更關鍵。
可落地的應用場景
- GUI agent:使用自然語言描述 UI 元素,輸出 click point 或 bounding box,讓 agent 更可靠地操作桌面、手機或網頁。
- 文件理解:定位表格、標題、段落、章節、OCR 文字區域,作為 RAG / document parsing 的 spatial layer。
- 資料標註:用語言 prompt 快速產生 box / point 標註,降低資料集建立成本,但仍需人工驗證。
- 機器人與 embodied AI:把「拿起桌上紅色杯子」轉成視覺定位,再交給控制策略。
- 工業檢測與遠端感測:用更彈性的文字描述處理長尾目標,但部署前必須用領域資料做安全與精度驗證。
實作採用前的檢查清單
- 硬體:官方 inference 測試硬體是 H100;支援 NVIDIA Ampere、Hopper、Blackwell、Lovelace 等 GPU,但實際吞吐需自行 benchmark。
- 作業系統:模型卡列 Linux;PyTorch 需依 CUDA 版本另行安裝。
- 模式:官方建議 max_new_tokens=8192、generation_mode="hybrid",以平衡速度與穩定性。
- 授權:模型 NVIDIA License 限 academic / non-profit research;商業產品不要直接拿來上線。
- 任務適配:若只是固定類別高速偵測,YOLO/RT-DETR/Grounding DINO 等可能更合適;若需要自然語言定位與 GUI / 文件 grounding,再評估 LocateAnything。
- Threads 原文:@junyan5400 對 NVIDIA LocateAnything 的介紹
- NVIDIA Research project page:LocateAnything: Fast and High-Quality Vision-Language Grounding with Parallel Box Decoding
- NVIDIA Tech Report PDF:LocateAnything.pdf
- Hugging Face model card:nvidia/LocateAnything-3B
- GitHub:NVlabs/Eagle / Embodied