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 两个对比学习目标,从合成三元组中有效学习组合理解能力。
关键设计¶
-
多样对象描述生成 (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 条描述
-
扩散模型生成密集配对图像
- 功能:为每条描述生成多幅对应图像
- 核心思路:用 Pixart 扩散模型条件生成,通过不同随机种子为每条描述生成 8 张图像变体
- 设计动机:不同于以往用简单 prompt("a photo of [NAME]"),直接以复杂描述为条件引入多样性。最终生成 58,400 个合成三元组
-
Weak-to-Strong 伪标框生成
- 功能:解决弱检测器无法准确定位复杂描述中物体的问题
- 核心思路:将复杂短语定位任务分解为多个简单检测任务。具体做法:(1) 用 NLP 解析器提取所有名词短语;(2) 将每个名词短语作为独立的检测 query;(3) 低置信度预测按阈值 \(p\) 过滤;(4) 将结果重新关联到原始描述
- 设计动机:两个关键观察——弱检测器在正样本文本上检测精度较高(AP-dP > AP-d),且在短描述上表现优于复杂描述(AP-dS > AP-dL)。通过分解可以充分利用弱检测器在简单任务上的能力
-
Description-Aware 对比学习
- 功能:让检测器关注给定描述的具体内容,而非仅检测所有提到的实体
- 核心思路:从同类别的描述池中选择类内负例(intra-class negatives)拼接到输入 query \(Q\) 中,训练模型仅对匹配描述做正检测,忽略负例描述对应的实体
- 设计动机:迫使模型区分相似但不同的描述(如同为 avocado 的不同描述),从而学习 description 的细粒度语义差异
-
Textural-Structural-Aware 对比学习
- 功能:让检测器理解描述中的主体与非主体实体的结构关系
- 核心思路:(1) 用文本关系解析器识别描述中的主体和非主体名词短语;(2) 结构负例 (Structural Negative):非主体实体(如 "lying on a cutting board")不应被检测为主体的正匹配;(3) 结构正例 (Structural Positive):将非主体名词短语(如 "A cutting board")单独作为正 query 添加到输入,确保检测器仍能识别该物体;(4) 句子级正例:整个描述句子与主体物体的标框正向关联
- 设计动机:防止模型对所有出现的名词短语"一视同仁",学会根据结构角色区分相同短语(作为主体 vs 作为修饰)
-
防止域偏移策略
- 功能:避免检测器过拟合到合成图像分布
- 核心思路:(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 模型的组合理解瓶颈
评分¶
- 新颖性: ⭐⭐⭐⭐ 弱到强伪标框生成+结构对比学习的组合设计新颖且合理
- 实验充分度: ⭐⭐⭐⭐⭐ 消融极其详尽,数据规模、伪标框策略、描述长度等多维度分析
- 写作质量: ⭐⭐⭐⭐ 逻辑清晰,每个组件的动机和效果都有对应实验支撑
- 价值: ⭐⭐⭐⭐ 模型无关框架,对语言引导检测领域有直接推动作用
相关论文¶
- [ECCV 2024] Adaptive Multi-task Learning for Few-Shot Object Detection
- [ECCV 2024] Can OOD Object Detectors Learn from Foundation Models?
- [ECCV 2024] SHINE: Saliency-aware HIerarchical NEgative Ranking for Compositional Temporal Grounding
- [ECCV 2024] LaMI-DETR: Open-Vocabulary Detection with Language Model Instruction
- [ECCV 2024] MutDet: Mutually Optimizing Pre-training for Remote Sensing Object Detection