跳转至

Same or Not? Enhancing Visual Perception in Vision-Language Models

会议: CVPR 2026
论文: CVF Open Access
代码: https://glab-caltech.github.io/twin/ (项目主页,承诺开源数据/代码/模型)
领域: 多模态VLM
关键词: 细粒度视觉感知, 实例级对比, 困难负样本, 强化学习后训练, VQA基准

一句话总结

作者把"细粒度视觉感知"重新定义成一个最简单的二选一任务——给两张相似图片,判断它们是不是同一个物体实例,据此构建了 561K 对的 TWIN 数据集,用 GRPO 强化学习在上面后训练 VLM,让 Qwen2.5-VL 在自建的 FGVQA 基准上最高涨 19.3%,且不损伤通用 VQA 能力。

研究背景与动机

领域现状:现代 VLM(GPT-4o、Qwen2.5-VL 等)在"宽视野"的视觉理解上很强——能回答物体是什么、空间关系、常识推理。但它们的感知粒度很粗。

现有痛点:VLM 系统性地"看不清细节"。论文开篇那个例子很典型:两台 Eureka 牌吸尘器,颜色、品牌、logo 都一样,但集尘桶几何、把手、底座形状完全不同;Qwen2.5-VL 却判定它们是"同一款产品",并给出自相矛盾的解释。这种粗粒度、视觉偏见、漏看细节的毛病在开源 VLM 上尤其严重。

核心矛盾:作者把根因归到训练数据上。主流图文语料压倒性地奖励"类别级"理解(猫还是狗、空间关系、数学推理),几乎没有任何监督信号去逼模型关注"实例级"的细微差异。模型从没被训练去区分"同一类里两个长得几乎一样的不同个体",自然学不会。

本文目标:造一份专门奖励细粒度感知的训练语料,并造一套能量化这种能力的基准。

切入角度:与其让模型去描述差异(如已有的 SpotTheDiff),不如把任务压成最干净的二元判断——"这两张图是不是同一个物体?"。这个 setup 监督信号极便宜(只需一个 yes/no 标签,无需任何文字描述标注),却强迫模型去抠形状、纹理、部件几何这些区分实例的线索。

核心 idea:用"两图同一实例与否"的成对判断任务(TWIN)替代类别级识别,作为可直接掺进 VLM 训练语料的"细粒度感知增强剂"。

方法详解

整体框架

这篇论文的"方法"本质是一条数据驱动的感知增强管线:先从真实电商图构造一个奖励细粒度判别的成对数据集 TWIN(正样本 + 困难负样本 + 合成负样本),再用纯强化学习(GRPO,奖励只看最终答案对错)后训练现成 VLM,最后用一套跨域的 FGVQA 基准去验证感知能力是否真的提升、且没破坏通用能力。整条链路的关键全在"喂什么数据"上,训练算法本身刻意保持简单。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["电商图源<br/>Amazon Reviews"] --> B["TWIN 任务定义<br/>两图是否同一实例"]
    B --> C["困难负样本构造<br/>CLIP 召回 + 人工选 + DreamBooth 合成"]
    C --> D["TWIN 数据集<br/>561K 对 / 1836 实例"]
    D --> E["GRPO 强化学习后训练<br/>二元结果奖励"]
    E --> F["FGVQA 基准评测<br/>pair + multi,6 域跨域泛化"]

关键设计

1. TWIN 任务:把细粒度感知压成"两图是否同一实例"的二元判断

痛点直接对准"训练语料只奖励类别级识别":作者把细粒度感知重新形式化为一个实例级判别问题——给定两张图 \((I_1, I_2)\),模型输出一段解释和一个最终答案 \(\hat{y} \in \{\text{yes}, \text{no}\}\),判断它们是否是同一个物理实例。这里"实例"被定义为同一个物体在不同视角、光照、背景下的图像集合。和"猫 vs 狗"的类别识别相反,这个任务逼模型去关注形状、纹理、部件几何这些区分同类不同个体的细线索。最妙的是监督成本:整个任务只需要成对的 yes/no 标签,不需要任何描述性文字标注,因此天然可扩展。数据从 Amazon Reviews 取材,聚焦家居物品(图源充足、且与机器人/具身交互等下游任务高度相关),人工标注员逐张核验。

2. 困难负样本:真实困难负样本 + DreamBooth 合成负样本双轨构造

这是整篇论文实验中被证明"最关键"的设计。痛点是:如果负样本太随机(拿杯子配电扇),任务就退化成类别识别,学不到细粒度。所以作者只要长得像、但确实不同的负样本。真实困难负样本的挖法是:先用 CLIP 算图像 embedding 的两两余弦相似度,把视觉相似的候选短名单召回,再由人工标注员从中敲定最终配对(例如两个形状略异的白花瓶、纹理与扶手设计不同的两把白椅子)。但人工挖困难负样本昂贵且难扩展,于是第二轨用个性化生成模型 DreamBooth 给某个实例生成"保持整体外观、只改细节"的变体当合成困难负样本——例如同款音箱,几何颜色都对得上,但少了红色 logo、轮廓也更淡,每张合成图同样过人工核验。最终 TWIN 含 123K 正样本、438K 负样本、22K 张图、1836 个实例、5288 张合成图。消融显示,去掉困难负样本平均掉 4.5%(63.1%→58.6%),在 TWIN-Eval 上更是从 65.3% 暴跌到 51.1%,坐实了它的价值。

3. GRPO 纯强化学习后训练:只用"答案对错"二元奖励

痛点是后训练常见的"学了新技能、忘了旧本事"(SFT/蒸馏容易遗忘、泛化下降)。作者选用强化学习而非 SFT,因为 RL 被反复证明能在提升能力的同时保住原有技能。具体地,VLM \(\pi_\theta\) 被提示先产出文字解释、再给最终答案 \(\hat{y}\),奖励是最朴素的二元结果奖励 \(R(y, \hat{y}) = \mathbb{1}\{y = \hat{y}\}\)——只比对最终答案与真值,完全不监督中间解释的 token。优化用 GRPO(在最大化期望优势和防止偏离预训练模型之间取平衡)。这种"只奖励最终答案"的设计让监督信号极稀疏却也极干净。论文还专门对比了 SFT vs RL:RL 在分布外数据集上明显更强(CUB 65.0% vs 53.9%,MET 58.7% vs 52.3%),印证了 RL 更能保住泛化。

4. FGVQA 基准:把已有识别/检索数据集重铸成跨域 VLM 评测

光有训练数据不够,还得有量尺。痛点是传统细粒度识别基准都是 1-of-N 分类或检索格式,不适合直接评 VLM。作者把 6 个现成数据集重新改造成 VQA 格式,共 12K 条查询,覆盖艺术品(MET)、零售商品(ILIAS)、地标(LANDMARKS)、鸟类(CUB)、动植物(INQUIRE),外加同 TWIN 工艺但用未见实例采集的 TWIN-Eval。每个数据集出两种题型各 1000 条:pair 题给两张图问是否同一实例;multi 题给一张参考图 + 三张候选,问有几张和参考匹配(0-3 各 250 条均匀分布)。multi 题在结构上和训练数据不同,因此模型在 multi 上同样涨点,能证明学到的是真感知能力而非任务过拟合。

损失函数 / 训练策略

后训练目标即上面的二元结果奖励 \(R(y, \hat{y}) = \mathbb{1}\{y = \hat{y}\}\),用 GRPO 优化。实现上训练 Qwen2.5-VL-3B-Instruct 与 InternVL3.5-1B-Instruct,4 张 A100、1 个 epoch、batch size 480、group size 5、学习率 \(10^{-6}\),每个 batch 内平衡正负样本,框架用 verl。

实验关键数据

主实验

在 FGVQA 上后训练 TWIN 带来跨域一致提升(除 TWIN-Eval 外均为 zero-shot 评测)。下表为 Qwen2.5-VL 3B 的 Total 准确率(%):

数据集 Qwen2.5-VL 3B + TWIN 提升
TWIN-Eval 50.1 67.3 +17.2
ILIAS 43.5 61.8 +18.3
INQUIRE(域外) 54.4 73.7 +19.3
CUB(域外) 60.7 75.1 +14.4
LANDMARKS(域外) 53.9 57.9 +4.0
MET(域外) 55.5 66.0 +10.5

INQUIRE 的提升把与专有模型的差距从 29.5% 缩到 10.2%;训练后的 Qwen2.5-VL 在 TWIN-Eval、INQUIRE、CUB 上还反超了最强开源 baseline Gemma3。InternVL3.5 1B 虽更小,也有一致小幅增益(CUB +3.8、LANDMARKS +3.0)。

消融实验

配置 MEAN TWIN-Eval ILIAS INQUIRE 说明
Qwen2.5-VL 3B 53.0 50.1 43.5 54.4 基线
+ TWIN w/o 困难负样本 58.6 51.1 53.1 60.9 困难负样本换成随机负样本
+ TWIN 63.1 65.3 58.4 68.7 完整数据

困难负样本平均贡献 +4.5%,在 in-domain 的 TWIN-Eval 上贡献最大(+14.2)。另一组 SFT vs RL 对比(同一 TWIN 子集):

后训练方式 MEAN CUB MET 说明
SFT 53.8 53.9 52.3 监督全部输出 token(含 CoT)
RL (GRPO) 57.5 65.0 58.7 仅奖励最终答案

关键发现

  • 困难负样本是命门:它是唯一被反复强调"critical"的构造决策,去掉后 in-domain 性能近乎腰斩到基线水平。
  • 数据规模才是上限:5K→561K 时 TWIN-Eval 48.5%→67.3%、ILIAS 44.2%→61.8%,且域外的 INQUIRE 53.3%→73.7% 同步涨,说明 TWIN 随实例标注数良性扩张是性能关键。
  • 不伤通用能力:在 11 个通用 VQA 基准(SEED/MMMU/POPE/TEXTVQA 等)上后训练后基本持平甚至小涨(NLVR2 +1.4、AI2D +0.8);纯文本基准(MMLU/HELLASWAG/GSM8K)几乎不变。
  • 改善的是底层表示:对 Qwen2.5-VL 视觉编码器做线性探针/KNN,PETS 线性探针 75.0%→79.1%、CIFAR100 KNN 71.8%→73.2%,说明 TWIN 让编码器产出更适合细粒度判别的 embedding,而非仅靠语言端记题。

亮点与洞察

  • "二选一"是被低估的强监督:把细粒度感知压成 yes/no 成对判断,既让标注成本降到只需一个布尔标签,又能用纯结果奖励驱动 RL——监督最稀疏,效果却最跨域,这个"少即是多"的设计很值得借鉴。
  • 困难负样本的双轨工程化:CLIP 召回缩小人工搜索空间 + DreamBooth 合成补量,是一个可复用的"低成本造困难负样本"配方,可迁到任何需要 instance-level 对比的任务(检索、reID、防伪)。
  • multi 题作为"防过拟合探针":用一种结构不同于训练数据的题型来验证"学到的是能力而非任务",这种评测设计思路对任何"在窄任务上训、想证明泛化"的工作都有参考价值。
  • drop-in 定位:作者把 TWIN 明确定位成可直接掺进现有开源 VLM 训练语料的补充剂,而非独立模型,这让它的落地门槛极低。

局限与展望

  • 作者承认奖励只用最终答案,较"贫瘠";未来可用多模态验证器给出更结构化的奖励信号。
  • 困难负样本仍靠人工敲定,规模化受限;可探索 model-in-the-loop 数据引擎自动挖更难的负样本。
  • TWIN 含大量视角变化,要求模型对跨图变化的部件几何做推理;引入显式 3D 表示或许能进一步提升。
  • ⚠️ 自评补充:训练规模集中在 1B/3B 小模型,对大模型是否仍有同等增益、以及合成负样本占比(5288/22157)对最终性能的独立贡献未单独消融。家居物品域虽强调可泛化,但 MET/LANDMARKS 提升明显偏小(+10.5/+4.0),暗示跨域增益并非均匀。

相关工作与启发

  • vs SpotTheDiff / Birds-to-Words:它们给图配文字描述差异,TWIN 改成二元同/异判断且同时含正负配对,规模大两个数量级(561K vs 13K/3.3K),且跨多类物体而非单一鸟类域——监督更便宜、覆盖更广。
  • vs 传统细粒度识别(CUB/iNat 等):那些是 1-of-N 分类/检索,格式不适配 VLM;本文把它们重铸成 pair/multi 的 VQA 题,让同一套数据既能训也能评 VLM。
  • vs SFT/蒸馏后训练:本文选 GRPO 强化学习,实验证明在分布外数据上明显更抗遗忘、更保泛化,与"RL 比 SFT 更利于保住通用能力"的既有结论一致。

评分

  • 新颖性: ⭐⭐⭐⭐ 任务形式化与数据构造的组合很巧,但底层是"造数据 + 标准 GRPO",算法层创新有限。
  • 实验充分度: ⭐⭐⭐⭐⭐ 主结果 + 困难负样本/规模/SFT-vs-RL 消融 + 编码器探针 + 通用VQA/纯文本保持性,覆盖非常全。
  • 写作质量: ⭐⭐⭐⭐⭐ 动机(吸尘器例子)到方法到验证逻辑闭环清晰,图表丰富。
  • 价值: ⭐⭐⭐⭐⭐ drop-in 数据集 + 开源数据/代码/模型 + 跨域基准,对开源 VLM 社区实用性强。