介绍

通过图像水平监督(ILS)或使用ILS学习的预训练模型扩大词汇量的主要挑战之一是区域和图像层面线索之间固有的不匹配。例如,现有的OVD模型[2104.13921]中使用的预训练的CLIP嵌入在定位物体区域方面表现不佳,因为CLIP模型是用全比例图像训练的。使用标题描述或图像级别的标签对图像进行弱监督,并不能传达精确的以物体为中心的信息。

在本文中,我们打算在OVD管线中弥合以物体和图像为中心的表述之间的差距,我们提出通过预训练的多模态vision transformerViT)来利用高质量的类无关和类特定的对象建议[8]。类无关的对象建议被用来提取CLIP视觉嵌入中的区域特定信息,使其适用于局部对象。特定类别的建议集使我们能够在视觉上找到更大的词汇量,从而有助于对新类别的归纳。

接下来,最后一个重要的问题是如何使视觉语言(VL)映射能够适应以物体为中心的局部信息。为此,我们引入了一个以区域为条件的权重转移过程,将图像和区域的视觉语言映射紧密联系在一起。简而言之,所提出的方法将图像、区域和语言表征联系起来,以更好地概括新的开放词汇对象。

主要贡献

  • 本文提出了基于区域的知识蒸馏,以适应以图像为中心的局部区域的CLIP嵌入,从而改善区域和语言嵌入之间的一致性。实验表明,由此产生的良好对齐的表示有助于提高我们的文本驱动的OVD管道的整体性能。

  • 为了在视觉上为弱小的图像标签提供依据,本文的方法使用预先训练好的多模态ViTs的高质量物体建议来进行伪标签。这有助于扩大类的词汇量,因此能更好地概括新的物体类别。

  • 为了在语言领域保留以物体为中心的对齐方式的优点,我们还提出通过一个新的权重传递函数,明确地将(伪标签)图像级的VL映射置于区域级的VL映射上。通过这种方式,我们首次将以物体为中心的视觉和语言对准同时整合到OVD的单一架构中。

方法

我们提出的方法旨在弥补图像和以物体为中心的VL表示之间的差距。 我们在[图 1]中总结了我们的方法的架构概况。我们提出的设计有三个主要元素。

  • 1)我们基于区域的知识蒸馏,使以图像为中心的语言表征适应于以物体为中心。通过将检测器的区域表征与来自VL模型(CLIP)的区域表征进行蒸馏,VL映射学会将检测器的局部区域表征与语言表征相一致。
  • 2)鉴于图像层面的监督较弱,我们使用来自预训练的多模式ViTs的伪标签来提高检测器对新类别的概括性。
  • 3)为了有效地结合上述两个建议的组件,我们通过一个新的权重转移函数,将弱监督期间学到的VL映射置于基于区域蒸馏的VL映射上。

Detection Pipeline: 准备工作

在开放词汇目标检测问题中,我们可以获得一个物体检测数据集,其中训练集 Ddet\mathcal{D}_\text{det} 由基础物体类别集合 CB\mathcal{C}_\text{B} 的样本组成。Ddet\mathcal{D}_\text{det} 中的图片被详尽地注释了边界框和类别 yrCBy_r \in \mathcal{C}_\text{B},用于图像中不同的物体。给定一个图像 IRH×W×3I \in \mathbb{R}^{H \times W \times 3} 我们设计一个开发词汇的物体检测器解决后续两个问题:

  1. 有效的定位图像中所有的物体。
  2. 将检测到的区域分类到 Ctest\mathcal{C}_\text{test},该标签由用户在测试时提供。测试时的类别还包括训练阶段看到的基础类别封闭集之外的新类别 CN\mathcal{C}_\text{N},即 ctest=CBCN\mathcal{c}_\text{test} = \mathcal{C}_\text{B} \cup \mathcal{C}_\text{N}

我们将一个通用的两阶段物体检测器[1506.01497]转换为一个开放词汇检测器,方法是用固定的语言嵌入代替可学习的分类器头,T\mathcal{T} 对应于 Ctest\mathcal{C}_\text{test} 的类别名称,这些嵌入是用大规模预训练的VL模型获得的。

跟随[2104.13921],我们使用来自CLIP文本编码器的文本嵌入进行分类,其中只有 CB\mathcal{C}_\text{B} 类别、TCB\mathcal{T}_{\mathcal{C}_\text{B}} 的嵌入在训练期间被使用。具体来说,我们通过CLIP文本编码器处理与每个类别相对应的提示,并以“一张{类别}的照片”为模板,生成离线的文本嵌入。

RPN生成的提议 rr 的集合特征表示ϕr\phi{r}。这些特征嵌入使用线性层 f()f(\cdot) 投影到文本嵌入 T\mathcal{T} 共享的共同特征空间,我们将其表示为区域嵌入,R=f(ϕ(r))RD\mathcal{R} = f(\phi(r)) \in \mathbb{R}^D

对于分类,我们计算区域嵌入和文本嵌入之间的余弦相似度,以找到匹配对。在训练过程中,与任何基础ground truth不匹配的区域被分配到由固定的全零嵌入代表的背景类别。我们通过比较每个区域和每个基类来计算余弦相似度 V=sim(r,b)=cos(R(r),Tb)bCB\mathcal{V} = sim(r,b) = \cos(\mathcal{R}(r),\mathcal{T}_\text{b}) \forall b \in \mathcal{C}_\text{B}。分类损失是一个softmax交叉熵(CE),其中对数是余弦相似度得分:

Lcls=1NrLCE(softmax(Vτ,yr)),yrCB\mathcal{L}_{cls} = \frac{1}{N} \sum_r \mathcal{L}_{CE}(\text{softmax}(\frac{\mathcal{V}}{\tau},y_r)),y_r \in \mathcal{C}_\text{B}

其中 τ\tau 是超参数temperatureNN 是每个图像的提议总数,rr代表一个带有地面真实标签 yry_r 的单一提议。

基于区域的知识提取

OVD设置中,我们假设 f()f(\cdot) 学习了一个VL映射,并将检测器的输出区域嵌入与相应的CLIP文本嵌入对齐。然而,在新的类别上的表现并不能与CLIP编码的嵌入所提供的相提并论。我们假设这种性能差距主要是由于两个原因

  1. 用于训练CLIP模型的数据由以场景为中心的图像组成,使得它不太适合区域分类,例如,在我们的案例中,使用的是以物体为中心的紧密边界的建议。
  2. 由于CLIP图像编码器和我们的检测器的区域表示之间的不匹配,配对训练的CLIP图像和文本嵌入的零射泛化能力不能得到充分利用。基于这些见解,我们提出了一个基于区域的知识蒸馏(RKD)。

提出的RKD在检测管道中使用提取法,从预训练的多模态ViTMViT)[2111.11430]中获得的高质量的类别无关的提议(r~\tilde{r})中提取出区域嵌入。 请注意,我们使用这个伪标签过程获得了类别无关的(用于RKD)和特定类别的物体建议,我们称之为 Qpseudo\mathcal{Q}_\text{pseudo}。这可以通过使用直观的文本查询来与MViT模型互动,该模型可以定位通用对象并提供相应的候选建议集。查询可以是通用的,也可以是有针对性的,基于任务,例如,“所有物体”来生成与类别无关的建议,或者“每只狗”来生成一个特定的类别。

对于RKD,我们使用简单的文本查询,“所有物体”,在 Ddet\mathcal{D}_\text{det} 上计算类别不可知的建议,并选择前 KK 个建议([图 3]- b)。然后使用CLIP图像编码器 I()\mathcal{I}(\cdot) 离线计算CLIP嵌入 I(r~)\mathcal{I}(\tilde{r})。有了检测器区域嵌入和相应的CLIP区域表示,我们建议使用两种类型的提取损失来改善对齐:

点式嵌入匹配损失

L1\mathcal{L}_1 损失将单个区域嵌入 R~=f(ϕ(r~))\tilde{\mathbb{R}} = f(\phi(\tilde{r})) 与CLIP区域表示 I(r~)\mathcal{I}(\tilde{r}) 相匹配:

L1=1Kr~R~I(r~)\mathcal{L}_1 = \frac{1}{K}\sum_{\tilde{r}} || \tilde{\mathcal{R}} - \mathcal{I}(\tilde{r}) ||

使用这个标准,我们的视觉编码器,连同VL投影层 f()f(\cdot),接近CLIP图像编码器,从而使我们的区域嵌入与CLIP文本嵌入相一致。

嵌入关系匹配损失(Inter-embedding relationship matching loss, IRM)

它是一种基于损失 Lirm\mathcal{L}_{irm} 的知识蒸馏,在我们的区域表征中灌输了相互嵌入的关系,以便与CLIP区域表征保持一致。灌输这样的嵌入间关系是有益的,因为我们知道教师模型 I()\mathcal{I}(\cdot) 和学生模型(我们的检测器),就其训练方法而言,性质是不同的(图2)。IRM损失被定义在两个不同的嵌入集的成对相似性矩阵上。

具体来说,利用从 Qpseudo\mathcal{Q}_\text{pseudo} 计算出的前K个提案,我们为 I(r~)\mathcal{I}(\tilde{r})R~\tilde{\mathcal{R}} 组成 K×KK \times K 的相似性矩阵,分别用 SIS_ISRS_R 表示。值得注意的是,这些矩阵通过 L2\text{L2} 准则进行归一化,并逐行应用。IRM损失是 Frobenius范数 F||\cdot||_F,超过 SIS_ISRS_R 之间的平均元素平方差:

SR=R~R~TR~R~T2,SI=I(r~)I(r~)TI(r~)I(r~)T2 S_R = \frac{\mathcal{\tilde{R}} \cdot \mathcal{\tilde{R}}^T}{||\mathcal{\tilde{R}} \cdot \mathcal{\tilde{R}}^T||_2}, S_\mathcal{I} = \frac{\mathcal{I}(\tilde{r}) \cdot \mathcal{I}(\tilde{r})^T}{||\mathcal{I}(\tilde{r}) \cdot \mathcal{I}(\tilde{r})^T||_2}

Lirm=1K2SRSIF2\mathcal{L}_{irm} = \frac{1}{K^2}||S_R - S_\mathcal{I}||^2_F

我们分别通过系数 β1\beta_1β2\beta_2L1\mathcal{L}_1Lirm\mathcal{L}_{irm} 损失进行加权。再加上标准的两级检测器损失;RPN损失(Lrpn\mathcal{L}_{rpn}),回归损失(Lreg\mathcal{L}_{reg})和分类损失(Lcls\mathcal{L}_{cls});RKD的总体训练目标可以表示为

LRKD=Lrpn+Lreg+Lcls+β1L1+β2Lirm\mathcal{L}_{RKD} = \mathcal{L}_{rpn}+\mathcal{L}_{reg}+\mathcal{L}_{cls}+\beta_1\mathcal{L}_1 + \beta_2\mathcal{L}_{irm}

带有伪箱体标签的图像级监督

一个重要的问题是如何有效地将新物体的区域建议与相应的标签联系起来。我们注意到,现有的方法使用启发式方法,例如,选择整个图像作为一个盒子,或者只是从RPN中选择最大尺寸的盒子,这可能会忽略潜在的物体([图 3]-a)。

我们提出了一种弱监督的方法,通过使用来自预训练的MViT的伪箱标签,将检测器推广到新的类别。我们遵循文献[2201.02605],用检测和分类数据集的组合来训练检测器。通过将检测数据集 Ddet\mathcal{D}_\text{det} 的数据与分类数据集 Dcls\mathcal{D}_\text{cls} 的数据相结合来准备一批数据,Ddet\mathcal{D}_\text{det} 的数据被详尽地注释了边界框和类标签,而分类数据集 Dcls\mathcal{D}_\text{cls} 只包含图像级标签。通过 Qpseudo\mathcal{Q}_\text{pseudo},我们得到了这个分类数据集的伪框标签,我们用它来进行图像级的监督(ILS)。

具体来说,考虑一个样本图像 IDclsI \in \mathcal{D}_\text{cls},它总共有 NN 个真实的类标签,我们使用MViT离线生成与这些弱标签对应的对象建议。 具体来说,我们构建了 NN 个特定类别的文本查询 tnn=1N{t_n}^N_{n=1},模板为“每一个{category}”,并获得 KK 个提议 r~kk=1K{\tilde{r}_k}^K_{k=1} 和相应的置信度分数s~kk=1K{\tilde{s}_k}^K_{k=1},对于每个查询。

[(r1~,s1~),(r2~,s2~),...,(rK~,sK~)]=Qpseudo(I,tn);IDcls,nN[(\tilde{r_1},\tilde{s_1}),(\tilde{r_2},\tilde{s_2}),...,(\tilde{r_K},\tilde{s_K})] = \mathcal{Q}_\text{pseudo}(I,t_n);I \in \mathcal{D}_{cls},n \in N

我们选择置信度最高的1个建议,作为某个特定类别的伪箱标签。这为每幅图像提供了 NN 个高质量的伪箱标签,对应于其 NN 个图像级别的类别标签([图3]-a)。我们为建议 r~\tilde{r} 计算区域嵌入 R~\tilde{R} 为,

R~n=f(ϕ(r~k^)),k^=arg maxk(sk~)\tilde{R}_n = f(\phi(\tilde{r}_{\hat{k}})),\hat{k} = \argmax_k (\tilde{s_k})

Ddet\mathcal{D}_\text{det} 的情况下,训练遵循标准的两阶段RCNN训练方法。然而,对于 Dcls\mathcal{D}_\text{cls} ,只有分类损失被更新。我们把这个伪最大分数称为 Lpms\mathcal{L}_{pms} 损失。

Lpms=1NnBCE(V,yr~),where V=cos(R~n,T)\mathcal{L}_{pms} = \frac{1}{N}\sum_n BCE(\mathcal{V},y_{\tilde{r}}), \text{where } \mathcal{V} = \cos(\tilde{\mathcal{R}}_n,\mathcal{T})

我们对 Lpms\mathcal{L}_{pms} 进行加权,用我们的ILS的总体训练目标可以表示为

LILS={Lrpn+Lreg+Lcls,IDdetx,IDcls \mathcal{L}_{ILS} = \begin{cases} \mathcal{L}_{rpn} + \mathcal{L}_{reg} + \mathcal{L}_{cls},\quad &I \in \mathcal{D}_\text{det} \\ x,\quad & I \in \mathcal{D}_\text{cls} \end{cases}

权重转移函数

为了将基于区域的蒸馏法的调整与伪箱标签的弱监督的好处结合起来,一个直接的方法是用损失的组合训练检测器:L1\mathcal{L}_1Lirm\mathcal{L}_{irm}Lpms\mathcal{L}_{pms}。然而,我们证明,这两种方法的简单组合并不能带来互补的好处,相反,它们相互竞争。来自伪标签的额外监督提高了检测器的通用性,而基于区域的提炼则致力于在语言领域实现以对象为中心的对齐,从而提高检测器的整体性能。

我们的目的是将这两种方法的优点结合起来,并在语言领域保留以对象为中心的对齐方式。 为此,我们采用了一种权重转移机制,即通过学习权重转移函数 WT()\mathcal{W}_\mathcal{T}(\cdot),将基于区域的蒸馏中使用的VL投影转移到弱监督中。换句话说,在图像级弱监督过程中使用的VL投影函数 f()f(\cdot),明确地以蒸馏过程中用于对齐的映射函数为条件。这样一来,两种转换都被捆绑在一起,加强了相互的表示能力,避免了学习到的函数映射中的任何冲突。让RKD和弱图像级监督中投影层的权重分别表示为 WDW_DWPW_P。权重转移操作由以下公式给出:

Wp=WT(WD)=(Wθ2ρ(Wθ1WD));WT:WDWPW_p = \mathcal{W}_\mathcal{T}(W_D) = (W_{\theta_2}\rho(W_{\theta_1}W_D)); \mathcal{W}_\mathcal{T}: W_D \to W_P

在这里,WDW_D 保持冻结,我们把 WTW_T 设计成一个2层MLPWθ1W_{\theta_1} 接着 Wθ2W_{\theta_2},用 LeakyReLU(ρ)\text{LeakyReLU}(\rho) 激活,负斜率为 0.10.1。此外,我们通过使用一个单独的2层MLP来投射原始表征,在 WPW_P 中使用跳过连接([图 1])。这里的总损失是 LRKD\mathcal{L}_{RKD}LILS\mathcal{L}_{ILS} 损失的组合,由以下公式给出,

L=Lrpn+Lreg+Lcls+β1L1+β2Lirm+αLpms\mathcal{L} = \mathcal{L}_{rpn}+\mathcal{L}_{reg}+\mathcal{L}_{cls}+\beta_1\mathcal{L}_1 + \beta_2\mathcal{L}_{irm} + \alpha\mathcal{L}_{pms}