RT-DETRv3:真正的实时端到端目标检测算法,完爆YOLOv10~

点击下方卡片,关注“自动驾驶之心”公众号

戳我-> 领取自动驾驶近15个方向学习路线

今天自动驾驶之心为大家分享百度最新的工作—RT-DETRv3!如果您有相关工作需要分享,请在文末联系我们!

自动驾驶课程学习与技术交流群事宜,也欢迎添加小助理微信AIDriver004做进一步咨询

>>点击进入→自动驾驶之心目标检测技术交流群

编辑 | 自动驾驶之心

真正的实时目标检测!百度超进化RT-DETRv3:一骑绝尘的端到端目标检测算法,性能&耗时完爆YOLOv10

写在前面 & 笔者的个人理解

RT-DETR是第一个基于实时端到端Transformer的目标检测器。其效率来源于框架设计和匈牙利匹配。然而与YOLO系列等密集的监督检测器相比,匈牙利匹配提供了更稀疏的监督,导致模型训练不足,难以达到最佳结果。为了解决这些问题,本文提出了一种基于RT-DETR的分层密集正监督方法,称为RT-DETRv3。首先引入了一个基于CNN的辅助分支,该分支提供密集的监督,与原始解码器协同工作,以增强编码器的特征表示。其次为了解决解码器训练不足的问题,进一步提出了一种涉及self-att扰动的新学习策略。该策略使多个查询组中阳性样本的标签分配多样化,从而丰富了阳例。此外引入了一个共享权重解编码器分支,用于密集的正向监督,以确保更多高质量的查询与GT匹配。值得注意的是,上述所有模块都只是训练策略。我们进行了广泛的实验,以证明我们的方法对COCOval2017的有效性。RT-DETRv3的性能明显优于现有的实时检测器,包括RT-DETR系列和YOLO系列。例如,与RT-DETR-R18/RT-DETRv2-R18相比,RT-DETRv3-R18实现了48.1%的AP(+1.6%/+1.4%),同时保持了相同的耗时。同时它只需要一半的时间就可以达到类似的性能。此外,RT-DETRv3-R101以54.6%的AP性能超越YOLOv10-X。

7b15765c7106d1701dbf7227b2dd68cc.png

总结来说,本文的主要贡献如下:

  • 引入了一种基于CNN的一对多标签分配辅助头,它与原始检测分支协作进行优化,进一步增强了编码器的表示能力。

  • 提出了一种具有self-att扰动的学习策略,旨在通过在多个查询组中分散标签分配来增强对解码器的监督。此外引入了一个共享权重解码器分支,用于密集的正向监督,以确保更多高质量的查询与每个基本事实相匹配。这些方法显著提高了模型的性能,并在没有额外推理耗时的情况下加速了收敛。

  • 在COCO数据集上进行的广泛实验彻底验证了我们提出的方法的有效性。如图1所示,RT-DETRv3明显优于其他实时检测器,包括RT-DETR系列和YOLO系列。例如,与RT-DETR-R18相比,RT-DETRv3-R18实现了48.1%的AP(+1.6%),同时保持了相同的延迟。此外RT-DETRv3-R50的AP比YOLOv9-C高0.9%,即使耗时减少了1.3ms。

相关工作回顾

基于CNN的实时目标检测算法

目前基于CNN的实时目标探测器主要是YOLO系列。YOLOv4和YOLOv5优化了网络架构(例如,通过采用CSPNet和PAN),同时还利用了Mosaic数据增强。YOLOv6进一步优化了结构,包括RepVGG骨干、解耦头、SimSPPF和更有效的训练策略(例如SimOTA等)。YOLOv7引入了E-ELAN注意力模块,以更好地整合不同层次的特征,并采用自适应锚机制来提高小目标检测。YOLOv8提出了一个C2f模块,用于有效的特征提取和融合。YOLOv9提出了一种新的GELAN架构,并设计了一个PGI来增强训练过程。PP-YOLO系列是基于百度提出的飞桨框架的实时目标检测解决方案。该系列算法在YOLO系列的基础上进行了优化和改进,旨在提高检测精度和速度,以满足实际应用场景的需求。

基于Transformer的实时目标检测算法

RT-DETR是第一个实时端到端目标检测器。该方法设计了一种高效的混合编码器,通过解耦尺度内交互和跨尺度融合来有效地处理多尺度特征,并提出了IoU感知查询选择,通过向解码器提供更高质量的初始目标查询来进一步提高性能。其精度和速度均优于同期YOLO系列,受到了广泛关注。RT-DETRv2进一步优化了训练策略,包括动态数据增强和优化采样算子以便于部署,从而进一步提高了其模型性能。然而由于它们一对一的稀疏监督,收敛速度和最终效果有限。因此引入一对多标签分配策略可以进一步提高模型的性能。

辅助训练策略

Co-DETR提出了多个并行的一对多标签分配辅助头部训练策略(例如ATSS和Faster RCNN),可以很容易地增强端到端检测器中编码器的学习能力。例如,ViT-CoMer与Co-DETR的集成在COCO检测任务上取得了最先进的性能。DAC-DETR、MS-DETR和GroupDETR主要通过向模型的解码器添加一对多监督信息来加速模型的收敛。上述方法通过在模型的不同位置添加额外的辅助分支来加速收敛或提高模型的性能,但它们不是实时目标检测器。受此启发,我们在RT-DETR的编码器和解码器中引入了多个一对多辅助密集监控模块。这些模块提高了收敛速度,改善了RT-DETR的整体性能。由于这些模块仅在训练阶段参与,因此它们不会影响RT-DETR的推理耗时。

详解RT-DETRv3

方法概览

RT-DETRv3的整体结构如图2所示。我们保留了RT-DETR的整体框架(以黄色突出显示),并额外引入了我们提出的分层解耦密集监督方法(以绿色突出显示)。最初,输入图像通过CNN骨干网(例如ResNet)和特征融合模块(称为高效混合编码器)进行处理,以获得多尺度特征{C3、C4和C5}。然后,这些特征被并行馈送到基于CNN的一对多辅助分支和基于变压器的解码器分支中。对于基于CNN的一对多辅助分支,我们直接采用现有的最先进的密集监督方法,如PP-YOLOE,来协同监督编码器的表示学习。在基于Transformer的解码器分支中,首先对多尺度特征进行展平和级联。然后,我们使用查询选择模块从中选择前k个特征来生成目标查询。在解码器中引入了一个掩码生成器,可以生成多组随机掩码。这些掩码应用于自我关注模块,影响查询之间的相关性,从而区分正向查询的分配。每组随机掩码都与相应的查询配对,如图2中的所示。此外,为了确保有更多高质量的查询与每个gt相匹配,我们在解码器中加入了一对多标签分配分支。以下部分详细描述了本工作中提出的模块。

2c24fc0eecdd9e97a1b157af7a790832.png

Overview of RT-DETR

RT-DETR是一个为目标检测任务设计的实时检测框架。它集成了DETR的端到端预测的优点,同时优化了推理速度和检测精度。为了实现实时性能,编码器模块被一个轻量级的CNN骨干网和一个为高效特征融合而设计的高效混合编码器模块所取代。RT-DETR提出了一种不确定性最小查询选择模块,用于选择高置信度特征作为目标查询,降低了查询优化的难度。随后,解码器的多层通过自关注、交叉注意力和前馈网络(FFN)模块增强这些查询,并由MLP层产生预测结果。在训练优化过程中,RT-DETR采用匈牙利语匹配进行一对一分配。对于损失计算,它使用L1损失和GIoU损失来监督盒回归,并使用可变焦点损失(VFL)来监督分类任务的学习。

基于此CNN的One-to-Many辅助分支

为了缓解解码器的一对一集匹配方案导致的编码器输出稀疏监督问题,我们引入了一种具有一对多分配的辅助检测头,如PP-YOLOE。该策略可以有效地加强对编码器的监督,使其具有足够的表示能力来加速模型的收敛。具体来说,我们直接将编码器的输出特征{C3、C4和C5}集成到PP-YOLOE头中。对于一对多匹配算法,我们遵循PP-YOLOE头的配置,在训练的早期使用ATSS匹配算法,然后切换到TaskAlign匹配算法。为了学习分类和定位任务,分别选择了VFL和分布式聚焦损失(DFL)。其中,VFL使用IoU分数作为阳性样本的目标,这使得IoU较高的阳性样本对损失的贡献相对较大。这也使得模型在训练过程中更关注高质量的样本,而不是低质量的样本。具体来说,解码器头还使用VFL损失来确保任务定义的一致性。我们将CNN辅助分支的总损失表示为Laux,相应的损失重量表示为α。

基于变压器的多组自注意力扰动分支

解码器由一系列变压器块组成,每个块都包含一个自注意力、cross-att和FFN(前馈网络)模块。最初,查询通过自注意力模块相互交互,以增强或减少它们的特征表示。随后,每个查询通过交叉注意力模块从编码器的输出特征中检索信息来更新自身。最后,FFN预测与每个查询对应的目标的类和边界框坐标。然而,在RT-DETR中采用一对一的集合匹配会导致监督信息稀疏,最终损害模型的性能。

为了确保与同一目标相关的多个相关查询有机会参与正样本学习,我们提出了基于掩码自注意的多个自注意扰动模块。这个扰动模块的实现细节如图2所示。首先,我们通过查询选择模块生成多组目标查询,表示为OQi(i=1…N,其中N是集合的数量)。相应地,我们使用掩模生成器为每组OQi生成随机扰动掩模Mi。OQi和Mi都被输入到面具自注意模块中,从而产生扰动和融合的特征。

33508287b79f3b0528c8ec849ba99749.png

Mask Self-Attention模块的详细实现如图3所示,首先线性投影OQi以获得Qi、Ki和Vi。然后,将Qi和Ki相乘以计算注意力权重,再将注意力权重乘以Mi,并通过softmax函数得到扰动注意力权重。最后,将该扰动注意力权重乘以Vi,得到融合结果。该过程可以表示为:

87d31d27ebd5e25152c82531f5b8fda1.png

引入多组随机扰动使查询的特征多样化,允许与同一目标相关的多个相关查询有机会被分配为正样本查询,从而丰富了监督信息。在训练过程中,多组目标查询被连接并馈入单个解码器分支,从而实现了参数共享并提高了训练效率。损失计算和标签分配方案与RT-DETR保持一致。我们将第i个集的损失表示为损失,N个扰动集的总损失计算如下:

3bbc07a01b0b347dff52e86513674fe6.png

基于变压器的一对多密集监督分支

为了使多组自关注扰动分支的收益最大化,我们在解码器中引入了一个具有共享权重的额外密集监督分支。这确保了更多高质量的查询与每个基本事实相匹配。具体来说,我们使用查询选择模块来生成一组唯一的目标查询。在样本匹配阶段,通过将训练标签复制因子m来生成增强目标集,默认值为4。随后,将此增强集与查询的预测进行匹配。损失计算与原始检测损失保持一致,我们将指定为该分支的损失函数,损失权重为。

整体损失如下所示:

d44e4d079b6284d9c120f8cad80b8f39.png

实验结果

推理速度和算法性能。基于变压器架构的实时目标检测器主要由RT-DETR系列表示。表1显示了我们的方法和RT-DETR系列之间的比较结果。我们的方法在各种骨干上都优于RT-DETR和RT-DETRv2。具体而言,与RT-DETR相比,采用6倍训练计划,我们的方法显示R18、R34、R50和R101主干分别提高了1.6%、1.0%、0.3%和0.3%。与RT-DETRv2相比,我们在6x/10x训练计划下评估了R18和R34骨干,我们的方法分别提高了1.4%/0.8%和0.9%/0.2%。此外,由于我们提出的辅助密集监督分支仅用于训练,因此我们的方法保持了与RT-DETR和RT-DETRv2相同的推理速度。

25d9331bda3e6548c34eb682a2762723.png

收敛速度。我们的方法基于RT-DETR框架,通过结合基于CNN和基于Transformer的一对多密集监督,不仅提高了模型性能,还加快了收敛速度。我们进行了广泛的实验来验证我们方法的有效性。表1显示了不同训练计划下RT-DETRv3、RT-DETR和RT-DETRv2的比较分析。它清楚地表明,在任何调度中,我们的方法在收敛速度方面都优于它们,只需要一半的训练周期就可以达到类似的性能。

9a426ef392921101896531143abc92f3.png

过拟合分析。如图4所示,我们注意到,随着模型大小的增加,RT-DETRv3往往表现出过拟合。我们认为这可能是由于训练数据集的大小与模型大小不匹配造成的。我们进行了几个实验,如表3所示,当我们添加额外的训练数据时,RT-DETRv3的性能随着训练周期的增加而持续提高,并且在相同的周期内,它的性能优于没有额外数据的模型。

67de7a0ad3357c549ca315612d13aafc.png

与基于CNN的实时目标检测器的比较

推理速度和算法性能。我们将RT-DETRv3的端到端速度和准确性与当前先进的基于CNN的实时目标检测方法进行了比较。我们根据推理速度将模型分为小、中、大三个尺度。在类似的推理性能条件下,我们将RT-DETRv3与其他最先进的算法进行了比较,如YOLOv6-3.0、Gold-YOLO、YOLO-MS、YOLOv8、YOLOv0和YOLOv10。如表2所示,对于小规模模型,RT-DETRv3-R18方法的性能分别优于YOLOv6-3.0-S、Gold-YOLO-S、YOLO-MS-S、YOLOv8-S、YOLOv9-S和YOLOv10-S 4.4%、3.3%、2.5%、2.5%、2.0%和2.4%。对于中尺度模型,RT-DETRv3的性能也优于YOLOv6-3.0-M、Gold-YOLO-M、YOLO-MS-M、YOLOv8-M、YOLOv9-M和YOLOv10-M。对于大尺度模型,我们的方法始终优于基于CNN的实时目标检测器。例如,我们的RT-DETRv3-R101可以实现54.6个AP,这比YOLOv10-X要好。但是,由于我们还没有针对轻量级部署优化RT-DETRv3检测器的整体框架,因此RT-DETLv3的推理效率仍有进一步提高的空间。

收敛速度。如表2所示,我们很高兴地发现,与基于CNN的实时检测器相比,我们的RT-DETRv3在实现卓越性能的同时,可以将训练时间减少到60%甚至更少。

8afcaea3e6a22fedc4b5c0ef239311c7.png

消融结果如下:

dd317adf8319d2fe9dc78adeb16330c7.png

结论

本文提出了一种基于Transformer的实时目标检测算法RT-DETRv3。该算法在RT-DETR的基础上,引入了多个密集正样本辅助监督模块。这些模块将一对多目标监督应用于RT-DETR中编码器和解码器的特定特征,从而加速算法的收敛并提高其性能。值得注意的是,这些模块仅用于训练。我们在COCO目标检测基准上验证了我们算法的有效性,实验表明:与其他实时目标检测器相比,我们的算法取得了更好的结果。

参考

[1] RT-DETRv3: Real-time End-to-End Object Detection with Hierarchical Dense Positive Supervision

自动驾驶之心知识星球』欢迎加入交流!重磅,自动驾驶之心科研论文辅导来啦,申博、CCF系列、SCI、EI、毕业论文、比赛辅导等多个方向,欢迎联系我们!

ee2790c9f215b8a2769c66e9ba7f6495.jpeg

① 全网独家视频课程

端到端自动驾驶、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、CUDA与TensorRT模型部署大模型与自动驾驶NeRF语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

07b33f3e2cabb4eab00a265aed7c6627.png

网页端官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

国内外最大最专业,近4000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知端到端自动驾驶世界模型仿真闭环2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

c8524df363ed823fc7ac981e94544e76.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

4a8f4d61b52a18e732aac14680277be4.jpeg

④【自动驾驶之心】全平台矩阵

1bd8d560656903eaf86f4963ee765e73.png

rt-voice pro 是一种基于人工智能技术的代码,它可以将文字转化为声音进行播放。这个代码可以应用在各种需要文字转语音的场景中,例如语音合成系统、无障碍辅助工具、虚拟助理等。 rt-voice pro 的核心功能是将输入的文本进行语音合成,生成自然流畅的人工语音。它利用先进的语音合成算法和模型,对文字进行分析和处理,然后产生逼真的语音输出。不仅如此,rt-voice pro 还能够根据不同的需求,调节语速、音调、声音性别和音量等参数。有了这些灵活的设置,用户可以根据具体需要调整最适合的语音播放效果。 rt-voice pro 还具备多种语音样式和区域方言选择的功能。用户可以根据场景的需求选择不同的语音样式,例如年轻女声、成熟男声或者是有特殊口音的方言。这样可以更好地符合特定场景的语音需求,并且提供更个性化和亲切的用户体验。 rt-voice pro 不仅适用于个人用户,也可以应用于企业和开发者。它提供了稳定可靠的API接口,可以方便地嵌入到各种应用程序或服务中。通过调用API,开发者可以实现文字转语音功能,丰富自己的产品或服务的形式,提升用户体验。 综上所述,rt-voice pro 是一个功能强大的代码,它能够将文字转化为流畅自然的语音进行播放。它具备灵活的参数设置、多样化的语音样式选择,并提供了稳定可靠的API接口,满足不同用户和开发者的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值