DetCLIPv2:通过词汇-区域对齐实现可扩展开放词汇目标检测预训练.
本文引入了DetCLIPv2,一个端到端的开放词汇目标检测预训练框架。这个框架允许模型识别未知类别的目标,而无需预定义的目标类别列表,从而满足了多种实际应用场景的需求。
- DetCLIPv2不依赖教师模型来提供伪标签或引导训练过程。它通过联合训练多源数据,包括检测、定位和图像文本对,从而同时学习了定位能力和广泛概念的知识。
- 为了有效地利用图像文本对数据进行检测学习,DetCLIPv2采用了一种基于最优匹配的集合相似度方法,以指导对比学习,从而提高性能。
- 为了减轻大规模图像文本对数据带来的计算负担,DetCLIPv2采用了低分辨率输入,从而提高了训练效率。
DetCLIPv2以端到端的方式执行检测、定位和图像对数据的联合训练。为构建一个强大的开放世界目标检测系统,DetCLIPv2将来自不同数据源的数据,即检测、定位和图像文本对用于预训练。该架构包括以下主要组件:
- 图像编码器:用于从输入图像中提取区域嵌入(region embeddings)$f^P$。这个组件有助于模型理解图像中的视觉信息。
- 文本编码器:用于计算输入名词短语的单词嵌入(word embeddings)$f^T$。这个组件有助于模型理解文本信息。
1. 统一数据定制 A Unified Data Formulation
DetCLIPv2使用了一个并行的formulation来统一来自不同来源的数据格式,该格式是一个三元组的形式:
\[\left( x^I, \{b_i\}_{i=1}^N, \{t_j\}_{j=1}^M \right)\]其中 $x$ 是图像,$b_i$ 和 $t_j$ 分别表示一组边界框注释和概念名称。这个三元组的构建方式因不同类型的数据而异:
- 检测数据(Detection):$T$是由数据集中采样的类别名称构建的,由图像中出现的类别和其他随机采样的负例类别组成。为了明确提供各种概念之间的关系,在训练和测试阶段都应用了概念丰富化技术,即每个$t_j$通过将其类别名称与相应的定义进行连接而获得。
- 定位数据(Grounding):首先从原始标题中提取名词短语(提供在注释中)形成一个正概念集$T_{pos}$,为了提供足够多的负概念用于学习,还从构建的概念字典中随机采样一个不包含在标题中的负概念集$T_{neg}$。最终的类别名称集合由$T=T_{pos}∪ T_{neg}$组成。
- 图像文本对数据(Image-text pairs):由于不存在实例级别的注释,因此$b_i=\phi$。$T$由原始标题和从标题中提取的名词短语组成。
2. 对比学习
DetCLIPv2从大规模图像文本对数据中学习,以实现细粒度的词-区域对应,而不依赖于实例级别的注释。
给定一个图像文本对$(x^I,x^T)$,从$x^T$中提取一组名词短语,并将\(\left( x^I, \{t_j\}_{j=1}^M \right)\)作为模型的输入。
图像编码器生成一组proposal \(\{p_k\}_{k=1}^K\),文本编码器提取名词短语\(\{t_j\}_{j=1}^M\)的文本嵌入$f^T$。词-区域对齐的对比学习是基于$P$和$T$之间的集合相似性构建的。通过计算以下公式来找到最佳匹配:
\[m_j = {\arg\max}_{0<k\leq K} [f^T]_j^T[f^P]_k\]然后通过聚合所有词-区域相似性来计算文本与图像之间的相似性:
\[s^T(x^I,x^T) = {1\over M} \sum_{j=1}^M [f^T]_j^T[f^P]_{m_j}\]此外每个文本概念都应该对应于多个区域。这种设计可以通过使用文本概念和所有视觉区域之间的软最大加权和相似度来建模:
\[s^{T}(x^{I},x^{T})=\frac{1}{M}\sum_{j=1}^{M}\sum_{k=1}^{P}\frac{\exp(s_{j,k}/\tau_{t})}{\sum_{i=1}^{P}\exp(s_{j,i}/\tau_{t})}s_{j,k}\]基于引入的词-区域对齐相似性,可以执行图像-文本对之间的标准对比学习。具体来说,对于一个批次$B$的图像-文本对\(\{(x_i^I,x_i^T)\}_{i=1}^B\),对比损失可以表示为:
\[\mathcal{L}_{c t s}=\mathcal{L}_{T\rightarrow I}=-\frac{1}{B}\log\frac{\exp(s^{T}(x_{i}^{I},x_{i}^{T})/\tau)}{\sum_{j=1}^{B}\exp(s^{T}(x_{j}^{I},x_{i}^{T})/\tau)}\]DetCLIPv2只考虑了文本到图像的对比损失,而不考虑图像到文本的对比损失,因为从互联网爬取的图像文本对数据存在着部分标记的问题,大多数情况下,文本只描述了图像中出现的物体的一小部分,即大多数区域建议无法在标题文本中找到它们的对应匹配。因此使用图像到文本的匹配可能会导致明显的性能下降。
为了选择与文本描述最相关的图像区域,以便模型能够更好地学习文本和图像之间的关联,DetCLIPv2采用了一种 Proposal 选择策略。对于每个候选区域,模型计算其与批次中所有文本概念的相似性,并使用最大相似性作为其 objectness score。根据 objectness score ,DetCLIPv2在NMS操作后选择了前k个Proposal 。
3. 模型结构与训练目标
DetCLIPv2使用了基于vanilla ATSS检测器的架构,同时配备了基于Transformer的文本编码器。DetCLIPv2 的一个特殊的设计是在分类头部的开头插入了轻量级的可变形卷积。
通过在分类头中引入可变形卷积层,模型的分类头和回归头之间建立了一种关联,使得梯度信号能够从分类头流回回归头。这样,即使在没有监督信号的情况下进行训练(如图像-文本对训练),模型的回归头也可以从大规模图像-文本对的训练中受益。这种设计的关键在于,通过学习更好的骨干特征的空间聚合,回归头能够获得更好的目标定位能力,从而提高了整个模型在目标检测任务中的性能。
DetCLIPv2的总体目标包括:
- $L_{align}$:对齐损失,用于衡量模型的对齐能力。
- $L_{cts}$:对比损失,用于学习图像和文本之间的关联。
- $L_{reg}$:回归损失,用于定位目标。
- $L_{center}$:中心度损失,用于帮助模型更好地定位目标中心。
4. 联合训练 Joint Training
DetCLIPv2在训练过程中执行与异构数据集的联合训练。在训练期间,将属于同一类型的数据分组为一个全局批次。在每次迭代中,选择一种类型的数据进行训练。不同类型的数据使用不同的输入分辨率和批次大小进行训练。具体来说:
- 对于检测(detection)和定位(grounding)数据,使用高分辨率的输入和较小的批次大小进行训练。这有助于提高对目标的精确定位。
- 对于图像-文本对数据(image-text pairs),采用低分辨率的输入和较大的批次大小。这有助于增加对比学习中的负样本数量,并显著降低大规模图像-文本对的训练成本。