一篇教学综述 · 2018 — 2026.05

说不准的坐标

你让一个很强的 VLM「点一下图里那个红色按钮」,它经常点歪; 你问它「杯子在书的左边还是右边」,它有不小概率答反。模型明明 看见了图,为什么分不清上下左右、说不准像素位置

这篇综述要讲的,是过去几年一条逐渐清晰的研究主线:不是 抛弃 patch / ViT,而是把「几何」从一个微弱的位置编码,升级成模型 的一等公民——reference point、box query、grounding token、 depth、参考系。预设读者:会基本的机器学习、微积分、线性代数。 不会目标检测、不懂 VLM 也没关系,我们从零讲起。

~50 篇论文 · 6 个交互演示 · 8 个家族 · 最后更新 2026-05-30

阅读路径建议

零基础:从 §1 顺着读,前四节会把「patch 怎么变成有 位置的 token」「为什么坐标会说不准」彻底讲清楚,再进各家族。
懂检测/VLM:直接从 §10「把坐标放进 query」的 DETR 家族开始,那是整条线最成熟的几何归纳偏置。
只想看最新:跳到 §17 MolmoPoint、§20 LocateAnything 与 §36 Frontier——2026 年的工作集中在那里。

§1这到底是个什么问题

今天绝大多数强 VLM 的视觉前端长得一样:用一个 CLIP / SigLIP / DINOv2 类的 ViT encoder 把图像切成 patch,得到一串 visual token,再喂给 LLM。位置信息靠一份 2D positional encoding(位置编码,简称 PE)注入。这套范式在「这是不是一只 猫」这类语义任务上非常好用。

但只要任务从「是什么」转向「在哪里 / 谁在谁旁边 / 点哪个 像素」,它就开始漏。研究界这两年逐渐形成一个共识,可以浓缩成一句 话:

关键想法 · 一句话

「图里 2D 位置编码」并不等于「模型会用 空间信息」。坐标准不准,取决于几何是显式地参与了推理,还是被 压成了一份微弱、易被语义淹没、换分辨率就失效的弱信号。

所以这条研究线的名字不该叫「抛弃 patch」,而该叫 几何显式化(geometry-explicit):把坐标、box、mask、 depth、参考点、指针 token 变成模型能直接读写的对象,而不是让 LLM 从 patch embedding 里「猜」一串数字。后面八个家族,都是在回答同一个问题 的不同侧面——怎么把几何放回模型的推理回路里

§2一个 patch 怎么获得位置

先把对象本身讲清楚。ViT 把一张 $H\times W$ 的图按 $P\times P$ (典型 $P=14$ 或 $16$)切成不重叠的 patch,每个 patch 拉平后过一个 线性层变成一个 $d$ 维向量 $x_i$。它本身不含位置——把 patch 打乱顺序,这些向量完全一样。位置是额外加上去的:

$$ z_i \;=\; \underbrace{x_i}_{\text{语义内容}} \;+\; \underbrace{p_i}_{\text{位置编码 PE}} $$

$p_i$ 就是第 $i$ 个 patch 的位置编码。它有两种常见形态:一是一张可学 的查找表 $p_i = \text{Embed}(\text{row}_i, \text{col}_i)$(绝对 2D PE),二是用 sin/cos 频率把坐标编码进去。关键在于,它 只是被加在内容向量上的一个偏置。把这句话刻在脑子里——后面几乎 所有失败都源于此。

直觉

把 $z_i = x_i + p_i$ 想成「一句话写在一张便利贴上,便利贴贴在墙上某个 位置」。语义 $x_i$ 是话的内容,位置 $p_i$ 是它贴在哪。问题是:当一堆 便利贴叠在一起、内容的字体又特别大时,「贴在哪」这件事很容易被忽略。

那「坐标」是怎么输出的?

反过来,当你要 VLM 给出一个位置——比如一个检测框——主流做法是 把坐标当成文本写出来。模型自回归地吐出字符串,像这样:

# 主流 VLM 怎么"说"一个框:把坐标当普通文字逐 token 生成
# 这就是后面所有"别让 LLM 写坐标"工作要攻击的 baseline。

prompt = "Where is the red button? Answer with a box."
output = vlm.generate(prompt, image)
# output 是一串文本 token: "" "0" "." "5" "1" " " "0" "." "3" ...
#                            ↑ 一个 (x1,y1,x2,y2) 被拆成几十个 1D 字符 token

box = parse_floats(output)   # 模型必须自己学会: 数字字符串 ↔ 像素位置
                             # 而且 x1 在 y2 之前生成 —— 框的 2D 几何被强行串成 1D

注意这里已经埋下两颗雷:(1) 一个二维的框被拍扁成一串一维字符 token,几何耦合被破坏;(2) 模型得隐式学会「数字 $0.5$ ↔ 图中 央那一列像素」这个抽象映射。下面这个演示,先让你看见这个映射 本身有多脆。

Demo 1 · patch 网格与坐标接口
在图上点一下放一个目标点,它的归一化坐标 (x,y) 是固定 的(比如总在 0.50, 0.42)。现在拖动两个滑块:换 patch 大小、换分辨率, 同一个 (x,y) 落在哪个 patch index 会整片改变。模型若靠「坐标 ↔ patch」的隐式映射定位,换一个没见过的分辨率就会系统性偏移——这就是 痛点 (a)。

§3有 PE ≠ 会用空间

那加了 PE 为什么还不行?2025 年有一篇很关键的诊断工作 Beyond Semantics 给出了机制级答案:在 LLaVA 这类模型里, visual token 的 embedding 范数(norm)远大于 text token, 于是 RoPE 注入的位置信号被这个巨大的语义范数压过去了。换句话 说,视觉 token 在 LLM 眼里几乎退化成一袋无序的语义 (bag-of-tokens),位置那一维存在、但被淹没。

隐式 patch + 2D PE几何显式化
位置如何表示加在内容上的弱偏置 $p_i$query 的参考点 / box / depth / token
输出坐标的方式当文本逐 token 写数字指向 visual token / 原子框 / 框回归头
换分辨率PE 要插值,映射易崩归一化坐标 / RoPE 外推,稳
几何耦合(x,y,w,h) 被串成 1D框作为一个整体被预测/更新
能否分前后远近单张 RGB 几乎不能显式引入 depth / 参考系 / 3D
谁在用通用语义 VLM 默认检测、grounding、GUI、机器人

这张表是全站的地图:左列是被挑战的范式,右列是八个家族 各自「往哪个角落上螺丝」的方向。记住右列五件事——参考点、原子坐标、 归一化、几何耦合、depth/参考系——后面每张卡片都在其中某一格里深耕。

§4四个痛点

把上面的失败归一归,正好是四个互相独立的痛点。它们是全站的 枢纽:后面每一篇论文,我都会标它主要打哪个 (a)/(b)/(c)/(d)。

痛点 (a):patch→pixel 的隐式映射很脆

让 LLM 输出文本坐标,等于要它隐式学会「归一化数字 ↔ 具体哪个 patch / 哪个像素」。训练分辨率固定时还行,一换到更高分辨率或新长宽比,这个映射 就系统性失效(GUI-Cursor 2025 明确报告了这点)。Demo 1 让你 亲手把它推崩。

痛点 (b):坐标当文本,几何被拍扁

一个框 $(x_1,y_1,x_2,y_2)$ 是四个互相约束的数,但自回归 解码把它们串成一维 token 流,强行规定「先 $x_1$ 再 $y_2$」的假顺序。 早一个 token 错,后面整框跟着歪;而且逐 token 解码。Demo 2 会演示这条链。

痛点 (c):位置信号被语义范数淹没

上一节那张诊断——visual token 大范数压过 PE 的弱信号。哪怕 encoder 特征里其实有空间信息,到了 LLM 这一层也用不上。这是「为什么有 PE 还说不准」最底层的答案。

痛点 (d):只有 2D,没有前后远近与参考系

「上下左右」只是 2D 关系。机器人、自动驾驶、室内导航还要 front/back、 near/far、occlusion,以及一个常被忽略的杀手:参考系—— 「杯子的左边」到底是的左、还是杯子的左?单靠 2D PE 无论怎么改都解决不了。Demo 5 专门演示参考系怎么把同一句话变成四种答案。

Demo 2 · 坐标当文本:量化、token 串、与原子框
拖动图中的框。左边显示它被 Pix2Seq / Kosmos-2 式地量化成 bin token——bin 越少,框「咔」地吸附得越粗(量化误差)。勾选 「自回归首 token 误差」:让 $x_1$ 这一个 token 偏一格,看整框怎么跟着 塌——这正是 §20 LocateAnything 要用并行原子解码消灭的东西。

§5ViT + 2D PE · 被挑战的范式本身

ViT — An Image is Worth 16×16 Words
ICLR 2021 Dosovitskiy et al. · Google · arXiv:2010.11929

痛点 (a)(c):把图切 patch、加一份可学 1D/2D PE,是后面一切的起点,也是一切问题的源头。

关键想法 把图像当成一串 16×16 的「词」:切 patch → 线性投影 → 加位置编码 → 标准 Transformer。证明了纯 attention 在足够数据下能超过 CNN,从此 patch token 成为视觉前端的事实标准。它的 PE 是一份可学查找表,绑定固定网格大小——这正是后面 RoPE / NaViT 要修的地方。

把 NLP 的 Transformer 几乎原样搬到视觉,代价是位置只剩一份外加的弱编码。

§6CoordConv · 卷积天生「坐标盲」

CoordConv — An Intriguing Failing of CNNs and the CoordConv Solution
NeurIPS 2018 Liu et al. · Uber AI · arXiv:1807.03247

痛点 (a)(c):让普通 CNN 把一个坐标 (x,y) 画成对应位置的一个亮点——它会失败。

关键想法 卷积是权值共享 + 平移等变的:同一个 filter 在每个位置都一样跑,输出只依赖局部像素图案,从不依赖绝对位置。所以网络结构上就没有任何随「在图里哪」变化的输入特征,自然学不会坐标回归。CoordConv 的解法朴素到好笑:在输入上额外拼两个常数通道——一张归一化的行坐标图 $i$、一张列坐标图 $j$(可选第三张半径 $r$)——把绝对位置直接喂进去,于是同样的任务用更少参数就完美泛化。

第一次干净地点破:patch / conv 特征「坐标盲」是结构性的,不补坐标通道就治不好。

§7DETR · 把检测变成「集合预测」

DETR — End-to-End Object Detection with Transformers
ECCV 2020 Carion et al. · Meta AI · arXiv:2005.12872 · code

痛点 (b):检测器全是手工组件(anchor 生成、NMS、规则匹配),能不能端到端?

关键想法 用一组 $N$ 个可学的 object query 并行解出 $N$ 个框,配 Hungarian 二分匹配损失逼出唯一预测,干掉 anchor 和 NMS。但要命的是:这些 query 是纯内容向量、没有任何几何含义,decoder 得从零学「该看哪」,于是收敛慢到要 ~500 epoch。后面整条 DETR 家族,本质都是在回答「怎么把几何放回 query 里」。

把检测重写成 Transformer 的集合预测,第一次让「框」成为可被网络直接生成的对象——但 query 还没有坐标。

§8Pix2Seq / Kosmos-2 · 坐标当 token 的源头

这两篇是「坐标即语言」的祖宗,也是第四部所有工作反对的baseline

Pix2Seq — A Language Modeling Framework for Object Detection
ICLR 2022 Chen et al. · Google Brain · arXiv:2109.10852

痛点 (b):能不能不要检测专用头,把检测直接当「生成下一个 token」?

关键想法 把每个框写成序列 $[y_{\min},x_{\min},y_{\max},x_{\max},\text{class}]$;坐标先归一化到 $[0,1]$,再量化进固定数量的 bin(~2000 个,每个 bin 当一个离散词),用纯交叉熵生成。这就是 Demo 2 里那个「咔咔吸附」的量化接口。

第一次把坐标变成词表里的离散 token——优雅,但有损,且逼模型隐式学 patch→pixel 映射。

Kosmos-2 — Grounding Multimodal LLMs to the World
2023 Peng et al. · Microsoft · arXiv:2306.14824

痛点 (b):怎么把 grounding 塞进一个会聊天的生成式 MLLM?

关键想法 把图切成 $P\times P$ 个 bin,给词表新增 $P\times P$ 个 location token;一个框 = 起点 loc token + 终点 loc token,包住被指的文字 span。于是坐标和语言共享同一条自回归流、同一个损失。

把 Pix2Seq 的离散坐标搬进对话 LLM,做成内联的 <loc> token——grounding 第一次进了聊天框。

§9Perceiver · 直接 attend 像素 + 傅里叶坐标

Perceiver / Perceiver IO — General Perception with Iterative Attention
ICML 2021 / ICLR 2022 Jaegle et al. · DeepMind · arXiv:2103.03206 · 2107.14795

痛点 (a):能不能不预设 patch 网格,直接处理大量 raw pixel?

关键想法 用一个小的 latent 数组去 cross-attend 巨大的字节数组(像素),把二次复杂度降到线性;位置用傅里叶特征(坐标的 sin/cos)作为连续坐标信号注入,而不是每个 patch 一个可学向量。Perceiver IO 更进一步:用output query 解码——每个输出元素一个携带自身坐标的 query,可以「按坐标查询」任意结构的输出,思路上接近 NeRF / implicit field。

最早认真挑战 patch-grid 假设的架构之一:位置是连续坐标函数,输出靠坐标 query——但缺 CLIP 级的大规模 VLM 生态。

§10Deformable DETR · 围着参考点采样

这是「把坐标放进 query/attention」最成熟的一条线,源头是检测而非 VLM。 核心想法:别给每个 token 一个弱 PE,而让 query 自带明确的空间 语义——参考点、anchor、box——并让 attention 围着这些坐标采样或 迭代。

Deformable DETR — Deformable Transformers for End-to-End Detection
ICLR 2021 Zhu et al. · SenseTime · arXiv:2010.04159 · code

痛点 (a)(b):DETR 的全局 attention 收敛慢、吃不起高分辨率多尺度特征,小物体差。

关键想法 给每个 query 配一个 2D reference point $p_q\in[0,1]^2$,attention 只在它周围采样少数 $K$ 个点(典型 $K=4$),而不是和所有 patch 全局比对。这是「reference point」第一次登场,也是把显式局部几何装进 attention 的起点。

把全局 attention 换成围绕参考点的稀疏采样:收敛快一个量级,复杂度与特征图大小无关。

拆解 · deformable attention 在算什么

对一个 query 特征 $z_q$、参考点 $p_q$、特征图 $x$,$M$ 个 head、每 head $K$ 个采样点,deformable attention 是:

$$ \mathrm{DeformAttn}(z_q,p_q,x)=\sum_{m=1}^{M} W_m\!\left[\sum_{k=1}^{K} A_{mqk}\cdot W'_m\, x\big(p_q+\Delta p_{mqk}\big)\right] $$

关键在 $\Delta p_{mqk}$(采样偏移)和 $A_{mqk}$(注意力 权重):它们都由 $z_q$ 过一个线性层直接吐出来——这个线性 层输出 $3MK$ 个数,$2MK$ 个给偏移(每点 x,y),$MK$ 个给权重(对 $K$ 个点 softmax,$\sum_k A_{mqk}=1$)。因为采样点是小数坐标,$x(\cdot)$ 用 双线性插值取值。每个 query 的代价是 $O(K)$,与特征图分辨率 无关——这才吃得起多尺度高清特征。

Demo 3 · 围绕参考点的可变形采样
拖动中央的参考点。橙色小点是它周围 $K$ 个学到的采样位置, 点的大小 ∝ 注意力权重。拖动 K 看采样如何变密。勾选「全局 attention」对比: DETR 要和满屏 patch 比对(一片灰格),deformable 只看身边几个点——这就是 它收敛快、省算力的几何直觉。

§11Anchor / Conditional DETR · 给 query 一个物理含义

Anchor DETR — Query Design Based on Anchor Points
AAAI 2022 Wang et al. · Megvii · arXiv:2109.07107

痛点 (c):DETR 的可学 query embedding 是黑箱,没有清晰的物理含义,难优化。

关键想法 把每个 object query 直接做成一个 2D anchor point,于是每个 query 有明确的「我负责这个位置附近的物体」含义;再给每个 anchor 配几个 pattern 处理「一个区域多个物体」。

把不可解释的 learned query 换成有坐标的 anchor point——query 第一次「知道自己该看哪」。

同期的 Conditional DETR(ICCV 2021, 2108.06152)从另一面入手: 从 decoder embedding + 参考点学一个条件空间 query,把每个 head 引 到框的某条边上,解耦内容与位置,收敛快 6–10 倍。两篇合起来确立了一个原则: query 的「位置部分」该由坐标显式生成。

§12DAB-DETR · 把框本身当 query

DAB-DETR — Dynamic Anchor Boxes are Better Queries for DETR
ICLR 2022 Liu et al. · IDEA · arXiv:2201.12329 · code

痛点 (b)(c):anchor point 还是没尺度,query 缺宽高先验。

关键想法 干脆用一个完整的 4D anchor box $(x,y,w,h)$ 当 decoder query,并逐层更新它;box 的 w,h 还反过来调制位置 attention(大物体给更宽的注意力footprint)。框从「输出」变成了「参与推理、被一层层精修的状态」。

从 anchor point 升级到 anchor box:query 同时带了位置尺度,且每层读进一个框、看一圈、吐出更紧的框。

拆解 · 「框作为 query,逐层精修」

一个 query 就是归一化框 $b=(x,y,w,h)$。它在 logit(sigmoid 逆)空间被逐层 更新:

$$ b^{(l)}=\sigma\!\Big(\sigma^{-1}\big(b^{(l-1)}\big)+\Delta b^{(l)}\Big) $$

其中 $\Delta b^{(l)}$ 是第 $l$ 层回归出的框增量。框的中心当作该层 deformable attention 的参考点,框的 w,h 调制位置 attention。 下面是 DAB / DINO 风格 decoder 的教学伪代码——整条 DETR 家族的「主干」长这样:

# 框作为 query 的 decoder(DAB / DINO 风格)。教学版,非性能优化。
boxes   = init_anchor_boxes()        # (N,4): (cx,cy,w,h) ∈ [0,1]
content = init_content_queries()     # (N,C): 内容向量

for layer in decoder_layers:         # 典型 6 层
    ref = boxes                      # 参考点 = 当前 anchor box
    pos = pos_embed(ref)             # 把 (cx,cy,w,h) 做成 sinusoidal 位置嵌入
    q   = content + pos              # query = 内容 + 位置(框)

    content = self_attn(q, q, content)                  # query 之间互相协调
    content = deform_cross_attn(content,                # 在框中心周围采 K 个点
                                ref_point=ref[:, :2],
                                modulate_wh=ref[:, 2:],  # w,h 加宽注意力
                                value=encoder_features)

    dbox  = box_head(content)                           # (N,4) 增量(logit 空间)
    boxes = sigmoid(inverse_sigmoid(boxes.detach()) + dbox)   # 精修这个框
    score = cls_head(content)
# 每层都加监督;最终框来自最后一层

§13DN-DETR / DINO · 把这条线推到 SOTA

DN-DETR — Accelerate DETR Training by Introducing Query DeNoising
CVPR 2022 Li et al. · IDEA · arXiv:2203.01305

痛点 (b):收敛慢的根源是二分匹配不稳——训练早期 query↔GT 的分配老在翻。

关键想法 加一个去噪辅助任务:把 GT 框加噪声当额外 query 喂进去,让 decoder 学着还原干净框(一条绕开匹配的捷径),训练立刻稳。

在 DAB 的 box-query 上加去噪,专治匹配不稳——纯训练技巧,不改架构。

DINO — DETR with Improved DeNoising Anchor Boxes
ICLR 2023 Zhang et al. · IDEA · arXiv:2203.03605 · code

痛点 (b):把 DAB+DN 这条线统一、补齐,冲 SOTA。

关键想法 三件套:对比去噪(正负噪声 query 教会「这里没物体」)、mixed query selection(用 encoder top 特征初始化 anchor box,而非静态学一份)、look-forward-twice(让梯度穿过两层框更新)。第一个登顶 COCO 的 DETR 类模型。注意:此 DINO 与自监督的 DINO 同名但无关。

把 box-query + 去噪推到检测 SOTA;要选一份代码走查整条家族,就读 DINO 的 decoder。

§14MDETR / Grounding DINO · 让语言来选 query

MDETR — Modulated Detection for End-to-End Multi-Modal Understanding
ICCV 2021 Kamath et al. · NYU / Meta · arXiv:2104.12763

痛点 (b)(d):grounding / referring 需要能读懂自由文本的检测器,不是固定类别表。

关键想法 把文本 encoder 和图像特征早融合,再跑 DETR decoder,用 token 预测 + 对比对齐损失把 query 对到文本 span 上——检测被 caption「调制」。

把 DETR 从固定类别解放出来:检测以文本为条件,短语 grounding 第一次端到端。

Grounding DINO — Marrying DINO with Grounded Pre-Training
ECCV 2024 Liu et al. · IDEA · arXiv:2303.05499 · code

痛点 (b)(d):让 DINO 开放词汇——用类名或 referring expression 检测任意对象。

关键想法 三处紧融合:cross-modality feature enhancer、language-guided query selection(文本来挑哪些 encoder 特征当 decoder 的 anchor box 种子)、cross-modality decoder。box-query 家族现在由语言选 query,也是 Grounded-SAM 背后的开放词汇骨架。

在 DINO 的 box-query 上接语言条件,把封闭检测变成开放词汇 grounding。

§15Shikra / Ferret · VLM 里的文本坐标基线

进入 VLM 时代。最朴素的做法仍是让 LLM 把坐标当数字写。先看 两个代表性基线,再看 2025–2026 怎么把它彻底换掉。

Shikra — Unleashing Multimodal LLM's Referential Dialogue Magic
2023 Chen et al. · arXiv:2306.15195

痛点 (b):MLLM 不会在对话里指/引用一个区域。

关键想法 最纯粹的「LLM 写 x1 y1 x2 y2」基线——直接以普通数字文本输出坐标,不加新词表、不接检测器。简单、通用,但完全继承痛点 (a)(b)。

证明 MLLM 不靠任何专用模块也能做 referring dialogue——代价是坐标全靠隐式学。

Ferret — Refer and Ground Anything Anywhere at Any Granularity
ICLR 2024 You et al. · Apple / Columbia · arXiv:2310.07704

痛点 (b):只支持框太死,点、涂鸦、多边形怎么办?

关键想法 混合区域表示:离散坐标 token + 在区域上采样的连续特征融合,于是点 / 框 / 涂鸦 / 多边形都能当输入。

把单一框接口扩成任意形状的区域——开始往「连续特征」而非纯数字靠。

§16Groma / ChatRex · 用「选索引」代替「回归坐标」

Groma — Localized Visual Tokenization for Grounding MLLMs
ECCV 2024 Ma et al. · HKU / ByteDance · arXiv:2404.13013

痛点 (b)(c):让 LLM 自己回归坐标太弱。

关键想法 把定位挪进视觉 tokenizer:先把图分解成一堆 ROI,编码成 region token;grounding 变成「引用某个 region token」,而不是吐数字。

把「写坐标」换成「指一个已编码的区域」——定位的脏活交回视觉侧。

ChatRex — Taming MLLM for Joint Perception and Understanding
2024 Jiang et al. · IDEA · arXiv:2411.18363

痛点 (b):回归和理解在同一个 LLM 里互相打架。

关键想法 解耦检索:一个通用 proposal 网络先给出框,LLM 只输出框的索引,把回归彻底变成选择题。

沿着 Groma 再走一步——LLM 连区域都不编码,只负责「选第几个框」。

§17MolmoPoint · 用 grounding token 直接指 visual token

这是 2025–2026 最贴合本文主题的一条线的旗舰:把「指哪里」变成模型内部的视觉操作,而不是背数字。

MolmoPoint — Better Pointing for VLMs with Grounding Tokens
2026-03 Clark et al. · Allen AI · arXiv:2603.28069 · blog

痛点 (a)(b):文本坐标 pointing 既要学复杂坐标系,又要 ~8 个 token 才点一个点。

关键想法 用层级式 grounding token 直接选 visual token,不写坐标。三个特殊 token 由粗到细:<PATCH> 在 visual token 上 attend 选出粗 patch,<SUBPATCH> 用更底层 ViT 特征细化,<LOCATION> 读出精确点。一个点从 8 token 压到 3 token,还更好学,PointBench 70.7%。

从 Molmo 的文本 2D-pointing,升级成「指针 token 直接 attend 视觉 token」的 coarse-to-fine 指点。

它的前身 Molmo / PixMo(Ai2, CVPR 2025, 2409.17146)已经会「指点」, 但还是用文本 2D 坐标格式 + PixMo 指点数据集训练;MolmoPoint 才把 接口换成视觉 token 指针。下面这个演示,让你看清「attention 指点」和「写数字」 的差别。

Demo 4 · pointer head:用 attention 指点,不写数字
移动鼠标当作要指的目标。一个 <ACTOR> / grounding token 在 patch 网格上算出一张 attention 分布(越亮越关注), 点击位置 = attention 加权质心——全程没生成任何数字,且能落到比 patch 更细的位置。调 τ 看分布软硬;勾选「文本坐标量化」对比那种「咔」地 吸附到网格的旧接口。

§18GUI-Actor · 坐标无关的 GUI grounding

GUI-Actor — Coordinate-Free Visual Grounding for GUI Agents
NeurIPS 2025 Wu et al. · Microsoft · arXiv:2506.03143 · project

痛点 (a)(c):GUI 里把 dense 像素坐标回归到 coarse ViT patch,空间-语义对齐弱、还表达不了「多个/模糊目标」。

关键想法 用 attention-based action head 取代坐标回归:一个专门的 <ACTOR> token 当 query,它对所有 visual patch token 的 attention 分布本身就是定位信号——一次前向取 top-K patch 当候选。再用一个轻量 verifier 给候选打分,点击点 = 打分加权的 patch 质心,于是不改 patch 大小也能 sub-patch 精度。7B 在 ScreenSpot-Pro 上 44.6,超过 UI-TARS-72B。

把「输出一个坐标数」换成「让一个 token 去 attend 该点的 patch」——Demo 4 演示的正是这个 head。

拆解 · attention head 怎么读出一个点

# GUI-Actor / pointer head:定位 = 一个特殊 token 的 attention 分布
actor = hidden_state_of("")          # (d,)  专门的指针 token
attn  = softmax(actor @ visual_tokens.T / tau)   # (Npatch,) 在 patch 上的注意力

# 不生成任何数字坐标:直接读 attention
topk  = attn.topk(k)                          # 候选 patch(可表达多目标/歧义)
score = verifier(image, topk.patches)         # 轻量 VLM 给每块打 P(命中)
click = weighted_centroid(topk.centers, score)  # 加权质心 → sub-patch 精度

§19RULER / GETok · 给模型一套「空间词汇」

RULER — Improving GUI Grounding with Explicit Position-to-Coordinate Mapping
2025-10 Wang et al. · Mila / ServiceNow · arXiv:2510.03230

痛点 (a):隐式 patch→pixel 映射在没见过的高分辨率屏上会崩。

关键想法 往输入里插一排RULER token——像地图网格线一样的显式坐标标尺,与图像 patch 共享位置嵌入。模型于是「参考最近的标尺做有界算术」,而不是从抽象特征里硬回归坐标;再配 Interleaved M-RoPE 对称编码宽高。光微调就把 ScreenSpot-Pro 31.1%→37.2%。

不换接口,而是在图上「画网格线」让模型有参照物——直接打痛点 (a) 的分辨率泛化。

GETok — Grounding Everything in Tokens for Multimodal LLMs
2025-12 Ren et al. · arXiv:2512.10554

痛点 (b):图像的自回归 tokenization 限制了精确 2D grounding。

关键想法 造一套可学的空间词表grid token 把图像平面切成结构化锚点,offset token 在锚点内迭代精修。把空间关系嵌进 token,完全不改自回归架构,SFT 和 RL 都能用。

把坐标显式化为「网格锚点 + 偏移」两类 token,等于给 AR 模型补了一套原生 2D 空间词汇。

§20LocateAnything · 并行原子框解码

LocateAnything — Fast and High-Quality VL Grounding with Parallel Box Decoding
2026-05 Wang et al. · NVIDIA · arXiv:2605.27365 · project

痛点 (b):逐 token 解码坐标既破坏框的几何耦合,又是串行推理瓶颈。

关键想法 Parallel Box Decoding:把每个框/点抬升为定长的原子单元,一步并行预测整组 $(x_1,y_1,x_2,y_2)$。因为四个坐标是联合约束的,串成 1D token 流就强加了假顺序、让早 token 的错误滚雪球;并行原子解码让监督对齐到这个耦合结构,顺带 ~2.5× 提速。

从「逐 token 写框」变成「一步吐一整个框」——Demo 2 勾选项里塌掉的那个框,正是它要消灭的。

§21Rex-Omni · 把检测做成「预测下一个点」

Rex-Omni — Detect Anything via Next Point Prediction
CVPR 2026 IDEA Research · arXiv:2510.12798

痛点 (b):能不能用一个统一的「点」接口,把检测 / OCR / pointing / 关键点全包了?

关键想法 在 Qwen2.5-VL 上把所有任务统一成预测下一个点(离散坐标 token),再用几何感知的 RL 奖励闭合「离散↔连续」的缝、消重框。零样本在 COCO/LVIS 上能掰手腕 Grounding DINO。

承认坐标 token 这条路、但用 RL 奖励把它的几何短板补上——和 LocateAnything 是「修 vs 换」的两种答卷。

§22Slot Attention / VinVL · 先绑定物体

很多「分不清上下左右」的失败,根子不在像素坐标不够细,而在模型没稳定 绑定:哪个对象在哪个区域、和谁有什么关系。对象级表示能缓解它。

Slot Attention — Object-Centric Learning with Slot Attention
NeurIPS 2020 Locatello et al. · Google · arXiv:2006.15055

痛点 (d):怎么从一张特征图里无监督地「数出」几个对象槽位?

关键想法 迭代式 attention 产出 $K$ 个可交换的 slot,每个 slot 通过竞争性 attention 绑定一个对象。「先把哪个物体在哪绑好,再谈关系」的原始 primitive。

把 CNN 特征整理成一组对象槽位,而非一张匿名特征图——对象-关系推理的干净起点。

更早的 VinVL(CVPR 2021, 2101.00529)则是「物体中心」的工程 祖先:用更好的 object-attribute 检测器产出 region feature,证明更强的区域 特征直接抬高下游 VL 任务——「先看到物体」在 LLM 时代之前就被验证过。

§23SAM / SAM 2 · 可提示分割

SAM / SAM 2 — Segment Anything (in Images and Video)
2023 / 2024 Kirillov, Ravi et al. · Meta · arXiv:2304.02643 · 2408.00714

痛点 (d):能不能有一个「用 point / box / mask 提示就给你高质量 mask」的通用接口?

关键想法 image encoder + prompt encoder + mask decoder,支持点 / 框 / mask 提示输出高质量 mask,1B mask 数据集零样本迁移。SAM 不是 VLM,但它的 promptable 范式成了后面无数 region-centric VLM 的基座;SAM 2 加了视频 + 流式记忆。

把「分割」从固定类别变成「按几何提示生成」——几何(点/框/mask)第一次成了标准输入接口。

§24LISA · 用 <SEG> token 把语言接到像素

LISA — Reasoning Segmentation via Large Language Model
CVPR 2024 Lai et al. · CUHK · arXiv:2308.00692

痛点 (b)(d):要的不是「分割猫」,而是「分割图里能装水的东西」这种需要推理的 mask。

关键想法 让 LLM 吐一个特殊 <SEG> token,用它的 embedding 去条件一个 SAM 式 decoder 产出 mask。语言推理和像素 mask 第一次被一个 token 缝起来。

把 grounding 的输出从「框 / 数字」换成「一个能驱动分割器的 token」——pointer-token 思路在 mask 上的版本。

§25AURORA · 感知 token(视觉版 CoT)

另一条很有潜力的思路:别让 VLM 直接答空间问题,先让它生成可检查的空间中间表示(depth / mask / box token),再推理。

AURORA — Perception Tokens Enhance Visual Reasoning in MLLMs
2024-12 Bigverdi et al. · UW / Allen · arXiv:2412.03548

痛点 (c)(d):让 LLM 从 patch embedding 里「想象」深度和坐标,不可检查也不准。

关键想法 给 MLLM 加一类感知 token(perception token),是视觉版的 chain-of-thought:对 depth,训一个 VQ-VAE 编码深度图,把学到的 codebook 索引当离散 token 让 LLM 逐 token 吐出——模型字面意义上「画」出一张粗深度图,再据此推理;对 box 则用结构化坐标 token。BLINK +10.8%、CVBench +11.3%。

把「隐式想象几何」换成「显式生成可监督的深度/框中间 token」——空间版 CoT。

拆解 · 把一张深度图变成 LLM 能吐的 token

# 感知 token:用 VQ-VAE 把 dense depth 压成离散 codebook 索引序列
z      = depth_encoder(depth_map)            # 连续特征
idx    = vq_codebook.nearest(z)              # (h*w,) 量化成 codebook 索引
tokens = [""] + idx.tolist() + [""]   # 当普通 token 接进序列

# LLM 像写字一样自回归生成这些 depth token,再据此回答空间问题:
answer = llm.generate(question, image_tokens + tokens)
# 关键:中间的几何是"画出来、可监督、可检查"的,而不是藏在 embedding 里

§26Perceptio / 视觉 CoT · 把感知 token 做深

Perceptio — Perception Enhanced VLMs via Spatial Token Generation
2026-03 Li et al. · arXiv:2603.18795

痛点 (c)(d):感知 token 还能更稳、更细到 2D+3D 吗?

关键想法 在 InternVL 上「先吐空间 token,再答题」:从强单目深度教师蒸馏出一个 VQ-VAE 深度码本(更稳),并把 SAM2 分割 token 和深度 token 一起自回归生成;再加 marker / token / count 复合损失稳住生成。RefCOCO 系 +0.8~1.4 cIoU,BLINK 空间 +10.3%。

比 AURORA 更进一步:蒸馏深度码本 + 加分割 token + 稳定化损失,把感知 CoT 做到 2D/3D 双管。

同期 Chain-of-Visual-Thought(CoVT, 2511.19418)走连续路线: 从分割 / 深度 / DINO / 边缘等轻量专家蒸馏出约 20 个连续视觉 token,在隐空间里做视觉 CoT,CV-Bench depth +14~16%。离散(Perceptio)还是 连续(CoVT),是这条线眼下的主要分叉。

§27SpatialVLM · 用数据引擎教会 3D 空间

「上下左右」只是 2D。要真正分清 front/back、near/far、occlusion,必须显式 引入 depth / camera / 3D。这一部是物理世界空间准确性的根本方向。

SpatialVLM — Endowing VLMs with Spatial Reasoning Capabilities
CVPR 2024 Chen et al. · Google DeepMind / Stanford · arXiv:2401.12168 · project

痛点 (d):VLM 做不了 metric 3D 推理(距离、尺寸),因为训练数据本身没 3D 标注。

关键想法 不改架构,改数据:搭一条引擎,用开放词汇检测 + 分割抠出物体区域,用单目 metric depth 把每个区域抬成 metric 点云,再 canonicalize 到真实米制坐标系;从 3D 算出距离 / 高度 / 左右 / 「X 能否穿过 Y」当 GT,模板化成 ~20 亿条空间 QA。能力来自合成数据,而非新结构。

第一次系统性证明:VLM 缺的不是架构,是大规模带 3D ground-truth 的空间监督。

§28SpatialRGPT · 区域级 + depth 插件

SpatialRGPT — Grounded Spatial Reasoning in VLMs
NeurIPS 2024 Cheng et al. · NVIDIA / UCSD · arXiv:2406.01584

痛点 (d):VLM 不会做区域为单位的相对方向 / 距离。

关键想法 两件事:用 3D scene graph 学区域表示;给冻结 VLM 的视觉 encoder 接一个轻量 depth 插件。推理时吃用户给的 region proposal(框 / mask),还能当机器人的区域级奖励标注器。

把 depth 做成可插拔模块接进现成 VLM,并显式吃区域提示——比纯 2D PE 多了一条几何 stream。

§29RoboSpatial · 参考系才是隐藏杀手

RoboSpatial — Teaching Spatial Understanding to Robotics VLMs
CVPR 2025 Song et al. · NVIDIA / OSU · arXiv:2411.16537

痛点 (d):通用数据缺机器人级空间监督,尤其是参考系的处理。

关键想法 1M 图 + 5K 3D 扫描 + 3M 关系,每条 QA 都在三种参考系下提问,训 2D 和 3D VLM 做 affordance / 关系 / 操作。它把一个长期被糊弄的问题摆上台面:「杯子左边」到底以谁为原点。

不止补 depth,更显式标注「以谁为参考系」——坐标再准,参考系错了照样答错。

拆解 · 什么是参考系(reference frame)

参考系 = 量「左右前后」时用的原点 + 坐标轴。同一句「杯子的左边」, 三种参考系给三种答案:egocentric(以相机/你为准,「左」=你的左)、 object-centric(以杯子自身朝向为准,杯子有自己的「正面」)、 world-centric(以房间/重力等固定全局轴为准)。一个正面朝你的 杯子,它自己的左恰好是你的右——这就是歧义的来源。Demo 5 让你 亲手切换参考系,看同一句话的「左边」区域怎么翻面。

Demo 5 · 参考系:同一句「杯子左边」的三种答案
场景里有个带「正面」(小三角)的杯子。勾选不同参考系,看「杯子左边」高亮的 半边落在哪。再拖动杯子朝向滑块:object-centric 的「左」会跟着 杯子转,egocentric 永远是你的左,world-centric 永远贴全局轴。三者经常不一致—— 这就是痛点 (d) 里最难、也最被忽略的一块。

§30SpatialBot / RoboPoint / VSI-Bench · 配套生态

SpatialBot · RoboPoint · VSI-Bench · SpatialLM — depth-API、可操作点、视频空间基准、点云→结构化场景

痛点 (d):3D 空间能力需要配套的输入接口、可操作输出、和能照出短板的基准。

关键想法 SpatialBot 喂 RGB+depth 并开放 Depth API 让模型主动查像素深度;RoboPoint 直接预测可操作的 2D 关键点 affordance;VSI-Bench / Thinking in Space 是视频空间智能基准,发现「语言 CoT 没用、显式认知地图才有用」;SpatialLM 吃点云直接吐结构化 3D 场景(墙/门/带朝向的物体框)。

从「单模型」扩成「输入(depth)+输出(point/scene)+评测(VSI)」的完整 3D 空间栈。

§31几何感知 encoder · 在融合语言前就懂空间

FiT3D · Geometric Distillation · VEGA — 把 3D 几何蒸进视觉 encoder,再喂 VLM/VLA

痛点 (c)(d):与其在 LLM 端补空间,不如让视觉 encoder 在融合语言之前就带几何 awareness。

关键想法 FiT3D 用 3D Gaussian 监督把 DINOv2 特征「3D 化」;Geometric Distillation 从 MASt3R / VGGT 蒸出对应关系、相对深度、cost-volume 进 VLM encoder;VEGA 把 VLA 的视觉 encoder 对齐到这类空间感知特征,且对齐投影在推理时可丢弃(零额外开销)。

把「几何显式化」从输出/接口层下沉到 encoder 表示层——让 visual token 一出生就带 3D。

引用诚实性 · ⚠️

VEGA(2605.10485)与 GR3D(§36, 2605.30307)的 arXiv ID 已经 arXiv API 核对存在、作者与方向吻合;但「VEGA 用 DINOv2-FiT3D 作 teacher」「GR3D 这个别名」这两个细节是单一摘要来源,正式引用前建议再扫一眼 PDF。本站对 2026 年的工作统一打 mustard 标签提示「新、 待二次确认」。

§32Vision Mamba / VMamba · 不用 attention 的 backbone

Vision Mamba · VMamba · V2M — 2D state-space 视觉骨干
ICML / NeurIPS 2024 Vim 2401.09417 · VMamba 2401.10166 · V2M 2410.10382

痛点 (a):self-attention 二次复杂度吃不起高清 dense 视觉;是不是非 attention 不可?

关键想法 用线性复杂度的 state-space(Mamba)替代 attention。Vim 用双向 Mamba block;VMamba 的核心是 2D Selective Scan(SS2D);V2M 则批评前两者仍把 2D flatten 成 1D,主张把 SSM 的递推本身推广到二维。

证明「视觉表示学习不一定需要 self-attention」——但它仍处理 patch token,「有方向 scan」≠「能精确输出坐标」。

拆解 · SS2D 怎么把 1D 扫描救回 2D 局部性

把 $H\times W$ 特征图按行主序拍成 1D,两个上下相邻的像素会相隔 $H$ 步,1D 因果 SSM 会当它们很远、永远建不起这条邻接。VMamba 的 cross-scan 让 SSM 沿四条互补路线各扫一遍—— 左→右、右→左、上→下、下→上——再把四张输出图逐元素合并回 2D。四次 扫描给每个 token 四套不同的因果邻居,合并后它的状态就聚合了来自四个方向的 上下文,以线性代价近似 attention 的全局感受野。

§332D RoPE / M-RoPE · 用旋转编码位置

RoPE-ViT · M-RoPE (Qwen2-VL) — 把相对位置做成旋转

痛点 (a)(c):可学绝对 2D PE 绑死网格大小、换分辨率要插值、还会被语义淹没。

关键想法 RoPE 不是一个位置向量,而是按位置旋转 query/key 的每个 2D 子块。关键代数事实:$\langle R(m\theta)q,\,R(n\theta)k\rangle=\langle q,\,R((n-m)\theta)k\rangle$——注意力分数只依赖相对偏移 $n-m$。2D RoPE 把维度分两组,一组按 $x$ 转、一组按 $y$ 转(axial);Qwen2-VL 的 M-RoPE 再把位置索引本身推广成 $(t,h,w)$ 三元组,文本三者同步、图像 patch 拿各自的 $(t,h,w)$。

从「加一份绑死网格的可学表」换成「按坐标旋转、天然外推到新分辨率」的连续位置函数。

拆解 · 为什么旋转 = 相对位置 + 能外推

对比着记:绝对 2D PE 是一张和内容相加的查找表,编码绝对 格子、绑死网格大小、换分辨率必须插值(常常有损)。RoPE 因为是 坐标的连续函数、且分数只看 $n-m$,把整张图平移一个常数 $\Delta$,每个 $n-m$ 不变($(n+\Delta)-(m+\Delta)=n-m$),所以它天然平移等变、也天然外推。

Demo 6 · 2D RoPE:分数只看相对偏移
左边两个 token 在位置 $m,n$,它们的 query/key 向量被各自位置旋转 (箭头)。右边曲线是注意力分数随相对偏移 $n-m$ 的变化。拖动任一 token: 分数只跟着 $n-m$ 走。勾选「整体平移 +Δ」把两个 token 一起搬——分数纹丝不动, 这就是「相对位置 attention 平移等变」的直观证明。

§34位置信号被淹没 · 这条线的诊断书

Beyond Semantics — Rediscovering Spatial Awareness in Vision-Language Models
ICLR 2026 Qi et al. · CUNY · arXiv:2503.17349

痛点 (c):VLM 明明有 PE、encoder 特征也含空间信息,为什么空间推理还是差?

关键想法 给出机制级答案:visual token 的 embedding 范数远大于 text token,把 LLM 的 RoPE 位置信号压了下去,视觉 token 退化成一袋无序语义。他们设计三个探针(位置敏感度、跨模态平衡、RoPE 敏感度)定位问题,并用「归一化 visual embedding 范数 + 取中层特征」直接修复。

不是又造一个模型,而是诊断出「为什么有 PE 还说不准」的根因——全站痛点 (c) 的出处。

§35NaViT / 等变 ViT · 原生分辨率与方向一致性

NaViT · SigLIP 2 / NaFlex — 原生分辨率 / 任意长宽比
NeurIPS 2023 / 2025 NaViT 2307.06304 · SigLIP 2 2502.14786

痛点 (a):固定分辨率方resize 既浪费算力又扭曲长宽比,伤害 grounding / 文档。

关键想法 NaViT 用「Patch n' Pack」把不同分辨率/长宽比的图打包进一条序列、配 factorized PE 做原生分辨率训练;SigLIP 2 / NaFlex 让一个 ViT 支持多种序列长度、保持原生长宽比。直接缓解痛点 (a) 的分辨率脆性。

不再把所有图压成正方形——让 encoder 见到的位置网格更贴近真实几何。

GE-ViT — E(2)-Equivariant Vision Transformer
UAI 2023 Xu et al. · ZJU / Edinburgh · arXiv:2306.06722

痛点 (d):关心旋转/翻转一致性时,绝对位置 attention 不具平移等变,难学几何等变。

关键想法 造一个群等变的位置编码算子,对平移、旋转、反射(E(2) 群)给出可证明的等变性。注意区分:你通常想要旋转不变(那会抹掉「按钮在左上还是右下」),而想要等变——图转了,内部表示和输出坐标按同样方式转。

把「位置该怎么变换」从隐式学习变成结构上的群等变约束——方向敏感任务的另一条思路。

§36Frontier 2026 · 两大阵营的收敛

把窗口收到 2025-09 → 2026-05,会看到一个清晰的格局:还没有 单一架构取代 ViT+2D PE,但形成了两大阵营 + 一层连接组织。下面 几张卡是这个窗口里、尚未被前面家族收编的最新工作(全部 mustard)。

SR3D → GR3D — 统一 2D grounding 与单目 3D 的空间 VLM
2025-09 / 2026-05 Cheng / Fu et al. · NVIDIA / UCSD · SR3D 2509.13317 · GR3D 2605.30307

痛点 (d):2D grounding 与 3D 推理各做各的,没统一。

关键想法 SR3D 用共享的 2D/3D 视觉 token 空间、给 2D 特征注入 3D 位置嵌入,野外视频无需 GT 3D 即可用。后续 GR3D 把三种 grounding 拢进一个模型:显式 2D、隐式 2D(推理途中往文本流插 region token)、区域提示的单目 3D 框。这对工作是当前「坐标原生 + 3D」最连贯的研究线。

把第六部的 depth/参考系思路,和第四部的 region/pointer token 思路,缝进同一个模型。

N3D-VLM · LocateAnything3D · G²VLM · HiSpatial — 原生 3D grounding 与几何统一

痛点 (d):把 2D 标注抬到原生 3D、并和重建/几何统一。

关键想法 N3D-VLM 用 depth 把 2D 标注抬成 3D,联合训 3D 定位 + 3D-CoT;LocateAnything3D 把单目 3D 检测做成「下一个视线」式 next-token;G²VLM 把几何基元的重建与推理统一;HiSpatial 做层级 3D 空间理解,自称在 RoboSpatial / SpatialRGPT 基准上超 Gemini-2.5-Pro / GPT-5(强主张、单一来源,幅度待核)。

把「3D-aware VLM」从单点能力推向「原生 3D 定位 + 几何统一」的成体系尝试。

MHRoPE / MRoPE-Interleave · Circle-RoPE — 重新审视多模态位置编码

痛点 (c):M-RoPE 的设计(位置一致性 / 全频段 / 文本先验)到底哪些重要?

关键想法 Revisiting 提出 MHRoPE(按轴分头)与 MRoPE-Interleave(轮转分配通道),系统分析 MRoPE 设计原则——Qwen3-VL 已采用 MRoPE-Interleave;Circle-RoPE 用锥形解耦图像与文本位置,削减跨模态位置偏置。这是连接两大阵营的「位置编码」基础设施。

把 M-RoPE 从「Qwen2-VL 的一个 trick」上升为可分析、可改良的设计空间。

2026 全景 · 一句话

两大阵营:(1) grounding/pointer-token 阵营(MolmoPoint、 GUI-Actor、GETok、RULER)保留 LLM,但把「写文本坐标」换成「选 token / 原子 块」——其中 LocateAnything 的并行原子框解码是 2026 最具架构辨识度 的一笔;(2) 3D 位置嵌入阵营(SR3D→GR3D、N3D-VLM)把 3D PE 注入 视觉 token 空间。连接两者的是新一轮 M-RoPE 研究(MHRoPE / MRoPE-Interleave) 与几何感知 encoder(FiT3D / Geo-Distill / VEGA)。

§37仍然没解决的问题

把整条线扫一遍,留下来的硬骨头大致是这几块:

  • 没有公认的「坐标原生 VLM」架构。截至 2026,强 VLM 仍以 patch/ViT 为底,几何显式化是「外挂」而非「内生」。一个像 ViT 之于分类那样的事实标准还没出现。
  • 离散 vs 连续的感知 token 之争未决。Perceptio(离散 VQ)和 CoVT(连续)谁更对,还没定论;离散可监督但有损,连续可微但难解释。
  • pointer/atomic token 的开放性。grounding token 在固定 patch 网格上指点,遇到极端高清、超长宽比、密集小目标时的上限还没摸清。
  • 3D 监督仍依赖单目深度估计的质量。SpatialVLM 一系的 GT 来自 off-the-shelf depth/detection,深度估计错了,合成 QA 就错。
  • 参考系仍是脆点。RoboSpatial 把问题摆上台面,但「自动从语言判断该用哪种参考系」远未鲁棒,跨 embodiment 更难。
  • 等变 vs 不变没被通用 VLM 认真对待。方向敏感任务想要等变、不想要旋转不变,但主流训练配方里几乎没有这一约束。
  • 几何感知 encoder 的可移植性。FiT3D / VEGA 这类「把 3D 蒸进 encoder」很漂亮,但能否在不损通用语义的前提下规模化、即插即用,仍待验证。
总结一句话

整条线可以浓缩成两件事:(a) 怎么把坐标放进去 → 参考点 / box query / grounding token / depth / 参考系;(b) 怎么把坐标取出来 → 别让 LLM 写文本数字,改成指 visual token、原子并行解框、或生成可监督的感知 token。所有论文,都是在「显式几何进、显式几何出」这张图的某个角落上一颗螺丝—— 而「完全非 patch 的通用 VLM」还没成为主流,「几何显式化的 VLM」已经是明确趋势。

§A名词表 · Glossary

术语解释
patch / visual token把图切成的小方块,过线性层后成为喂给 Transformer 的一个向量。
2D positional encoding (PE)给每个 patch 注入其 (行,列) 位置的编码,常以「加在内容向量上」的弱偏置形式存在。
grounding把语言指称对应到图像中的具体区域 / 框 / 点 / mask。
reference pointDeformable DETR 给每个 query 配的 2D 锚点,attention 只在其周围采样。
box queryDAB-DETR 把 (x,y,w,h) 整个框当成 decoder 的 query,逐层精修。
deformable attention围绕参考点采少数 K 个点、双线性插值取值的稀疏 attention,复杂度与分辨率无关。
pointer head / grounding token用一个特殊 token 的 attention 分布或选择来「指点」,而非输出文本坐标。
atomic / parallel box decoding把一个框当定长原子单元一步并行解出,保持 (x,y,w,h) 的几何耦合。
perception token把 depth / seg / box 等中间几何表示编码成 LLM 能生成的离散/连续 token(视觉版 CoT)。
reference frame量「左右前后」用的原点+坐标轴:egocentric / object-centric / world-centric。
RoPE / M-RoPE用旋转编码位置,使注意力分数只依赖相对偏移;M-RoPE 把索引推广成 (t,h,w)。
SS2D / cross-scanVMamba 沿四个方向各扫一遍再合并,给 SSM 补回 2D 局部性。
equivariance / invariance等变=输入变换则输出按同样方式变换;不变=输出不随输入变换改变。方向任务要前者。
metric depth以米为单位的绝对深度(区别于相对深度),3D 空间推理的关键输入。

§B推荐阅读顺序

这是教学顺序,不是时间顺序——按「理解链条」而非发表年份排。

  1. CoordConv(§6)—— 先建立「patch/conv 天生坐标盲」的直觉,全篇地基。
  2. DETR(§7)—— 看「query 没有几何」的原始病灶。
  3. Deformable DETR(§10)—— reference point 第一次登场,配 Demo 3。
  4. DAB-DETR(§12)—— 「框作为 query 逐层精修」,整条家族的主干伪代码。
  5. Pix2Seq / Kosmos-2(§8)—— 理解「坐标当 token」的 baseline,才懂后面在反对什么。
  6. Beyond Semantics(§34)—— 「为什么有 PE 还说不准」的机制诊断书。
  7. MolmoPoint + GUI-Actor(§17–18)—— pointer head 的两个代表,配 Demo 4。
  8. LocateAnything(§20)—— 并行原子框解码,回收 Demo 2 的痛点。
  9. SpatialVLM + RoboSpatial(§27, §29)—— 3D 与参考系,配 Demo 5。
  10. 2D RoPE / M-RoPE(§33)—— 用旋转把相对位置做对,配 Demo 6。

Made for learning. 完整 BibTeX、勘误、补遗欢迎 issue。最后更新 2026-05-30。

本站所有内容基于公开发表论文 / arXiv preprint / 项目页 / 官方代码仓。 2026 年的工作打 mustard 标签提示「新、可能待二次确认」。交互演示是 Canvas2D 的教学玩具,数值与机制为示意,不代表论文实际实现与性能。