← 返回题目列表

什么是 Visual Grounding?它解决什么问题?

高频 中等 第 7 / 25 题 更新于 2026/09/18
多模态Visual Grounding视觉定位Referring Expression

简化版

Visual Grounding 是把自然语言中的实体或描述绑定到图像/视频中的具体区域,典型输出是 Bounding Box、Mask 或点坐标。它解决“模型说的对象到底在哪里”,是指代表达理解、图文问答可解释性、UI 点击和机器人操作的基础;难点在细粒度属性、同类目标消歧、空间关系以及无目标时拒答。

详细版

输入通常是图像和表达“左边拿伞的人”,输出该人的框或掩码。它与目标检测不同:检测按固定类别找所有对象,Grounding 由开放文本指定目标,可以包含颜色、动作、相对位置和关系;与普通 VQA 也不同,后者可能只生成文字,不要求空间证据。

实现上可用文本编码器与视觉特征做 cross-attention,再由检测头回归坐标;也可让生成式 VLM 输出离散坐标 Token。训练数据包含表达—区域对,损失结合语言建模、框回归和 IoU。评估常用 mean IoU、Acc@0.5,工程上还要看坐标合法率、负样本拒答和点击/抓取任务成功率。

图像特征 + “右侧第二个红杯子”
          -> 跨模态对齐 -> 候选区域消歧 -> box/mask/point

完整版教学

一、Grounding 填补了什么缺口

图像描述可以说“桌上有一个杯子”,却没有指出具体像素;目标检测能给出所有杯子框,却不理解用户说的是哪一个。Visual Grounding 把语言语义与空间坐标接起来,使模型的概念落到可操作区域。它既是理解任务,也是后续行动的接口。

例如画面有三个杯子,表达“离笔记本最近的红杯子”同时需要类别、颜色和关系推理。只识别“杯子”会返回三个候选,只理解句子也无法点击。Grounding 的核心是利用整句约束做实例消歧。

二、它与相邻任务如何区分

Referring Expression Comprehension 通常给一句指代表达并找一个区域,是 Grounding 的典型子任务。Phrase Grounding 会把句子中的多个短语分别对齐到区域。开放词汇检测接收类别名称并寻找所有实例,而 Grounding 的表达可包含“正在弯腰的那个人”等关系与动作。

任务输入输出关键差异
目标检测图像、固定类别集全部对象框类别预定义
开放词汇检测图像、类别文本该类全部框文本多为类别名
Visual Grounding图像、自由表达指定区域属性和关系消歧
VQA图像、问题文字答案不必给空间证据
图像分割图像或提示像素掩码输出边界更精细

这些任务可以组合:Grounding 先给框,再由分割模型细化轮廓;VQA 给答案的同时返回证据框,提高可验证性。

三、文本如何选择视觉区域

典型模型先分别编码图像 patch 和文字 Token,再通过 cross-attention 交换信息。文字 Query 会关注与“红色”“左边”“拿伞”相关的区域,融合特征交给检测头预测 (cx,cy,w,h)。基于 Transformer 的集合预测还可一次输出多个短语—区域匹配。

Q = text features × Wq
K,V = image features × Wk,Wv
Attention(Q,K,V) = softmax(QK^T / sqrt(d))V

注意力图本身不等于最终框,它只是软相关性。定位头还要学习边界和尺度;若只把最高注意力 patch 当框,常会覆盖物体最显著部分而非完整实体。

记忆钩子:Grounding 不是“看到了什么”,而是“这句话约束的那个实例在哪里”;类别识别只是第一步,消歧才是核心。

四、坐标生成有哪两条路线

判别式路线直接回归连续框,并用 L1、GIoU 等损失训练,坐标精度高且易与检测器结合。生成式 VLM 则把坐标量化为离散 Token,例如把 0~1 划成 1000 档,按文本序列输出 <box>120 300 560 900</box>,接口统一但存在量化和格式错误。

若图宽 1920,高 1080,模型在 0~1000 坐标系输出 (100,200,600,800),映射后约为 (192,216,1152,864)。预处理若加了 padding,必须先逆 padding 再换算。坐标协议、原点和顺序应明确,否则模型正确也会被错误执行器判错。

五、关系表达为何困难

“左边的人”只需全局方向,“站在汽车后、穿蓝衣服的人”需要检测多个实体、理解遮挡并建立关系图。相同类别实例越多,局部外观越不足,模型越依赖全局上下文。过早裁剪候选区域可能把参照物删掉,使关系无从判断。

训练数据需要包含同类多实例、关系词、比较级和否定表达,且不能让位置偏置泄漏答案。例如数据中“目标总在中心”会让模型不读文字也拿到高分。可加入表达互换测试:同一图上把“左”改为“右”,预测应随语言改变。

六、无目标和多目标怎么处理

真实请求可能描述不存在的对象,也可能一句话对应多个对象。若训练集永远有唯一答案,模型会学会强制给框,造成危险误点。应加入负样本并定义空输出,同时约定复数表达输出框集合还是整体包围框。

“圈出所有戴帽子的人”若有 4 人,输出一个覆盖四人的大框会混入大量背景,不适合计数或操作。集合输出需做一一匹配并评价 Precision/Recall;单目标指代则主要看 IoU。任务协议必须在数据、模型和评测三处一致。

七、从离线定位到真实操作

离线常用 Acc@0.5,即 IoU 至少 0.5 的样本比例。假设 500 条中 390 条过线,则准确率 78%;但 UI 点击只要点落在可点击区可能成功,机器人抓取却需要更精确的关键点和深度。几何指标必须映射到业务动作。

上线时先校验坐标范围和框面积,再在当前画面确认目标未移动。高风险动作使用结构树、OCR 或第二视觉模型复核,并在执行后检查状态变化。记录表达、截图版本、预测框、最终动作和结果,才能回放定位错误与执行漂移。

八、常见误区与追问

  • 误区:Visual Grounding 就是普通目标检测。 它由自由语言指定实例,常需属性和关系消歧。
  • 误区:注意力热力图可以直接当精确边界。 注意力表示相关性,未必覆盖完整对象,需要定位监督或分割头。
  • 误区:每个表达都应该输出一个框。 无目标和多目标都需要明确协议,强制单框会制造幻觉定位。
  • 追问:如何评估单框结果? 用 IoU、mean IoU 与 Acc@多个阈值,并按小目标和关系表达切片。
  • 追问:生成坐标有什么风险? 可能格式非法、越界、量化误差或坐标系不一致,需要约束解码和校验。
  • 追问:如何增强可解释性? 回答同时返回证据框,但还要验证框与答案的因果一致性,不能只看重合。

九、加强记忆

Visual Grounding 可记成“语言指谁、视觉找谁、坐标落谁”:先区分它与检测和 VQA,再用属性、动作、位置和关系筛选实例,最后按任务输出框、Mask 或点。面试时补上 cross-attention 原理、连续回归与坐标 Token 两条路线,以及无目标拒答和业务动作验证,答案就完整覆盖了概念、模型与落地。