先记住一句话
VLM 提供开放世界的语义先验,grounding 把词绑定到当前场景实体,几何与本体状态再把实体变成可执行目标;这三层不能互相代替。
1. 语义、指代、几何、可供性
| 层次 | 问题例子 | 需要的信号 |
|---|---|---|
| 识别 | 什么是杯子? | 互联网图文、分类/描述 |
| Grounding | “左边那个杯子”是哪片像素? | referring expressions、boxes/masks |
| 几何 | 它相对夹爪的 3D pose 是什么? | 多视角、深度、标定、运动 |
| Affordance | 哪里可抓、怎样倾倒? | 交互轨迹、接触与结果 |
| 可执行性 | 当前机器人能否安全到达? | robot state、运动学、碰撞约束 |
2. VLM 为什么对 VLA 有用
互联网规模预训练让模型见过广泛对象、属性、语言表达与常识。robot data 稀少时,这些先验能显著改善 novel object 和 paraphrase generalization。常见接法是:
- 冻结 VLM,action expert cross-attend 视觉/语言 token;稳定、便宜,避免小 robot 数据破坏语义。
- 部分或整体微调 VLM;更能适应机器人视角,但需要更大数据和谨慎学习率。
- 让 VLM 输出高层 subtask,低层 policy 执行;模块化、可解释,但错误会级联。
3. 2D token 为什么不自动懂 3D
单张图像的尺度和深度存在歧义;网络可能通过桌面、相机位姿等训练相关性猜位置,而非形成稳定几何。多视角、相机参数、深度、点云、3D positional encoding 和视角一致性损失都能注入更强空间约束。
但显式 3D 也不是免费午餐:标定误差、深度噪声、动态物体和点云稀疏都会进入模型。应以 OOD camera/object/geometry 的闭环结果判断,而不是只看 3D 模块是否“更 principled”。
4. Language 的几个层级
- episode instruction:整条轨迹一个目标,适合短技能。
- step/phase annotation:长任务中标出 reach、grasp、lift、place。
- state description:描述当前场景和进度,可监督感知。
- reasoning/subtask:高层模型预测下一阶段,再条件化低层动作。
语言标注越细不一定越好:自动 VLM caption 若与动作时序错位,会制造貌似丰富的错误条件。先验证 instruction 与可见证据、动作阶段一致。
5. 怎样测试模型真的 grounded
- 同场景交换两个相似对象的位置,看指令跟对象还是跟位置。
- 改颜色/背景但保持几何,测语义与视觉 shortcut。
- 保持图像不变,替换指令中的左右、对象或容器。
- 遮挡目标后重新出现,测 object permanence 与历史。
- 用不可达目标测试模型是否只识别、不理解 embodiment。
6. Grounding 的四个数值检查
例 1:box IoU
预测框面积 1200 px²、真值 1000 px²、交集 800 px²,union=$1200+1000-800=1400$,IoU=$800/1400≈0.571$。
例 2:像素误差到厘米
焦距 600 px、深度 0.9 m,横向偏差 12 px 对应约 $12×0.9/600=0.018$ m,即 1.8 cm。
例 3:两阶段成功率
Grounding 正确率 90%,给定正确目标后 grasp 成功率 80%,若近似独立,端到端上限约 $0.9×0.8=72%$。
例 4:反事实一致性
100 个左右交换 pairs 中,原场景 88 次正确、交换后仍正确 63 次;pair-level 双侧都正确至多 63%,说明模型可能依赖固定位置 shortcut。
VLM 能正确回答“杯子在哪里”并不证明其 hidden state 适合毫米级控制;问答准确率与 manipulation success 是相关但不同的目标。
自测
1. Grounding 比识别多了什么?
把语言中的实体/关系绑定到当前图像或场景中的具体实例和位置。
2. 为什么冻结 VLM 有时泛化更好?
小而窄的 robot 数据可能破坏预训练语义;冻结能保留先验,让动作模块学习控制映射。
3. 怎样区分模型学到对象还是固定位置?
在控制其他变量时交换对象位置,并用对照指令做反事实测试。
原始资料
RT-2 研究 web 语义向控制的迁移;GR00T N1.5 报告增强 grounding 与冻结 VLM 的设计。