卷无止境!YOLOv10横空出世!

点击下方卡片,关注「计算机视觉工坊」公众号
选择星标,干货第一时间送达

作者:Ao Wang | 编辑:计算机视觉工坊

添加小助理:dddvision,备注:方向+学校/公司+昵称,拉你入群。文末附行业细分群

扫描下方二维码,加入3D视觉知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门视频课程(星球成员免费学习)最新顶会论文计算机视觉书籍优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!

c5eb4d63d3ed64a421d7c2425732e547.jpeg

1. 这篇文章干了啥?

实时目标检测一直是计算机视觉领域的研究重点,旨在低延迟的情况下准确预测图像中目标的类别和位置。它广泛应用于各种实际应用中,包括自动驾驶、机器人导航和目标跟踪等。近年来,研究人员专注于设计基于卷积神经网络(CNN)的目标检测器以实现实时检测。其中,YOLOs因其在性能和效率之间的出色平衡而越来越受欢迎。YOLOs的检测流程包括两个部分:模型前向过程和非极大值抑制(NMS)后处理。然而,这两部分仍存在缺陷,导致准确性和延迟的边界次优。具体而言,YOLOs在训练过程中通常采用一对多的标签分配策略,其中一个真实目标对应多个正样本。尽管这种方法在性能上表现优异,但在推理过程中需要NMS来选择最佳的正预测。这会降低推理速度,并使性能对NMS的超参数敏感,从而阻碍YOLOs实现最佳的端到端部署。一种解决此问题的途径是采用最近引入的端到端DETR架构。例如,RT-DETR通过引入高效的混合编码器和不确定性最小的查询选择,将DETRs推向实时应用领域。然而,DETRs固有的复杂性阻碍了其在准确性和速度之间实现最佳平衡。另一种途径是探索基于CNN的检测器的端到端检测,这通常利用一对一的分配策略来抑制冗余预测。然而,它们通常会引入额外的推理开销或表现次优。此外,模型架构设计仍然是YOLOs的基本挑战,对准确性和速度有重要影响。为了实现更高效和更有效的模型架构,研究人员探索了不同的设计策略。为增强特征提取能力,提出了各种主要计算单元用于主干网络,包括DarkNet、CSPNet、EfficientRep和ELAN等。为增强多尺度特征融合,探索了PAN、BiC、GD和RepGFPN等。此外,还研究了模型缩放策略和重参数化技术。尽管这些努力取得了显著进展,但对YOLOs各组件从效率和准确性角度的全面检查仍然缺乏。因此,YOLOs中仍存在大量计算冗余,导致参数利用效率低下和效率次优。此外,模型能力受限也导致性能不佳,留有大量准确性提升的空间。在这项工作中,我们旨在解决这些问题,并进一步推进YOLOs的准确性-速度边界。我们针对整个检测流程中的后处理和模型架构两个方面。为此,我们首先通过引入一致的双重分配策略和一致匹配度量,提出了无NMS的YOLOs。这使得模型在训练期间享有丰富且和谐的监督,同时在推理过程中无需NMS,达到了高效的竞争性能。其次,我们通过对YOLOs各组件进行全面检查,提出了面向效率-准确性驱动的模型设计策略。为提高效率,我们提出了轻量级分类头、空间-通道解耦下采样和秩引导的块设计,以减少显著的计算冗余,实现更高效的架构。为提高准确性,我们探索了大核卷积并提出了有效的部分自注意力模块,以增强模型能力,在低成本下实现性能提升。基于这些方法,我们成功实现了一系列具有不同模型规模的实时端到端检测器,即YOLOv10-N / S / M / B / L / X。在标准目标检测基准COCO上的大量实验表明,我们的YOLOv10在不同模型规模上,在计算-准确性权衡方面显著优于之前的最先进模型。代码链接:https://github.com/THU-MIG/yolov10

2. 摘要

近年来,YOLOs凭借其在计算成本和检测性能之间的有效平衡,成为实时目标检测领域的主导范式。研究人员探讨了YOLOs的架构设计、优化目标、数据增强策略等方面,取得了显著进展。然而,对非极大值抑制(NMS)的依赖妨碍了YOLOs的端到端部署,并不利于推理时延。此外,YOLOs中各组件的设计缺乏全面和深入的检查,导致明显的计算冗余,限制了模型的能力。这导致了次优的效率,并且具有相当大的性能提升潜力。在这项工作中,我们旨在从后处理和模型架构两方面进一步提升YOLOs的性能-效率边界。为此,我们首先提出了一种用于无NMS训练的YOLOs一致双重分配策略,它同时带来了具有竞争力的性能和较低的推理时延。此外,我们引入了面向效率和精度的整体模型设计策略,全面优化了YOLOs的各个组件,从效率和精度两个角度出发,大大减少了计算开销并增强了能力。我们的努力成果是一个新一代用于实时端到端目标检测的YOLO系列,称为YOLOv10。大量实验表明,YOLOv10在各种模型规模上实现了最先进的性能和效率。例如,我们的YOLOv10-S在与RT-DETR-R18在COCO上相似的AP下,速度快1.8倍,同时享有2.8倍更少的参数和FLOPs。与YOLOv9-C相比,YOLOv10-B在相同性能下时延减少46\%,参数减少25\%。

3. 效果展示

正如图1所示,在类似性能下,我们的YOLOv10-S / X比RT-DETR-R18 / R101分别快1.8倍和1.3倍。与YOLOv9-C相比,YOLOv10-B在相同性能下延迟减少了46%。此外,YOLOv10表现出高度有效的参数利用率。我们的YOLOv10-L / X比YOLOv8-L / X分别多出0.3 AP和0.5 AP,参数数量减少了1.8倍和2.3倍。YOLOv10-M在与YOLOv9-M / YOLO-MS相似的AP下,参数分别减少了23%和31%。我们希望我们的工作能够激发该领域的进一步研究和进展。

9b19b030e175bfc473325745226bf0dc.png

4. 基本原理是啥?

在训练期间,YOLOs通常利用TAL为每个实例分配多个正样本。采用一对多分配提供了丰富的监督信号,促进了优化并实现了优异的性能。然而,这需要YOLOs依赖NMS后处理,这导致了部署时的次优推理效率。虽然先前的工作探索了一对一匹配来抑制冗余预测,但它们通常会引入额外的推理开销或导致次优性能。在这项工作中,我们提出了一种不需要NMS的YOLO训练策略,通过双标签分配和一致的匹配度量,实现了高效率和具有竞争力的性能。

双标签分配。与一对多分配不同,一对一匹配仅为每个真实值分配一个预测,避免了NMS后处理。然而,这导致了弱监督,从而造成次优的准确性和收敛速度。幸运的是,这种缺陷可以通过一对多分配来弥补。为此,我们为YOLOs引入了双标签分配,结合了两种策略的优点。具体而言,如图2.(a)所示,我们为YOLOs引入了另一个一对一头。它保持了与原来的一对多分支相同的结构,并采用相同的优化目标,但利用一对一匹配来获得标签分配。在训练过程中,这两个头与模型共同优化,使骨干网络和颈部网络能够享受一对多分配提供的丰富监督。在推理过程中,我们舍弃一对多头,利用一对一头进行预测。这使得YOLOs能够在不引入任何额外推理成本的情况下进行端到端部署。此外,在一对一匹配中,我们采用了前一选择,这实现了与匈牙利匹配相同的性能,但额外的训练时间更少。

92e380fbd6d0ab1b963c11d9ab6bb426.png

效率驱动的模型设计。YOLO中的组件包括初始层、下采样层、带有基本构建块的阶段和头部。初始层的计算成本很低,因此我们对另外三个部分进行效率驱动的模型设计。

(1) 轻量化分类头。分类头和回归头在YOLOs中通常共享相同的架构。然而,它们在计算开销上表现出显著差异。例如,在YOLOv8-S中,分类头的FLOPs和参数数量(5.95G/1.51M)分别是回归头(2.34G/0.64M)的2.5倍和2.4倍。然而,在分析分类错误和回归错误的影响(见表6)后,我们发现回归头对YOLOs性能的影响更大。因此,我们可以减少分类头的开销而不必担心性能受到很大影响。因此,我们采用轻量化架构用于分类头,该架构包括两个核大小为3×3的深度可分离卷积,后跟一个1×1卷积。

(2) 空间-通道解耦下采样。YOLOs通常利用步幅为2的常规3×3标准卷积,实现空间下采样(从H×W到H/2×W/2)和通道转换(从C到2C)同时进行。这引入了不可忽略的计算成本O(9/2 HWC^2)和参数数量O(18C^2)。相反,我们提出将空间缩减和通道增加操作解耦,从而实现更高效的下采样。具体来说,我们首先利用点卷积调整通道维度,然后利用深度卷积进行空间下采样。这将计算成本减少到O(2HWC^2+9/2 HWC)和参数数量减少到O(2C^2+18C)。同时,这在下采样过程中最大化了信息保留,带来了具有延迟减少的竞争性能。

(3) 排名引导的块设计。YOLOs通常对所有阶段使用相同的基本构建块,例如,YOLOv8中的瓶颈块。为了彻底检查YOLOs的这种同质设计,我们利用内在排名分析每个阶段的冗余性。具体来说,我们计算每个阶段最后一个基本块中最后一个卷积的数值排名,该排名统计大于阈值的奇异值数量。Fig. 3.(a)展示了YOLOv8的结果,表明深阶段和大模型更容易表现出更多冗余。这一观察表明,简单地对所有阶段应用相同的块设计对于最佳容量-效率权衡来说是次优的。为了解决这一问题,我们提出了一种排名引导的块设计方案,旨在通过紧凑架构设计减少冗余阶段的复杂性。我们首先提出了一种紧凑反转块(CIB)结构,该结构采用廉价的深度卷积进行空间混合和成本效益高的点卷积进行通道混合,如Fig. 3.(b)所示。它可以作为高效的基本构建块,例如,嵌入在ELAN结构中。然后,我们倡导一种排名引导的块分配策略,以实现最佳效率,同时保持竞争力的容量。具体来说,给定一个模型,我们根据内在排名按升序对其所有阶段进行排序。我们进一步检查用CIB替换领先阶段的基本块的性能变化。如果与给定模型相比没有性能下降,我们继续替换下一个阶段,否则停止这一过程。因此,我们可以在各个阶段和模型规模上实施自适应紧凑块设计,在不损害性能的情况下实现更高的效率。

c21bbd5833e3b7e5bb0f8db0d1cbfa08.png

5. 实验结果

如表1所示,我们的YOLOv10在各种模型规模下实现了最先进的性能和端到端延迟。我们首先将YOLOv10与我们的基线模型,即YOLOv8进行比较。在N / S / M / L / X五个变种中,我们的YOLOv10分别实现了1.2% / 1.4% / 0.5% / 0.3% / 0.5%的AP提升,同时参数减少了28% / 36% / 41% / 44% / 57%,计算量减少了23% / 24% / 25% / 27% / 38%,延迟降低了70% / 65% / 50% / 41% / 37%。与其他YOLO模型相比,YOLOv10在准确性和计算成本之间也表现出了优越的平衡。具体而言,对于轻量和小型模型,YOLOv10-N / S比YOLOv6-3.0-N / S在AP上分别超出1.5和2.0,同时参数减少了51% / 61%,计算量减少了41% / 52%。对于中型模型,与YOLOv9-C / YOLO-MS相比,YOLOv10-B / M分别在相同或更好的性能下减少了46% / 62%的延迟。对于大型模型,与Gold-YOLO-L相比,我们的YOLOv10-L参数减少了68%,延迟降低了32%,同时AP显著提高了1.4%。此外,与RT-DETR相比,YOLOv10在性能和延迟方面也取得了显著的改进。特别是,YOLOv10-S / X在与RT-DETR-R18 / R101相似的性能下,分别实现了1.8倍和1.3倍的推理速度。这些结果充分证明了YOLOv10作为实时端到端检测器的优越性。我们还使用原始的一对多训练方法将YOLOv10与其他YOLO模型进行比较。在这种情况下,我们考虑模型前向过程的性能和延迟(Latencyf)。如表1所示,YOLOv10在不同模型规模下也表现出了最先进的性能和效率,表明了我们架构设计的有效性。

a996a9f518dee9f3af29a1d2897e4dca.png

消融研究。我们在表2中展示了基于YOLOv10-S和YOLOv10-M的消融结果。可以看出,我们的无NMS训练通过一致的双分配显著减少了YOLOv10-S的端到端延迟4.63ms,同时保持了44.3%的竞争性AP性能。此外,我们的高效驱动模型设计使得YOLOv10-M的参数减少了11.8M,计算量减少了20.8 GFLOPs,并且延迟显著减少了0.65ms,充分显示了其有效性。此外,我们的准确性驱动模型设计分别为YOLOv10-S和YOLOv10-M实现了1.8 AP和0.7 AP的显著提升,同时仅带来了0.18ms和0.17ms的延迟开销,充分证明了其优越性。

双标签分配。我们提出了无NMS YOLO的双标签分配方法,它可以在训练过程中提供丰富的一对多(o2m)分支监督,并在推理过程中实现高效的一对一(o2o)分支。我们基于YOLOv8-S验证了其益处,即表2中的#1。具体而言,我们分别引入了仅用o2m分支和仅用o2o分支训练的基线。正如表3所示,我们的双标签分配实现了最佳的AP-延迟平衡。

一致匹配度量。我们引入一致匹配度量,以使一对一头与一对多头更加和谐。我们基于YOLOv8-S验证了其益处,即表2中的#1,在不同αo2o和βo2o下。正如表4所示,所提出的一致匹配度量,即αo2o=r · αo2m和βo2o=r · βo2m,可以实现最佳性能,其中在一对多头中αo2m=0.5和βo2m=6.0。这种改进可归因于监督差距(公式(2))的减少,从而在两个分支之间提供了更好的监督对齐。此外,所提出的一致匹配度量消除了繁琐的超参数调优需求,这在实际场景中非常有吸引力。

高效驱动模型设计分析。我们进行实验,以逐步整合基于YOLOv10-S/M的高效驱动设计元素。我们的基线是没有效率-准确性驱动模型设计的YOLOv10-S/M模型,即表2中的#2/#6。正如表5所示,每个设计组件,包括轻量级分类头、空间通道解耦下采样和秩引导块设计,都有助于减少参数数量、FLOPs和延迟。重要的是,这些改进是在保持竞争性能的情况下实现的。

轻量级分类头。我们基于表5中的#1和#2的YOLOv10-S分析预测的类别和定位错误对性能的影响。具体而言,我们通过一对一分配将预测与实例进行匹配。然后,我们将预测的类别分数替换为实例标签,从而消除了分类错误,得到APval_w/o c。同样,我们将预测位置替换为实例的位置,消除了回归错误,得到APval_w/o r。正如表6所示,APval_w/o r远高于APval_w/o c,表明消除回归错误带来了更大的改进。因此,性能瓶颈更多地在于回归任务。因此,采用轻量级分类头可以在不影响性能的情况下实现更高的效率。

124c8f92d67be60223b6a15ad4bfb730.png

空间通道解耦下采样。为了提高效率,我们解耦了下采样操作,其中通过逐点卷积(PW)首先增加通道维度,然后通过深度卷积(DW)降低分辨率,以最大程度地保留信息。我们基于表5中的#3的YOLOv10-S将其与通过DW进行空间降采样然后通过PW进行通道调制的基线方法进行了比较。正如表7所示,我们的下采样策略通过减少下采样过程中的信息损失,实现了0.7%的AP提升。

紧凑反向块(CIB)。我们引入CIB作为紧凑的基本构建块。我们基于表5中的#4的YOLOv10-S验证了其有效性。具体而言,我们引入了反向残差块(IRB)作为基线,正如表8所示,IRB实现了次优的43.7% AP。然后,我们在其后添加了一个3×3深度卷积(DW),记为"IRB-DW",这带来了0.5%的AP提升。与"IRB-DW"相比,我们的CIB通过在前面添加另一个DW,实现了0.3%的AP提升,并且开销最小,表明了其优越性。

秩引导块设计。我们引入秩引导块设计,以自适应地整合紧凑的块设计来提高模型效率。我们基于表5中的#3的YOLOv10-S验证了其益处。按固有秩排序的阶段为8-4-7-3-5-1-6-2,如图3.(a)所示。正如表9所示,当逐渐用高效的CIB替换每个阶段的瓶颈块时,我们观察到从阶段7开始的性能下降。在固有秩较低且冗余较多的阶段8和4中,我们可以在不影响性能的情况下采用高效块设计。这些结果表明,秩引导块设计可以作为提高模型效率的有效策略。

准确性驱动模型设计分析。我们展示了基于YOLOv10-S/M逐步整合准确性驱动设计元素的结果。我们的基线是在整合高效驱动设计后的YOLOv10-S/M模型,即表2中的#3/#7。正如表10所示,采用大核卷积和PSA模块分别使YOLOv10-S的性能显著提高了0.4% AP和1.4% AP,同时仅增加了0.03ms和0.15ms的延迟。请注意,大核卷积未用于YOLOv10-M(见表12)。

大核卷积。我们首先基于表10中的#2的YOLOv10-S调查不同核大小的影响。正如表11所示,随着核大小的增加,性能有所提高,并在核大小为7×7时趋于稳定,表明了大感受野的益处。此外,在训练期间去除重新参数化分支会导致0.1%的AP下降,显示了其对优化的有效性。此外,我们检查了基于YOLOv10-N / S / M的不同模型规模的大核卷积的益处。正如表12所示,它对大型模型,即YOLOv10-M,没有带来改进,因为其固有的广泛感受野。因此,我们只为小型模型,即YOLOv10-N / S,采用大核卷积。

部分自注意力(PSA)。我们引入PSA以通过包含全局建模能力来提高性能,而成本最小。我们首先基于表10中的#3的YOLOv10-S验证其有效性。具体而言,我们将变压器块,即MHSA后跟FFN,作为基线,记为"Trans."。正如表13所示,与之相比,PSA带来了0.3% AP的提升,同时减少了0.05ms的延迟。性能的提升可能归因于在自注意力中减轻优化问题[62, 9],通过减少注意头中的冗余。此外,我们调查了不同NPSA的影响。如表13所示,将NPSA增加到2可以获得0.2% AP的提升,但延迟开销为0.1ms。因此,我们将NPSA默认设置为1,以提高模型能力同时保持高效率。

d123ae7b25b050a57f8650966f0bddea.png

6. 总结

本文针对YOLO的检测流程中的后处理和模型架构进行了改进。对于后处理,我们提出了一致的双重分配方法用于无NMS训练,实现了高效的端到端检测。对于模型架构,我们引入了整体的效率-准确性驱动模型设计策略,改善了性能-效率的平衡。这使得我们的YOLOv10成为了一种新型的实时端到端物体检测器。大量实验证明,与其他先进的检测器相比,YOLOv10在性能和延迟上达到了最先进的水平,充分展示了其优越性。

对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~

下面一起来阅读一下这项工作~

8. 参考

[1] YOLOv10: Real-Time End-to-End Object Detection

本文仅做学术分享,如有侵权,请联系删文。

计算机视觉工坊交流群

目前我们已经建立了3D视觉方向多个社群,包括2D计算机视觉大模型工业3D视觉SLAM自动驾驶三维重建无人机等方向,细分群包括:

2D计算机视觉:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等

大模型:NLP、CV、ASR、生成对抗大模型、强化学习大模型、对话大模型等

工业3D视觉:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。

SLAM:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。

自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、BEV感知、Occupancy、目标跟踪、端到端自动驾驶等。

三维重建:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等

无人机:四旋翼建模、无人机飞控等

除了这些,还有求职硬件选型视觉产品落地最新论文3D视觉最新产品3D视觉行业新闻等交流群

添加小助理: dddvision,备注:研究方向+学校/公司+昵称(如3D点云+清华+小草莓), 拉你入群。

f028e0ae99c758346c9e817260c747ac.png
▲长按扫码添加助理
3D视觉学习知识星球

3D视觉从入门到精通知识星球、国内成立最早、6000+成员交流学习。包括:星球视频课程近20门(价值超6000)项目对接3D视觉学习路线总结最新顶会论文&代码3D视觉行业最新模组3D视觉优质源码汇总书籍推荐编程基础&学习工具实战项目&作业求职招聘&面经&面试题等等。欢迎加入3D视觉从入门到精通知识星球,一起学习进步。

▲长按扫码加入星球
3D视觉课程官网:www.3dcver.com

3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、三维视觉C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪,无人机等

▲长按扫码学习3D视觉精品课程
3D视觉相关硬件
图片说明名称
deacd8cf67ec4096d30f97319b0852a2.png硬件+源码+视频教程精迅V1(科研级))单目/双目3D结构光扫描仪
68a2601e91724b3a237a697039df234d.png硬件+源码+视频教程深迅V13D线结构光三维扫描仪
baed9360d3d43dc6abbd287a09f35b22.jpeg硬件+源码+视频教程御风250无人机(基于PX4)
64b431ddc62b6cd2f7c9dd1b2bd56317.png硬件+源码工坊智能ROS小车
61e62d87cce79e88361b08f8d2725398.png配套标定源码高精度标定板(玻璃or大理石)
添加微信:cv3d007或者QYong2014 咨询更多
欢迎点个 在看, 你最 好看!
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值