RT-DERT:在实时目标检测上,DETRs打败了yolo

文章目录

  • 摘要
  • 1、简介
  • 2. 相关研究
    • 2.1、实时目标检测器
    • 2.2、端到端目标检测器
    • 2.3、用于目标检测的多尺度特征
  • 3、检测器的端到端速度
    • 3.1、 NMS分析
    • 3.2、端到端速度基准测试
  • 4、实时DETR
    • 4.1、模型概述
    • 4.2、高效的混合编码器
    • 4.3、IoU-aware查询选择
    • 4.4、RT-DETR的缩放
  • 5、实验
    • 5.1、设置
    • 5.2、与SOTA方法比较
    • 5.3、混合编码器的消融研究
    • 5.4、IoU-aware查询选择的消融研究
    • 5.5、解码器消融研究
  • 6、结论

摘要

论文:https://arxiv.org/pdf/2304.08069.pdf
最近,基于Transformer的端到端检测器(DETRs)取得了显著的成果。然而,DETRs的高计算成本限制了它们的实际应用,并阻止了它们充分利用无后处理(例如非极大值抑制(NMS))的优势。在本文中,我们首先分析了NMS对现有实时目标检测器的准确性和速度的负面影响,并建立了端到端的实时速度基准。为了解决上述问题,我们提出了第一个实时端到端目标检测器——RT-DETR(Real-Time Detection Transformer)。具体来说,我们设计了一个高效的混合编码器,通过分离尺度内的相互作用和跨尺度融合来有效地处理多尺度特征,并提出了IoU-aware查询选择来进一步提高性能,为解码器提供更高质量的初始目标查询。此外,我们提出的检测器支持使用不同的解码层进行灵活的推理速度调整,无需重新训练,这有利于在各种实时场景中的实际应用。我们的RT-DETR-L在COCO val2017上实现了53.0%的AP,在T4 GPU上实现了114 FPS,而RT-DETR-X实现了54.8%的AP和74 FPS,在速度和准确性方面都优于相同规模的YOLO检测器。此外,我们的RT-DETR-R50实现了53.1%的AP和108 FPS,在准确性方面比DINO-DeformableDETR-R50高出2.2%,在FPS方面高出约21倍。源代码和预训练模型可在https://github.com/lyuwenyu/RT-DETR上获得。

1、简介

目标检测是一项基本的视觉任务,涉及到图像中对象的识别和定位。有两种典型的目标检测器架构:基于CNN的和基于Transformer的。在过去的几年中,基于CNN的目标检测器得到了广泛的研究。这些检测器的架构从最初的二阶段[12, 30, 4]演变为单阶段[23, 36, 1, 13, 26, 17, 41, 18, 10, 38, 14],并且出现了两种检测范式,基于锚的[23, 26, 17, 13, 38]和锚自由[36, 10, 41, 18, 14]。这些研究在检测速度和准确性方面取得了重大进展。基于Transformer的目标检测器(DETRs)[5, 34, 39, 49, 27, 40, 24, 20, 46, 6]自提出以来就受到学术界的广泛关注,由于其消除了各种手工组件,例如非极大值抑制(NMS)。该架构极大地简化了目标检测的流程,并实现了端到端的目标检测。

实时目标检测是一个重要的研究领域,具有广泛的应用,如目标跟踪[45, 48]、视频监控[28]、自动驾驶[2, 44]等。现有的实时检测器通常采用基于CNN的架构,这在检测速度和准确性之间达到了合理的折衷。然而,这些实时检测器通常需要使用NMS进行后处理,这通常很难优化且不够鲁棒,导致检测器的推理速度延迟。最近,由于研究人员在加速训练收敛和降低优化难度方面的努力,基于Transformer的检测器取得了显着的性能。然而,DETR的计算成本高的问题没有得到有效解决,限制了DETR的实际应用,无法充分利用其优势。这意味着尽管目标检测管道被简化了,但由于模型本身的计算成本高,难以实现实时目标检测。上述问题自然促使我们考虑是否可以将DETR扩展到实时场景,充分利用端到端检测器来避免NMS对实时检测器造成的延迟。

为了实现上述目标,我们对DETR进行重新思考,并对关键组件进行详细的分析和实验,以减少不必要的计算冗余。具体来说,我们发现,尽管引入多尺度特征有助于加快训练收敛和提高性能[49],但它也导致输入到编码器的序列长度显著增加。因此,由于高昂的计算成本,变压器编码器成为模型的计算瓶颈。为了实现实时目标检测,我们设计了一种高效的混合编码器来替代原始的变压器编码器。通过分离多尺度特征的内部尺度交互和跨尺度融合,编码器可以有效地处理不同尺度的特征。此外,早期的研究[40, 24]表明,解码器的对象查询初始化方案对检测性能至关重要。为了进一步提高性能,我们提出了IoU-aware查询选择,通过在训练过程中提供IoU约束,为解码器提供更高质量的初始对象查询。此外,我们提出的检测器支持使用不同的解码器层进行灵活的推理速度调整,无需重新训练,这得益于DETR架构中解码器的设计,并促进了实时检测器的实际应用。
在这里插入图片描述

在这篇论文中,我们提出了RT-DETR,这是我们所知第一个实时端到端目标检测器。 RT-DETR不仅在准确率和速度方面优于目前最先进的实时检测器,而且不需要后处理,因此检测器的推理速度不会延迟且保持稳定,充分利用端到端检测管道的优势。 我们提出的RT-DETRL在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-DETR-R50在准确性上比DINODeformable-DETR-R50高2.2%(53.1% AP vs 50.9% AP),在FPS上大约快21倍(108 FPS vs 5 FPS)。

本文的主要贡献总结如下:(i)我们提出了第一个实时端到端目标检测器,不仅在速度和准确性上超越了当前最先进的实时检测器,而且不需要后处理,因此其推理速度不会延迟且保持稳定;(ii)我们详细分析了NMS对实时检测器的影响,并从后处理角度得出关于当前实时检测器的结论;(iii)我们的工作为当前端到端检测器的实时实现提供了一个可行的解决方案,所提出的检测器可以通过使用不同的解码器层来灵活调整推理速度,而无需重新训练,这在现有的实时检测器中是难以实现的。

2. 相关研究

2.1、实时目标检测器

经过多年的持续发展,YOLO系列[29, 1, 37, 26, 17, 13, 10, 41, 18, 38, 14]已经成为实时目标检测器的代名词,它们大致可分为两类:基于锚框的[29, 1, 37, 13, 38]和无锚框的[10, 41, 18, 14]。从这些检测器的性能来看,锚框不再是限制YOLO发展的主要因素。然而,上述检测器产生了大量的冗余边界框,需要在后处理阶段利用NMS来过滤它们。不幸的是,这导致了性能瓶颈,而NMS的超参数对检测器的准确性和速度有重大影响。我们认为这与实时目标检测器的设计理念是不相容的。

2.2、端到端目标检测器

端到端目标检测器[5, 34, 39, 49, 27, 40, 24, 20, 46, 6]以其简洁的管道而闻名。Carion等人[5]首次提出基于Transformer的端到端目标检测器,称为DETR(DEtection TRansformer)。由于其独特的特点,它引起了极大的关注。特别是,DETR消除了传统检测管道中的手工设计的锚点和NMS组件。相反,它采用二部匹配并直接预测一对一的对象集。通过采用这种策略,DETR简化了检测管道并减轻了NMS引起的性能瓶颈。尽管DETR具有明显的优势,但它存在两个主要问题:训练收敛慢和查询难以优化。已经提出了许多DETR变体来解决这些问题。具体来说,Deformable-DETR [49]通过增强注意力机制的效率来加速训练收敛速度。条件DETR [27]和Anchor DETR [40]降低了查询的优化难度。DAB-DETR [24]引入了4D参考点并逐层优化预测框。DN-DETR [20]通过引入查询去噪来加速训练收敛速度。Group-DETR [6]通过引入组到多组的分配来加速训练。DINO [46]在之前的研究基础上取得了最先进的结果。尽管我们正在不断改进DETR的组件,但我们的目标不仅是进一步提高性能,而且是创建一个实时端到端目标检测器。

2.3、用于目标检测的多尺度特征

现代目标检测器已经证明了利用多尺度特征来提高性能的重要性,特别是对于小物体。FPN [22]引入了一个特征金字塔网络,该网络融合了相邻尺度的特征。后续作品[25, 11, 35, 13, 18, 38, 14]扩展和增强了这种结构,它们被广泛应用于实时目标检测器。Zhu等人[49]首次将多尺度特征引入DETR中,并提高了性能和收敛速度,但这也会导致DETR的计算成本显著增加。虽然可变形的注意力机制在一定程度上缓解了计算成本,但多尺度特征的引入仍然导致了高计算负担。为了解决这个问题,一些工作试图设计计算效率高的DETR。高效DETR [43]通过使用密集先验初始化对象查询来减少编码器和解码器的层数。稀疏DETR [32]选择性地更新预期将被解码器引用的编码令牌,从而减少计算开销。Lite DETR [19]通过以交错的方式减少低级特征的更新频率来提高编码器的效率。尽管这些研究降低了DETR的计算成本,但这些工作的目标并不是将DETR推广为实时检测器。

3、检测器的端到端速度

3.1、 NMS分析

NMS是在目标检测中广泛采用的后处理算法,用于消除检测器输出的重叠预测框。NMS需要两个超参数:分数阈值和IoU阈值。特别是,分数低于分数阈值的预测框将直接被过滤掉,每当两个预测框的IoU超过IoU阈值时,分数较低的框将被丢弃。这个过程反复执行,直到每个类别的所有框都被处理完。因此,NMS的执行时间主要取决于输入预测框的数量和两个超参数。
在这里插入图片描述

为了验证这一观点,我们利用YOLOv5(基于锚点)和YOLOv8(无锚点)进行实验。我们首先计算了经过不同分数阈值过滤后的输出框中剩余的预测框数量。我们从0.001到0.25选取了一些分数作为阈值,计算了两个检测器中剩余的预测框数量,并将其绘制成直方图,如图2所示,直观地反映了NMS对其超参数的敏感性。此外,以YOLOv8为例,我们评估了该模型在COCO val2017上的准确性,以及在不同NMS超参数下NMS操作的执行时间。请注意,我们在实验中采用的NMS后处理操作参考了TensorRT efficientNMSPlugin,该插件涉及多个CUDA内核,包括EfficientNMSFilter、RadixSort、EfficientNMS等,我们只报告了EfficientNMS内核的执行时间。我们在T4 GPU上测试了速度,上述实验中的输入图像和预处理是一致的。我们使用的超参数及其对应的结果如表1所示。
在这里插入图片描述
在这里插入图片描述

3.2、端到端速度基准测试

为了公平比较各种实时检测器的端到端推理速度,我们建立了端到端速度测试基准。考虑到NMS的执行时间可能受到输入图像的影响,有必要选择一个基准数据集并计算多个图像的平均执行时间。该基准采用COCO val2017作为默认数据集,为需要后处理的实时检测器添加TensorRT的NMS后处理插件。具体而言,我们根据基准数据集上对应的准确率的超参数测试了检测器的平均推理时间,并排除了IO和Memory-Copy操作。我们利用此基准测试在T4 GPU上测试了基于锚定的检测器YOLOv5 [13]和YOLOv7 [38],以及无锚定检测器PP-YOLOE [41],YOLOv6 [18]和YOLOv8 [14]的端到端速度。测试结果如表2所示。根据结果,我们可以得出结论,对于需要NMS后处理的实时检测器,在同等准确率下,无锚定检测器的性能优于基于锚定的检测器,因为前者比后者需要更少的时间进行后处理,而这一现象在以前的工作中被忽略了。出现这种现象的原因是,基于锚定的检测器产生的预测框数量比无锚定检测器多(在我们测试的检测器中多三倍)。

4、实时DETR

4.1、模型概述

提出的RT-DETR包括一个主干网络、一个混合编码器和具有辅助预测头的变压器解码器。模型架构的概述如图3所示。具体而言,我们利用主干网络最后三个阶段{S3,S4,S5}的输出特征作为编码器的输入。混合编码器通过内部尺度交互和跨尺度融合(在4.2节中描述)将多尺度特征转化为图像特征序列。随后,采用IoU意识查询选择从编码器输出序列中选择固定数量的图像特征作为解码器的初始物体查询(在4.3节中描述)。最后,具有辅助预测头的解码器通过迭代优化物体查询来生成框和置信度分数。

4.2、高效的混合编码器

计算瓶颈分析。为了加速训练收敛和提高性能,Zhu等人[49]建议引入多尺度特征并提出了可变形注意力机制来减少计算。然而,虽然注意力机制的改进减少了计算开销,但输入序列长度的急剧增加仍然导致编码器成为计算瓶颈,阻碍了DETR的实时实现。据[21]报道,在可变形DETR [49]中,编码器占用了49%的GFLOPs,但只贡献了11%的AP。为了克服这一障碍,我们对多尺度Transformer编码器中的计算冗余进行了分析,并设计了一套变量来证明同时进行内部尺度和跨尺度特征交互的计算效率不高。
在这里插入图片描述

从包含图像中对象丰富语义信息的低级特征中提取高级特征。直观地说,对拼接的多尺度特征进行特征交互是多余的。为了验证这一观点,我们重新思考编码器结构,并设计了一系列具有不同编码器的变体,如图5所示。这些变体逐渐提高了模型精度,同时通过将多尺度特征交互分解为两步操作(内部尺度交互和跨尺度融合)来显著降低计算成本(详见表3)。我们首先去掉DINO-R50[46]中的多尺度Transformer编码器作为基准A。接下来,插入不同形式的编码器以在基准A的基础上产生一系列变体,详述如下:

  • A → B:变体B插入单尺度变换器编码器,使用一层变换器块。每个尺度的特征共享用于内部尺度特征交互的编码器,然后将输出的多尺度特征拼接起来。
  • B → C:基于B的变体C引入了跨尺度特征融合,并将拼接的多尺度特征馈送到编码器中进行特征交互。
  • C → D:变体D将多尺度特征的内部尺度交互和跨尺度融合解耦。首先,使用单尺度变换器编码器执行内部尺度交互,然后使用PANet样式的结构执行跨尺度融合。
  • D → E:基于D的变体E进一步优化了多尺度特征的内部尺度交互和跨尺度融合,采用了我们设计的有效混合编码器(详见下文)。
    在这里插入图片描述

混合设计。基于上述分析,我们重新思考编码器的结构,并提出了一种新颖的有效混合编码器。如图3所示,提出的编码器由两个模块组成,即基于注意力的内部尺度特征交互模块(AIFI)和CNN的跨尺度特征融合模块(CCFM)。AIFI进一步降低了变体D中的计算冗余,该变体仅在S5上执行内部尺度交互。我们认为,将自注意力操作应用于具有更丰富语义概念的高级特征可以捕获图像中概念实体之间的连接,这有助于后续模块检测和识别图像中的对象。同时,由于缺乏语义概念和与高级特征交互的风险而存在重复和混淆的风险,因此对低级特征的内部尺度交互是不必要的。为了验证这一观点,我们在变体D中仅在S5上执行内部尺度交互,实验结果如表3所示(DS5行)。与原始变体D相比,DS5显着降低了延迟(快35%),但提高了准确性(AP高0.4%)。这一结论对于实时检测器的设计至关重要。CCFM也是基于变体D进行优化,在融合路径中插入几个由卷积层组成的融合块。融合块的作用是将相邻的特征融合成一个新的特征,其结构如图4所示。融合块包含N个RepBlock,两个路径的输出通过逐元素加法进行融合。我们可以将此过程表述如下:
Q = K = V = Flatten ⁡ ( S 5 ) F 5 = Reshape ⁡ ( Attn ⁡ ( Q , K , V ) )  Output  = CCFM ⁡ ( { S 3 , S 4 , F 5 } ) (1) \begin{array}{c} \mathbf{Q}=\mathbf{K}=\mathbf{V}=\operatorname{Flatten}\left(S_{5}\right) \\ F_{5}=\operatorname{Reshape}(\operatorname{Attn}(\mathbf{Q}, \mathbf{K}, \mathbf{V})) \\ \text { Output }=\operatorname{CCFM}\left(\left\{S_{3}, S_{4}, F_{5}\right\}\right) \end{array} \tag{1} Q=K=V=Flatten(S5)F5=Reshape(Attn(Q,K,V)) Output =CCFM({S3,S4,F5})(1)
其中Attn代表多头自注意力机制,Reshape代表将特征的形状恢复为与S5相同的形状,这是Flatten的反操作。

4.3、IoU-aware查询选择

DETR中的对象查询是一组可学习的嵌入,由解码器优化并通过预测头映射到分类分数和边界框。然而,这些对象查询难以解释和优化,因为它们没有明确的物理含义。后续工作[40,24,49,43,46]改进了对象查询的初始化并扩展到内容查询和位置查询(锚点)。其中,[49, 43, 46]都提出了查询选择方案,它们的共同点是利用分类分数从编码器中选择前K个特征来初始化对象查询(或仅位置查询[46])。然而,由于分类分数和位置置信度的不一致分布,一些预测框具有高分类分数但与GT框不接近,导致选择具有高分类分数和低IoU得分的框,而丢弃具有低分类分数和高IoU得分的框。这损害了检测器的性能。为了解决这个问题,我们提出了一种IoU-aware查询选择方法,通过在训练期间约束模型对于高IoU得分的特征产生高分类分数,对于低IoU得分的特征产生低分类分数。因此,根据模型选择的分类分数前K个编码器特征对应的预测框具有高分类分数和高IoU得分。我们将检测器的优化目标重写为:
L ( y ^ , y ) = L b o x ( b ^ , b ) + L c l s ( c ^ , b ^ , y , b ) = L b o x ( b ^ , b ) + L c l s ( c ^ , c , I o U ) (2) \begin{aligned} \mathcal{L}(\hat{y}, y) & =\mathcal{L}_{b o x}(\hat{b}, b)+\mathcal{L}_{c l s}(\hat{c}, \hat{b}, y, b) \\ & =\mathcal{L}_{b o x}(\hat{b}, b)+\mathcal{L}_{c l s}(\hat{c}, c, I o U) \end{aligned} \tag{2} L(y^,y)=Lbox(b^,b)+Lcls(c^,b^,y,b)=Lbox(b^,b)+Lcls(c^,c,IoU)(2)

其中 y ^ \hat{y} y^ 和 y 分别表示预测值和真实值, y ^ = { c ^ , b ^ } \hat{y}= \{\hat{c}, \hat{b}\} y^={c^,b^} y = { c , b } y=\{c, b\} y={c,b},c 和 b 分别表示类别和边界框。我们将IoU分数引入分类分支的目标函数中(类似于VFL [47]),以实现正样本分类和定位的一致性约束。

有效性分析。为了分析所提出的IoU意识查询选择的有效性,我们在val2017上可视化了通过查询选择选择的编码器特征的分类分数和IoU分数,如图6所示。具体而言,我们首先根据分类分数选择前K个(实验中K=300)编码器特征,然后可视化分类分数大于0.5的散点图。红色和蓝色点是通过应用普通查询选择和IoU意识查询选择训练的模型计算得出的。点越接近图的上右方,相应特征的质量越高,即分类标签和边界框更有可能描述图像中的真实对象。根据可视化结果,我们发现最显著的特征是大量的蓝色点集中在图的右上侧,而红色点集中在右下侧。这表明使用IoU意识查询选择训练的模型可以产生更多高质量的编码器特征。
在这里插入图片描述

此外,我们还定量分析了这两类点的分布特征。在图中,蓝色点的数量比红色点多出138%,也就是说,红色点中有更多的分类分数小于或等于0.5的低质量特征。然后,我们分析了分类分数大于0.5的特性的IoU分数,我们发现IoU分数大于0.5的蓝色点比红色点多出120%。定量结果进一步证明,IoU-aware查询选择能为对象查询提供更多具有精确分类(高分类分数)和精确定位(高IoU分数)的编码器特征,从而提高检测器的精度。详细的定量结果将在第5.4节中介绍。

4.4、RT-DETR的缩放

为了提供RT-DETR的缩放版本,我们将ResNet [16]后端替换为HGNetv2。我们使用深度乘数和宽度乘数将后端和混合编码器一起缩放。因此,我们得到两个版本的RT-DETR,具有不同的参数数量和FPS。对于我们的混合编码器,我们通过调整CCFM中的RepBlocks数量和编码器的嵌入维度来控制深度乘数和宽度乘数。值得注意的是,我们提出的不同规模的RT-DETR保持了同构解码器,这有利于使用高精度大型DETR模型对轻量级检测器进行蒸馏[7, 31, 46, 50, 3, 42]。这将是一个可探索的未来方向。

5、实验

5.1、设置

数据集。我们在Microsoft COCO数据集上进行实验。我们在COCO train2017上进行训练,并在COCO val2017上进行验证。我们使用标准COCO AP度量,以单尺度图像作为输入。

实现细节。我们使用在ImageNet [33]上预训练的ResNet [15,16]和HGNetv2系列作为我们的主干网络,使用SSLD [8]从PaddleClas 。AIFI包含1个Transformer层,CCMF中的融合块默认包含3个RepBlocks作为基本模型。在IoU-aware查询选择中,我们选择前300个编码器特征来初始化解码器的对象查询。解码器的训练策略和超参数几乎遵循DINO [46]。我们使用AdamW优化器训练我们的检测器,基本学习率=0.0001,权重衰减=0.0001,全局梯度剪切范数=0.1,线性预热步数=2000。主干网络的学习率设置遵循[5]。我们还使用指数移动平均(EMA), ema_decay=0.9999。 1×配置意味着总时期为12个时期,除非特别说明,否则所有消融实验都使用1×配置。报告的最终结果使用6×配置。数据增强包括随机{色彩失真、扩展、裁剪、翻转、调整大小}操作,遵循[41]。

5.2、与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,在速度和精度上都优于相同后端的当前最先进的端到端检测器。

与实时检测器相比,为了进行公平比较,我们将缩放RT-DETR的速度和准确性在与当前端到端实时检测器进行比较(速度测试方法参考第3.2节)。我们将缩放的RT-DETR与YOLOv5 [13]、PP-YOLOE [41]、YOLOv6v3.0(以下称为YOLOv6) [18]、YOLOv7 [38]和YOLOv8 [14]进行了比较。与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%,并且减少了1.5%的参数数量。

与端到端检测器比较。为了进行公平比较,我们只比较使用相同骨干网络的基于变压器的端到端检测器。考虑到当前的端到端检测器不是实时的,我们没有在T4 GPU上测试它们的速度,但为了比较,我们测试了DINO-DeformableDERT [46]的速度。我们根据在val2017上采取的相应准确度设置来测试检测器的速度,即使用TensorRT FP16测试DINO-Deformable-DETR,输入大小为(800,1333)。表2显示RT-DETR优于具有相同骨干网络的当前最先进的端到端检测器。与DINO-Deformable-DETR-R50 [46]相比,RT-DETR-R50在准确性上显著提高了2.2%AP(53.1%AP vs 50.9%AP),速度提高了21倍(108 FPS vs 5 FPS),并且减少了10.6%的参数数量。与SMCA-DETR-R101 [9]相比RT-DETR-R101显着提高了8.0%AP的准确性。
在这里插入图片描述

5.3、混合编码器的消融研究

为了验证我们对编码器的分析的正确性,我们评估了第4.2节中设计的变体集的指标,包括AP、参数数量和延迟。实验结果如表3所示。变体B提高了1.9%AP的准确性,但增加了54%的延迟。这证明内部尺度特征交互是重要的,但是普通的Transformer编码器计算成本很高。变体C相对于B提高了0.7%AP,但增加了20%的延迟。这表明跨尺度特征融合也是必要的。变体D相对于C提高了0.8%AP,但减少了8%的延迟。这表明解耦内部尺度交互和跨尺度融合可以减少计算,同时提高准确性。与变体D相比,D_S5减少了35%的延迟,但提高了0.4%AP。这表明不需要低级特征的内部尺度交互。最后,配备了我们提出的混合编码器的变体E相对于D提高了1.5%AP。尽管参数数量增加了20%,但延迟减少了24%,使编码器更高效。
在这里插入图片描述

5.4、IoU-aware查询选择的消融研究

我们对IoU-aware查询选择进行了消融研究,定量实验结果如表4所示。我们采用的查询选择方法根据分类得分选择前K个(K=300)编码器特征作为内容查询,并使用这些选定特征的边界框作为初始位置查询。我们在val2017上比较了两种查询选择所选的编码器特征,并计算了分类得分大于0.5和两者都大于0.5的比例,分别对应于“Prop_{cls}”和“Prop_{both}”列。结果表明,使用IoU-aware查询选择所选的编码器特征不仅增加了高分类得分(0.82%vs 0.35%),而且还提供了更多具有高分类得分和高IoU得分的特征(0.67%vs 0.30%)。我们还评估了使用这两种查询选择训练的检测器在val2017上的准确性,其中IoU-aware查询选择提高了0.8%AP(48.7%AP vs 47.9%AP)。
在这里插入图片描述

5.5、解码器消融研究

表5显示了RT-DETR不同解码器层数的每个解码器层的准确性和速度。当解码器层数为6时,检测器的准确率最高,为53.1%AP。我们还分析了每个解码器层对推理速度的影响,并得出结论,每个解码器层消耗约0.5ms。此外,我们发现随着解码器层数的增加,相邻层之间的准确率差异逐渐减小。以6层解码器为例,使用5层进行推理仅损失0.1%AP(53.1%AP vs 53.0%AP),同时将延迟减少了0.5ms(9.3ms vs 8.8ms)。因此,RT-DETR支持在不重新训练推理的情况下通过使用不同数量的解码器层来灵活调整推理速度,这为实时检测器的实际应用提供了便利。
在这里插入图片描述

6、结论

在本文中,我们提出了RT-DETR,据我们所知,这是第一个实时端到端的目标检测器。我们首先对NMS进行了详细的分析,并建立了一个端到端的推理速度基准,以验证当前实时检测器的推理速度因NMS而延迟的事实。从NMS的分析中我们还得出结论,与基于锚的检测器相比,无锚检测器具有相同的准确性。为了避免NMS引起的延迟,我们设计了一种包含两个关键改进组件的实时端到端检测器:一种能够有效地处理多尺度特征的混合编码器,以及一种能够改善对象查询初始化的IoU-aware查询选择。大量的实验表明,RT-DETR在速度和准确性方面与其他类似大小的实时检测器和端到端检测器相比达到了最先进水平。此外,我们提出的检测器支持通过使用不同的解码器层来灵活调整推理速度,而无需重新训练,这为实时目标检测器的实际应用提供了便利。我们希望这项工作能够付诸实践,并为研究人员提供启示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/112225.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Microsoft SQL Server 缓冲区错误漏洞(CVE-2018-8273)解决方法

前言: 在一次漏洞扫描中,扫描出紧急漏洞Microsoft SQL Server 缓冲区错误漏洞(CVE-2018-8273) 根据修复建议找补丁。 一、漏洞详情 二、寻找补丁 根据漏洞修复建议去下载补丁 目前厂商已发布升级补丁以修复漏洞,补丁获取链接:h…

k8s中kubectl命令式对象、命令式对象配置、声明式对象配置管理资源介绍

目录 一.kubernetes资源管理简介 二.三种资源管理方式优缺点比较 三.命令式对象管理介绍 1.kubectl命令语法格式 2.资源类型 (1)通过“kubectl api-resources”来查看所有的资源 (2)每列含义 (3)常…

【Docker】十分钟完成mysql8安装,你也可以的!!!

十分钟完成mysql8安装,你也可以的 前言安装步骤1.创建安装目录2.创建docker-compose.yml3.启动容器4.mysql开启远程连接5.连接mysql 总结 前言 本文基于Docker安装mysql:8.0.29,首先确保系统安装了docker和docker-compose。 没有使用过docker朋友可以去…

leetcode-哈希表

1. 理论 从哈希表的概念、哈希碰撞、哈希表的三种实现方式进行学习 哈希表:用来快速判断一个元素是否出现集合里。也就是查值就能快速判断,O(1)复杂度; 哈希碰撞:拉链法,线性探测法等。只是一种…

【年终特惠】基于最新导则下生态环评报告编制技术暨报告篇、制图篇、指数篇、综合应用篇系统性实践技能提升

根据生态环评内容庞杂、综合性强的特点,依据生态环评最新导则,将内容分为4大篇章(报告篇、制图篇、指数篇、综合篇)、10大专题(生态环评报告编制、土地利用图的制作、植被类型及植被覆盖度图的制作、物种适宜生境分布图的制作、生物多样性测定、生物量及…

高压放大器在电火花加工中的作用是什么

高压放大器在电火花加工中扮演着至关重要的角色。下面安泰电子将详细介绍高压放大器在电火花加工中的作用。 电火花加工是一种精密加工技术,广泛应用于制造业的模具制造、航空航天、汽车零部件等领域。它通过在工件表面产生高频电火花放电的方式,实现对材…

uniapp实现路线规划

UniApp是一个基于Vue.js框架开发的跨平台应用开发框架,可以同时构建iOS、Android、H5等多个平台的应用。它使用了基于前端技术栈的Web开发方式,通过编写一套代码,即可在不同平台上运行和发布应用。 UniApp具有以下特点: 跨平台开…

Unity内打开网页的两种方式(自带浏览器、内嵌浏览器)

1.自带浏览器 这个比较简单,直接调用unity官方的API即可,会直接使用默认浏览器打开网页,这里就不多做解释了。 代码 public InputField input;private void OpenUrlByUnity(){string inputStr input.text;if (!string.IsNullOrEmpty(input…

单链表练习

单链表练习 相关内容: 1.再理解:LNode、*LinkList 2.单链表的整表创建(头插法和尾插法) 3.单链表的读取、插入、删除 4.单链表的整表删除 //单链表的初始化、创建、插入、删除、查找 //结点的结构体:数据域、指针域 …

开放式耳机能保护听力吗,开放式耳机跟骨传导耳机哪个更好?

如果从严格意义上来讲的话,开放式耳机中的骨传导耳机是能保护听力,现如今的开放式耳机是一个统称,将所有不入耳的类目全部规划到一块。因此在开放式耳机中存在着一些耳机是只能够保持周边环境音,而不是保护听力的。 下面让我来给…

linux下的程序环境和预处理(gcc演示)

1. 程序的翻译环境和执行环境 在ANSI C的任何一种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境,它用于实际执行代码。 2. 详解编译链接 2.1 翻译环境 组成一个程序的…

MySQL连接的原理⭐️4种优化连接的手段性能提升240%

MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀 前言 上两篇文章我们说到MySQL优化回表的三种方式:索引条件下推ICP、多范围读取MRR与覆盖索引 MySQL的优化利器⭐️索引条件下推,千万数据下性能提升273%🚀 MySQL的优化…

函数式接口详解(Java)

函数式接口详解(Java)_函数式接口作为参数_凯凯凯凯.的博客-CSDN博客 函数式接口:有且仅有一个抽象方法的接口 Java中函数式编程体现就是Lambda表达式,所以函数式接口就是可以适用于Lambda使用的接口 只有确保接口中仅有一个抽…

【设计模式】第7节:创建型模式之“建造者模式”

Builder模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。 在创建对象时,一般可以通过构造函数、set()方法等设置初始化参数,但当参数比较多,或者参数之间有依赖关系,需要进行复杂校验时&a…

Springboot 集成 Seata

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。Seata官网 1.找到适合的Seata版本 参考:SpringCloudAlibaba S…

Linux学习之进程二

目录 进程状态 R (running)运行状态与s休眠状态: disk sleep(深度睡眠状态) T (stopped)(暂停状态) t----tracing stop(追踪状态) X死亡状态(dead) Z(zombie)-僵尸进程 孤儿进程 进程优…

python捕获异常和scapy模块的利用

Python捕获异常 ​ 当程序运行时,因为遇到未知的错误而导致中止运行,便会出现Traceback 消息,打印异常。异常即是一个事件,该事件会在程序执行过程中发生,影响程序的正常执行。一般情况下,在Python 无法正…

2023年Q3户外装备市场行业分析报告(京东数据分析):同比增长7%,品牌化发展是核心

近年来,户外运动在我国不少地方蓬勃兴起,发展至今,户外运动早已不是聚焦专业领域的小众群体活动,现已发展成为当下热门的大众休闲活动,参与人群愈发广泛,而这股热潮也带动着相关产业的发展。 今年Q3&#x…

IT老鸟给开发者升职加薪的小技巧

前言: 升职加薪对大多数人来说都是工作重要动力所在,但总存在“青出于蓝而胜于蓝”,后来人居上的情况。很多人不清楚,自己兢兢业业,任劳任怨,到头来还是得不到领导的重视,身边一起过来的同事都成…

GZ035 5G组网与运维赛题第7套

2023年全国职业院校技能大赛 GZ035 5G组网与运维赛项(高职组) 赛题第7套 一、竞赛须知 1.竞赛内容分布 竞赛模块1--5G公共网络规划部署与开通(35分) 子任务1:5G公共网络部署与调试(15分) 子…
最新文章