发表时间:2023
论文地址:https://arxiv.org/abs/2304.08069
项目地址:https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/rtdetr 【官方】 或 https://github.com/ultralytics/ultralytics/tree/main/ultralytics/vit/rtdetr 【ultralytics团队复现】
基本总结
RT-DETR-L在COCO val2017上实现了53.0%的AP,在T4 GPU上实现了114FPS,RT-DETR-X实现了54.8%的AP和74FPS,在速度和精度方面都优于相同规模的所有YOLO检测器。RT-DETR-R50实现了53.1%的AP和108FPS,RT-DETR-R101实现了54.3%的AP和74FPS
背景知识
1、transformer-based detectors(DETRs)取得了显著的性能,其移除了NMS,但是计算成本较高的问题一直没有解决
2、在transformer-based detectors引入多尺度特征可加速收敛提高性能,但是导致编码器序列显著变长,使得计算效率更低
re-detr先进性
1、实时的transformer-based detectors(过解耦尺度内交互和跨尺度融合来有效地处理多尺度特征降低gflop,通过iou感知的query来加速收敛)
2、re-detr设计了一种高效的混合编码器来代替原来的transformer编码器。通过解耦多尺度特征的尺度内交互(使用AIFI实现)和跨尺度融合(使用CCFM使用),该编码器可以有效地处理不同尺度的特征,大幅度的降低了编码器的gflop
3、在解码器中提出IoU感知的查询选择,通过在训练过程中提供IoU约束,为解码器提供更高质量的初始对象查询
4、解码器支持通过使用不同的解码器层来灵活地调整推理速度,而不需要再训练
re-detr的设计
1、其网络结构设计如下所示,其可以使用传统的conv backbone,使用CCFM模块对多尺度特征进行融合,然后使用带iou感知的head进行query操作
2、其与尺度融合的关键模块为AIFI和CCFM,基于注意的尺度内特征交互(AIFI)模块和基于cnn的跨尺度特征融合模块(CCFM)。AIFI进一步减少了基于变体D的计算冗余,它只在S5上执行尺度内交互。
3、re-detr在设计上再次提到了bboxes准确率与conf得分不一致的情况,其强制使用IoU-aware Query Selection使二者一致(将iou考虑进cls_GT中)。通过设计,使得iou与conf得分尽可能保持一致
4、其backbone有HGNetv2和ResNet两种版本
re-detr的训练超参
使用AdamW优化器
base learning rate= 0.0001,
weight decay = 0.0001,
global gradient clip norm = 0.0001,
linear warmup steps= 2000
近年来,基于端到端transformer-based detectors(DETRs)取得了显著的性能。然而,DETRs的高计算成本的问题还没有得到有效的解决,这限制了它们的实际应用,并阻止了它们充分利用没有非最大抑制(NMS)后处理的好处。本文首先分析了现代实时目标检测器中NMS对推理速度的影响,并建立了一个端到端速度基准。为了避免NMS造成的推理延迟,我们提出了一种实时检测转换器(RT-DETR),这是我们所知的第一个实时端到端目标检测器。具体来说,我们设计了一种高效的混合编码器,通过解耦尺度内交互和跨尺度融合来有效地处理多尺度特征,并提出了iou感知的查询选择来提高对象查询的初始化。此外,我们提出的检测器支持通过使用不同的解码器层来灵活地调整推理速度,而不需要再训练,这方便了实时目标检测器的实际应用。我们的RTDETR-L在COCO val2017上达到53.0%的AP,在T4 GPU上达到114 FPS,而RT-DETR-X达到54.8%的AP和74 FPS,在速度和精度上都优于所有相同规模的YOLO探测器。此外,我们的RTDETR-R50达到了53.1%的AP和108 FPS,在精度上比dino-Deformable-detr-R50高2.2%的AP,在FPS中约21倍。源代码和预训练过的模型将在github: PaddleDetection项目中提供。
1. Introduction
目标检测是一项基本的视觉任务,它包括识别和定位图像中的目标。现代目标探测器有两种典型的架构:基于cnn的和基于transformer的。在过去的几年里,人们对基于CNN的目标检测方法进行了广泛的研究。这些探测器的体系结构已经从最初的两阶段[9,26,3]发展到一阶段[19,31,1,10,22,13,36,14,7,33,11],并且出现了两种检测范式,基于锚框的[19,22,13,10,33]和无锚框的[31,7,36,14,11]。这些研究在检测速度和准确性方面都取得了重大进展。基于transformer的目标探测器(DETRs)[4,29,34,43,23,35,20,16,40]由于消除了各种手工制作的组件,如非最大抑制(NMS)。因此其受到了学术界的广泛关注。该架构大大简化了目标检测的pipeline(流程),实现了端到端目标检测。
实时目标检测是一个重要的研究领域,具有目标跟踪[39,42]、视频监控[24]、自动驾驶[2,38]等广泛的应用前景。现有的实时探测器一般为基于cnn的架构,在检测速度和准确性上实现了合理的权衡。然而,这些实时检测器通常需要NMS来进行后处理,这通常很难进行优化,而且不够健壮,从而导致检测器的推理速度出现延迟。近年来,由于研究人员努力加速训练收敛和降低优化难度,基于transformer的检测器取得了显著的性能。然而,DETRs的高计算成本问题尚未得到有效的解决,这限制了DETRs的实际应用,导致无法充分利用其好处。这意味着虽然简化了目标检测流程(pipeline)的过程,但由于模型本身的计算成本高,很难实现实时目标检测。以上问题自然启发我们思考是否可以将DETR扩展到实时场景,充分利用端到端检测器,以避免NMS在实时检测器上造成的延迟。
为了实现上述目标,我们重新考虑了DETR,并对其关键组件进行了详细的分析和实验,以减少不必要的计算冗余。具体来说,我们发现,虽然引入多尺度特征有利于加速训练收敛和提高性能[43],但它也导致了编码器序列长度的显著增加。因此,transformer编码器由于计算成本高而成为模型的计算瓶颈。为了实现实时目标检测,我们设计了一种高效的混合编码器来代替原来的transformer编码器。通过解耦多尺度特征的尺度内交互和跨尺度融合,该编码器可以有效地处理不同尺度的特征。此外,之前的工作[35,20]表明,解码器的对象查询初始化方案对检测性能至关重要。为了进一步提高性能,我们提出了IoU感知的查询选择,通过在训练过程中提供IoU约束,为解码器提供更高质量的初始对象查询。此外,我们提出的检测器支持通过使用不同的解码器层来灵活地调整推理速度,而不需要再训练,这得益于DETR架构中解码器的设计,方便了实时检测器的实际应用。
在本文中,我们提出了一种实时检测转换器(RT-DETR),这是我们所知的第一个实时端到端transformer检测器。RT-DETR不仅在精度和速度方面优于目前最先进的实时检测器,而且不需要后处理,因此检测器的推理速度没有延迟,而且保持稳定,充分利用了端到端检测流程(pipeline)的优势。我们提出的RT-DETR-L在COCO val2017上达到53.0%的AP,在NVIDIA Tesla T4 GPU上达到114 FPS,而RT-DETR-X达到54.8%的AP和74 FPS,在速度和精度上都优于所有相同规模的YOLO探测器。因此,我们的RT-DETR成为了一个新的实时目标检测的SOTA,如图1所示。此外,我们提出的RT-DETR-R50达到53.1%的AP和108 FPS,而RT-DETR-R101达到54.3%的AP和74 FPS。其中,RT-DETRR50在准确性上比dino-Deformable-DETR-R50高出2.2%(53.1%APvs50.9%AP),在FPS上高出约21倍(108 FPS vs 5 FPS)。
本文的主要贡献总结如下:
(i) 我们提出了第一个实时端到端目标检测器,它不仅在精度和速度方面优于目前最先进的实时检测器,而且不需要后处理,因此其推理速度不延迟,保持稳定;
(ii)详细分析了实时检测器上NMS的影响,并从后处理的角度得出了基于cnn的实时检测器的结论;
(iii)我们提出的iou感知查询选择在模型中表现出良好的性能改进,为改进对象查询的初始化方案提供了新的思路;
(iv)我们的工作为端端检测器的实时实现提供了一个可行的解决方案,提出的检测器可以使用不同的解码器层灵活调整模型大小和推理速度,而不需要再训练。
2. Related work
2.1. Real-time Object Detectors
经过多年的不断开发,YOLO系列[25,1,32,22,13,10,7,36,14,33,11]已经成为实时对象探测器的同义词,大致可以分为两类:基于锚框的[25,1,32,10,33]和无锚框的[7,36,14,11]。从这些探测器的性能来看,锚(anchor)已不再是限制YOLO发展的主要因素。然而,上述检测器产生了大量冗余的边界框,需要在后处理阶段使用NMS来过滤掉它们。不幸的是,这导致了性能瓶颈,而NMS的超参数对检测器的准确性和速度有重大影响。我们认为这与实时物体探测器的设计理念不兼容的。
1、yolo系列模型现在引领着各类实时目标检测器
2、NMS操作制约了模型的性能
2.2. End-to-end Object Detectors.
端到端对象检测器[4,29,34,43,23,35,20,16,40]以其精简的流程(pipeline)而闻名。Carion等人[4]首先提出了基于transformer的端到端目标探测器,命名为DETR(Detect Transformer)。它因其独特的特点而引起了广泛的关注。特别是,DETR在传统的检测中消除了手工设计的锚框|锚点和NMS组件。相反,它采用了双向(bipartite)匹配,并直接预测一对一的对象集。通过采用该策略,DETR简化了检测流程(pipeline),缓解了NMS造成的性能瓶颈。尽管DETR有明显的优势,但它仍然存在两个主要问题:训练收敛速度慢和难以优化的查询。许多DETR的变体已经被提出来解决这些问题。例如,Deformable-detr[43]通过提高注意机制的效率,加速了具有多尺度特征的训练收敛。. Conditional(条件)-DETR [23]和Anchor DETR [35]降低了查询的优化难度。DAB-DETR [20]引入了4D参考点,并逐层迭代优化预测盒。DN-DETR [16]通过引入查询去噪来加速训练的收敛性。DINO [40]建立在以前的工作之上,并取得了最先进的结果。虽然我们正在不断改进DETR的组件,但我们的目标不仅是进一步提高模型的性能,而且还要创建一个实时的、端到端对象检测器。
1、基于transformer的端到端目标探测器,采用了双向(bipartite)匹配,并直接预测一对一的对象集,移除了目标检测中的nms
2、DETR存在收敛满、query效率低下的问题
3、现在有不少DETR的变体已经被提出来解决这些问题,但离实时监测还差了一些
2.3. Multi-scale Features for Object Detection.
现代目标探测器已经证明了利用多尺度特征来提高性能的意义,特别是对于小物体。FPN [18]引入了一个特征金字塔网络,它融合了来自相邻尺度的特征。后续的工作[21,8,30,10,14,33,11]对这种结构进行了扩展和增强,并被广泛应用于实时对象探测器中。Zhu等人[43]首先在DETR中引入了多尺度特征,提高了性能和收敛速度,但这也显著提高了DETR的计算成本。虽然可Deformable的注意机制在一定程度上降低了计算成本,但多尺度特征的合并仍然导致了较高的计算负担。为了解决这个问题,一些工作试图设计计算效率高的DETR。高效的DETR [37]通过初始化具有密集先验的对象查询,减少了编码器层和解码器层的数量。稀疏的DETR [27]有选择地更新了期望被解码器引用的编码器token,从而减少了计算开销。Lite DETR [15]通过以交错的方式降低了低级别特性的更新频率,从而提高了编码器的效率。虽然这些研究降低了DETR的计算成本,但这些工作的目标并不是为了推广DETR作为一种实时检测器。
1、可以用多尺度特征来提高目标检测的性能
2、在DETR中使用多尺度能提升收敛效率和精度,但是增加了计算负担
3、现在有不少DETR的变体已经被提出来解决这些问题,但离实时监测还差了一些
3. End-to-end Speed of Detectors
3.1. Analysis of NMS
NMS是目标检测中广泛采用的一种后处理算法,用于消除检测器输出的重叠预测盒。在NMS中两个超参数分别是: score阈值和IoU阈值。其运算过程为:分数低于分数阈值的预测框被直接过滤掉,当两个预测框的IoU超过IoU阈值时,分数较低的框将被丢弃。这个过程被迭代地执行,直到每个类别的所有盒子都被处理完毕。因此,NMS的执行时间主要取决于输入预测框的数量和两个超参数。
为了验证这一观点,我们利用YOLOv5(基于锚框的)[10]和YOLOv8(无锚框的)[11]进行实验。我们首先计算在输出框被具有相同的输入图像的不同评分阈值过滤后剩余的预测框的数量。我们对0.001到0.25的分数进行采样作为阈值,以计数两个检测器的剩余预测盒,并将其绘制成直方图,直观地反映了NMS易受其超参数的影响,如图2所示。
此外,我们以YOLOv8为例,评估了COCO val2017上的模型精度,以及在不同NMS超参数下的NMS操作的执行时间。注意,我们在实验中采用的NMS后处理操作是拉伸效率TensorRT NMS插件:efficientNMSPlugin
,其中包括多个高效的内核,包括高效nms过滤器、radix排序、高效CUDA等,我们只报告高效CUDA内核的执行时间。我们在T4 GPU上测试了速度,在上述实验中的输入图像和预处理是一致的。我们使用的超参数和相应的结果如表1所示。
1、无锚框模型所预测出的框在各个conf阈值下明显要少很多,其nms时间会显著降低
2、现行的nms操作中参数conf_threshold,iou_threshod影响执行时间与精度效果
3.2. End-to-end Speed Benchmark
为了能够公平地比较各种实时检测器的端到端推理速度,我们建立了一个端到端速度测试基准。考虑到NMS的执行时间会受到输入图像的影响,需要选择一个基准数据集,并计算多个图像的平均执行时间。该基准测试采用COCO val2017作为默认数据集,将TensorRT的NMS后处理插件用于需要后处理的实时检测器。具体来说,我们根据在基准数据集上获取的相应精度的超参数来测试检测器的平均推理时间,并排除了IO和Memory-Copy操作。我们利用这个基准测试测试了基于锚的探测器YOLOv5 [10]和YOLOv7 [33]的端到端速度,以及T4 GPU上的无锚探测器PP-YOLOE [36]、YOLOv6 [14]和YOLOv8 [11]的端到端速度。测试结果见表2。
根据结果,我们得出结论,实时检测器都需要NMS后处理的,无锚检测器的性能优于基于锚的检测器,因为前者占用的后处理时间明显少于后者。这在以往的工作中被忽略了。造成这种现象的原因是,基于锚的探测器比无锚的探测器产生更多的预测bboxes(这是我们测试的探测器的三倍)。
1、在先行阶段,无锚检测器精度性能优于基于锚的
2、无锚检测器产生更少的框,nms时间更短
4. The Real-time DETR
4.1. Model Overview
所提出的RT-DETR由一个主干网、一个混合编码器和一个带有辅助预测头的transformer解码器组成。模型架构的概述如图3所示。
具体来说,我们利用主干{ S 3 , S 4 , S 5 S_3, S_4, S_5 S3,S4,S5}的最后三个阶段的输出特性作为编码器的输入。该混合编码器通过尺度内交互和跨尺度融合,将多尺度特征转换为一系列图像特征(见章节4.2)。随后,使用iou感知的查询选择从编码器输出序列中选择固定数量的图像特征,作为解码器的初始对象查询(见章节4.3)。最后,利用具有辅助预测头的解码器迭代优化对象查询生产bboxes和相应的scores。
4.2. Efficient Hybrid Encoder
计算瓶颈分析 为了加速训练的收敛性和提高性能,Zhu等人[43]建议引入多尺度特征,并提出了可Deformable的注意机制来减少计算量。然而,尽管注意机制的改进降低了计算开销,但输入序列长度的急剧增加仍然导致编码器成为计算的瓶颈,阻碍了DETR的实时实现。据[17]报道,该编码器占gflop的49%,但在Deformable-detr[43]中只占AP的11%。为了克服这一障碍,我们分析了多尺度transformer编码器中存在的计算冗余,并设计了一组变体来证明尺度内和跨尺度特征的同时交互作用是计算效率低的。
高级特征是从包含关于图像中对象的丰富语义信息的低级特征中提取出来的。直观地说,在级联的多尺度特征上执行特征交互是冗余的。为了验证这一观点,我们重新考虑了编码器的结构,并设计了一系列具有不同编码器的变体,如图5所示。这将变量集通过将多尺度特征交互解耦为尺度内交互和跨尺度融合的两步操作,逐步提高模型精度,同时显著降低计算成本(详细指标见Tab。 3).我们首先删除DINO-R50 [40]中的多尺度transformer编码器作为基线a。接下来,插入不同形式的编码器,基于基线A产生一系列变体,阐述如下:
-
•A→B:变体B插入一个单比例的transformer编码器,它使用一层transformer块。每个尺度的特征共享尺度内特征交互的编码器,然后将输出的多尺度特征连接起来。
-
•B→C:变体C引入了基于B的跨尺度特征融合,并将连接的多尺度特征输入编码器,以执行特征交互。
-
•C→D:变体D解耦了多尺度特征的尺度内相互作用和跨尺度融合。首先,利用单尺度transformer编码器进行尺度内交互,然后利用类似panet的[21]结构进行跨尺度融合。
-
•D→E:VaritantE进一步优化了基于D的多尺度特征的尺度内交互和跨尺度融合,采用了我们设计的高效混合编码器(详见下文)。
混合设计
在此基础上,我们重新考虑了该编码器的结构,并提出了一种新的高效混合编码器。如图3所示,所提出的编码器由两个模块组成,即基于注意的尺度内特征交互(AIFI)模块和基于cnn的跨尺度特征融合模块(CCFM)。AIFI进一步减少了基于变体D的计算冗余,它只在S5上执行尺度内交互。我们认为,将自注意操作应用于具有更丰富语义概念的高级特征,可以捕获图像中概念实体之间的联系,便于后续模块对图像中对象的检测和识别。同时,由于缺乏语义概念,存在与高级特征交互的重复和混淆的风险,低级特征的尺度内交互是不必要的。为了验证这一观点,我们只对变体D中的S5进行了尺度内交互作用,实验结果报告在Tab3中
D
S
5
D_{S_5}
DS5行。与普通的D相比,
D
S
5
D_{S_5}
DS5显著降低了延迟(快了35%),但提高了准确性(AP提高了0.4%)。这一结论对于实时探测器的设计至关重要。CCFM也基于变体D进行了优化,插入了几个由卷积层组成的融合块进入融合路径。融合块的作用是将相邻的特征融合成一个新的特征,其结构如图4所示。
融合块包含N个重新块,双路输出通过元素添加融合。我们可以将这个过程表述如下:
4.3. IoU-aware Query Selection
DETR中的对象查询是一组可学习的嵌入,它们由解码器进行优化,并由预测头映射到分类分数和边界框。然而,这些对象查询很难进行解释和优化,因为它们没有明确的物理意义。后续工作[35,20,43,37,40]改进了对象查询的初始化,并将其扩展到内容查询和位置查询(锚地)。其中,[43,37,40]都提出了查询选择方案,其共同点是利用分类分数从编码器中选择前K个特征来初始化对象查询(或仅选择位置查询[40])。然而,由于分类分数的不一致分布和位置信心,一些预测盒子高分类分数但不接近GT盒子,导致高iou低conf的bbox被选中,而低iou高conf的bbox被丢弃。这就损害了探测器的性能。为了解决这个问题,我们提出了IoU感知查询选择,通过约束模型在训练期间对IoU分数高的特征产生高分类分数,对IoU分数低的特征产生低分类分数。因此,模型根据分类评分选择的前K个编码器特征对应的预测框具有较高的分类评分和较高的IoU评分。我们重新制定了探测器的优化目标如下:
其中c表示类别,b表示bbox,在计算类别loss时考虑iou的大小(将IoU评分引入到分类分支的目标函数中(类似于VFL [41]),以实现对正样本的分类和定位的一致性约束。)
有效性分析
为了分析所提出的IoU感知查询选择的有效性,我们将val2017上查询选择所选择的编码器特征的分类得分和IoU得分进行了可视化,如图6所示。具体来说,我们首先根据分类分数选择前K(我们实验中的K=300)编码器特征,然后将分类分数大于0.5的散点图可视化。红点和蓝点分别通过应用普通查询选择和iou感知查询选择训练的模型中计算出来。点越靠近图的右上角,对应特征即分类标签和边界框的质量越有可能描述图像中的真实对象。根据可视化结果,我们发现最显著的特征是大量的蓝色点集中在图的右上角,而红色的点集中在右下角。这表明,使用iou感知的查询选择训练的模型可以产生更多高质量的编码器特征。
此外,我们还定量地分析了这两种类型的点的分布特征。图中蓝点比红点多138%,即分类得分小于或等于0.5的红点更多,可以认为是低质量的特征。然后,我们用分类分数来分析特征的IoU,我们发现IoU分数大于0.5的蓝点比红点多120%。定量结果进一步表明,基于IoU感知的查询选择可以为对象查询提供更多的编码器特征,具有准确的分类(高分类分数)和精确的位置(高IoU分数),从而提高了检测器的准确性。详细的定量结果见第5.4节.
4.4. Scaled RT-DETR
为了提供一个可扩展的RT-DETR版本,我们用HGNetv2替换了ResNet [12]主干。我们使用深度乘法器和宽度乘法器来扩展主干器和混合编码器在一起。因此,我们得到了两个具有不同数量的参数和FPS的RT-DETR版本。对于我们的混合编码器,我们分别通过调整CCFM中的回复块数和编码器的嵌入维数来控制深度乘法器和宽度乘法器。值得注意的是,我们提出的不同尺度的RT-DETR保持了一个均匀的解码器,这便于使用高精度的大型DETR模型对光探测器进行蒸馏。这将是一个可探索的未来方向。
5. Experiments
5.1. Setups
Dataset 我们在微软提出的COCO数据集上进行了广泛的实验,以验证所提出的探测器。对于消融研究,我们在COCO2017 train上进行训练,并在COCO 2017 val数据集上进行验证。我们使用标准的COCO AP度量与单尺度图像作为输入。
Implementation Details 我们使用ResNet [12]和预先训练的图像[28]上的HGNetv2系列作为我们的骨干。AIFI由1个transformer层组成,CCMF中的融合块默认由3个基本模型的回复块组成。在iou感知的查询选择中,我们选择前300个编码器特性来初始化解码器的对象查询。解码器的训练策略和超参数几乎遵循DINO [40]。我们使用AdamW优化器,base learning rate= 0.0001,weight decay = 0.0001,global gradient clip norm = 0.0001,和linear warmup steps= 2000。主干设置的学习率遵循[4]。我们也使用指数移动平均线(EMA)与ema衰减=0.9999。1×的配置意味着总epoch为12,如果没有指定,所有的消融实验都使用1×。报告的最终结果使用了一个6×的配置。数据增强包括随机的{颜色扭曲,扩展,裁剪,翻转,调整大小}操作,遵循[36]。
5.2. Comparison with SOTA
表2将所提出的RT-DETR与其他实时和端到端对象检测器进行了比较。我们提出的RT-DETR-L达到了53.0%的AP和114 FPS,而RTDETR-X达到了54.8%的AP和74 FPS,在速度和精度上都优于所有相同规模的YOLO探测器。此外,我们提出的RT-DETR-R50达到了53.1%的AP和108 FPS,而RT-DETR-R101达到了54.3%的AP和74 FPS,在速度和精度上都优于现有的端到端检测器。
Compared to real-time detectors. 为了进行公平的比较,我们比较了比例RTDETR与当前实时探测器的速度和准确性(速度测试方法指章节3.2)。我们将按比例排列的RT-DETR与YOLOv5 [10]、PP-YOLOE [36]、YOLOv6v3.0(以下简称YOLOv6)[14]、YOLOv7 [33]和YOLOv8 [11]进行了比较,在表2中。 .与YOLOv5-L / PP-YOLOE-L / YOLOv7-L相比,RT-DETR-L显著提高了4.0% / 1.6% / 1.8% AP,FPS提高了111.1% / 21.3% / 107.3%,参数数量减少了30.4% / 38.5% / 11.1%。与YOLOv5-X / PP-YOLOE-X / YOLOv7-X相比,RTDETR-X将精度提高了4.1% / 2.5% / 1.9% AP,将FPS提高了72.1% / 23.3% / 64.4%,参数数量减少了22.1% / 31.6% / 5.6%。与YOLOv6-L / YOLOv8-L相比,RT-DETR-L的精度提高了0.2% / 0.1%的AP,速度提高了15.2% / 60.6%,参数数量减少了45.8% / 25.6%。与YOLOv8-X相比,RT-DETR-X在精度上提高了0.9%的AP,在速度上提高了48.0%的FPS,在参数数量上减少了1.5%。
Compared to end-to-end detectors. 表2表明,RT-DETR在所有具有相同主干的端到端检测器中都达到了最先进的性能。与DINO-Deformable-DETR-R50[40]相比,RT-DETR-R50显著提高了2.2% AP(53.1% AP vs. 50.9% AP)和速度提高了21倍(108FPSvs.5FPS),并减少了10.6%的参数数量。与SMCA-DETR-R101 [6]相比,RT-DETR-R101显著提高了8.0% AP的准确性。
5.3. Ablation Study on Hybrid Encoder
为了验证我们对编码器的分析的正确性和所提出的混合编码器的有效性,我们评估了在Sec4.2中设计的变体集的指标。包括AP、参数数和T4 GPU上的延迟。实验结果见表3。变体B比a提供了1.9%的AP改进,同时增加了3%的参数数量和54%的延迟。这证明了尺度内特性交互是重要的,但普通transformer编码器是昂贵的。变体C比B提供了0.7%的AP改进,并保持参数的数量不变,而延迟增加了20%。这说明跨尺度的特征融合也是必要的。
变体D比C提供了0.8%的AP改进,同时增加了9%的参数数量,但减少了8%的延迟。这表明,解耦尺度内交互和跨尺度融合可以在降低精度的同时降低计算量。与D相比, D S 5 D_{S_5} DS5减少了35%的延迟,但提供了0.4%的AP改进。这证明了较低层次特征的尺度内交互作用是不必要的。最后,配备了我们提出的混合编码器的变体E比d提供了1.5%的AP改进。尽管参数的数量增加了20%,但延迟减少了24%,使编码器的计算效率更高。
5.4. Ablation Study on IoU-aware Query Selection
我们对iou感知的查询选择进行了消融研究,定量实验结果如表4所示。我们采用的查询选择根据分类得分选择顶部K(K = 300)编码器特征作为内容查询,并使用这些所选特征对应的边界框作为初始位置查询。我们比较val2017上两个查询选择选择的编码器特征,计算分类得分大于0.5和大于0.5的比例,分别对应“
P
r
o
p
c
l
s
Prop_{cls}
Propcls”和“
P
r
o
p
b
o
t
h
Prop_{both}
Propboth”列。
结果表明:通过IoU感知查询选择选择的编码器特征不仅增加了高分类分数的比例(0.82% vs 0.35%),而且提供了更多具有高分类分数和高IoU分数的特征(0.67% vs 0.30%)。我们还在val2017年,我们评估了两种查询选择训练的检测器的准确性,其中iou感知的查询选择提高了0.8%的AP(48.7% AP vs 47.9% AP)。
5.5. Ablation Study on Decoder
表5显示了不同解码器层的RT-DETR各解码器层的精度和速度。当解码器层数为6层时,检测器的最佳精度为53.1% AP。我们还分析了每个解码器层对推理速度的影响,并得出了每个解码器层消耗约0.5 ms的结论。此外,我们还发现,随着解码器层指数的增加,解码器相邻层之间的精度差异逐渐减小。以6层解码器为例,使用5层推理只损失0.1%的AP(53.1% AP vs 53.0% AP),同时减少了0.5 ms(9.3 ms vs 8.8 ms)。因此,RT-DETR支持通过使用不同的解码器层来灵活地调整推理速度,而不需要再训练来进行推理,这方便了实时检测器的实际应用。
6. Conclusion
在本文中,我们提出了RT-DETR,据我们所知的第一个实时端到端检测器。我们首先对NMS进行了详细的分析,并建立了一个端到端速度基准,以验证当前实时检测器的推断速度被NMS延迟的事实。我们还从NMS的分析中得出结论,无锚点检测器以同样的精度优于基于锚点的检测器。为了避免NMS造成的延迟,我们设计了一个实时的端到端检测器,其中包括两个关键的改进组件:一个可以有效地处理多尺度特征的混合编码器,以及一个基于iou感知的查询选择,以改进对象查询的初始化。大量的实验表明,与其他实时探测器和类似大小的端到端探测器相比,RT-DETR在速度和精度上都达到了最先进的性能。此外,我们提出的检测器支持通过使用不同的解码器层来灵活地调整推理速度,而不需要再训练,这方便了实时目标检测器的实际应用。我们希望这项工作能够付诸实践,为研究人员提供启示。