cvpr 2024
论文名称 DETRs在实时目标检测上击败YOLO
地址 https://arxiv.longhoe.net/abs/2304.08069
代码 https://github.com/lyuwenyu/RT-DETR
目录
摘要
YOLO系列已经成为最流行的实时目标检测框架,因为它在速度和准确性之间做出了合理的权衡。然而,我们观察到YOLO的速度和准确性受到NMS的负面影响。最近,端到端基于转换器的检测器(DETR)提供了消除NMS的替代方案。然而,高计算成本限制了它们的实用性,并阻碍了它们充分发挥排除NMS的优势。在本文中,我们提出了实时检测Transformer(RT-DETR),第一个实时端到端对象检测器,以我们所知,解决了上述困境。我们借鉴先进的DETR,分两步构建RT-DETR:首先,我们专注于在提高速度的同时保持准确性,其次是在提高准确性的同时保持速度。具体来说,我们设计了一个高效的混合编码器,通过解耦尺度内交互和跨尺度融合来快速处理多尺度特征,以提高速度。然后,我们提出了不确定性最小的查询选择提供高质量的初始查询的解码器,从而提高准确性。此外,RT-DETR支持灵活的速度调整,通过调整解码器层的数量来适应各种场景,而无需重新训练。我们的RT-DETR-R50 / R101在COCO上实现了53.1% / 54.3%的AP,在T4 GPU上实现了108 / 74 FPS,无论是速度还是精度都超过了之前先进的YOLO。此外,RT-DETR-R50在准确性方面优于DINO-R50 2.2%AP,FPS约为21倍。经过Objects 365的预训练后,RTDETR-R50 / R101分别达到了55.3% / 56.2%的AP。代码:https://zhao-yian.github.io/RTDETR。
1介绍
实时目标检测是一个重要的研究领域,有着广泛的应用,如目标跟踪[43]、视频监控[28]、自动驾驶[2]等,现有的实时检测器一般采用基于CNN的架构,其中最著名的是YOLO检测器[1,10-12,15,16,25,30,38,40]由于它们在速度和准确性之间的合理权衡。然而,这些检测器通常需要非最大值抑制(NMS)进行后处理,这不仅降低了推理速度,而且还引入了超参数,导致速度和精度不稳定。此外,考虑到不同场景对查全率和准确率的重视程度不同,需要仔细选择合适的NMS阈值,这阻碍了实时检测器的发展。
最近,端到端基于transformer的检测器(DETR)[4,17,23,27,36,39,44,45]由于其精简的架构和消除手工制作的组件而受到学术界的广泛关注。然而,它们的高计算成本使它们无法满足实时检测要求,因此无NMS架构没有表现出推理速度优势。这启发我们探索DETR是否可以扩展到实时场景,并在速度和准确性方面优于先进的YOLO检测器,消除NMS对实时对象检测造成的延迟。
为实现上述目标,我们重新考虑DETR并对关键组件进行详细分析,以减少不必要的计算冗余并进一步提高准确性。对于前者,我们观察到,虽然多尺度特征的引入有利于加速训练收敛[45],但它会导致输入编码器的序列长度显着增加。由于多尺度特征的交互作用导致的高计算成本使得Transformer编码器成为计算瓶颈。因此,实现实时DETR需要重新设计编码器。对于后者,以前的工作[42,44,45]表明难以优化的对象查询阻碍了DETR的性能,并提出了查询选择方案,以用编码器特征取代香草可学习嵌入。然而,我们观察到,目前的查询选择直接采用分类分数进行选择,忽略了这样一个事实,即检测器需要同时建模的类别和对象的位置,这两者都决定了功能的质量。这不可避免地导致具有低定位置信度的编码器特征被选择作为初始查询,从而导致相当大程度的不确定性并损害DETR的性能。我们将查询初始化视为进一步提高性能的突破口。
在本文中,我们提出了实时检测Transformer(RT-DETR),第一个实时端到端的对象检测器,以我们最好的知识。为了快速处理多尺度特征,我们设计了一个高效的混合编码器来代替香草Transformer编码器,通过解耦尺度内交互和不同尺度特征的跨尺度融合来显著提高推理速度。为了避免低定位置信度的编码器特征被选择为对象查询,我们提出了不确定性最小查询选择,通过显式优化不确定性,为解码器提供高质量的初始查询,从而提高准确性。此外,RT-DETR支持灵活的速度调整,以适应各种实时场景,而无需重新训练,这要归功于DETR的多层解码器架构。
RT-DETR在速度和精度之间实现了理想的平衡。具体来说,RT-DETR-R50在COCO val 2017上实现了53.1%的AP,在T4 GPU上实现了108 FPS,而RTDETR-R101实现了54.3%的AP和74 FPS,在速度和准确性方面都优于之前先进的YOLO探测器的L和X型号,图1。我们还通过使用更小的主干扩展编码器和解码器来开发扩展的RT-DETR,其性能优于更轻的YOLO检测器(S和M模型)。此外,RT-DETR-R50在准确度上比DINO-Deformable-DETR-R50高出2.2% AP(53.1% AP vs 50.9% AP),在FPS上高出约21倍(108 FPS vs 5 FPS),显着提高了DETR的准确度和速度。在使用Objects 365 [35]进行预训练后,RTDETR-R50 / R101实现了55.3% / 56.2%的AP,从而实现了令人惊讶的性能提升。更多实验结果见附录。
图1.与以前先进的实时目标检测器相比,我们的RT-DETR实现了最先进的性能。
主要贡献归纳如下:(一)。我们提出了第一个称为RTDETR的实时端到端对象检测器,它不仅在速度和准确性方面优于以前先进的YOLO检测器,而且还消除了NMS后处理对实时对象检测造成的负面影响;(ii)。定量分析NMS对YOLO检测器速度和精度的影响,建立端到端速度基准测试实时检测器的端到端推理速度;(iii).所提出的RT-DETR通过调整解码器层的数量来支持灵活的速度调整,以适应各种情况,而无需重新训练。
2.相关工作
2.1实时目标探测器
YOLOv1 [31]是第一个基于CNN的单阶段对象检测器,可以实现真正的实时对象检测。经过多年的不断发展,YOLO探测器已经超越了其他单级目标探测器[21,24],成为实时目标探测器的代名词。YOLO检测器可以分为两类:基于锚点的[1,11,15,25,29,30,37,38]和无锚点的[10,12,16,40],它们在速度和精度之间实现了合理的权衡,并广泛应用于各种实际场景。这些先进的实时检测器会产生许多重叠的盒子,需要NMS后处理,这会降低它们的速度。
2.2.端到端物体探测器
端到端物体探测器以其流线型的管道而闻名。Carion等人[4]首先提出了基于Transformer的端到端检测器,称为DETR,由于其独特的特性而引起了广泛的关注。特别是,DETR消除了手工制作的锚和NMS组件。相反,它采用二分匹配,并直接预测一对一的对象集。尽管DETR具有明显的优势,但它存在一些问题:训练收敛速度慢,计算成本高,难以优化查询。已经提出了许多DETR变体来解决这些问题。加速融合。Deformable-DETR [45]通过提高注意力机制的效率来加速多尺度特征的训练收敛。DAB-DETR [23]和DN-DETR [17]通过引入迭代细化方案和去噪训练进一步提高了性能。Group-DETR [5]引入了分组一对多分配。降低计算成本。高效DETR [42]和稀疏DETR [33]通过减少编码器和解码器层的数量或更新查询的数量来降低计算成本。Lite DETR [18]通过以交错方式降低低级特征的更新频率来提高编码器的效率。优化查询初始化。条件DETR [27]和锚DETR [39]降低了查询的优化难度。Zhu等人。[45]提出了两阶段DETR的查询选择,DINO [44]建议混合查询选择以帮助更好地初始化查询。目前的DETR仍然是计算密集型的,并且没有被设计为真实的时间检测。我们的RT-DETR积极探索计算成本的降低,并试图优化查询初始化,优于最先进的实时检测器。