【DINO】DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection

摘要


提出了DINO 。进行了以下改良:
1、采用对比方式进行去噪训练

  • 去噪训练:在训练过程中,模型会接触到一些带有噪声的数据(例如错误标注或不准确的边界框)。去噪训练的目的是让模型学会区分噪声数据和真实数据,从而提高模型的鲁棒性和准确性。
  • 对比方式:通过对比噪声数据和真实数据,模型可以更好地学习到数据的特征

2、混合查询选择方法进行锚框初始化:

  • DINO采用了多种策略来选择和初始化这些查询,而不是单一的初始化方法。这种混合方法可以更好地覆盖不同的目标特征,提高模型的检测性能。

3、DINO在框预测时采用了两次前瞻机制

  • 模型在预测边界框时,会考虑两次前向传播的信息,从而更准确地预测目标的位置和大小。这种方法可以提高框预测的精度和稳定性。

取得的成果是:1、以resnet50为backbone时,在24个周期就能达到51.3AP,和之前的Detr类模型比显著提升。2、使用SwinL主干网络并在Objects365数据集上进行预训练后,在COCO val2017(63.2AP)和test-dev(63.3AP)上均取得了最佳结果。

引言

具体来说,通过改进去噪训练、查询初始化和框预测,我们基于DN-DETR、DAB-DETR和可变形DETR设计了一种新的类似DETR的模型。我们将我们的模型命名为DINO(带有改进的去噪锚框的DETR)。


  1. DN-DETR:主要改进点是去噪训练和二分图匹配。在训练过程中DN-DETR通过引入噪声数据(例如错误的标签和边界框),来增强模型的鲁棒性。通过去噪训练,DN-DETR能够更稳定的进行二分图匹配,避免了在训练过程中出现的匹配不稳定问题,这种改进使得模型在训练时更加高效,收敛速度快。
  2. DAB-DETR:带有动态锚框的DETR,它将查询表述为动态锚框,这些动态锚框在解码器的每一层中逐步细化,从而更好的适应不同目标的形状和大小,这种动态细化过程使得模型能够更准确地预测目标的位置和大小。
  3. Deformable DETR:可变形DETR引入了可变形注意力机制,这种机制允许模型在特征图上进行不规则的采样,从而更好地捕捉目标的形状和边界。与传统的注意力机制相比,可变形注意力可以更灵活地处理目标的变形和不规则形状,提高了模型的特征提取能力和检测精度。

基于先前的方法:作为一款类似DETR的模型,DINO包含一个主干网络、一个多层Transformer编码器、一个多层Transformer解码器和多个预测头。按照DAB-DETR的做法,我们将解码器中的查询表述为动态锚框,并在解码器层间逐步细化它们。按照DN-DETR的做法,我们在Transformer解码器层中加入带有噪声的真实标签和框,以帮助在训练期间稳定二分图匹配。我们也采用了可变形注意力机制,因为它具有计算效率高的优势。

在先前方法上的改进:首先,为了改进一对一匹配,我们通过同时添加相同真实目标的正样本和负样本,提出了对比去噪训练。在给相同真实目标框添加两种不同的噪声后,我们将噪声较小的框标记为正样本,另一个标记为负样本。对比去噪训练有助于模型避免对同一目标产生重复输出。其次,查询的动态锚框表述将类似DETR的模型与经典的两阶段模型联系起来。因此,我们提出了一种混合查询选择方法,有助于更好地初始化查询。我们从编码器的输出中选择初始锚框作为位置查询,类似于之前的研究。然而,我们仍然将内容查询保持为可学习的,鼓励第一层解码器关注空间先验。第三,为了利用后续层中提炼的框信息来帮助优化相邻早期层的参数,我们提出了一种新的两次前瞻方案,用后续层的梯度来修正更新后的参数。

我们总结我们的贡献如下:

  1. 我们设计了一种新的端到端类似DETR的目标检测器,采用了几种新技术,包括对比DN训练、混合查询选择和DINO模型不同部分的两次前瞻。

  2. 我们进行了大量的消融研究,以验证DINO中不同设计选择的有效性。结果表明,DINO在12个周期内实现了49.4 AP,在24个周期内实现了51.3 AP,使用ResNet-50和多尺度特征,显著优于之前的最佳类似DETR的模型。特别是,经过12个周期训练的DINO在小目标上显示出更显著的改进,提高了7.5 AP。

  3. 我们证明了,无需任何技巧,DINO可以在公共基准测试中实现最佳性能。在使用SwinL主干网络在Objects365数据集上进行预训练后,DINO在COCO val2017(63.2 AP)和测试开发(63.3 AP)基准测试中都取得了最佳结果。据我们所知,这是端到端Transformer检测器首次在COCO排行榜上超越最先进的模型。

相关工作

1)DETR和它的变体

DETR没有使用手工设计的组件,如锚框设计的非极大值抑制(NMS),许多后续论文试图解决由于解码器交叉注意力而导致的DETR训练收敛缓慢的问题。例如,孙等人设计了一个仅使用编码器的DETR,不使用解码器。戴等人提出了一个动态解码器,专注于来自多个特征层的重要区域。

另一条研究路线是深入理解DETR中的解码器查询。具体的见“方法:1.序言”的内容,那里说的更清楚。

2)目标检测的大规模预训练

大规模预训练对自然语言处理[10]和计算机视觉[27]都产生了重大影响。如今,最佳性能的检测器大多是在大规模数据上预训练的大主干网络实现的。例如,Swin V2[22]将其主干网络的参数规模扩展到30亿,并使用7000万私人收集的图像对其模型进行预训练。Florence[40]首先使用9亿私人整理的图像-文本对对其主干网络进行预训练,然后使用900万带有标注或伪框的图像对其检测器进行预训练。相比之下,DINO仅使用公开可用的SwinL[23]主干网络和公共数据集Objects365[33](170万张标注图像)就取得了最佳结果。

方法

1.序言

如 conditional DETR和条件DETR研究所示,DETR中的查询由两部分组成:位置部分和内容部分,本文将这两部分分别称为位置查询和内容查询。


第一种技术:

DAB-DETR [21]明确地将DETR中的每个位置查询表述为一个4D锚框(x,y,w,h),其中x和y是框的中心坐标,w和h分别对应其宽度和高度。这种明确的锚框表述使得在解码器中逐层动态细化锚框变得容易。

DN-DETR [17]引入了一种去噪(DN)训练方法,以加速类似DETR模型的训练收敛。研究表明,DETR中的收敛速度慢是由二分图匹配的不稳定性引起的。为缓解这一问题,DN-DETR建议将添加了噪声的真实标签和框输入Transformer解码器,并训练模型重建真实标签和框。由于DN-DETR遵循DAB-DETR将解码器查询视为锚框,因此添加噪声的真实框可以被视为一个特殊锚框,其附近有一个真实框,因为λ(它是控制噪声规模的超参数)通常很小。除了原始的DETR查询外,DN-DETR还添加了一个DN部分,将添加了噪声的真实标签和框输入解码器,以提供辅助DN损失。DN损失有效地稳定并加快了DETR的训练速度,可以应用于任何类似DETR的模型。

第二种技术:

可变形DETR [41]是另一种早期工作,旨在加快DETR的收敛速度。为计算可变形注意力,它引入了参考点的概念,使得可变形注意力可以关注参考点周围的少量关键采样点。参考点的概念使得开发几种技术来进一步提高DETR性能成为可能。


第一种技术是查询选择,它直接从编码器中选择特征和参考框作为解码器的输入。第二种技术是在两个解码器层之间进行迭代边界框细化,并精心设计梯度分离。我们在本文中将这种梯度分离技术称为“前瞻一次”。

继DAB-DETR和DN-DETR之后,DINO将位置查询表述为动态锚框,并在训练中添加额外的DN损失。需要注意的是,DN-DETR也从可变形DETR中采用了几种技术以实现更好的性能,包括其可变形注意力机制和在层参数更新中的“前瞻一次”实现。DINO进一步采用了可变形DETR中的查询选择思想,以更好地初始化位置查询。在此强大基线的基础上,DINO引入了三种新方法以进一步提高检测性能,这些方法将在第3.3节、第3.4节和第3.5节中分别描述。

2. model总览


图2. 我们提出的DINO模型的框架。我们的改进主要在Transformer编码器和解码器中。在最后一层中选择顶部K个编码器特征来初始化Transformer解码器的位置查询,而内容查询则保持为可学习参数。我们的解码器还包含一个对比去噪(CDN)部分,其中既有正样本也有负样本。


作为一种类似DETR的模型,DINO是一个端到端的架构,包含一个主干网络、一个多层Transformer编码器、一个多层Transformer解码器以及多个预测头。整体流程如图2所示。

1、给定一张图像,我们使用像ResNet或Swin Transformer这样的主干网络提取多尺度特征,然后将它们与相应的位置嵌入一起输入到Transformer编码器中

2、经过编码器层的特征增强后,我们提出了一种新的混合查询选择策略,以初始化解码器的位置查询作为锚框。请注意,这种策略并不初始化内容查询,而是让它们保持可学习状态。更多关于混合查询选择的细节将在第3.4节中介绍。

3、在初始化的锚框和可学习的内容查询的基础上,我们使用可变形注意力机制结合编码器输出的特征,并逐层更新查询。最终输出由经过细化的锚框和由细化的内容特征预测的分类结果组成。

4、与DN-DETR类似,我们有一个额外的DN分支来进行去噪训练。除了标准的DN方法外,我们还通过考虑难负样本提出了一种新的对比去噪训练方法,这将在第3.3节中介绍。

5、为了充分利用后续层中提炼的框信息来帮助优化相邻早期层的参数,我们提出了一种新的两次前瞻方法在相邻层之间传递梯度,这将在第3.5节中描述。

3. 对比去噪训练

DN-DETR在稳定训练和加速收敛方面非常有效。借助DN查询,它学会了基于附近有真实框(GT)的锚框进行预测。然而,它缺乏为附近没有目标的锚框预测“无目标”的能力。为了解决这个问题,我们提出了一种对比去噪(CDN)方法来拒绝无用的锚框。

DN-DETR有一个超参数λ来控制噪声规模。生成的噪声不超过λ,因为DN-DETR希望模型从适度加噪的查询中重建真实情况(GT)。在我们的方法中,我们有两个超参数λ1和λ2,其中λ1 < λ2。如图3中的同心正方形所示,我们生成两种类型的CDN查询:正查询和负查询。内正方形内的正查询噪声规模小于λ1,预期会重建它们对应的真实框。内外正方形之间的负查询噪声规模大于λ1且小于λ2。它们预期会预测“无目标”。我们通常采用较小的λ2,因为更接近真实框的难负样本更有助于提高性能。

如图3所示,每个CDN组都有一组正查询和负查询。如果一张图像有n个真实框,一个CDN组将有2×n个查询,每个真实框生成一个正查询和一个负查询。与DN-DETR类似,我们也使用多个CDN组来提高我们方法的有效性。重建损失是用于框回归的l1和GIOU损失,以及用于分类的焦点损失[19]。将负样本分类为背景的损失也是焦点损失。

分析:我们的方法之所以有效,是因为它可以抑制混淆并为预测边界框选择高质量的锚框(查询)。当多个锚框靠近一个目标时,会发生混淆。在这种情况下,模型很难决定选择哪个锚框。混淆可能导致两个问题。第一个问题是重复预测。尽管类似DETR的模型可以借助基于集合的损失和自注意力[3]来抑制重复框,但这种能力是有限的。如图8左图所示,当用我们的CDN查询替换DN查询时,箭头指向的男孩有3个重复预测。有了CDN查询,我们的模型可以区分锚框之间的微小差异,避免重复预测,如图8右图所示。第二个问题是可能会选择一个离真实框更远的不想要的锚框。尽管去噪训练[17]已经提高了模型选择附近锚框的能力,但CDN通过教导模型拒绝更远的锚框,进一步提高了这种能力。

4. 混合查询选择

在DETR [3]和DN-DETR [17]中,解码器查询是静态嵌入,不从单个图像中获取任何编码器特征,如图5 (a)所示。它们直接从训练数据中学习锚框(在DN-DETR和DAB-DETR中)或位置查询(在DETR中),并将内容查询设置为全零向量。

可变形DETR [41]学习位置和内容查询,这是静态查询初始化的另一种实现方式。为了进一步提高性能,可变形DETR [41]有一个查询选择变体(在[41]中称为“两阶段”),它从最后一层编码器中选择顶部K个编码器特征作为先验来增强解码器查询。如图5 (b)所示,位置和内容查询都是通过所选特征的线性变换生成的。此外,这些选定的特征被输入到一个辅助检测头中以获得预测框,这些预测框用于初始化参考框。同样,Efficient DETR [39]也根据每个编码器特征的目标性(类别)分数选择顶部K个特征。

我们模型中查询的动态4D锚框表述使其与解码器位置查询密切相关,可以通过查询选择来改进。我们遵循上述做法并提出了一种混合查询选择方法。如图5 (c)所示,我们仅使用与所选顶部K个特征相关的位置信息来初始化锚框,但像以前一样保留内容查询为静态。请注意,可变形DETR [41]利用顶部K个特征不仅增强位置查询,还增强内容查询。由于选定的特征是初步的内容特征,没有进一步的细化,它们可能含糊不清,对解码器产生误导。例如,选定的特征可能包含多个对象,或者只是某个对象的一部分。相比之下,我们的混合查询选择方法仅使用顶部K个选定的特征增强位置查询,并像以前一样保留内容查询为可学习的。它有助于模型使用更好的位置信息从编码器中汇集更全面的内容特征。

5.Look Forward Twice

在可变形DETR中,边界框的迭代细化通过阻断梯度反向传播来稳定训练。我们称这种方法为“前瞻一次”(Look Forward Once),因为第i层的参数更新仅基于第i层的辅助损失(如图6(a)所示)。然而,我们推测后续层改进后的边界框信息可能更有助于纠正其相邻早期层的边界框预测。因此,我们提出了一种称为“前瞻两次”(Look Forward Twice)的方法来进行边界框更新,其中第i层的参数受到第i层和第(i+1)层损失的影响(如图6(b)所示)。对于每个预测的偏移量∆bi,它将被用于两次更新边界框,一次用于b′i,另一次用于b(pred)i+1,因此我们称我们的方法为“前瞻两次”。

预测边界框b(pred)i的最终精度由两个因素决定:初始边界框bi−1的质量和边界框的预测偏移量∆bi。前瞻一次方案仅优化后者,因为梯度信息从第i层到第(i−1)层被阻断。相比之下,我们同时改进初始边界框bi−1和预测的边界框偏移量∆bi。一种简单的方法是用下一层的输出∆bi+1监督第i层的最终边界框b′i。因此,我们使用b′i和∆bi+1的和作为第(i+1)层的预测边界框。


  • Look Forward Once(前瞻一次):在可变形DETR中,第i层的参数更新仅基于第i层的辅助损失,这种方法通过阻断梯度反向传播来稳定训练。这种方法只能优化边界框的预测偏移量∆bi,而不能优化初始边界框bi−1。

  • Look Forward Twice(前瞻两次):我们提出的新方法,第i层的参数更新不仅基于第i层的损失,还基于第(i+1)层的损失。这种方法可以同时优化初始边界框bi−1和预测的边界框偏移量∆bi,从而提高边界框预测的精度。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值