RT-DETRv3:使用启发式密集正样本监督信号辅助训练

导读

RT-DETRv3 显著优于现有的实时检测器,包括RT-DETR系列和YOLO系列。例如,RT-DETRv3-R18 在保持相同延迟的情况下,实现了48.1%的AP(比RT-DETR-R18/RT-DETRv2-R18 提高了1.6%/1.4%),并且只需一半的训练周期即可达到相当的性能。

摘要

RT-DETR 是首个实时的基于Transformer的端到端目标检测器。其高效性来源于框架设计和匈牙利匹配算法。然而,与YOLO系列等密集监督检测器相比,匈牙利匹配提供的监督更加稀疏,导致模型训练不足,难以达到最优效果。为了解决这些问题,我们提出了基于RT-DETR的分层密集正样本监督方法,命名为RT-DETRv3。首先,我们引入了一个基于CNN的辅助分支,提供密集监督,与原有的解码器协同工作,增强编码器的特征表示。其次,为了解决解码器训练不足的问题,我们提出了一种新的学习策略——自注意力扰动。该策略通过在多个查询组之间多样化正样本的标签分配,丰富了正样本的监督。此外,我们还引入了一个共享权重的解码器分支,用于密集正样本监督,确保每个真实值有更多高质量的查询匹配。值得注意的是,上述所有模块仅在训练过程中使用。我们进行了广泛的实验,以证明我们的方法在COCO val2017上的有效性。RT-DETRv3 显著优于现有的实时检测器,包括RT-DETR系列和YOLO系列。例如,RT-DETRv3-R18 在保持相同延迟的情况下,实现了48.1%的AP(比RT-DETR-R18/RT-DETRv2-R18 提高了1.6%/1.4%),并且只需一半的训练周期即可达到相当的性能。此外,RT-DETRv3-R101 可以实现令人印象深刻的54.6%的AP,超过YOLOv10-X。代码将很快发布。

b3fe06eddbb3e2415511eb9b8964ff4b.png

1 介绍

目标检测是计算机视觉中的一个重要基础问题,主要关注于获取图像中物体的位置和类别信息。实时目标检测对算法性能有更高的要求,例如推理速度需要大于30 FPS。它在自动驾驶、视频监控和目标跟踪等实际应用中具有巨大的价值。近年来,由于高效的推理速度和优越的检测精度,实时目标检测受到了研究者和行业专业人士的广泛关注。其中,最受欢迎的是基于CNN的单阶段实时目标检测器,如YOLO系列。它们都采用了多对一的标签分配策略,设计了高效的推理框架,并使用非极大值抑制(NMS)来过滤冗余的预测结果。尽管这种策略引入了额外的延迟,但它们在准确性和速度之间实现了平衡。

DETR 是首个基于Transformer的端到端目标检测算法。它采用集合预测并通过匈牙利匹配策略进行优化,消除了对NMS后处理的需求,从而简化了目标检测过程。后续的DETR变体(如DAB-DETR、DINO和DN-DETR等)进一步引入了迭代细化方案和去噪训练,有效加速了模型的收敛速度并提高了其性能。然而,其高计算复杂度显著限制了其实际应用。

RT-DETR是首个实时的基于Transformer的端到端目标检测算法。它设计了一个高效的混合编码器和IoU感知查询选择模块,以及一个可扩展的解码器层,取得了比其他实时检测器更好的结果。然而,匈牙利匹配策略在训练过程中提供了稀疏监督,导致编码器和解码器训练不足,限制了该方法的最优性能。RT-DETRv2通过优化训练策略进一步提升了RT-DETR的灵活性和实用性,提高了性能而不牺牲速度,尽管需要更长的训练时间。为了有效解决目标检测中的稀疏监督问题,我们提出了一种分层密集正监督方法,通过在训练过程中引入多个辅助分支,有效加速了模型的收敛并增强了模型的性能。我们的主要贡献如下:

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

  • 我们提出了一种带有自注意力扰动的学习策略,旨在通过在多个查询组之间多样化标签分配来增强解码器的监督。此外,我们引入了一个共享权重的解码器分支用于密集正监督,确保每个真实值匹配更多的高质量查询。这些方法显著提高了模型的性能并加速了收敛,而不会增加额外的推理延迟。

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

2 相关工作

2.1 基于CNN的实时目标检测

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

2.2 基于Transformer的实时目标检测

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

2.3 辅助训练策略

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

3 方法

59a5a2bbb09c641e6144d64182a55277.png

3.1 整体架构

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

3.2 RT-DETR 概述

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

3.3 基于 CNN 的一对多辅助分支

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

3.4 基于 Transformer 的多组自注意力扰动分支

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

f781da2851465a161e4128d6b0a389f0.png

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

掩码自注意力模块的具体实现如图3所示。首先, 经过线性投影得到 Qi、Ki 和 Vi。然后,Qi 和 Ki 相乘计算注意力权重,进一步乘以 Mi 并通过 softmax 函数得到扰动后的注意力权重。最后,这个扰动后的注意力权重与 Vi 相乘,得到融合结果 。该过程可以表示为:

0c87fe547d29c069493870f7a0cb5850.png

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

d0593db2d6d6521a47ca7b959ecce739.png

对应的损失权重记为 β。

3.5 基于Transformer的一对多密集监督分支

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

3.6 总损失

综上所述,我们提出方法的总体损失函数如下:

c9985ba82fb2fd1c8e9f9e66b5bbfc72.png

其中负责编码器的密集监督,为解码器提供一对一监督信息的同时保留端到端的预测特性,而为解码器提供一对多的密集监督。默认情况下,损失权重α、β和γ均设置为1。

4 实验

4.1 数据集和评估指标

我们选择了MS COCO 2017目标检测数据集作为我们方法的评估基准。该数据集包含115,000张训练图像和5,000张测试图像。我们采用了与RT-DETR方法相同的评估指标AP。我们在收敛效率、推理速度和有效性方面比较了RT-DETRv3与其他实时目标检测器的性能,这些检测器包括基于Transformer和基于CNN的实时目标检测器。此外,我们对本文提到的模块进行了消融研究。所有实验细节和结果将在以下部分详细说明。

4.2 实现细节

我们将提出的分层密集监督分支集成到了RT-DETR框架中。基于CNN的密集监督辅助分支直接采用了PP-YOLOE头部,其样本匹配策略、损失计算和其他所有配置均与PP-YOLOE 一致。我们重用了RT-DETR的解码器结构作为主分支,并额外添加了三组参数共享的自注意力扰动分支。样本匹配方法与主分支一致,使用了匈牙利匹配算法。我们还添加了一个参数共享的一对多匹配分支,每个真实值默认匹配四个目标查询,并总共设置了300个目标查询。我们使用了AdamW优化器,集成了0.0001的权重衰减因子,确保所有其他训练配置严格遵循RT-DETR,包括数据增强和预训练。对于较小的骨干网络(R18, R34),我们使用了10倍(120个epoch)的训练计划;对于较大的骨干网络(R50, R101),我们使用了6倍(72个epoch)的训练计划。我们使用四块NVIDIA A100 GPU以64的批量大小训练我们提出的方法。此外,所有模型的延迟测试均在T4 GPU上使用TensorRT FP16进行。我们观察到,与大多数采用更长训练周期的检测器相比,RT-DETRv3仅需72个epoch即可达到更高的精度。

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

17c4a5238b24915d6a56cf8a89de1a48.png

推理速度和算法性能。基于Transformer架构的实时目标检测器主要由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相比,我们在6倍/10倍训练计划下评估了R18和R34骨干网络,我们的方法分别提升了1.4%/0.8%和0.9%/0.2%。此外,由于我们提出的辅助密集监督分支仅用于训练,因此我们的方法保持了与RT-DETR和RT-DETRv2相同的推理速度。

收敛速度。我们的方法通过引入基于CNN和基于Transformer的一对多密集监督,不仅提高了模型性能,还加速了收敛。我们进行了广泛的实验来验证我们方法的有效性。表1展示了RT-DETRv3、RT-DETR和RT-DETRv2在不同训练计划下的对比分析。结果清楚地表明,无论在哪种训练计划下,我们的方法在收敛速度上都优于它们,并且只需一半的训练周期即可达到相当的性能。

过拟合分析。如图4所示,我们注意到随着模型规模的增大,RT-DETRv3倾向于出现过拟合现象。我们认为这可能是由于训练数据集的规模与模型规模之间的不匹配所致。我们进行了几项实验,如表3所示,当增加额外的训练数据时,随着训练周期的增加,RT-DETRv3的性能持续提高,并且在同一训练周期内表现优于未增加额外数据的模型。

b76c1f145694e20ef90079d9ef003e35.png

9a6def166f9ebafaca1c4c01ee13b520.png

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

推理速度和算法性能。我们比较了RT-DETRv3与当前先进的基于CNN的实时目标检测方法的端到端速度和准确性。根据推理速度,我们将模型分为小规模、中规模和大规模三类。在相似的推理性能条件下,我们将RT-DETRv3与其他最先进的算法进行了比较,如YOLOv6-3.0、Gold-YOLO、YOLO-MS、YOLOv8、YOLOv9 和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-DETRv3推理效率的空间。

收敛速度。如表2所示,我们很高兴地发现,尽管RT-DETRv3实现了优越的性能,但其训练周期可以减少到基于CNN的实时检测器的60%甚至更少。

4.5 消融研究

设置。我们使用RT-DETR作为基线进行了消融实验,然后通过依次集成辅助的基于CNN的一对多标签分配分支、辅助的基于Transformer的一对多标签分配分支以及多组自注意力扰动模块来验证所提出方法的影响。这些实验采用ResNet18作为主干网络,批量大小为64,并使用四块NVIDIA A100 GPU,同时保持其他配置与RT-DETR一致。

组件消融。我们进行了消融实验以评估本文提出的各个模块。如表4所示,每个模块都显著提升了模型的性能。例如,通过向RT-DETR添加O2M-T模块,我们观察到相对于基线模型性能提高了1.0%。当所有提出的模块都被集成到RT-DETR中进行算法优化时,模型的性能提高了1.6%。

452cd14822c1a30a39d3342b08043ab9.png

自注意力扰动分支数量。为了验证自注意力扰动分支数量变化对RT-DETRv3性能的影响,我们使用RT-DETRv3-R18进行了消融实验,分别测试了2个、3个和4个分支的情况,同时保持其他所有配置不变。如表5所示,当分支数量设置为3时,模型达到了最佳性能,AP值为48.1。减少分支数量会降低监督信号的丰富度,导致性能下降。相反,过多增加分支数量会增加模型的学习难度,而不会带来显著的性能提升。

168f10ad7a53d1e19b6b3cd127ca4328.png

5 结论

在本文中,我们提出了一种基于Transformer的实时目标检测算法,命名为RT-DETRv3。该算法在RT-DETR的基础上引入了多个密集正样本辅助监督模块。这些模块对RT-DETR编码器和解码器中的特定特征应用一对多目标监督,从而加速算法的收敛并提高其性能。需要注意的是,这些模块仅用于训练阶段。我们在COCO目标检测基准上验证了算法的有效性,实验结果表明,我们的算法相比其他实时目标检测器取得了更好的效果。我们希望我们的工作能够激发从事实时Transformer目标检测的研究人员和开发者的灵感。

fe217d4fb85bb60c98ca2acd5b4e2cba.png

—END—

论文链接:https://arxiv.org/pdf/2409.08475

a025d3b2430e34b50597583826ccd7c4.jpeg

请长按或扫描二维码关注本公众号

喜欢的话,请给我个在看吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值