阅读: 2023/6/2 15:41:10
以下文章来源于商汤学术 ,作者陈泽人
导读
南洋理工大学-商汤科技联合研究中心S-Lab、商汤科技、北京航空航天大学的研究团队在CVPR 2023中联合提出了一种针对DETR检测算法中Transformer结构的自监督学习算法Siamese DETR。
现有的大多数自监督学习方法主要针对CNN结构设计,很难将其高效地迁移到DETR/Transformer结构上。团队结合DETR中为端到端目标检测任务设计的cross-attention机制和多视图对比学习方法提出了两个代理任务:Multi-View Region Detection和Multi-View Semantic Discrimination,使模型能够学习到适用于检测任务的view-invariant特征。
Siamese DETR在多个上下游数据集上使用DETR及其改进结构(如Deformable DETR/DN-DETR等)进行验证,超越了现有的其他方法。代码现已开源。
论文名称:Siamese DETR
问题和挑战
基于Transformer结构的DETR算法在目标检测任务中展现出了巨大的潜力[1],但依赖于大量优质标注仍然是阻碍DETR以及其他检测算法取得良好性能的关键问题之一。
一个解决方案是使用自监督学习方法在已有大量标注的上游数据集(如ImageNet)中对模型进行预训练,再迁移到标注不足的下游数据集中进行微调。
现有的大多数自监督学习算法主要针对CNN结构设计,没有针对DETR中为端到端目标检测进行设计的Decoder模块进行考虑,因此它们很难高效地迁移到DETR中。
最近针对DETR的自监督学习方法有了一些新的研究进展,如UP-DETR提出了一种基于query patch的自监督检测方法[2],即从
中随机裁剪出一块区域,再由模型预测其位置;DETReg利用Selective Search筛选有物体的区域,打上伪标签后进行学习。
这些方法在下游数据集上取得了一些不错的性能,但仍然存在一些问题。此外,这些方法都沿用了单视图的预训练框架,如图1(a)所示。
图1(a)单视图框架;(b)本文提出的多视图框架
考虑到多视图对比学习的有效性已经在很多研究中被证明,我们将其与DETR中的cross-attention(以下简称CA)机制进行结合,提出了Siamese DETR。
方法介绍
我们会简单回顾DETR算法和CA机制,并结合CA机制介绍Siamese DETR中提出的两个自监督代理任务。
DETR包含两部分,用于特征抽取的CNN和进行检测的Transformer,Transformer由encoder-decoder结构组成。
Decoder构造了一组object query,代表每一个待检测物体。Decoder中的CA模块会使用object query对encoder得到的全局特征 加权求和,完成对每个待检测物体的特征编码,如下所示。
式中 、 、 由下式计算得到:
结合CA机制和多视图对比学习,我们从定位能力和分类能力两个方面对DETR的自监督算法进行设计,提出了Multi-View Region Detection和Multi-View Semantic Discrimination两个代理任务。
因为我们的主要目标是预训练Transformer,因此我们沿用UP-DETR中的设定,使用了预训练好的CNN权重作为DETR的特征抽取器。
Multi-View Region Detection
给定一张
,首先使用Edgeboxes生成unsupervised proposal,然后采样两个不同的图像增强构造两个视图 和 ,这两个视图视觉上不同但语义上相似,并且保证对应视图中都包含同一个proposal的区域框 ,如图2所示。
图2 构造多视图
对于某一个视图 ,我们关注的重点是 中的区域 在 中的哪个位置 。为此,我们设计了Multi-View Cross-Attention。
具体来说,将 中的区域特征 加和到 对应的object query上,此时有了 的条件输入后,object query会更倾向于找到 上与 所在区域更相关的特征 ,即:
我们使用 预测 区域在 上的具体位置,进行Multi-View Region Detection。我们仿照DETR使用匈牙利匹配和L1/gIoU损失进行训练。
Multi-View Semantic Discrimination
除了训练模型的定位能力,我们还设计了Multi-View Semantic Discrimination对模型的下游分类能力进行预训练。为了增强全局语义信息,我们会最大化 和 经过encoder得到的全局信息 和 的相似度。
这里我们使用一个三层MLP和对称的余弦相似度构造全局discrimination损失。
对于局部的语义信息,考虑到预训练好的CNN已经具备了良好的分类能力,一个简单的思路是使用 的区域特征 ,并将其与 进行对齐。
但直接使用 进行对齐存在两个问题:
一个是 作为条件输入,经过encoder和decoder的编解码后,重新与 对齐,会使得decoder退化成一个CNN特征的恒等映射,降低预训练的效果;
另一个问题是 是从CNN特征上用RoIAlign抽取的特征,会包含更多改区域周围甚至全局的信息,因为CNN中的卷积感受野是不断增大的,会使得 中的局部语义信息不充足。
为了解决上述问题,我们直接从
中截取对应区域的部分后再输入CNN抽取特征 ,与decoder输出特征进行对齐。
实验结果
为了验证Siamese DETR的性能和泛用性,我们挑选了DETR以及几个DETR改进结构:Vanilla DETR、Conditional DETR和Deformable DETR,在多个上下游数据集上进行评测。具体包括:ImageNet → COCO、ImageNet → PASCAL VOC和COCO → PASCAL VOC。结果如表1和表2所示。
表1 迁移到COCO上的评测结果
表2 迁移到PASCAL VOC上的评测结果
我们也对使用的unsupervised proposal进行了消融实验,结果如表3所示。
表3 不同unsupervised proposal的影响
此外,我们也验证了Siamese DETR在更少数据量时的性能,如图3所示。
图3 Siamese DETR在10%/30%/50%/70%数据下的性能
以上实验结果很好地证明了模型经由Siamese DETR预训练后迁移到下游数据集的有效性和算法的泛用性。
传送门
论文地址
https://arxiv.org/abs/2303.18144
代码地址
https://github.com/Zx55/SiameseDETR
转自:“arXiv每日学术速递”微信公众号
如有侵权,请联系本站删除!