想象一下,你在厨房里让机器人帮忙。你说: “把那个红色的杯子递给我。”在一个完美的世界里——或者至少在经典的计算机视觉基准测试的世界里——柜台上正好有一个红色的杯子。机器人识别出它,画出框,然后抓取它。

但在现实生活中会发生什么呢?如果洗碗机是空的, 没有红色的杯子怎么办?或者如果你刚开完派对,那里有三个红色的杯子怎么办?

大多数最先进的指代性表达理解 (Referring Expression Comprehension, REC) 模型在这些场景下都会惨败。它们建立在一个死板的“一对一”假设之上: 一个文本查询必须精确对应一个边界框。如果你要求一个不存在的杯子,模型会产生幻觉并虚构一个。如果你指的是三个杯子,它可能会随机选一个,或者无法收敛。

这篇博客文章将探讨针对这一问题的解决方案: RECANTFormer 。 这篇论文由赫瑞-瓦特大学和爱丁堡大学的研究人员提出,介绍了一种专为广义指代性表达理解 (Generalized Referring Expression Comprehension, GREC) 设计的流线型、基于 Transformer 的架构。

读完本文,你将了解 RECANTFormer 如何打破单一对象的限制,它是如何使用“无解码器”的 Transformer 设计来高效学习的,以及它如何处理将文本匹配到数量可变的对象这一复杂的数学问题。


问题所在: 从 REC 到 GREC

要欣赏 RECANTFormer 的创新之处,我们首先需要了解现状的局限性。

经典 REC: “一对一”陷阱

在经典 REC 中,任务很简单: 给定一张图像和一个句子,找到句子描述的特定区域。评估指标通常是 Top-1 准确率。模型必须输出一个框,并通过该框是否与唯一的真值 (Ground Truth) 重叠来进行评分。

这极大地限制了现实世界的应用。如果一个照片编辑工具只能“提亮穿蓝衬衫的人”,而当有两个穿蓝衬衫的人,或者用户打错了字要求“绿衬衫”但并不存在时,这个工具就毫无用处了。

广义 REC (GREC)

广义 REC 任务扩展了经典定义,以处理不同数量的目标:

  1. 零目标 (Zero Targets) : 图像中不存在所描述的对象。
  2. 单目标 (One Target) : 经典场景。
  3. 多目标 (Multiple Targets) : 描述适用于一组对象 (例如,“左边的三辆车”) 。

这在难度上是指数级增加的。如果一张图像有 \(n\) 个物体,经典 REC 寻找的是 1 个目标。GREC 则必须考虑 \(2^n\) 种不同的物体组合。此外,模型需要足够聪明,能够说出“我没看到那个”,而不是强行进行预测。


RECANTFormer 解决方案

研究人员提出了 RECANTFormer , 这是一种单阶段方法,结合了多模态 Transformer 编码器和受 DETR 等目标检测模型启发的匹配损失函数。

与许多使用重型编码器-解码器 (Encoder-Decoder) 结构 (训练速度可能很慢) 的现代架构不同,RECANTFormer 是无解码器 (decoder-free) 的。它完全依赖强大的编码器来融合视觉和语言特征。

架构概览

让我们逐步分解其架构。它由四个主要组件组成:

  1. 语言流 (Language Stream)
  2. 视觉流 (Vision Stream)
  3. 多模态融合模块 (核心部分)
  4. 预测头 (Prediction Heads)

图 1: 提出的 RECANTFormer 框架概览,包含 1) 语言流,2) 视觉流,3) 利用可学习定位 Token 的多模态融合模块,4) 预测头。

图 1 所示,该模型接收两个输入: 图像和文本查询 (“指代性表达”) 。

1. 输入流

  • 视觉流 (紫色) : 图像被送入 ResNet-50 主干网络以提取特征。然后这些特征通过一个 6 层的视觉 Transformer 编码器。这对于捕捉长距离依赖关系至关重要——理解左上角的像素可能与右下角的像素有关 (例如,“离树最远的那辆车”) 。
  • 语言流 (绿色) : 文本由预训练的 BERT 模型处理以提取词嵌入。

2. 多模态融合模块

这是奇迹发生的地方 (图 1 中的黄色块) 。视觉特征和文本嵌入经过线性投影后,被送入多模态 Transformer 编码器

这个编码器允许文本和图像特征相互“对话”。词嵌入关注特定的图像块,图像块关注特定的词。这种跨模态推理对于理解像“坐在狗旁边的男人”这样的查询至关重要。

3. 可学习的定位 Token (Tokens)

这是论文处理 GREC 的关键创新。

在标准 Transformer 中,通常有一个 [CLS] Token 来总结整个输入。RECANTFormer 引入了一组可学习的定位 Token (表示为 \(N_{loc}\)) 。

可以将这些 Token 想象成“侦探槽位”。如果我们设置 \(N_{loc} = 10\),我们就给了模型 10 个专门的“侦探”来搜索融合后的图像-文本表示。每个 Token 负责潜在地找到一个目标。

  • 如果查询指的是 3 个物体,应该有 3 个 Token 亮起并带有坐标。
  • 如果查询指的是 0 个物体,所有 Token 都应该报告“无效”。

4. 预测头

最后,这些定位 Token 的输出被送入两个并行的多层感知机 (MLP) :

  1. 框预测头 (Box Prediction Head) : 为每个 Token 预测边界框坐标 (\(x, y, w, h\))。
  2. 有效性预测头 (Validity Prediction Head) : 预测一个二元分数——这个框是文本查询的有效目标,还是我们应该忽略它?

训练: 匈牙利匹配博弈

训练一个模型输出可变数量的框是很棘手的。如果模型预测了 10 个框,但只有 2 个真值目标,哪个预测框对应哪个目标?哪 8 个框应该因为是“幻觉”而受到惩罚?

为了解决这个问题,作者使用了匈牙利匹配 (Hungarian Matching) , 这是一种由 DETR (DEtection TRansformer) 目标检测器推广的技术。

第一步: 二分图匹配

目标是在预测框和真值框之间找到最佳的一对一分配。

假设我们要进行 \(N_{loc}\) 次预测,并且有一组真值目标。如果目标数量少于预测数量 (几乎总是如此) ,作者会用“无对象”标签填充真值。

他们定义了一个成本函数,考虑预测框与目标框的相似程度 (重叠和位置) 以及模型的置信度。匹配过程试图找到一个排列 \(\sigma\) 来最小化这个成本:

使用匈牙利匹配成本寻找最佳排列 sigma 的方程。

这里,\(\mathcal{L}_{match}\) 计算将特定预测分配给特定真值的“成本”。匈牙利算法高效地解决了这个分配问题,确保最好的预测与真实目标相匹配。

第二步: 损失函数

一旦匹配完成 (即我们知道预测框 #3 匹配目标 A,预测框 #7 匹配目标 B) ,模型就会计算损失。

总损失 \(\mathcal{L}_{Hungarian}\) 由两部分组成:

  1. 分类损失: 有效性预测头是否正确预测了“有效”或“无效”?
  2. 边界框损失: 对于有效匹配,坐标有多准确?

结合分类和边界框回归的完整匈牙利损失方程。

边界框损失本身 (\(\mathcal{L}_{bbox}\)) 是 L1 损失 (坐标的绝对误差) 和广义 IoU (GIoU) 损失的组合,后者确保形状重叠良好。

分解为 L1 和 GIoU 分量的边界框损失。

这种训练设置迫使定位 Token 进行专业化分工。随着时间的推移,它们学会了对于像“两只猫”这样的查询,恰好有两个 Token 应该产生高有效性分数和准确的框,而其余的应该输出低有效性分数。


实验与结果

这种架构真的有效吗?作者在三个 GREC 数据集上测试了 RECANTFormer: gRefCOCORef-ZOMVQD 。 他们还在经典 REC 数据集上进行了测试,以确保没有破坏标准功能。

定量性能

结果汇总在 Table 1 中。作者将他们的模型与使用相同数据量 (无大规模预训练) 的基线模型以及像 KOSMOS-2 这样的大型多模态大语言模型 (MLLM) 进行了比较。

表 1: RECANTFormer 在 3 个数据集上与基线模型的性能比较。

从 Table 1 中得出的关键结论:

  • 击败专用模型: RECANTFormer 在 GREC 数据集上显著优于 RESC-Large 和 VLT 等模型。
  • 击败巨头: 有趣的是,大型 MLLM KOSMOS-2 在 GREC 上表现挣扎。尽管拥有零样本能力,但与 RECANTFormer (得分在 50 多分) 相比,它的表现很差 (得分在 20 多分) 。这强调了广义定位是一项专业技能,通用模型并不自动具备。
  • 效率: 该模型仅用 4000 个 GPU 小时的训练就取得了这些结果,而其他预训练基线模型需要的计算量高出几个数量级。

定性成功

通过观察模型看到的内容,更容易理解模型的能力。 图 2 展示了模型处理三种核心场景的情况: 0、1 和 \(N\) 个目标。

图 2: 我们的方法在 gRefCOCO 数据集上的示例结果,显示了零目标、多目标和单目标。

  • 零目标 (第 1 行,a) : 查询要求“红色飞机”。模型看到了飞机,但没有一架是红色的。它正确地预测没有框。
  • 计数 (第 1 行,b & c) : 模型区分了“最左边的三架飞机”和“四架飞行的飞机”。这证明 Token 之间正在相互通信以解析相对位置。
  • 空间推理 (第 2 行,e) : “最外侧的两个人”。这是一个需要全局上下文的困难查询。模型成功选中了边缘的两个人,并忽略了中间的人群。

有效性过滤是如何工作的

RECANTFormer 的一个独特之处在于框预测头和有效性预测头的分离。我们实际上可以将其可视化。

在下方的 图 6 中,第二列 (黄色框) 显示了框预测头想要预测的内容——基本上是所有可能的候选者。第三列 (绿色框) 显示了经过有效性头过滤后发生的情况。

图 6: 有效性过滤前后的区域检测 GREC 示例。

行 (b) : “每个男性个体 (every male individual) ”。框预测头最初检测到了所有人,包括女性。然而,有效性头理解了“男性”的语义细微差别,并过滤掉了女性受试者,只留下了四名男性。这种两阶段的内部机制允许先实现高召回率 (找到所有看似合理的物体) ,然后实现高精确率 (只选择符合文本的物体) 。

Token 的数量 (\(N\)) 重要吗?

作者进行了一项消融实验,看看定位 Token 的数量如何影响性能。

表 4: gRefCOCO、Ref-ZOM 和 RefCOCO 数据集中性能随定位 Token 数量的变化。

Table 4 所示,简单地增加更多 Token 并不总是有帮助。

  • 对于 gRefCOCO , 将 \(N\) 从 5 增加到 20 实际上略微损害了性能 (从 57.73 降至 54.27) 。
  • 为什么?作者推测,拥有过多的 Token 会稀释损失信号。由于大多数图像只有 1 或 2 个目标,如果你有 20 个 Token,其中 18 个正在被训练预测“无” (背景) 。这压倒了来自少数活跃 Token 的正向训练信号。\(N=5\) 或 \(N=10\) 似乎是最佳点。

可视化注意力: 模型在想什么?

Transformer 架构的好处之一是可以通过注意力图进行解释。我们可以问: “当这个定位 Token 预测这个框时,它在看图像的哪些部分?”

图 7: 有效定位 Token 输出状态的注意力权重。

图 7 中,我们看到了特定 Token 的注意力权重。

  • 左上: 对于“大象的后半部分 (back half of elephant) ”,注意力图 (热力图) 正好在大象的后部亮起。
  • 右上: 对于“右边的长颈鹿 (giraffe on right) ”,注意力集中在特定长颈鹿的身体上。

这证实了定位 Token 不仅仅是在死记硬背坐标;它们在语义上关注与文本查询相对应的视觉特征。


扩展: 分割 (RECANTFormer+)

虽然主要论文集中在边界框 (理解) ,但作者也证明了他们的架构是灵活的。他们扩展了模型以执行广义指代性表达分割 (Generalized Referring Expression Segmentation, GRES) ——生成像素级完美的掩码而不是框。

图 8: 扩展 RECANTFormer 用于广义指代性表达分割的分割头实现。

通过添加利用定位 Token 和视觉 Token 之间注意力图的掩码预测头 (如 图 8 所示) ,他们创建了“RECANTFormer+”。该扩展利用特征金字塔网络 (FPN) 风格的上采样器来恢复分割所需的高分辨率细节。


结论与未来启示

RECANTFormer 代表了向更现实的计算机视觉系统迈出的重要一步。通过放弃“一对一”的假设,它让我们更接近能够处理现实世界模糊性和多样性的机器人和 AI 助手。

要点:

  1. 广义能力: 该模型使用统一的架构有效地处理 0、1 或多个目标。
  2. 无解码器效率: 通过使用仅编码器的 Transformer,它的收敛速度比类似 DETR 的编码器-解码器模型更快,训练效率更高。
  3. 可学习 Token: 固定定位 Token 与匈牙利匹配的结合,为无需复杂启发式方法即可学习可变数量目标检测提供了一种稳健的方法。

局限性: 作者指出,该模型在处理“困难负样本”时仍然很吃力——即物体几乎在那里但又不完全是 (例如,当有一个“红碗”时查询“红杯”) 。在像 gRefCOCO 这样复杂的数据集中,无目标样本的性能 (N-acc) 仍然低于较简单的数据集 (见下方的 Table 5 ),这表明在负样本挖掘和判别方面还有改进空间。

表 5: 模型在各数据集上的无目标准确率。

尽管如此,RECANTFormer 为下一代多模态 AI 提供了蓝图: 这些模型不仅能找到物体,还能理解周围世界的存在、缺失和数量。