4.2 视觉-语言模型(VLM)与场景-指令对齐 LLM 规划器要落地,必须先解决一个根本问题:当用户说「把那个红色杯子拿给我」,机器人怎么知道「红色杯子」对应场景里的哪个物体?这就是视觉-语言模型(VLM)的舞台。 4.2.1 VLM 要解决的核心问题 VLM 在机器人系统中的核心任务是视觉 grounding(视觉指代): 给定一张图像和一段语言描述,找出图像中对应语言的对象/区域/属性。
LLM 规划器要落地,必须先解决一个根本问题:当用户说「把那个红色杯子拿给我」,机器人怎么知道「红色杯子」对应场景里的哪个物体?这就是视觉-语言模型(VLM)的舞台。
VLM 在机器人系统中的核心任务是视觉 grounding(视觉指代):
给定一张图像和一段语言描述,找出图像中对应语言的对象/区域/属性。
这看似简单,实则包含多个层次:
| 任务层次 | 输入 | 输出 | 难度 |
|---|---|---|---|
| 类别识别 | 图像 | 「这是杯子」 | 易 |
| 指代消解 | 图像 + 「红色杯子」 | 杯子的位置 | 中 |
| 关系理解 | 图像 + 「桌上的杯子」 | 杯子(不是地上的) | 难 |
| 属性推理 | 图像 + 「装了水的杯子」 | 装水的杯子(不是空的) | 极难 |
| 隐式指代 | 图像 + 「我刚才说的那个」 | 上下文相关 | 极难 |
机器人操作主要需要中间三层:指代消解、关系理解、属性推理。
VLM 经历了三代演进:
CLIP(OpenAI 2021)开启了 VLM 时代。核心思路(呼应第 2.4 节):
CLIP 的能力:
BLIP(Salesforce 2022)和 Flamingo(DeepMind 2022)把 CLIP 的「检索式」升级为「生成式」:
这一代 VLM 已经能做:图像描述、视觉问答、视觉对话。
GPT-4V(OpenAI 2023)、Gemini(Google 2023)、Claude 3.5 Sonnet(Anthropic 2024)把视觉能力直接训练进 LLM:
这一代 VLM 是当前机器人视觉理解的最强底座,几乎所有先进系统都接入它们做高层视觉推理。
| 用法 | 输入 | 输出 | 典型应用 |
|---|---|---|---|
| 开放词汇检测 | 图像 + 「红色杯子」 | 物体位置 | 抓取目标定位 |
| 视觉问答(VQA) | 图像 + 问题 | 答案 | 状态判断(杯里有没有水) |
| 场景描述/字幕 | 图像 | 文字描述 | 给 LLM 规划器提供场景上下文 |
这三类用法覆盖了机器人 90% 的 VLM 调用场景。
机器人最常用的是开放词汇检测(Open-Vocabulary Detection, OVD)——用任意自然语言描述对象,定位其在图像中的位置。
| 模型 | 思路 | 输出 |
|---|---|---|
| CLIP + Grad-CAM | CLIP 算图文相似,Grad-CAM 找激活区域 | 粗略热图 |
| GLIP | 把检测统一为「视觉-语言 grounding」 | 边界框 |
| Grounding-DINO | DINO + 开放词汇,强零样本检测 | 边界框 + 置信度 |
| OWLv2 | 开放词汇 + 自训练 | 边界框 |
| SAM + CLIP | SAM 分割 + CLIP 分类 | 像素掩膜 + 类别 |
| Grounded-SAM | Grounding-DINO + SAM 流水线 | 文本→精确掩膜 |
💡 典型流水线:用户说「把苹果给我」→ Grounding-DINO 检测「apple」边界框 → SAM 把边界框细化为像素掩膜 → 掩膜中心 + 深度相机得到 3D 位置 → 机械臂抓取。这是当前机器人开放词汇操作的标准链路。
「把那个拿给我」中的「那个」是什么?指代消解(Coreference Resolution)是 VLM 的难点:
| 难点 | 例子 | 当前应对 |
|---|---|---|
| 代词指代 | 「把它给我」 | 上下文历史 + LLM 推理 |
| 空间指代 | 「左边那个」「靠窗的」 | 空间关系理解 + 几何推理 |
| 比较指代 | 「更大的那个」「装水的」 | 属性比较 + VQA |
| 历史指代 | 「我刚才说的」 | 对话状态跟踪 |
| 多模态指代 | 「这个」(指着) | 手势识别 + 视觉聚焦 |
这些难点让机器人语言交互远比想象复杂——一个看似简单的对话,背后可能涉及多轮上下文、空间推理、属性比较的综合判断。
「把杯子放到桌子左上角」——机器人必须理解空间关系。VLM 的空间关系理解分三层:
⚠️ VLM 的空间盲点:当前 VLM 在「左/右」「前/后」这类空间关系上仍易出错,特别是物体方向变化(机器人转 90° 后,左和右对调)。这是为什么生产系统常用「以机器人为坐标系」而非「以人为坐标系」描述位置。
VLM 怎么接入机器人?三种典型架构:
图像 → VLM → 物体描述/位置 → LLM 规划器 → 技能 → 执行
find("cup") 返回位置)。图像 + 用户指令 → 多模态 LLM (GPT-4V) → 子目标 → 技能 → 执行
图像 + 指令 → VLA 模型 → 连续动作
💡 当前趋势:生产系统多用架构一(解耦),研究前沿多用架构三(端到端)。架构二是过渡形态,逐渐被专用 VLA 替代。
| 挑战 | 描述 | 应对 |
|---|---|---|
| 延迟 | 大 VLM 单次推理 0.5-3 秒 | 关键帧策略、模型蒸馏 |
| 幻觉 | VLM 说看到不存在的物体 | 多模型投票 + 几何验证 |
| 细粒度差 | 把橘子认成橙子 | 任务相关微调 |
| 空间不精 | 给的位置粗略 | VLM 给候选 + 几何精修 |
| 多物体混淆 | 三个杯子不知道指哪个 | 上下文 + 指代消解 |
| 成本 | 商用 API 调用费用高 | 自部署开源 VLM |
⚠️ 生产痛点:VLM 在 demo 里惊艳,但在生产系统中延迟和成本是大问题。一个家庭机器人每秒调用一次 GPT-4V,月成本可能上千美元,且响应延迟让交互不流畅。这是为什么 2025 年开始大量工作转向自部署的开源 VLM(Qwen-VL、InternVL、OpenVLA)。
把所有概念综合,看一个机器人响应「把红色杯子端到厨房」的完整流水线:
注意三处 VLM 的作用:
这就是「LLM 大脑 + VLM 眼睛 + 技能库手脚」的完整协作。
下一节《4.3 记忆、反思与重新规划》将讨论机器人长程任务执行时,如何用记忆与反思机制应对出错与偏离。