CYCLIC CONTRASTIVE KNOWLEDGE TRANSFER FOR OPEN-VOCABULARY OBJECT DETECTION
预备知识:Def-DETR、CLIP、Teacher-Student Model、GVT、Swin-Transformer
论文地址、代码地址、arXiv 2025
文章目录
摘要
为突破预定义类别的局限,实现开放词汇目标检测(OVD)中对未知对象的精准识别,现有研究普遍依赖预训练的视觉-语言模型(VLMs)实现从基础类别到新类别的泛化。然而,为弥合上游图文预训练与下游区域级感知间的语义鸿沟,现有方法需引入额外监督(如图文对或自训练生成的伪标注)。本研究提出CCKT-Det,其无需任何外部监督即可完成训练。该框架通过构建视觉区域特征与语言查询间的循环动态知识迁移,迫使检测器紧密对齐VLMs的视觉语义空间。具体而言:1)我们通过预筛选并注入语义先验以引导查询学习;2)引入区域对比损失函数增强检测器对未知对象的感知能力。CCKT-Det在显著提升性能的同时,仅需中等计算开销,且其增益可随VLMs模型规模扩大而持续增长。在COCO基准测试中,本方法相较此前最优方案分别取得+2.9% AP50(无强教师模型)与+10.2% AP50(含强教师模型)的性能突破。代码已开源:https://github.com/ZCHUHan/CCKT-Det.
核心问题:OVD依赖VLM的泛化能力,但现有方法需额外监督(如伪标签或图像-文本对)来对齐图像-文本预训练与区域级感知。
解决方案:
提出CCKT-Det框架:语义先验引导+区域对比蒸馏
语义先验注入:预筛选语义先验引导查询学习,加速模型收敛。
区域对比损失:提升区域特征对齐能力,捕捉高阶相关性。
1. 引言
图片中的动机图展示了开放词汇目标检测(OVD)方法的演变过程,强调了从依赖额外标注数据到无监督知识转移的转变。传统方法依赖粗糙且嘈杂的额外标注数据,如图像字幕或伪标注,这导致区域词对齐不准确。相比之下,CCKT-Det方法通过语义先验引导和区域对比蒸馏,在无需额外标注数据的情况下实现新概念的识别和检测。该方法利用VLMs和MLLMs的知识,通过动态注入语义先验和区域对比损失,使检测器紧密对齐VLMs的视觉语义空间,从而有效识别新类别物体。其优势在于无需额外标注数据,同时充分利用预训练模型的丰富语义知识,提升模型对新概念的感知能力。
1.1 研究背景
1.目标检测瓶颈:传统方法受限于预定义类别,难以检测新概念。
2.OVD挑战:VLM的图像级预训练与区域级检测任务存在语义空间错位,需额外监督(如字幕数据或自训练伪标签),但监督噪声大。
1.2 方法创新
构建跨模态循环动态选择知识传递路径,引入语义先验(引导查询)和区域对比损失(增强对齐)。无需额外数据,直接利用VLM的视觉语义结构,兼容更强的教师模型(更大规模VLM/MLLM),性能持续提升。
2. 相关工作
方法类别 | 现有方法/模型 | 核心思想 | 本文改进/应用 |
---|---|---|---|
对比表示学习 | |||
区域级对比学习 | 滑动窗口、目标提议、随机查询补丁 | 通过局部区域的对比学习捕捉视觉线索。 | 引入匈牙利匹配:建立区域级对齐对,结合高阶相关性增强蒸馏多样性。 |
视觉语言模型(VLM) | |||
CLIP | CLIP | 图像-文本跨模态对齐,通过零样本分类实现开放词汇泛化。 | 动态语义先验筛选:利用CLIP文本嵌入过滤不相关类别,注入对象查询。 |
多模态大模型(MLLM) | BLIP-2、Vicuna | 融合视觉编码器与语言模型,通过指令理解实现细粒度视觉语义推理。 | 概念存在性判定:通过MLLM的二元分类回答(“是/否”)确定图像中是否存在某类别。 |
开放词汇目标检测 | |||
蒸馏方法 | ViLD、BARON | ViLD:从CLIP蒸馏区域嵌入;BARON:挖掘区域共现结构。 | 无额外监督:直接利用VLM的视觉语义结构,通过循环知识迁移实现动态对齐。 |
分布对齐方法 | CORA、DITO | CORA:提示微调缩小基础-新类别分布差距;DITO:区域预训练增强泛化性。 | 端到端优化:结合语义先验与对比蒸馏,无需额外预训练或微调阶段。 |
3. 方法
3.1 概述
检测器结构:采用DETR风格,使用可学习对象查询(Object Queries)作为全局归纳偏置。 对象查询融合图像特定上下文(来自Transformer编码器的视觉特征)。
跨模态知识迁移:语言引导查询,通过语义先验嵌入(Semantic Priors)动态注入对象查询 ;教师视觉特征,使用CLIP图像编码器提取对象裁剪的区域特征,作为知识蒸馏的教师信号。
3.2 语义先验作为引导
核心问题:概念存在性问题——判断某概念是否存在于当前图像,避免预测不存在的类别。
解决方案:
- 基于CLIP的零样本分类:
- 流程:
- 计算图像与所有类别文本嵌入的相似度(CLIP文本编码器生成)。
- 通过Sigmoid激活,过滤低置信度类别。
- 局限:CLIP缺乏细粒度感知能力,易受词袋模型偏差影响。
- 流程:
- 基于MLLM的二元分类:
- 流程:
- 输入提示“问题:[OBJ]存在于图像中吗?回答:”。
- MLLM输出“是/否”,转化为二元分类结果。
- 优势:解决多类别识别问题,提升存在性判断准确性。
- 流程:
语义先验的动态注入:
- 训练阶段:根据标注选择存在的类别,生成语义先验嵌入 ( t ) (t) (t)。
- 推理阶段:通过CLIP/MLLM筛选存在的类别,生成 ( t ) (t) (t)。
- 注入方式:
e = F ψ ( z , q + t ) (1) e = \mathcal{F}_{\psi}(z, q + t) \tag{1} e=Fψ(z,q+t)(1)- (e):解码器输出嵌入
- (z):图像全局特征(编码器输出)
- (q):原始对象查询
- (t):语义先验嵌入(存在的类别文本特征)
对比现有方法
方法 | 核心机制 | 优势/局限 |
---|---|---|
OV-DETR | 文本嵌入作为查询,自训练新对象 | 逐类别解码速度慢,未过滤不相关概念 |
Grounding DINO | 文本特征选择图像块作为查询 | 跨注意力可能包含不相关概念 |
本文方法 | 动态语义先验注入 + 循环知识迁移 | 过滤不相关概念,提升速度与泛化能力 |
3.3 区域对比蒸馏
该对比知识迁移策略的流程以多组对象查询(N×Object queries)为起点,通过CLIP文本编码器将基类和新类别的文本描述(如"a photo of a {class}")转换为语义先验。随后,系统将视觉特征与文本先验进行跨模态交互:首先结合边界框回归结果(BOX)与跨模态相似性成本(CIS costs),计算查询与目标实例的相似度距离成本;接着通过匈牙利匹配器筛选出成本最低的M个候选嵌入(M×candidate embs),完成查询与真实目标的动态匹配。这些候选嵌入进入核心的对比学习环节,在区域对比损失(Regional contrastive loss)模块中,通过梯度更新优化嵌入空间,强制模型区分正负样本的视觉特征差异。最后,采样模块从视觉区域缓存(Visual Region Cache)中提取对象裁剪图像,经CLIP图像编码器重新编码,形成闭环的知识迁移链路——整个过程通过语义-视觉特征对齐、动态匹配优化和对比学习增强的三级协同,实现从文本先验到视觉证据的跨模态知识迁移,尤其强调新类别检测中语义引导与视觉实例的精细化对齐。
目标:通过VLMs的视觉语义对齐知识,提升检测器对新类别的泛化能力。
损失函数设计
遵循之前的工作,我们的损失函数基于预测对象和真实对象之间的最优二分匹配。
σ
^
=
arg
min
σ
∈
S
N
∑
i
=
1
N
L
match
(
y
i
,
y
^
σ
(
i
)
)
(2)
\hat{\sigma} = \arg \min _{\sigma \in \mathfrak{S}_{N}} \sum_{i=1}^{N} \mathcal{L}_{\text{match}}\left(y_{i}, \hat{y}_{\sigma(i)}\right) \tag{2}
σ^=argσ∈SNmini=1∑NLmatch(yi,y^σ(i))(2)
-
二分匹配成本:
L match ( y i , y ^ σ ( i ) ) = − 1 { c i ≠ ∅ } p ^ σ ( i ) ( c i ) + 1 { c i ≠ ∅ } L bbox ( b i , b ^ σ ( i ) ) p ^ = σ ( e ⋅ t T τ ⋅ ∥ e ∥ ⋅ ∥ t ∥ ) \begin{gather} \mathcal{L}_{\text{match}}(y_i, \hat{y}_{\sigma(i)}) = - \mathbf{1}_{\{ c_i \neq \emptyset \}} \hat{p}_{\sigma(i)}(c_i) + \mathbf{1}_{\{ c_i \neq \emptyset \}} \mathcal{L}_{\text{bbox}}(b_i, \hat{b}_{\sigma(i)}) \tag{3} \\ \hat{p} = \sigma \left( \frac{e \cdot t^T}{\tau \cdot \|e\| \cdot \|t\|} \right) \tag{4} \end{gather} Lmatch(yi,y^σ(i))=−1{ci=∅}p^σ(i)(ci)+1{ci=∅}Lbbox(bi,b^σ(i))p^=σ(τ⋅∥e∥⋅∥t∥e⋅tT)(3)(4)- 结合类别预测概率 ( p ^ ) (\hat{p}) (p^)与边界框回归损失 ( L bbox ) (\mathcal{L}_{\text{bbox}}) (Lbbox)。
-
区域对比蒸馏损失:
- 教师特征 (r):CLIP编码器提取的对象裁剪特征(离线缓存)。
- 学生特征 (e):检测器输出的区域嵌入。
- 双向对比损失:
L teacher → student = ∑ i = 0 M − 1 − log ( exp ( r i T e i / τ ) ∑ j = 0 N − 1 exp ( r i T e j / τ ) ) L student → teacher = ∑ i = 0 M − 1 − log ( exp ( e i T r i / τ ) ∑ j = 0 M − 1 exp ( e i T r j / τ ) ) \begin{gather} \mathcal{L}_{\text{teacher} \rightarrow \text{student}} = \sum_{i=0}^{M-1} - \log \left( \frac{\exp(r_i^T e_i / \tau)}{\sum_{j=0}^{N-1} \exp(r_i^T e_j / \tau)} \right) \tag{5} \\ \mathcal{L}_{\text{student} \rightarrow \text{teacher}} = \sum_{i=0}^{M-1} - \log \left( \frac{\exp(e_i^T r_i / \tau)}{\sum_{j=0}^{M-1} \exp(e_i^T r_j / \tau)} \right) \tag{6} \end{gather} Lteacher→student=i=0∑M−1−log(∑j=0N−1exp(riTej/τ)exp(riTei/τ))Lstudent→teacher=i=0∑M−1−log(∑j=0M−1exp(eiTrj/τ)exp(eiTri/τ))(5)(6) - 总对比损失: L contrast = Avg ( L T → S , L S → T ) \mathcal{L}_{\text{contrast}} = \text{Avg}(\mathcal{L}_{T→S}, \mathcal{L}_{S→T}) Lcontrast=Avg(LT→S,LS→T)
-
总损失函数:
L ( y , y ^ ) = λ bbox L bbox ( b , b ^ ) + λ contrast L contrast ( r , e ) + λ cls L cls ( p , p ^ ) (7) \mathcal{L}(y, \hat{y}) = \lambda_{\text{bbox}} \mathcal{L}_{\text{bbox}}(b, \hat{b}) + \lambda_{\text{contrast}} \mathcal{L}_{\text{contrast}}(r, e) + \lambda_{\text{cls}} \mathcal{L}_{\text{cls}}(p, \hat{p}) \tag{7} L(y,y^)=λbboxLbbox(b,b^)+λcontrastLcontrast(r,e)+λclsLcls(p,p^)(7)- 边界框损失 L bbox \mathcal{L}_{\text{bbox}} Lbbox:L1 + GIoU
- 分类损失 L cls \mathcal{L}_{\text{cls}} Lcls:Focal Loss
对比传统蒸馏方法
方法 | 核心机制 | 局限性 |
---|---|---|
传统L1对齐 | 学生与教师特征逐维度对齐 | 忽略表示空间的结构化关系 |
本文方法 | 对比学习 + 负样本多样化 | 捕捉高阶依赖,提升泛化性 |
3.4 关键创新总结
- 动态语义先验注入:通过CLIP/MLLM筛选存在的类别,定制化语言查询。
- 循环知识迁移:语义先验(文本)与视觉特征(教师)的跨模态交互。
- 区域对比蒸馏:利用负样本增强表示空间的结构化对齐。
- 效率优化:避免逐类别解码,过滤不相关概念,加速推理。
4. 实验
4.1 实验设计
实验旨在验证CCKT-Det框架在开放词汇目标检测任务中的有效性,通过与其他先进方法对比及消融实验,检验各组件的贡献。选用OV-COCO、LVIS和Objects365三个数据集,分别包含不同规模的基础与新类别,评估指标主要是新类别的平均精度(APN 50)和常规平均精度(AP)。模型基于Def-DETR构建,使用ResNet-50作为骨干网络,训练采用3×计划,优化器为AdamW,学习率初始设为10−4,后衰减0.1。消融实验分析语义先验引导、区域对比蒸馏等组件的影响,验证其对模型性能的提升作用。实验结果表明,CCKT-Det无需额外数据,性能优于多种现有方法,且在大规模教师模型辅助下表现更优。
4.2 实验结果
问题
- 1、为什么CLIP缺乏细粒度的视觉感知能力?
CLIP(Contrastive Language-Image Pretraining)缺乏细粒度视觉感知能力的主要原因在于其设计目标和训练机制:首先,CLIP通过对比学习将图像与文本映射到统一的语义空间,其核心目标是建立图像与文本的高层次语义关联(如“狗”与“公园”的整体场景匹配),而非捕捉局部细节(如狗的品种或公园植被的纹理);其次,其训练数据(海量图像-文本对)缺乏细粒度标注,导致模型难以学习区分细微视觉差异的特征;此外,CLIP的图像编码器更擅长提取全局特征,而忽略局部结构信息,类似于词袋模型忽略单词顺序的局限性,使得模型对物体部件、材质等微观特征不敏感;最后,CLIP作为通用视觉-语言模型,其架构优化方向偏向跨模态泛化能力,而非针对特定领域的精细化特征建模,因此在需要区分高度相似类别的任务中表现逊于专用细粒度分类模型。 - 2、”从VLMs转移视觉知识可以完全恢复并释放预训练的视觉语义对齐“的意思是什么?
这句话的意思是,通过从视觉语言模型(VLMs)中转移视觉知识,可以让目标检测模型充分利用VLMs中学到的视觉和语义对齐关系,从而提高对图像内容的理解和检测能力。 - 3、公式(3)中,为什么类别预测前是 -1,而边界框回归前是 +1?
类别预测:最大化预测概率,而损失函数通常是最小化的。通过取负值,当预测概率越高,这一项的损失值越小,从而鼓励模型提高正确类别的预测概率。
边界框回归:直接反映位置误差(如L1或IoU损失),误差越小则损失值越低,自然匹配最小化方向。
符号差异源于任务本质:分类需激励概率提升,回归需惩罚坐标偏差。