DetCLIPv2:通过词汇-区域对齐实现可扩展开放词汇目标检测预训练.

本文引入了DetCLIPv2,一个端到端的开放词汇目标检测预训练框架。这个框架允许模型识别未知类别的目标,而无需预定义的目标类别列表,从而满足了多种实际应用场景的需求。

DetCLIPv2以端到端的方式执行检测、定位和图像对数据的联合训练。为构建一个强大的开放世界目标检测系统,DetCLIPv2将来自不同数据源的数据,即检测、定位和图像文本对用于预训练。该架构包括以下主要组件:

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$ 分别表示一组边界框注释和概念名称。这个三元组的构建方式因不同类型的数据而异:

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 scoreDetCLIPv2NMS操作后选择了前kProposal

3. 模型结构与训练目标

DetCLIPv2使用了基于vanilla ATSS检测器的架构,同时配备了基于Transformer的文本编码器。DetCLIPv2 的一个特殊的设计是在分类头部的开头插入了轻量级的可变形卷积。

通过在分类头中引入可变形卷积层,模型的分类头和回归头之间建立了一种关联,使得梯度信号能够从分类头流回回归头。这样,即使在没有监督信号的情况下进行训练(如图像-文本对训练),模型的回归头也可以从大规模图像-文本对的训练中受益。这种设计的关键在于,通过学习更好的骨干特征的空间聚合,回归头能够获得更好的目标定位能力,从而提高了整个模型在目标检测任务中的性能。

DetCLIPv2的总体目标包括:

\[L= \begin{cases} L_{align} + \alpha L_{reg} + \beta L_{center} & \text{for detection} \\ L_{align} & \text{for grounding} \\ \lambda L_{cts} & \text{for image-text pairs} \\ \end{cases}\]

4. 联合训练 Joint Training

DetCLIPv2在训练过程中执行与异构数据集的联合训练。在训练期间,将属于同一类型的数据分组为一个全局批次。在每次迭代中,选择一种类型的数据进行训练。不同类型的数据使用不同的输入分辨率和批次大小进行训练。具体来说: