DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译

摘要

我们提出了 DINO(是DETR with Improved deNoising anchOr boxes中的大写字母的缩写),一个目前最好的端到端的目标检测模型。 DINO通过在降噪训练上使用对比方法、锚框初始化的混合查询选择方法、盒子预测的前看两次方法,提高了以前基于DETR的模型的性能和效率。 DINO在COCO上使用 ResNet-50作为骨架和多尺度的特征用了十二轮的训练达到了48.3AP和三十六轮达到了51.0AP,与以前最好的基于DETR的DN-DETR模型相比分别高出了 +4.9AP+2.4AP。DINO的尺度在模型大小和数据大小上都很好。在Objects365数据集上使用 SwinL作为骨架预训练后的DINO在 COCO val2017 (63.2AP) 和 test-dev (63.3AP)上都达到了最好的结果。与leaderboard上的其他模型相比,DINO大大减小了它的模型大小和预训练数据大小并且达到了最好的结果,代码开源了请看 https://github.com/IDEACVR/DINO。

关键字:目标检测;检测Transformer;端到端检测;

1、引言

对计算机视觉来说目标检测是一个基础任务。传统的基于卷积的目标检测算法取得了显著的进展。尽管这些算法通常包括手动设计的组件,如锚框生成和非最大抑制,他们产生了最好的检测模型比如:DyHead和用 HTC++的 Swin和SwinV2。如在leaderboard上的 COCO test-dev所示。
与传统的检测算法相比, DETR是一个新颖的基于Transformer的检测算法,它消除了手工设计组件的需要,并达到了与优化的经典检测器如Faster RCNN相当的性能。与以前的检测器不同,DETR将目标检测作为一组预测任务来建模并通过由二分图匹配来分配标签。它结合图片特征图中的特征利用可学习的 queries去探测已存在的物体,这种行为像soft ROI pooling。
尽管它的性能很好,但DETR的训练收敛速度慢,查询的含义不明确。为了解决这些问题,已经提出了很多方法像:引入可变形注意力,分离位置和内容信息,提供空间优先级等。最近, DAB-DETR提出将 DETR 的 queries作为动态锚框 (DAB),这弥合了传统的基于锚框的检测器和基于 DETR的检测器的差距。DN-DETR通过引入去噪技术 (DN),进一步的解决了二分图匹配的不稳定性。 DAB 和 DN的结合使基于DETR的模型与传统的检测模型在训练效率和推理性能上具有了可比性。
当前最好的检测模型像 DyHead 和 HTC是基于传统的检测模型的改进。例如:目前最好的结果是SwinV2用 HTC++ 架构训练的。造成这种现象的两个主要原因:1、以前的基于DETR的模型是不如改进的传统检测器。与新开发的基于DETR的模型相比绝大多数传统检测器有很好的学习能力和很高的优化效率导致产生了很好的性能。例如,当前最好的基于DETR的模型在 COCO上仍低于 50 AP。2、基于DETR的模型的可扩展性尚未得到很好的研究。没有关于将基于DETR的模型在大的骨架和大规模数据集上执行的结果的报告。在本篇论文中我们的目标是解决上边两个关心的问题。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Fig. 1.在COCO上与其他模型的AP值比较。(a)与使用ResNet-50作为骨架的模型在不同的训练轮次下的比较。带有DC5的模型使用了更大分辨率的特征图。其他模型使用多尺度特征。 (b)在不同的预训练数据大小和模型大小下与目前最好的模型的比较。目前最好的模型是来自 leaderboard上的COCO test-dev。在图例中,我们列出了骨干预训练数据大小(第一个数字)和检测预训练数据大小(第二个数字)。∗意味着数据大小未知。
特别的,通过改进去噪训练,查询初始化,和盒子预测,我们设计了一个新的基于DN-DETR、DAB-DETR 和 Deformable DETR的DETR模型。我们将其命名为DINO,如图一所示,在 COCO上比较展示了DINO的优异性能。尤其是DINO具有很强的可扩展性,在 the COCO的test-dev leaderboard上达到了一个新的63.3 AP的记录。
作为一个基于DETR的模型, DINO包含一个骨架,一个多层的Transformer编码器,一个多层的Transformer解码器,和多个预测头。按照 DAB-DETR,我们将解码器中的查询作为动态锚框,跨解码器层逐步的提炼他们,按照 DN-DETR,我们将带有噪音的真实标签和盒子放入 Transformer解码器层来帮助稳定在训练期间的二分图匹配。为了计算效率我们也采用了可变注意力。而且,我们提出了三个新的方法,如下:第一,为了提高一对一匹配,我们提出了对比去噪训练即在同一时间添加相同的真实的正负样本。随后将两个不同的有噪音的添加到相同的真实盒子中,我们将带有小噪音的盒子标记为正,其他为负。对比去噪训练帮助模型去避免相同目标的重复输出。第二,查询的动态锚框构想将传统的两阶段模型和基于DETR的模型连接在一起。因此我们提出了一个混合查询选择方法。这能更好的初始化查询。我们选择初始化锚框作为编码器输出的位置查询,这与 [41,39]相似。然而,我们让内容查询像以前一样可以学习,鼓励第一解码器层关注先前的空间。第三,为了利用后续层的优化框信息,帮助优化其相邻早期层的参数,我们提出了一个新的前看两次的方案来使用后续层的梯度来纠正更新参数。
我们用在COCO检测基准上的拓展实验来验证DINO的有效性,如图一所示,DINO用ResNet-50和多尺度特征用12轮训练达到了48.3AP用36轮训练达到了 51.0AP,与以前最好的基于DETR的模型相比分别产生了+4.9AP and +2.4AP的重大提升。除此之外, DINO在模型大小和数据大小上的规模很好。在Objects365数据集使用 SwinL作为骨架上进行预训练后,DINO COCO val2017 (63.2AP) 和 test-dev (63.3AP)两个基准上达到了最好的结果,如表三所示,在 leaderboard上与其他模型相比,与SwinV2-G相比,我们的模型大小减少到它的1/15。与Florence相比,我们的预训练检测数据集减少到其 1/5,主要预训练数据集减少到 1/60,但是我们达到了更好的结果。
把我们的贡献归结如下:
1、我们用几个新颖的技术设计了一个新的端到端的基于DETR的目标检测模型,这些技术包括:对比DN训练,混合查询选择,对 DINO模型的不同部分前看两次。
2、我们执行了密集的消融研究来验证在 DINO上的不同设计选择的有效性。最后, DINO使用 ResNet-50和多阶段特征,用了12轮的训练达到了48.3AP和用了36轮的训练达到了51.0AP,显著的胜过了以前最好的基于 DETR的模型。尤其是, DINO在小目标上训练12轮显示出一个 +7.4AP的显著的提升。
3、我们表示,没有用啥花里胡哨的东西,DINO能在公开的基准上达到最好的性能。在 Objects365上使用 SwinL作为骨架预训练后,DINO在COCO val2017 (63.2AP) 和 test-dev (63.3AP)两个基准上都达到了最好的结果。据我们所知,这是第一次作为端到端模型的Transformer检测器胜过了 COCO在 leaderboard目前最好的模型。

; 2、相关工作

2.1、传统目标检测

早期的基于卷积的目标检测要么是两阶段要么是一阶段模型都是基于手动锚框和参考点的。两阶段模型,通常使用一个区域选择网络来选择潜在的盒子,然后这些盒子在第二阶段被精心筛选。一阶段模型比如YOLO v2 和YOLO v3直接输出相对偏移去来预定义锚框。最近一些基于卷积的模型像HTC++ 和 Dyhead在 COCO 2017数据集上的性能已经达到了顶峰。然而,基于卷积的模型的性能依赖于生成锚框的方式。而且他们需要手动设计组件像NMS去删除重复的盒子,因此不能执行端到端优化。

2.2、DETR和它的变种

Carion et al提出了基于Transformer的端到端的目标检测并命名为DETR (DEtection TRansformer前两个字母的缩写)它没有使用像锚框设计和NMS这种手动设计的组件。很多后续的论文试图通过解码器跨注意力解决DETR的训练时慢收敛的问题。例如Sun et al设计的只有编码器没有解码器的DETR。 Dai et al提出让动态编码器聚焦多特征层次的重要区域。
另一系列工作是深入理解DETR中的解码器查询。许多论文从不同的角度将查询与空间位置相关联。 Deformable DETR 预测2D 锚框点,并设计一个可变形注意模块,该模块只关注推理点周围的特定采样点。 Efficient DETR从编码器的密集预测中选择前K个位置,以增强解码器查询。 DAB-DETR进一步的将2D锚框点拓展到4D锚框轴来代表查询并动态的更新每个解码器层中的盒子。最近,DN-DETR引入了一个去噪的训练方法来加速 DETR的训练。它将真实标签中添加的噪声和盒子一起送入解码器并训练模型去修复原始的。在本篇论文中,我们的DINO是建立在 DAB-DETR和DN-DETR基础上的,并且为了它的计算高效性采用了可变注意力。

2.3、大规模目标检测预训练

大规模预训练已经拥有很大的影响在自然语言处理和计算机视觉中。当今最好的性能的检测器几乎都是使用大的骨架在大规模数据上完成的。例如, Swin V2延伸它的骨架大小到30亿个参数并且用7千万私人收集的图片预训练它的模型。 Florence第一次用9亿个私人策划的图片文本对预训练它的骨架然后用9百万个带标注的或者伪盒子的图片预训练它的检测器。相比之下,DINO达到目前最好的结果只用了一个公开可用的 SwinL作为骨架和公开的 Objects365数据集(170万个带标注的图片)。

3、DINO:改进的去噪锚框DETR

3.1、准备工作

正如 Conditional DETR和DAB-DETR中研究的那样,很明显DETR中的查询由两部分组成:一个位置部分,一个内容部分,他们在本篇论文中被描述为位置查询和内容查询。DAB-DETR明确的将DETR中的每个位置查询表示为一个4D锚框 (x, y, w, h),其中x和y是盒子的中心点,w和h是相应的宽和高。这种明确的锚框使得在解码器中动态的逐层改进锚框变得更容易。DN-DETR引入了一个去噪的(DN)训练方法,来加速基于 DETR模型的训练收敛速度。这表明DETR中的慢收敛问题是由二分图匹配中的不稳定造成的。为了减小这个问题,DN-DETR提出了将带噪的真实 (GT)标签和盒子填充到Transformer的解码器中,用重构的真实标签训练模型。添加的噪音( ∆ x , ∆ y , ∆ w , ∆ h ) (∆x, ∆y, ∆w, ∆h)(∆x ,∆y ,∆w ,∆h )是被限制在∣ ∆ x ∣ < λ w 2 |∆x| < \frac{λw}{2}∣∆x ∣<2 λw ​, ∣ ∆ y ∣ < λ h 2 |∆y| , ∣ ∆ w ∣ < λ w |∆w| < λw ∣∆w ∣<λw, 和 ∣ ∆ y ∣ < λ h |∆y| < λh ∣∆y ∣<λh。其中 (x, y, w, h)意思是一个真实的盒子的坐标信息,λ \lambda λ是一个超参数用来控制噪音的比例。因为DNDETR 按照 DAB-DETR将解码器查询视为一个锚框,带噪的真实盒子可以被视作真实盒子临近的一个特殊的锚框因为λ \lambda λ通常很小。除了原先的DETR的查询, DN-DETR增加了一个 DN部分,它将带噪的真实标签和盒子送入解码器来提供附加的DN损失,DN损失有效的稳定和加速DETR训练并能被插入到任何基于DETR的模型中。
Deformable DETR是另一个早期的用来加速DETR收敛的工作。为了计算可变注意力,它引入了参考点这个概念以便可变注意力可以关注参考点周围的一小部分关键采样点。参考点的概念使得开发几种技术来进一步提高DETR性能成为可能。第一个技术是查询选择,它直接从编码器中选择特征和参考盒作为解码器的输入。第二种技术是迭代边界框细化使用在两个解码器层之间进行细致的梯度分离设计。在本篇论文中,我们称这个梯度分离技术为向前看一次。
按照 DAB-DETR 和 DN-DETR,DINO将位置查询作为动态锚框,使用一个额外的DN损失进行训练。注意 DN-DETR也采用几个来自Deformable DETR的技术来达到更好的性能包括它的可变注意力机制和在层参数更新时的向前看一次。DINO进一步采用来自Deformable DETR的查询选择思想来更好的初始化位置查询。建立在这一坚实的基础之上,DINO引入了三个新颖的方法来进一步的提高检测性能,这将在3.3,3.4,3.5部分分别描述。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Fig. 2. 我们所提的DINO模型的框架。我们的改动主要在Transformer的编码器和解码器上。在最后一层的top-K编码特征是被选做 Transformer解码器的初始化位置查询,然而内容查询是被保留作为可学习的参数。我们的解码器同样包含一个带有正负样本的Contrastive DeNoising (CDN)部分

; 3.2、模型总览

作为基于DETR的模型, DINO是一个端到端的架构,它包含了一个骨架,一个多层Transformer编码器,一个多层Transformer解码器和多个预测头。整体框架看图二。给定一个图片我们用 ResNet或者 Swin Transformer作为骨架来提取多尺度特征,然后结合相应的位置嵌入,将他们放到Transformer编码器中,在编码器层特征增强后,我们提出了一个新的混合查询选择策略来初始化锚框作为解码器的位置查询。注意这种策略没有初始化内容序列但是让他们变得可学习。在3.4部分会介绍更多的混合查询选择的细节。结合初始化锚框和可学习的内容查询,我们用可变注意力逐层的结合编码器输出的特征并更新查询,最终的输出是用精炼的锚框形成的,分类结果是从精炼的内容特种中预测的。正如DN-DETR,我们有一个额外的DN分支来执行去噪训练。超过了标准的DN方法,我们通过考虑硬负样本提出了一个新的对比去噪训练训练方法,这将在3.3部分讲解。为了充分利用从最后一层提炼的盒子信息来帮助优化他们早期临近层的参数,一个新颖的向前看两次的方法是被提出来来传递相邻层之间的梯度,这将在3.5部分进行描述。

3.3、对比去噪训练

DN-DETR在稳定训练和加速收敛上是非常有效的。在DN查询的帮助下,在有 GT盒子的附近的锚框的基础上学着去做预测。然而它在没有物体在附近的锚框缺乏预测没有物体的能力。为了解决这个问题,我们提出了对比去噪 (CDN)方法来拒绝无用的锚框。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Fig. 3. CDN组的结构和正负样本的论证,尽管正负样本都是4D锚框能代表着4D空间中的点,为了简单起见,我们将它们表示为同心正方形上二维空间中的点。假设正方形中心是GT盒子,则将内部正方形内的点被视为正样本,将内部正方形和外部正方形之间的点视为负样本。

实现 DN-DETR有一个超参数λ \lambda λ来控制噪声比例,生成的噪声不大于λ \lambda λ,因为DN-DETR希望模型从中等噪声的查询中重建真实(GT)。在我们的方法中,我们有两个超参数λ 1 \lambda_1 λ1 ​和λ 2 \lambda_2 λ2 ​其中λ 1 < λ 2 \lambda_1。如图三中的同心正方形,我们生成两个类型的 CDN序列:正序列和负序列,正序列在内部正方形中有一个比λ 1 \lambda_1 λ1 ​大但是比λ 2 \lambda_2 λ2 ​小的噪音比例,他们是被期望用来预测’没有目标’。我们通常采用小的λ 2 \lambda_2 λ2 ​因为硬的负样本更接近于真实盒子更有利于提高性能,如图三所示,每个CDN组有一个正的和负的查询集合,如果一个图片有n个GT盒子,一个 CDN组将会有2 x n个查询即每个 GT盒子将会生成一个正的和负的查询。与DN-DETR类似,我们同样用多个CDN组去提高我们方法的效率。盒子回归的重构损失是 l 1 l_1 l 1 ​和 GIOU损失,分类的重构损失为聚焦损失。将负样本分类为背影的损失也是聚焦损失。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Fig. 8.左边的图片是用一个带有DN查询的模型训练的检测结果,右边的结果是用我们的方法。在左边的图片中,箭头所指的孩子有三个重复的边界框,为了清晰,我们只显示分类为人的盒子。

分析我们的方法有效的原因是它能抑制不确定性,并为预测边界框选择高质量锚框(查询)。当多个锚框是接近一个目标时不确定性将发生。这种情况下,对模型来说很难决定选择那个锚框。不确定性可能导致两个问题。第一个是重复预测,尽管基于DETR的模型在基于集合的损失和自注意力的帮助下能抑制重复的盒子,但是能力是有限的。如在图8左边的图,当用DN查询取代我们的CDN查询时,箭头所指的孩子有三个重复的预测。在CDN查询下,我们的模型能区分锚框和避免重复预测上的轻微的不同,如图8的右图。第二个问题是可能会选择离GT框更远的不需要的锚框。尽管去噪训练已经改善了模型选择临近锚框的问题,CDN通过教模型拒绝更多锚框来进一步提高了这一能力。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Fig. 4. (a) 和 (b)分别是AT D(100)在所有目标和小目标上的结果, (c)是在小目标上的AP

有效性:为了说明CDN的有效性,我们定义了一个称为平均Top-K距离的指标 (ATD(k))并使用它在匹配部分来评估锚框与他们的目标真实盒子的距离有多远。正如在DETR中的,每个锚框对应一个预测,该预测可能与GT框或背景相匹配。这里我们只考虑具有GT盒子的匹配。假设我们在验证集中有N个GT边界框b 0 , b 2 , . . . , b N − 1 b_0, b_2, …, b_{N-1}b 0 ​,b 2 ​,…,b N −1 ​其中,b i = ( x i , y i , w i , h i ) b_i= (x_i, y_i, w_i, h_i)b i ​=(x i ​,y i ​,w i ​,h i ​)。对于每一个b i b_i b i ​,我们能找到它的相应的锚框并标注为a i = ( x i ′ , y i ′ , w i ′ , h i ′ ) a_i = (x^′i, y^′_i, w^′_i, h^′_i)a i ​=(x i ′​,y i ′​,w i ′​,h i ′​)。a i a_i a i ​是解码器的初始化锚框盒子,在匹配时它的精选盒子在最后一层解码器之后被分配给
b i b_i b i ​,然后我们有A T D ( k ) = 1 k ∑ { t o p K ( { ∣ ∣ b 0 − a 0 ∣ ∣ 1 , ∣ ∣ b 1 − a 1 ∣ ∣ 1 , . . . ∣ ∣ b N − 1 − a N − 1 ∣ ∣ 1 } , k ) } ( 1 ) \mathit{ATD(k)} = \frac{1}{k}\sum{topK({||b_0-a_0||_1,||b_1-a_1||_1,…||b
{N-1}-a_{N-1}||_1},k)}\quad\quad\quad(1)ATD (k )=k 1 ​∑{t o p K ({∣∣b 0 ​−a 0 ​∣∣1 ​,∣∣b 1 ​−a 1 ​∣∣1 ​,…∣∣b N −1 ​−a N −1 ​∣∣1 ​},k )}(1 )其中∣ ∣ b i − a i ∣ ∣ 1 ||b_i-a_i||_1 ∣∣b i ​−a i ​∣∣1 ​是在b i b_i b i ​a i a_i a i ​之间的l 1 l_1 l 1 ​距离,topK(x,k)是一个函数,它返回x中k个最大元素的集合。我们选择前K个元素的原因当真实盒子被一个更远的锚框匹配到时,不确定性的问题是更可能发生。如图四中的(a)和(b),总的来说,DN对于选择一个好的锚框来说已经非常好了。然而,CDN对于小目标来说能找到更好的锚框。图四(c)显示了CDN查询在小目标上用ResNet-50和多尺度特征训练12轮比DN查询高了+1.3的AP。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Fig. 5. 三个不同查询初始化方法的对比。”静态”一词的意思是,在推理过程中,对于不同的图片,它们将保持相同。这些静态查询的一个常见实现是使其可学习。

; 3.4、混合查询选择

在 DETR和DN-DETR中解码器查询是没有用任何来自单独图片的编码特征的静态嵌入,如图五(a)所示,他们直接从训练数据中学习锚框 (在DN-DETR 和 DAB-DETR中)和位置查询(在DETR中)并将内容查询都设置为0向量。Deformable DETR学习位置和内容查询,这是静态查询初始化的另一种实现。为了进一步提高性能,Deformable DETR有一个查询选择变量(叫做’两阶段’),它从最后一个编码器层中选择前K个编码器特征作为优先级,以增强解码器查询。如图五(b)所示,位置和内容查询都是由被选中的特征的线性变换生成的。除此之外,这些被选中的特征被添加一个辅助检测头来获得预测框,这被用做初始化参考框。同样,Efficient DETR还根据每个编码器特征的客观性(类)得分选择前K个特征。
在我们的模型中,查询的动态4D锚定框公式使其与解码器位置查询的关系更近,这能通过查询选择来提高,我们按照上边的实验提出了一个混合查询选择方法,如图五 (c)所示,我们仅使用与所选top-K特征关联的位置信息初始化锚定框,但保持内容查询与以前一样静态。注意:Deformable DETR利用top-K特征不仅增强了位置查询,还增强了内容查询。由于选定的特征是初步的内容特征,没有进一步的细化,因此它们可能会对解码器产生歧义和误导。例如:一个被选中的特征可能包含多个目标,或者只是目标中的一个部分。相比之下,我们的混合查询选择方法只增强了具有top-K选择特征的位置查询,并保持内容查询像以前一样可学习。它有助于模型使用更好的位置信息汇集来自编码器的更全面的内容特征。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Fig. 6. Deformable DETR和我们的方法在盒子更新上的对比。

3.5、前看两次

在本节中,我们提出了一种新的框预测方法。Deformable DETR中的迭代框细化阻止梯度反向传播以稳定训练。我们将该方法命名为向前看一次,因为 i 层的参数仅根据盒子b i b_i b i ​的附加损失进行更新的。如图六(a)所示,然而,我们推测来自后一层的改进盒子信息可能更有助于纠正其相邻前层的盒子预测。因此我们提出了另一种叫做前看两次的方法来执行盒子更新,其中第 i 层的参数是受第 i 层和第 i+1 层损失的影响,如图六(b)。对于每个预测的偏置∆ b i ∆b_i ∆b i ​它将用于更新盒子两次。一次是b i ′ b^′i b i ′​,另一次是b i + 1 p r e d b^{pred}{i+1}b i +1 p re d ​。因此我们将我们的方法取名为前看两次。
最终的预测盒子b i p r e d b^{pred}{i}b i p re d ​的精度是由两个因素决定:初始化盒子b i − 1 b{i-1}b i −1 ​的质量和盒子∆ b i ∆b_i ∆b i ​的预测偏置。前看一次方法只优化后者,因为梯度信息从layer-i 到 layer-(i-1)是分离的。相比之下,我们改进初始化盒子b i − 1 b_{i-1}b i −1 ​和预测盒子偏置∆ b i ∆b_i ∆b i ​。一个简单的方法来改进质量是用下一层∆ b i + 1 ∆b_{i+1}∆b i +1 ​的输出监督 i 层的最终盒子b i ′ b^′i b i ′​,因此我们用b i ′ b^′_i b i ′​和∆ b i + 1 ∆b{i+1}∆b i +1 ​的和作为i+1层的预测盒子。
更具体地说,给定第 i 层的输入盒子b{i_1},我们获得最终预测盒子b i ( p r e d ) b^{(pred)}i b i (p re d )​通过:
Δ b i = L a y e r i ( b i − 1 ) , b i ′ = U p d a t e ( b i − 1 , Δ b i ) , \quad\quad\quad\quad\quad\quad\quad \Delta b_i = \mathtt{Layer}_i(b
{i-1}), \quad\quad\quad\quad\quad\quad\quad \quad b^′i =\mathtt{Update}(b{i-1},\Delta b_i),Δb i ​=Layer i ​(b i −1 ​),b i ′​=Update (b i −1 ​,Δb i ​),
b i = D e t a c h ( b i ′ ) , b i ( p r e d ) = U p d a t e ( b i − 1 ′ , Δ b i ) , ( 2 ) \quad\quad\quad\quad \quad\quad\quad \quad b_i= \mathtt{Detach}(b^′i),\quad\quad\quad\quad\quad\quad\quad\quad b^{(pred)}_i = \mathtt{Update}(b^′{i-1},\Delta b_i),\quad(2)b i ​=Detach (b i ′​),b i (p re d )​=Update (b i −1 ′​,Δb i ​),(2 )
其中b i ′ b^′i b i ′​是b i b_i b i ​的未分离的版本。 Update(·, ·)是一个函数是通过预测的盒子偏置∆ b i ∆b_i ∆b i ​来细化盒子b i − 1 b{i-1}b i −1 ​。我们采用和 Deformable DETR中相同的方法来对盒子进行更新。

4、实验

4.1、设置

数据和骨干: 我们在COCO 2017目标检测数据集上进行评估,它被分成 train2017 和 val2017(也称为minival)。我们报告了使用两个不同骨架的结果:ResNet-50在 ImageNet-1k上的预训练结果和SwinL在 ImageNet-22k上的预训练结果。使用ResNet-50的DINO是在train2017上训练没有额外的数据。然而使用SwinL的DINO是先在 Object365上预训练,然后在train2017上微调。我们报告了在val2017上使用不同IoU阈值和目标尺度下的标准平均精度(AP)的结果。我们也报告了DINO使用 SwinL在test-dev上的结果。
实现细节: DINO是由一个骨架,一个Transformer编码器,一个Transformer解码器和多个预测头组成。在附录D中,我们提供了更多的实现细节,包括我们模型中使用的所有超参数和工程技术,供那些想要复现我们结果的人使用。我们将在盲审后发布代码。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Table 1. DINO和其他检测模型用 ResNet50作为骨架在COCO val2017训练12轮后的结果(因此叫做1倍设置)。对于没有多尺度特征的模型,我们为他们的最好的模型ResNet-50-DC5测试它们的GFLOP和FPS。 DINO用900个查询,† \dagger †表明用900个查询或者300个查询结合3中模式和900个查询的效果一样。其他的基于DETR的模型除了 DETR(100个查询)都使用300个查询,*表明他们用的测试框架是mmdetection。

; 4.2、主要结果

12轮的设置: 用我们的改进过的锚框的去噪和训练损失,可以显著加快训练过程。如表1所示,我们将我们的方法和具有较强基准的方法比如基于卷积的方法和基于DETR的方法进行比较。为了公平起见,我们在表一种列出了所有模型在A100 NVIDIA GPU上测试的 GFLOPS 和 FPS的报告。除了DETR 和 DAB-DETR所有方法都用多尺度特征。对于这些没有多尺度特征的,我们报告了带有 ResNet-DC5的结果, ResNet-DC5有一个更好的性能,因为它使用更大分辨率的特征图。因为一些方法采用了5个尺度的特征图,一些采用4个,因此我们报告我们的结果也用4个和5个尺度的特征图。
如表一所示,我们的方法在相同的设置下使用 ResNet-50和4个尺度的特征图产生了 +4.5 AP的提高,在5个尺度的特征图时提高了 +4.9 AP。我们的四个尺度模型在计算和参数数量方面没有太多的开销。而且我们的方法对小目标执行的特别好,4尺度的增加了+6.4的AP,5尺度的增加了+7.4的AP。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Table 2.DINO和其他检测模型用 ResNet-50作为骨架在 COCO val2017上训练多轮(24,36,或者更多)的结果。

用ResNet-50作为骨架和最好的模型相比: 为了在收敛速度和性能上验证我们的模型的有效性,我们都用ResNet-50作为骨架将我们的方法和几个强基准模型进行了比较。尽管最常见的是设置50轮,我们采用设置24(2倍)和36(3倍)轮,因为我们的方法收敛的更快,50轮训练只会产生较小的额外增益。表2 中的结果显示,只用24轮训练,我们的方法用4和5个尺度分别达到了 +1.3 AP 和 +1.6 AP的提高。而且用36轮在3倍设置,用4和5个尺度分别增加了 +1.9 和 +2.4 AP,在图七中展示了详细的收敛比较曲线。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Fig. 7. DINO和两个之前最好的模型用 ResNet-50作为骨架使用多尺度特征在 COCO val2017上做评估的训练收敛曲线。
DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Table 3.在MS-COCO上与目前最好的检测模型相比较。与 DETR类似,我们用端到端的术语来说明是否一个模型有像RPN 和 NMS这样的手动组件。术语’用遮盖’意思是是否一个模型使用带标注的实例分割进行训练。我们用术语 “IN” and “O365″来分别表示ImageNet和 Objects365数据集。注意”O365″是 “FourODs” 和 “FLD-9M”的一个子集。* DyHead表示未披露用于模型预训练的数据集的详细信息

4.3、与目前最好的模型进行比较

为了与目前最好的结果进行比较,我们用开源的 SwinL作为骨架在ImageNet-22K上进行预训练,首先,我们在Objects365数据集上预训练DINO,然后在COCO上微调。如表三所示,DINO在 COCO val2017 和 test-dev上分别达到了最好的63.2AP 和 63.3AP的结果。这说明了它在更大的模型和数据大小上具有很强的可扩展性。注意,在表三中所有以前最好的模型都没有用 Transformer基于解码器的检测头 (HTC++ [4] 和 DyHead [7])。这是首次一个端到端Transformer解码器在leaderboard上达到了最好的模型。与以前最好的模型相比,我们用了一个更小的模型大小(是1/15的SwinV2-G的参数量),骨干预训练数据大小(是Florence的1/60个图片),检测预训练数据大小(是Florence的1/5个图片),然而达到了更好的结果。除此之外,我们报告的性能没有增加测试时间(TTA),是干净的结果没有啥花里胡哨的东西。结果的有效性表明 DINO与传统的检测方法相比具有较高的检测性能。

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Table 4我们所提的算法组件的消融比较。我们用术语 “QS”, “CDN”, 和 “LFT”来分别表示 “Query Selection”, “Contrastive De-Noising Training”, 和 “Look Forward Twice”,

; 4.4、消融实验

新算法组件的有效性:为了验证我们所提方法的有效性,我们使用优化的DN-DETR和纯查询选择构建了一个强大的基线,如第3.1节所述。我们将所有管道优化和工程技术(见第4.1节和附录D)纳入强基线。强基线的结果见表4第3行。我们在表四第二行展示了没有使用来自 Deformable DETR的纯查询选择,优化DN-DETR的结果。尽管我们强基线性模型能优于以前所有的模型,但我们在DINO中的三种新方法进一步显著提高了性能。

5、结论

在本篇论文中,我们展示了一个强大的端到端的Transformer解码器的具有对比去噪训练、混合查询选择、前看两次的DINO,它在训练效率和最终的检测性能上都具有重大的提升。因此,DINO在COCO val2017上在12轮和36轮的设置中使用多尺度特征胜过了以前最好的基于ResNet-50的模型。受到改进的激励,我们进一步探索用更强大的骨干在更大的数据集上训练DINO,并在COCO 2017 test-dev上达到了一个新的目前最好的 63.3 AP。这一结果确立了基于DETR的模型作为主流检测框架,不仅因为其新颖的端到端检测优化,而且因为其优越的性能。

Original: https://blog.csdn.net/jjw_zyfx/article/details/125412147
Author: jjw_zyfx
Title: DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/518465/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球