《Semantics-Guided Contrastive Network for Zero-Shot Object Detection》TPAMI2024

摘要

这篇论文提出了一种新颖的用于零样本目标检测(Zero-shot Object Detection, ZSD)的语义引导对比网络,称为 ContrastZSD。零样本目标检测是一项将传统检测模型扩展到检测未见类别对象的新挑战。现有的方法通常采用严格的映射转换策略来处理ZSD任务,这可能导致次优的结果。ContrastZSD首次将对比学习机制引入零样本检测领域,通过两个语义引导的对比学习子网络,分别对区域-类别和区域-区域对进行对比。该方法利用来自真实标签和类别相似性信息的监督信号,通过对比学习来优化模型,使其能够学习更多关于未见类别的知识,避免对已知概念的偏见,同时优化视觉数据结构以更好地进行视觉-语义对齐。在PASCAL VOC和MS COCO两个流行的ZSD基准测试中进行了广泛的实验,结果表明该方法在ZSD和广义ZSD(Generalized Zero-Shot Detection, GZSD)任务上都超越了之前的最佳方法。

拟解决的问题

  • 现有模型在学习过程中忽视了关于未见类别的可用语义信息,容易偏向已知类别。
  • 原始视觉特征空间由于缺乏区分信息,对于ZSD任务结构不佳。
图1

图1(a): 展示了传统基于嵌入函数的ZSD方法。这些方法依赖于节点到节点的投影(用黑色虚线箭头表示),其中si​和uj分别指代已知和未知类别。在这些传统方法中,学习一个嵌入函数,将视觉特征和语义向量映射到一个共同的嵌入空间,以便可以直接比较。这种方法通常选择由语义嵌入构成的空间作为嵌入空间。

图1(b): 展示了提出的ContrastZSD方法,它通过不同的对比学习策略(用红色和蓝色箭头表示)来改进投影。这些策略在类别标签(例如s1,s2,s3​)和类别相似性(例如m11,m21,m31)的指导下进行,以实现更好的视觉-语义对齐。ContrastZSD不采用传统的映射-转换策略,而是开发了一种映射-对比策略,通过两个语义引导的对比学习子网络来优化视觉特征分布,并同时减轻对已知类别的偏见问题。

在图1中,可以观察到ContrastZSD方法在处理视觉和语义空间的对齐方面更为复杂和细致。它不仅考虑了如何将视觉特征映射到语义空间,而且还通过对比学习机制,利用类别间的相似性信息来指导这一过程,从而提高模型对未见类别的识别能力。这种对比学习方法使得模型在训练期间能够更有效地从已知类别向未知类别迁移知识,进而在零样本目标检测任务中实现更好的性能。

创新之处

  • 提出ContrastZSD,这是首次将对比学习机制应用于ZSD。
  • 引入两个语义引导的对比学习子网络,优化区域特征与语义描述的对齐。
  • 设计了新的对比损失函数,通过显式语义信息进行监督,保证模型的区分性和可迁移性。

方法

包括三个核心组件:区域特征编码子网、边界框回归子网和视觉语义对齐子网:

Region Feature Encoding Subnet(区域特征编码子网络):

  • 这个子网络负责接收原始图像输入,并产生区域提议(Region Proposals)和对象级别的视觉特征。
  • 它使用CNN骨干网络(如ResNet)来生成图像级特征图,然后通过Region Proposal Network(RPN)生成候选对象区域(RoIs)。

Box Regression Subnet(边界框回归子网络):

  • 这个部分负责预测对象位置,通过为生成的区域提议添加合适的偏移量,以使它们与真实坐标对齐。
  • 它使用与Faster R-CNN中相同的边界框回归方法,学习两个中心之间的比例不变转换和宽度与高度的对数比例转换。

Visual-Semantic Alignment Subnet(视觉-语义对齐子网络):

  • 这个子网络包括映射-转换策略,将视觉特征和语义嵌入映射到一个共同的嵌入空间,使它们能够直接比较。
  • 它使用两个映射函数pv(·)ps(·)将视觉特征和语义描述嵌入到联合嵌入空间。

 4.1 区域特征编码子网络

CNN Backbone(CNN骨干网络):作为子网络的第一部分,CNN骨干网络接收原始图像并产生中间卷积激活,形成图像级特征图。论文中使用的是ResNet架构,包含四个卷积块(conv1到conv4),其中conv4模块的输出被视为输入图像的全局特征图。

Region Proposal Network (RPN)(区域提议网络):以全局特征图为输入,RPN首先在特征图的每个滑动窗口位置生成多个锚框(anchor boxes)。论文中设置锚框数量为9(k=9),因此总共生成的锚框数为9×H/16×W/16。

然后,所有锚框被送入两个模块:分类模块和边界框回归模块。分类模块评估每个提议是否为对象(正锚)或背景(负锚),而边界框回归模块预测每个区域提议的坐标偏移。

接下来,在每个滑动窗口位置对正锚点进行排序,然后应用预测偏移量生成一组候选对象建议(RoIs),记为R=\left \{ r_{i} \right \}_{i=1}^{n_{r}}。由于排名靠前的RoI可以是可变大小,因此进一步应用RoI池化层将不同大小的建议的视觉特征投影到固定维表示中。我们表示F=\left [ f_{1},f_{2},...,f_{n_{r}} \right ]\in \mathbb{R}^{n_{r}\times d_{r}}作为 R 对应的特征表示矩阵,其中 f_{i} 是指RoI r_{i} 的视觉特征,d_{r} 是特征维度。该模型的后续部分旨在使用提取的区域特征和类语义构建有效的零样本检测器。

4.2 视觉语义对齐子网

负责将视觉特征与语义信息进行有效对齐,以提高模型对未见类别的识别能力。

4.2.1 映射-转换策略

大多数现有的ZSD方法基于严格的映射-转换策略,其中映射函数是在可见类上学习的,然后直接转移到看不见的类。该策略学习一个映射函数,将视觉特征和辅助语义描述投影到一个联合嵌入空间,使它们能够直接比较。

  • 映射函数通常是一个可学习的变换,它将视觉特征从其原始特征空间转换到语义空间。这个函数可以是一个线性变换或更复杂的非线性变换。
  • 每个类别都有一个语义嵌入,通常是通过使用外部数据源(如Word2Vec或GloVe)生成的,这些嵌入能够捕捉类别的语义信息。

将提取的视觉区域特征投影到语义空间后,采用相容函数S\left ( W_{p}^{T}f_{i},a_{y_{j}} \right )来衡量投影建议r_{i}和类y_{i}之间的匹配度,其中W_{p}\in \mathbb{R}^{d_{r}\times d_{c}}是投影层的可训练权重矩阵。映射函数通常由标准交叉熵损失或最大边际损失进行训练,以促进GroundTruth类和其余类之间的分离。

在测试阶段,在可见类上训练的模型直接推广到不可见对象的检测。给定一个测试样本 r,通过简单地在嵌入空间中选择最匹配的未见类别来执行标签预测,即:

其中 f\in \mathbb{R}^{d_{r}} 表示测试样本 r 的视觉特征。 

4.2.2 映射对比策略

考虑到视觉空间和语义空间之间的巨大差距,我们将公共中间空间视为嵌入空间,以优化视觉特征和语义描述的数据结构。首先,我们使用两个映射函数,即p_{v}\left ( \cdot \right )p_{s}\left ( \cdot \right ),将视觉特征和语义描述分别嵌入到联合嵌入空间中:

其中p_{v}\left ( \cdot \right )p_{s}\left ( \cdot \right )实现为多层感知器(MLP)网络,Wv, Ws为可训练权矩阵,bv, bs为偏置;δ为非线性激活。随后,将联合嵌入空间中映射的视觉特征p_{v}\left ( f_{i} \right )和语义描述p_{s}\left ( a_{y_{j}} \right )送入两个语义引导的对比分支,即区域-类别对比学习(RCCL)和区域-区域对比学习(RRCL),以实现更好的视觉-语义对齐。 

4.3 边界框回归子网

边界框回归的目的是精细调整区域提议的坐标,以最小化预测框与真实边界框之间的差异。

在这项工作中,采用了 Faster R-CNN 中的标准边界框回归分支,因为它与类无关且足够可转移。

子网络接收来自区域特征编码子网络(Region Feature Encoding Subnet)的区域提议特征(RoI features)作为输入。对于每个区域提议,边界框回归子网络预测一组偏移量(offsets),这些偏移量表示从当前提议框到真实边界框的调整。

给定检测到的边界框b_{i}=\left ( x_{i}^{o}, y_{i}^{o}, w_{i}^{o}, h_{i}^{o} \right )及其GroundTruth框坐标\left ( x_{i}^{t}, y_{i}^{t}, w_{i}^{t}, h_{i}^{t} \right ),配置回归器学习两个中心之间的尺度不变变换和宽度与高度之间的对数尺度变换。基底真值偏移量t_{i}^{*}=\left ( t_{ix}^{*},t_{iy}^{*},t_{iw}^{*},t_{ih}^{*} \right )可以计算为:

同时,框回归层以视觉特征f_{i}\in \mathbb{R}^{d_{r}}作为输入,预测坐标偏移量t_{i}^{}=\left ( t_{ix}^{},t_{iy}^{},t_{iw}^{},t_{ih}^{} \right )。随后,我们将所有nr区域建议的回归损失最小化,即 :

其中 smooth_{l_{1}} 表示 Faster R-CNN 中使用的相同平滑 l_{1} 损失,它将预测的区域坐标调整为相应的目标边界框。 

4.4 区域类别对比学习

4.4.1 区域-类别对比学习(RCCL)

RCCL子网络是映射-对比策略的关键部分,它通过对比学习机制,利用类别标签和类别相似性信息,优化模型对未见类别的识别能力。这种学习方式允许模型在训练期间显式地从已知类别向未见类别迁移知识。

Visual-Semantic一致性。在训练阶段,只提供来自已见类别的视觉特征,而对应于已见和未见类别的语义嵌入是可用的。为了实现从可见领域到不可见领域的显性知识转移,我们提出将可见对象的视觉特征与可见类和不可见类进行对比,以区分它们是否一致。回想一下,已经将可视区域建议的视觉特征和所有类嵌入编码到联合嵌入空间中。对于编码为\left \langle p_{v}\left ( f_{i} \right ),p_{s}\left ( a_{y_{i}} \right ) \right \rangle的每个区域-类别对\left ( f_{i},a_{y_{j}} \right ),我们首先融合它们的信息,然后区分融合的一致性。视觉特征p_{v}\left ( f_{i} \right )和语义描述p_{s}\left ( a_{y_{j}} \right )的一致性值可计算为:

其中⊗为视觉语义信息融合的逐元素积运算;g_{s}\left ( \cdot \right )g_{u}\left ( \cdot \right )是两个独立的投影头,分别为可见类和未见类的投影,以实现双路径学习,两者都实现为MLP网络,σ为非线性激活。 

基于一致性的分类分支。给定nr区域建议,我们首先在所有类上得到一致性分数,分别表示为可见和不可见类。然后,我们不仅利用ground truth标签\left \{ c_{i} \right \}_{i=1}^{n},还利用类相似度矩阵S作为监督信号,推导出完整的分类损失为:

其中L_{cls}^{s}L_{cls}^{u}分别表示可见类和不可见类的分类损失;λ是一个权衡参数。更具体地说,L_{cls}^{s}旨在赋予模型区分不同可见类的判别能力,可以表述为一般的交叉熵损失,即:

为了实现显式知识转移,我们进一步利用S中的类相似度信息作为附加监督信号。对于每个训练样本,O^{u} 中预测的看不见的类概率应该与 S 中预定义的相应看不见的类相似度一致。因此,L_{cls}^{u}转化为以下二元交叉熵损失: 

4.4.2 区域-区域对比学习(RRCL)

RRCL子网络通过对比学习优化视觉数据结构,使其在共同嵌入空间中更具区分性。这个子网络利用类别标签信息,将同一类别的样本在嵌入空间中拉近,同时将不同类别的样本推远。

RRCL 使用一个嵌入网络 h_{v}\left ( \cdot \right ),通常是一个多层感知器(MLP)网络,将映射后的视觉特征p_{v}\left ( f_{i} \right )进一步映射到新的特征表示z_{i}:

与只关注实例判别的传统自监督对比学习不同,本文旨在通过有效利用标签信息来实现类别判别。对于每个候选区域r,我们将与r来自同一类的候选区域视为正样本,将同一批图像中生成的所有其他候选区域视为负样本。以编码为zi的第i个候选区域为例,假设存在N_{i}^{p}个正候选区域\left \{ z_{1}^{+},z_{2}^{+},...,z_{N_{i}^{p}}^{+} \right \}N_{i}^{n}个负样本\left \{ z_{1}^{-},z_{2}^{-},...,z_{N_{i}^{n}}^{-} \right \}。每个正样本z^{+}z_{i}具有相同的标签,而z^{-}的类别标签与z_{i}不同。一对边界框\left ( z_{i},z_{j}^{+} \right )的区域-区域对比损失形式如下: 

其中 τ 是默认温度参数集为 0.1,因此,n_{r}区域建议的总对比损失L_{con}^{r}Lr con可以表示为 :

利用这个公式,来自同一类的区域特征被拉近,而来自不同类的实例被推开得更远,从而产生更可区分的视觉数据结构。

4.5 训练和推理细节

4.5.1 训练细节 

ContrastZSD模型采用端到端训练方法,这意味着所有组件(包括区域特征编码网络、边界框回归网络和视觉-语义对齐网络)在同一个框架下同时进行训练。

模型的底层网络(如CNN骨干网络)通常使用在ImageNet数据集上预训练的权重初始化,以利用迁移学习的优势。

RPN使用标准的分类和回归损失进行训练,以生成高质量的区域提议,即使在没有语义信息的情况下也能检测到未见类别的对象。

模型训练使用一个多任务损失函数,结合了分类损失、边界框回归损失和对比损失,以优化模型的各个部分。

4.5.2 推理细节

  • 在推理阶段,模型首先接收测试图像,并通过训练好的区域特征编码子网络生成区域提议。
  • 对于每个区域提议,使用模型提取视觉特征,并由边界框回归子网络预测坐标偏移量。
  • 利用训练好的映射函数和对比学习子网络,将视觉特征和语义嵌入映射到共同的嵌入空间,并进行对齐。
  • 基于对齐后的特征,模型预测每个区域提议属于各个类别的概率,包括已知和未知类别。
  • 将已知类别和未知类别的概率分数融合,以确定最终的类别预测分数。
  • 使用NMS去除重叠的预测框,保留最佳的预测结果,并根据交并比(IoU)阈值进行筛选。
  • 最终,模型输出每个对象的类别标签和相应的边界框坐标。

结论

ContrastZSD通过引入对比学习机制,有效地提高了零样本目标检测的性能。该框架不仅在ZSD任务上表现优异,也在更具有挑战性的GZSD任务上取得了良好的结果。实验验证了所提方法在不同数据集上的有效性,并在多个评价指标上超越了现有的最先进方法。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值