跳转至

Weak-to-Strong Compositional Learning from Generative Models for Language-based Object Detection

会议: ECCV 2024
arXiv: 2407.15296
代码: 未提供
领域: 目标检测 / 视觉-语言
关键词: compositional understanding, language-based detection, synthetic data generation, contrastive learning, weak-to-strong

一句话总结

提出 WSCL 框架:利用 LLM 生成多样文本描述 + 扩散模型生成对应图像 + 弱检测器分解短语生成伪标框,构建密集合成三元组(image, description, bbox),配合组合对比学习显著提升语言引导目标检测性能,OmniLabel 上 GLIP-T 提升 +5.0AP。

研究背景与动机

领域现状:视觉-语言(VL)模型如 CLIP、GLIP 在开放词汇检测方面取得了显著进展,但对复杂语言描述的组合理解仍然有限——模型经常表现得像 "bag-of-words",无法区分属性、关系等细粒度语义。

现有痛点:之前的方法(如 DesCo)仅在文本域做增强(通过名词替换生成负例),效果有限。手工标注密集的 <图像, 描述, 标框> 三元组成本极高,尤其是当描述涉及复杂属性和空间关系时。

核心矛盾:现有检测器在简单类别名检测上表现良好,但面对如 "a golden retriever sitting beside a red fire hydrant" 这类复杂描述时,往往忽略修饰语而检测出所有相关名词对应的物体。

本文目标:利用生成模型的组合理解能力来增强判式 VL 模型的组合理解,实现"弱到强"的能力迁移。

切入角度:反向流程——先用 LLM 生成多样描述,再用扩散模型生成图像,最后用弱检测器通过任务分解自动生成高质量伪标框。

核心 idea:生成式大模型具备强组合理解能力,通过合成密集三元组+组合对比学习将其蒸馏到判式检测器中。

方法详解

整体框架

方法分为两步:(1) 密集合成三元组生成——用 LLM 生成多样描述,用扩散模型生成对应图像,用弱检测器生成伪标框;(2) 组合对比学习——设计 description-aware 和 structural-aware 两个对比学习目标,从合成三元组中有效学习组合理解能力。

关键设计

  1. 多样对象描述生成 (LLM-based)

    • 功能:为每个视觉实体类别生成多样的文本描述
    • 核心思路:提示 LLM(ChatGPT-3.5-Turbo):"Please list \(\{ND\}\) plausible visual object descriptions for \(\{class\}\) that are around \(\{NW\}\) words in length. Consider incorporating diverse visual attributes, actions, and spatial or semantic relations with other objects."
    • 设计动机:通过控制实体池大小、每类描述数量 \(ND\)、描述长度 \(NW\),实现可扩展的密集描述覆盖。默认使用 Object365 的 365 类,每类 20 条描述
  2. 扩散模型生成密集配对图像

    • 功能:为每条描述生成多幅对应图像
    • 核心思路:用 Pixart 扩散模型条件生成,通过不同随机种子为每条描述生成 8 张图像变体
    • 设计动机:不同于以往用简单 prompt("a photo of [NAME]"),直接以复杂描述为条件引入多样性。最终生成 58,400 个合成三元组
  3. Weak-to-Strong 伪标框生成

    • 功能:解决弱检测器无法准确定位复杂描述中物体的问题
    • 核心思路:将复杂短语定位任务分解为多个简单检测任务。具体做法:(1) 用 NLP 解析器提取所有名词短语;(2) 将每个名词短语作为独立的检测 query;(3) 低置信度预测按阈值 \(p\) 过滤;(4) 将结果重新关联到原始描述
    • 设计动机:两个关键观察——弱检测器在正样本文本上检测精度较高(AP-dP > AP-d),且在短描述上表现优于复杂描述(AP-dS > AP-dL)。通过分解可以充分利用弱检测器在简单任务上的能力
  4. Description-Aware 对比学习

    • 功能:让检测器关注给定描述的具体内容,而非仅检测所有提到的实体
    • 核心思路:从同类别的描述池中选择类内负例(intra-class negatives)拼接到输入 query \(Q\) 中,训练模型仅对匹配描述做正检测,忽略负例描述对应的实体
    • 设计动机:迫使模型区分相似但不同的描述(如同为 avocado 的不同描述),从而学习 description 的细粒度语义差异
  5. Textural-Structural-Aware 对比学习

    • 功能:让检测器理解描述中的主体与非主体实体的结构关系
    • 核心思路:(1) 用文本关系解析器识别描述中的主体和非主体名词短语;(2) 结构负例 (Structural Negative):非主体实体(如 "lying on a cutting board")不应被检测为主体的正匹配;(3) 结构正例 (Structural Positive):将非主体名词短语(如 "A cutting board")单独作为正 query 添加到输入,确保检测器仍能识别该物体;(4) 句子级正例:整个描述句子与主体物体的标框正向关联
    • 设计动机:防止模型对所有出现的名词短语"一视同仁",学会根据结构角色区分相同短语(作为主体 vs 作为修饰)
  6. 防止域偏移策略

    • 功能:避免检测器过拟合到合成图像分布
    • 核心思路:(1) 冻结视觉 backbone,仅训练跨模态对齐层;(2) 加入真实检测数据(Objects365)作为正则化
    • 设计动机:合成图像不可避免存在伪影,冻结视觉表示可防止学习到合成域的偏差

损失函数 / 训练策略

  • 基于 GLIP/FIBER 的区域-词对齐损失 \(\mathcal{L}(S_{\text{ground}}, T) + \mathcal{L}_{loc}\)
  • 叠加 intra-class negative 对比损失 + structural negative/positive 对比损失
  • 混合训练:合成三元组 + Objects365 检测数据
  • 视觉 backbone 冻结

实验关键数据

主实验

模型 方法 OmniLabel AP OmniLabel AP-dL D3 Full
GLIP-T baseline 19.3 8.2 19.1
GLIP-T +Ours 24.3 (+5.0) 16.4 (2×) 26.0 (+6.9)
FIBER-B baseline 25.7 12.4 22.7
FIBER-B +Ours 30.5 (+4.8) 21.3 26.5
DesCo-GLIP baseline 23.8 13.7 24.2
DesCo-GLIP +Ours 26.5 (+2.7) 18.7 29.3

消融实验

配置 AP AP-d AP-dL 说明
FIBER-B baseline 25.7 22.3 12.4 原始模型
+ Gen-only (朴素微调) 25.5 23.7 12.4 AP-c 严重下降
+ Det data 正则化 26.3 23.3 11.5 缓解域偏移
+ Freeze visual backbone 26.8 23.4 11.8 保持定位能力
+ Intra-neg 对比 29.0 27.4 14.9 描述感知大幅提升
+ Struct-neg 29.0 27.3 16.2 结构负例微调
+ Struct-pos (完整) 30.5 29.5 21.3 长query提升6.4AP

数据规模因素分析

因素 配置 AP AP-dL
实体密度 COCO 80类 29.7 18.6
实体密度 O365 365类 30.5 21.3
描述密度 5条/类 29.1 17.4
描述密度 20条/类 30.5 21.3
图像密度 2张/描述 29.8 19.3
图像密度 8张/描述 30.5 21.3

关键发现

  • GLIP-T 在长 query 上的性能从 8.2 翻倍到 16.4 AP,说明组合对比学习对复杂描述极其有效
  • 仅做文本增强(DesCo)不够,图像域+文本域的联合密集三元组生成至关重要
  • 结构正例(Structural Positive)贡献最大,对长 query AP-dL 提升 5.1(从 16.2 到 21.3)
  • 弱到强伪标框比直接 grounding-based 标注在 AP-dL 上高 5.1(16.2 vs 21.3)

亮点与洞察

  • 弱到强的哲学:将复杂短语定位分解为多个简单检测任务的思想非常巧妙——弱检测器在简单任务上是强的,通过任务分解可以让弱模型生成强标注。这种思路在数据标注领域有广泛的适用价值
  • 结构正例的必要性:仅引入结构负例效果不大,但加上结构正例后效果飞跃。原因是模型需要同时学会"什么时候不检测非主体"和"当非主体单独出现时仍要检测",两者缺一不可

局限与展望

  • 扩散模型在长尾类别上生成质量下降(LVIS 1203类的 AP-c 不如 O365 365类),限制了实体覆盖范围
  • 描述长度超过 10 词后生成图像质量下降,限制了场景复杂度的上限
  • 58K 合成三元组规模相对较小,框架虽然可扩展但未验证大规模生成的效果上限
  • 仅验证了 GLIP 和 FIBER 两种架构

相关工作与启发

  • vs DesCo [Li et al.]:DesCo 仅做文本域增强,WSCL 做图像+文本双域密集三元组生成,且两者互补可叠加
  • vs MDETR [Kamath et al.]:MDETR 依赖手工标注的 grounding 数据,WSCL 自动生成合成数据,可扩展性更强
  • vs Pic2Word/LinCIR:这些方法关注零样本检索,WSCL 关注检测任务中的组合理解,方向不同但都在解决 VL 模型的组合理解瓶颈

评分

  • 新颖性: ⭐⭐⭐⭐ 弱到强伪标框生成+结构对比学习的组合设计新颖且合理
  • 实验充分度: ⭐⭐⭐⭐⭐ 消融极其详尽,数据规模、伪标框策略、描述长度等多维度分析
  • 写作质量: ⭐⭐⭐⭐ 逻辑清晰,每个组件的动机和效果都有对应实验支撑
  • 价值: ⭐⭐⭐⭐ 模型无关框架,对语言引导检测领域有直接推动作用

相关论文