跳转至

Background Blurring Matters: Improving Visual Grounding by Merging Text-Irrelevant Tokens

会议: ECCV 2026
Paper: https://eccv.ecva.net/virtual/2026/poster/5081
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/8758.pdf
代码: https://github.com/Mr-Bigworth/ToB
领域: 多模态VLM
关键词: 视觉定位、背景抑制、Token合并、文本相关性、多层特征融合

一句话总结

ToB 在视觉编码器深层优先合并“视觉相似且文本无关”的 token,保留目标区域的细粒度表示,使 DINOv2-B/BERT-B 基线在 RefCOCOg test-u 上从 76.05% 提升至 80.36%,推理速度由 20.80 提升至 21.57 fps。

研究背景与动机

视觉定位接收一幅图像和一句指代表达,输出被描述对象的边界框。传统双分支 Transformer 先分别编码图像和文本,再在解码器里融合,因此图像编码过程不一定知道用户正在寻找谁。后续工作通过语言条件权重、跨模态注意力或特征调制,把文本提前注入视觉编码器,但主要改变的是每个 token 的表示或注意力强弱。

本文关注一个更具体的问题:均匀切分图像会生成大量背景 token,即便每个背景 token 的注意力很小,它们仍参与 softmax 归一化和特征聚合。尤其当目标较小时,背景在数量上占优势,既消耗计算,也可能干扰目标表征。另一方面,直接照搬只看视觉相似度的压缩方法也不合适:两只外观相似的对象可能分别是目标与干扰物,合并它们会损失表达中要求保留的区别。

因此,“背景”不能仅按视觉内容固定定义,而应随查询改变;同时也不能把低相关 token 全部删除,因为定位仍可能需要上下文。核心 idea:用文本相关性参与视觉 token 的配对选择,把冗余背景合成较少的表示,再用同一文本权重增强保留下来的目标信息。

方法详解

整体框架

模型以 DINOv2-B 编码图像、BERT-B 编码表达,在视觉编码器最后六层插入 Token Blurring(ToB)模块。每个模块先生成逐 token 的文本权重,再依据视觉相似度和文本无关程度选择要合并的配对,最后对缩短后的视觉序列进行文本加权。这里的“模糊”发生在特征序列上,不是给输入图像施加高斯模糊,也不需要预先提供目标掩码。

编码器输出端拼接最后三层视觉特征,与语言特征一起进入六阶段级联解码器;可学习的 [REG] token 逐阶段汇聚目标信息,回归头输出边界框。ToB 因而改变了后续注意力所处理的序列长度,而不只是增加一个注意力分数。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    Input["图像与指代表达"] --> Enc["DINOv2-B 与 BERT-B<br/>分别编码"]
    Enc --> Weight["文本感知权重"]
    Weight --> Merge["联合匹配与加权合并<br/>视觉末六层重复"]
    Merge --> Fusion["多层特征融合"]
    Fusion --> Output["六阶段解码器与 REG<br/>回归目标边界框"]

关键设计

1. 文本感知权重:先判断每个视觉 token 与整句表达有多相关

对当前层视觉特征和 BERT 语言特征分别做线性投影,映射到共同的 256 维空间,然后计算所有视觉 token 与所有文本 token 的点积。对每个视觉 token,沿文本长度方向平均池化这些相关性,再经过 sigmoid,得到一个介于 0 与 1 之间的权重。它表示该视觉位置与整句表达的平均关联强度,不是由真实框产生的前景标签,也不是在所有视觉 token 之间归一化的概率分布。

原文式(3)的核心操作可写为:

\[ W_i=\sigma\!\left(\operatorname{AvgPool}_{\text{text}}\left[(F_{v,i}P_{v,i})(F_lP_{l,i})^\top\right]\right). \]

这样,同一个图像 patch 在不同查询下可以得到不同权重。比如一句话强调衣着,相关性应偏向衣服及人物;另一句话强调手边物品,需要保留的局部细节就会改变。不过,这只是学习得到的软相关性:平均池化可能稀释个别关键关系词的作用,权重也不保证始终正确。作者只在视觉末六层使用 ToB,正是为了避免过浅的视觉特征与语言语义尚未对齐时就做不可逆合并。

2. 联合匹配与加权合并:压缩视觉冗余,但让文本决定压缩优先级

ToB 按当前序列的奇偶索引把视觉 token 分成 A、B 两组,文本权重也按同样方式划分。对 A、B 中所有跨组配对计算余弦相似度,同时用两个 token 文本权重的几何平均表示配对的文本相关性。以下公式合并整理了原文式(2)、(4)、(5),其中 \(a,b\) 是两个候选 token,\(w_a,w_b\) 是其文本权重:

\[ M(a,b)=(1-\alpha)\cos(f_a,f_b)+\alpha\left(1-\sqrt{w_aw_b}\right). \]

视觉相似度高、配对文本相关性低时,合并优先级较高。这里的几何平均并不等价于“两个 token 都必须低相关”的硬条件:一端权重很低也能降低乘积,所以仍需视觉相似度配合,不能声称目标 token 获得绝对保护。\(\alpha\) 控制两项的相对作用;图 2 用 \(\alpha=0.3\) 演示计算,但正文实现说明未明确把它列为所有实验的默认值,因此不将示意值写成复现定值。

配对过程也不是全局一一匹配:每个 A token 找到在 B 中得分最高的对象,形成一条候选边,再从所有候选边里选分数最高的 \(r\) 条。多个 A token 可以指向同一个 B token;对每个接收者,把它自己和所有被选中的 A token 特征取算术平均,文本权重也同步取平均。随后删除被吸收的 A token,按原索引重排剩余序列,token 数由 \(N\) 减为 \(N-r\)。因此合并次数与被删除的源 token 数相同,即便并非 \(r\) 个独立的二元组。

最后,合并后的每个特征乘以其合并后的文本权重,再进入下一层 Transformer。这个步骤意味着 ToB 有两个作用:用合并改变背景 token 的数量,用乘法调制改变剩余 token 的强度;它并不是“合完就结束”。合并时采用平均而非直接丢弃,也为背景保留了压缩的上下文表示,但不会保留每个原始 patch 的独立细节。

3. 多层特征融合:补回深层合并可能损失的定位线索

连续六层压缩后,最深层表示具有较强语义,但部分空间细节已经被平均掉。作者因此拼接视觉编码器最后 \(k\) 层的输出,而不是只把最后一层交给解码器;默认 \(k=3\)。各层经历的合并次数不同,较早一层提供更细的局部信息,较晚一层提供更充分压缩后的语义表示。论文说明了拼接多层输出,但没有详述额外的跨层位置对齐机制,不能自行补入反合并或插值模块。

这种融合不是层数越多越好:使用过早层会重新引入更多背景 token,同时增大解码端输入。消融中,\(k=3\) 的 RefCOCOg test-u 为 80.36%,高于 \(k=1\) 的 79.69%,而 \(k=5\) 降至 79.25%。六阶段级联解码器本身沿用已有设计,各阶段通过 [REG] 从视觉和语言特征汇聚信息,最终用最后一阶段的预测框作为结果;它不是 ToB 新提出的 token 合并规则。

一个完整示例

设查询要求找出图像中的某个小物体。按论文默认输入尺寸 \(518\times518\)\(14\times14\) patch 划分,图像对应 \(37\times37=1369\) 个 patch token。文本相关的目标细节倾向于保留,外观相似且低相关的背景位置优先被平均合并;这是机制示意,不代表使用了真实目标框辅助选取。

默认每个 ToB 模块减少 64 个 token,按论文对 patch token 的计数口径,六次处理后的长度依次为 1305、1241、1177、1113、1049、985。每轮不仅缩短序列,还重新根据当前层特征计算文本权重并完成加权。最后三层特征共同交给解码器,使最终预测不必只依赖最深、最粗的 985 个表示。实际输入 token 数为奇数,原文均分公式按偶数情况书写;奇数划分和特殊 token 的代码处理细节不从这个计数例子中推断。

损失函数 / 训练策略

模型训练仍以框回归为目标,没有另加背景掩码监督。六个解码阶段均使用 smooth L1 与 GIoU 损失,权重分别为 5 和 2;原文用 \(\mathcal L_{L1}\) 作符号,但文字明确称为 smooth L1。

\[ \mathcal L=\sum_{j=1}^{6}\left[5\mathcal L_{\mathrm{smooth\,L1}}(\hat b_j,b)+2\mathcal L_{\mathrm{GIoU}}(\hat b_j,b)\right]. \]

训练使用 AdamW、batch size 32、weight decay \(10^{-4}\),共 90 epochs,在第 60 epoch 后将学习率降为十分之一。视觉及语言编码器从预训练 DINOv2-B/BERT-B 初始化,初始学习率均为 \(10^{-5}\);解码器采用 Xavier 初始化,初始学习率为 \(10^{-4}\)。Baseline 与 Baseline+ToB 的图像尺寸均为 \(518\times518\),最大文本 token 长度设为 40,并使用 [CLS][SEP]

迁移到 CLIP-VG、SimVG、OneRef 时,作者保留各自原有训练策略和初始化;对应图像尺寸分别为 224、640、384 的正方形输入。因此“即插即用”是可以嵌入并按原方案训练,不等于无需训练就能插到任意现成模型上获得同样收益。

实验关键数据

主实验

指标为 [email protected](%):预测框与真实框 IoU 大于 0.5 才算正确。RefCOCO+ 不允许表达使用位置词,RefCOCOg 包含较长表达;下表明确列出 split,不把不同划分混为一项。数据摘自原文表 1。

模型 RefCOCO val RefCOCO testB RefCOCO+ val RefCOCO+ testB RefCOCOg val-u RefCOCOg test-u
Baseline,DINOv2-B/BERT-B 85.55 80.57 75.99 66.54 76.67 76.05
Baseline + ToB 87.73 83.91 78.73 68.81 80.39 80.36
CLIP-VG 84.29 78.43 69.55 57.62 73.18 72.54
CLIP-VG + ToB 86.03 80.50 75.23 65.36 78.45 77.88
SimVG 87.63 84.04 78.65 71.82 80.37 80.51
SimVG + ToB 88.95 84.87 80.02 73.11 82.23 81.79
OneRef 88.75 85.34 80.43 74.26 83.68 83.52
OneRef + ToB 89.51 86.01 81.76 76.05 84.21 84.64

最有说服力的是各骨干内部的前后对照,而不是跨预训练设置宣布全面 SOTA。Baseline 在 RefCOCOg val-u 上提升 \(80.39-76.67=3.72\) 个百分点;原表 1 的提升行写成 3.74,与原始数值不符,这里按减法报告。CLIP-VG 在 RefCOCO+ testB 上提升 7.74 个百分点,但不是所有扩展设置都受益:额外数据预训练的 SimVG (28K) 在 RefCOCO testB 上从 87.94 降至 87.43,退步 0.51 个百分点。

消融实验

下表摘录原文表 4、5 的关键配置,指标均为 RefCOCOg [email protected](%)。两组分别扫描融合层数和每层合并数,不应当作所有参数的联合网格搜索。

消融维度 配置 val-u test-u fps
融合层数 k=1 79.71 79.69 未报告
融合层数 k=3 80.39 80.36 未报告
融合层数 k=5 79.66 79.25 未报告
每层合并数 r=0 78.91 79.12 20.55
每层合并数 r=16 80.05 79.78 20.88
每层合并数 r=32 80.17 79.64 21.09
每层合并数 r=64 80.39 80.36 21.57
每层合并数 r=128 79.26 78.84 22.05

r=0 的 79.12% 不能当成无 ToB Baseline 的 76.05%:它来自 ToB 的合并数扫描,关闭合并不等于移除整个文本加权路径。原文未用独立消融完整拆开每一步的贡献,因此这里只确认这两个对照不是同一配置。另一个细节是,test-u 从 r=16r=32 已有回落,故“到 64 之前严格单调提升”并不受表格支持。

为了同时观察定位收益和开销,下面汇总原文表 2、6;均基于本文 Baseline,速度与显存沿用论文报告口径。

配置 val-u test-u GFLOPs 显存 GB fps
Baseline 76.67 76.05 118.31 19.97 20.80
Baseline + ToMe 76.41 75.25 未报告 未报告 22.09
Baseline + ToE 75.13 74.89 未报告 未报告 22.93
Baseline + ToB,r=64 80.39 80.36 113.85 19.21 21.57
Baseline + ToB,r=192 78.91 78.77 99.42 16.87 23.96
ToMe + ToB,r=96 77.53 77.07 76.84 14.78 28.71

关键发现

  • 默认 ToB 的 GFLOPs 约下降 3.77%,fps 约提高 3.70%,因此默认卖点首先是精度,不是数量级加速。更激进的压缩增加速度,但牺牲部分定位能力。
  • 同等 token 缩减率下,ToMe、ToE 比 ToB 更快,却低于原始 Baseline 的准确率,说明“压缩哪些 token”比“是否压缩”更重要;这不意味着 ToB 在纯吞吐上获胜。
  • 原文表 7 的 RefCOCOg test-u 在 IoU=0.9 时从 26.92% 提升至 48.38%,小目标 [email protected] 从 65.32% 提升至 72.03%。小目标按框面积小于 \(128\times128\) 像素定义,不能直接套用其他基准的尺度阈值。

亮点与洞察

  • 把“注意力应该看哪里”延伸为“哪些位置值得保留独立表示”。背景抑制由特征强度调节变成序列结构变化,使精度优化与降低开销可以共享同一个操作。
  • 同一组文本权重同时服务匹配和输出调制。它既影响哪些细节被压缩,也影响压缩后哪些信息继续进入后续层,但因此需要更细的消融才能把两个作用分开归因。
  • 多层融合为不可逆合并提供部分补偿。较浅层表示仍携带更多细节,这一思路可以启发其他细粒度定位任务,但迁移到分割等稠密输出任务还需解决空间映射,本文没有验证这些扩展。

局限与展望

  • 作者实验直接显示过度合并会丢失细节:r=128 的 test-u 为 78.84%,低于默认 80.36%;融合过多层也会回落。按目标规模或相关性分布自适应分配每层预算,是值得验证而非已实现的扩展。
  • 文本相关性是软估计而非安全约束。几何平均和整句平均池化可能使某些关系词、局部属性或高低权重混合配对被误处理,可考虑关键词敏感性和关系表达专门评测。
  • 复现信息仍有缺口:正文没有完整交代实验默认的 \(\alpha\)、奇数长度与特殊 token 的处理,也未在当前全文给出吞吐测试硬件和计时协议。代码链接来自作者原文,本笔记没有联网验证仓库内容。
  • 证据范围是三类经典指代表达数据集上的框定位,未报告多随机种子的方差,也没有系统的遮挡、分布外或关系推理失败分析。不能据此推出开放世界定位或所有 VLM 都会同样受益。
  • 以上后四项是阅读后的分析,不是作者逐条自述的限制;论文没有单列局限章节。对 FitPrune 的比较还涉及从 LLaVA 向编码器-解码器架构的适配,不能直接视作其原生设置下的能力上限。

相关工作与启发

  • 与 ToMe / ToE 相比:本文实测的视觉压缩对照更偏向效率,ToB 让查询相关性进入配对分数,优先保留定位所需细节;代价是额外相关性计算,默认 fps 低于这两个对照。
  • 与 LAPS / FitPrune 相比:前者利用语言监督做 patch 精简,后者面向多模态大模型的 token 剪枝。ToB 在当前 VG 实验中更有效,但需要区分原始任务与移植设置,不能泛化成“剪枝永远不如合并”。
  • 与 VLTVG / MMCA 相比:这些方法通过迭代跨模态推理或条件适配提升表示;ToB 的独特增量是按查询改变视觉 token 数量。本模型的级联解码器沿用类似 VLTVG 的结构,应把模块贡献与已有解码架构分开看。
  • 与 SimVG / OneRef 的关系:它们既是竞争基线,也是 ToB 的宿主。跨宿主前后对照支持模块具有一定兼容性,但额外预训练 SimVG 的负向 split 提醒我们,收益仍依赖原模型与数据条件。

评分

  • 新颖性: 4/5。将文本相关性直接融入配对与合并后增强,针对视觉定位给出清晰的结构性改进,但建立在已有 token 合并框架上。
  • 实验充分度: 4/5。覆盖三数据集、多宿主、压缩对照、预算与融合消融及高 IoU 分析,仍缺少更细的模块解耦和方差报告。
  • 写作质量: 3/5。方法主线清楚,但原文个别提升值、单调性表述及部分实现参数说明需要读者交叉核对。
  • 价值: 4/5。适合作为语言引导视觉编码器的增量方案;默认配置精度收益突出,效率收益应按实测的小幅提升理解。