Press "Enter" to skip to content

ECCV 2022 通往数据高效的Transformer目标检测器

大家好!本文介绍一下我们中稿今年ECCV的一项工作:Towards Data-Efficient Detection Transformers。对目标检测模型所需要的数据进行标注往往是十分繁重的工作,因为它要求对图像中可能存在的多个物体的位置和类别进行标注。本文旨在减少Detection Transformer类目标检测器对标注数据的依赖程度,提升其数据效率。

 

Detection Transformer于2020年ECCV被提出,作为一种新兴的目标检测方法,Detection Transformers以其简洁而优雅的框架取得了越来越多的关注。关于Detection Transformer的细节和后续的发展历程,本文并不作展开介绍,感兴趣的小伙伴可以参考以下知乎文章:

 

研究动机

 

Detection Transformer的开山之作是DETR[1],在常用的目标检测数据集COCO[2]上,DETR取得了比Faster RCNN[3]更好的性能,但其收敛速度显着慢于基于CNN的检测器。为此,后续的工作大多致力于提升DETR的收敛性[4,5,6,7]。在COCO数据集上这些后续方法能够在训练代价相当的情况下取得比Faster RCNN更好的性能,表现出了Detection Transformers的优越性。

 

图1:不同目标检测模型在数据量充足的COCO和小数据集Cityscapes上的性能对比,模型名称下方的数字表示训练周期数。

目前的研究似乎表明Detection Transformers能够在性能、简洁性和通用性等方面全面超越基于CNN的目标检测器。但我们研究发现,只有在COCO这样训练数据丰富(约118k训练图像)的数据集上Detection Transformers能够表现出性能上的优越,而当训练数据量较小时,大多数Detection Transformers的性能下降显着。如图1所示,在常用的自动驾驶数据集Cityscapes[8](约3k训练图像)上,尽管Faster RCNN能够稳定的取得优良的性能,大多数Detection Transformers的性能显着下降。并且尽管不同Detection Transformers在COCO数据集上性能差异不到2AP,它们在小数据集Cityscapes上的性能有大于15AP的显着差异。

 

这些发现表明Detection Transformers相比于基于CNN的目标检测器更加依赖标注数据(data hungry)。然而标注数据的获得并非易事,尤其是对于目标检测任务而言,不仅需要标出多个物体的类别标签,还需要准备的标出物体的定位框。同时,训练数据量大,意味着训练迭代次数多,因此训练Detection Transformers需要消耗更多的算力,增加了碳排放。可见,要满足现有Detection Transformers的训练要求需要耗费大量的人力物力。

 

消融探究

 

表1:从SparseRCNN(表中缩写为SRCN)到DETR的模型转化

为了寻找影响Data-efficiency的关键因素,我们将data efficient的RCNN逐步转化为data hungry的Detection Transformer检测器,来消融不同设计的影响。值得一提的是,ATSS[9]和Visformer[10]采用了类似的模型转化实验,但ATSS旨在寻找anchor free检测器和anchor-based检测器之间的本质区别,Visformer旨在寻找对分类任务有利的transformer backbone结构,而我们致力于寻找影响Detection Transformers数据效率的主要因素。

 

为了从模型转化中获得insightful的结果,我们需要选择合适检测器展开实验。综合一下因素,我们选择Sparse RCNN和DETR来展开实验:(1)它们分别是RCNN和Detection Transformer中有代表性的检测器;(2)二者有很多相似的地方,比如相同的优化器、标签匹配、损失设计、数据增强和端到端等,这有利于我们尽可能排除其他影响因素的干扰,专注于核心的区别;(3)二者在data efficiency上存在显着差异。模型转化过程如表1所示,接下来,我们挑选模型转化中的关键步骤进行介绍:

 

去除FPN。 由于CNNs具有局部性,FPN中能够以较小的计算代价实现多尺度特征融合,从而在少量数据的情况下提升目标检测的性能。对比之下,DETR中的attention机制具有全局感受野,导致其在高分辨率的特征图上需要消耗大量的运算资源,因此在DETR上做多尺度特征的建模往往是难以实现的。在本步中,我们去除RCNN中的FPN,并且与DETR一致,我们仅将backbone中32倍下采样的特征送入检测头做RoI Align和后续解码和预测。和预期的一样,去除FPN的多尺度建模作用,在50代的训练周期下模型性能下降显着by 7.3 AP。

 

加入Transformer编码器。 在DETR中,transformer编码器可以看作是检测器中的neck,用来对backbone提取的特征做增强。在去除FPN neck后,我们将DETR的编码器加入模型得到表1中的Net3。有趣的是,Net3在50个训练周期下的性能下降,而在300个训练周期下性能有所提升。我们猜想像ViT[11]一样,解码器中的attention具有平方复杂度,因此需要更长的训练周期来收敛并体现其优势。

 

将动态卷积替换为自注意力机制。 SparseRCNN中一个非常有趣的设计是解码器中的动态卷积,它的作用和DETR中的cross-attention作用十分相似,即根据图像特征和特定object candidate的相似性,自适应地将图像中的信息聚合到object candidate中。在本步骤中,我们将动态替换为cross-attention,对应的结果如表中Net4所示。反直觉的,参数量大并不一定会使模型更依赖数据。事实上,含有大量参数的动态卷积能够比参数量很小的cross-attention表现出了更好的数据效率。

 

去除RoIAlign。 SparseRCNN和RCNNs family中的其他检测器一样根据目标检测的候选框对图像中指定区域的特征做采样,再基于采样后的特征做预测。对比之下,DETR中content query直接从图像的全局特征中聚合特定物体的信息。在本步骤,我们去除RoI Align操作。可以看到,模型的性能发生了显着下降。我们猜想从全局特征中学习如何关注到包含特定物体的局部区域是non-trivial的,因此模型需要从更多的数据和训练周期中学习到locality的特性。而在见过的数据量小的情况下性能会显着下降。

 

去除初始的proposal。 最后,DETR直接预测normalized检测框中心坐标和宽度和高度,而RCNNs预测gt检测框相较于初始proposal检测框的offsets。在本步骤中,我们消除此差异。这一微小的区别使得模型性能显着下降,我们猜想这是因为初始的proposal能够作为一种空间位置上的先验,帮助模型关注特定的物体区域,从而降低了从大量数据中学习关注局部区域的需要。

 

总结: 综上,可以看出以下因素对模型的data efficiency其关键作用:(1)从局部区域的稀疏特征采样,例如采用RoIAlign;(2)多尺度特征融合,而这依赖于稀疏特征采样使得其运算量变得可接受;(3)相较于初始的空间位置先验作预测。其中(1)和(3)有利于模型关注到特定的物体区域,缓解从大量数据中学习locality的困难。(2)有利于充分利用和增强图像的特征,但其也依赖于稀疏特征。

 

值得一提的是,在DETR family中,Deformable DETR[4]是一个特例,它具有较好的数据效率。而我们基于Sparse RCNN和DETR的模型转化实验得到的结论同样也能够说明为什幺Deformable DETR的具有较好的数据集效率:Multi-scale Deformable Attention从图像局部区域内做特征的稀疏采样,并运用了多尺度特征,同时模型的预测是相对于初始的reference point的。

 

我们的方法

 

模型增强

 

图2:我们的数据高效Detection Transformer模型结构。我们力求在尽可能少改动原模型的情况下,提升其数据效率。模型的backbone、transformer编码器和第一个解码器层均未变化

局部特征采样。 从模型转化中的分析中可以看出,从局部物体区域做特征采样对实现数据效率是至关重要的。幸运的是,在Detection Transformer中,由于Deep Supervision[12]的存在,每一层解码器层中都为我们提供了物体检测框的信息。因此,我们可以在不引入新的参数的情况下,借助这些物体定位框来做局部特征采样。尽管可以采用更成熟的特征采用方法,我们采用最常用的RoI Align。从第二层解码器层开始,我们借助前一层解码器的输出来做稀疏特征采样。

 

迭代式预测和初始参考点。 此外,Detection Transformer中级联的结构很自然地适合使用迭代式的检测框refinement来提升检测的性能。我们在模型转换中的实验也表明,迭代式的预测以及相对于初始的空间参考做预测有利于实现更准确的目标检测。为此,我们引入检测框的迭代式refinement和初始参考点。

 

多尺度特征融合。 多尺度特征的运用有利于特征的高效利用,能够在数据量小的情况下提升检测性能。而我们的稀疏特征采样也使得在Detection Transformer中使用多尺度特征成为可能。尽管更成熟的多尺度融合技术可能被使用,我们仅仅利用bbox作为指导,对不同尺度的特征做RoIAlign,并将得到的序列concatenate在一起。

 

标签增强

 

图3:(a)现有Detection Transformer的标签分配方式;(b)使用标签增强后的标签分配。圆圈和矩形框分别表示模型的预测和图片上的物体标注。通过复制橙色方框表示的物体标注,蓝色圆圈表示的模型预测也在标签分配中匹配到了正样本,因此得到了更丰富的监督信号。

尽管一对一的标签匹配形式简单,并能够避免去重过程,但也使得在每次迭代中,只有少量的检测候选能够得到有效的监督。模型不得不从更大量的数据或者更多的训练周期中获得足够的监督信号。为了解决这一问题,我们提出一种标签增强策略,通过在二分图匹配过程中重复正样本,来为Detection Transformer提供更丰富的监督信号,如图3所示。

 

在实现过程中,我们考虑两种不同的方式来复制正样本的标签,即 (1)固定重复次数 (Fixed Repeat Time):我们对所有正样本标签重复相同的次数; (2)固定正负样本标签的比例 (Fixed positive-negative ratio):我们对正样本的标签进行重复采样,最终保证标签集合中正样本的比例固定。默认的,我们采用固定重复两次的标签增强方式。

 

实验

 

表2:不同方法在小数据集Cityscapes上的性能比较

在本部分,我们首先将我们的方法和现有的Detection Transformer进行比较。如表2所示,大部分Detection Transformer面临数据效率低下的问题。而我们的DE-CondDETR在对CondDETR模型做微小改动的情况下能够取得和Deformable DETR相当的数据效率。而辅助以标签增强提供的更丰富的监督,我们的DELA-CondDETR能够取得比Deformable DETR更佳的性能。同样的,我们的方法也能够与其他Detection Transformer结合来显着提升其data efficiency,例如我们的DE-DETR和DElA-DETR能够在以仅仅50周期取得比DETR 500个周期要显着优越的性能。

 

图4:不同方法在下采样的COCO数据集上的性能比较。横轴表示数据下采样的比例(对数scale)。

此外我们对COCO 2017中的训练数据进行训练图像0.1,0.05,0.02和0.01倍的采样,来观察模型在不同数据量下的性能。如图4所示,在不同的训练数据量下,我们的方法始终能够取得显着优于基线方法的性能。特别的,仅用0.01倍的数据DELA-DETR的性能显着优于使用五倍数据的DETR基线。类似的,DELA-CondDETR性能始终优于用两倍数据训练的CondDETR基线。

 

表3:对模型中不同组件的消融实验

我们首先消融我们方法中各个模块的作用,如表3所示。使用局部特征采样和多尺度特征均能够显着提升模型的性能,分别带来8.3 AP和6.4 AP的提升。此外,使用标签增强能够进一步带来2.7 AP的性能提升。并且单独使用标签增强也能够带来2.6的性能提升。

 

对标签增强的消融研究

如方法部分中讨论的,我们考虑了两种标签增强策略。包括固定重复次数和固定正负样本比例。在本部分,我们对这两种策略进行消融。如上表中左表所示,使用不同的固定重复倍数均能够提升DE-DETR的性能,但随重复次数增加,性能提升呈下降趋势。我们默认采用重复正样本标签2次。此外,如右表所示,尽管使用不同正负样本比例均能带来性能提升,在正负样本比例为1:3时,其取得的性能最佳,有趣的是,这也是RCNN系列检测器如Faster RCNN中最常用正负样本采样比例。

 

在训练数据充足的COCO 2017上的性能比较,所有模型都训练50个周期

尽管以上实验说明了我们的方法能够在数据量有限的情况下显着提升模型性能,它并不能表明我们的方法在数据量充足时依然有效。为此,我们在数据量充足的COCO2017上测试我们方法的性能。有趣的是,我们的方法不仅不会降低模型在COCO 2017上的性能,还能带来不小的提升。具体来说,DELA-DETR和DELA-CondDETR分别相较于它们的baseline提升8.1AP和2.8AP。

 

图5:不同模型在Cityscapes数据集上的收敛曲线,横轴表示训练周期数,纵轴表示mAP

最后,为了对本文方法带来的性能提升有一个直观的感受,我们提供了不同DETR变种在Cityscapes数据集上的收敛曲线,如图5所示。可以看出,我们的方法能够以更少的训练代价取得更加优越的性能,展示了其优越的数据效率。更多实验结果请参考原文及其附加材料。

 

总结

 

在本文中,我们指出了Detection Transformer数据效率低下的问题,并通过逐步的模型转化找了影响数据效率的关键因素。随后,我们以尽可能小的模型改动来大幅提升现有Detection Transformer的数据效率,并提出一种标签增强策略进一步提升其性能。随着Transformer在视觉任务中越发流行,我们希望我们的工作能够激发社区探究和提升Transformer在不同任务上的数据效率。

 

我们的论文和代码链接如下,欢迎大家关注我们的工作~

 

论文链接:

 

代码链接:

 

参考文献

 

 

    1. End-to-end Object Detection with Transformers

 

    1. Microsoft COCO: Common Objects in Context

 

    1. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

 

    1. Deformable DETR: Deformable Transformers for End-to-End Object Detection

 

    1. Conditional DETR for Fast Training Convergence

 

    1. PnP-DETR: Towards Efficient Visual Analysis with Transformers

 

    1. Fast Convergence of DETR with Spatially Modulated Co-Attention

 

    1. The Cityscapes Dataset for Semantic Urban Scene Understanding

 

    1. Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection

 

    1. Visformer: The Vision-Friendly Transformer

 

    1. An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale

 

    1. Deeply-Supervised Nets

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注