相关系列:
目标检测 | yolov1 原理和介绍
目标检测 | yolov2/yolo9000 原理和介绍
目标检测 | yolov3 原理和介绍
目标检测 | yolov4 原理和介绍
目标检测 | yolov5 原理和介绍
目标检测 | yolov6 原理和介绍
目标检测 | yolov7 原理和介绍
目标检测 | yolov8 原理和介绍
目标检测 | yolov9 原理和介绍
目标检测 | yolov10 原理和介绍
论文:https://arxiv.org/pdf/2405.14458
代码:https://github.com/THU-MIG/yolov10

  1. 引言:介绍了实时目标检测的重要性以及YOLO系列在这一领域的主导地位。指出现有YOLO模型在后处理和模型架构上存在的不足,包括对非极大值抑制(NMS)的依赖以及模型设计的不彻底检查,这些问题限制了模型的性能和效率。
  2. 相关工作:回顾了实时目标检测器的发展,包括YOLO系列和其他基于CNN的检测器,以及端到端目标检测方法,如DETR及其变体。
  3. YOLOv10方法论:
  • 一致的双重分配(Consistent Dual Assignments):提出了一种新的训练策略,通过双重标签分配和一致的匹配度量实现无需NMS的YOLO训练,提高了推理效率。
  • 全面效率-准确性驱动的模型设计策略:对YOLO的各个组件进行了全面优化,包括轻量级分类头、空间-通道解耦下采样、基于排名引导的块设计、大核卷积和部分自注意力模块,以提高计算效率和模型性能。
  1. 实验:
  • 实验设置:使用COCO数据集进行训练和评估,采用与YOLOv8相同的训练设置。
  • 与现有方法的比较:YOLOv10在不同模型规模下实现了最先进的性能和效率,例如,YOLOv10-S在相似的AP下比RT-DETR-R18快1.8倍,参数和FLOPs分别减少了2.8倍。
  1. 模型分析:
  • 消融研究:验证了NMS-free训练和效率驱动模型设计的有效性。
  • 效率驱动模型设计分析:展示了轻量级分类头、空间-通道解耦下采样和基于排名引导的块设计对减少参数和计算量的贡献。
  • 准确性驱动模型设计分析:探讨了大核卷积和部分自注意力模块对提高性能的影响。
  1. 结论:YOLOv10通过提出的方法在实时端到端目标检测方面取得了显著的性能和效率,为未来在这一领域的研究提供了新的方向。
  2. 附录:提供了实现细节、一致匹配度量的详细推导、基于排名引导的块设计的算法细节、COCO数据集上的详细性能数据、YOLOv10在复杂场景下的可视化结果,以及对YOLOv10贡献、局限性和更广泛影响的讨论。

Abstract 摘要

 在过去的几年里,YOLO 已成为实时目标检测领域的主要范式,因为它们在计算成本和检测性能之间有效平衡。研究人员探索了 YOLO 的架构设计、优化目标、数据增强策略等,取得了显着进展。然而,对非最大抑制(NMS)进行后处理的依赖阻碍了YOLO的端到端部署,并对推理延迟产生不利影响。此外,YOLOs中各个组件的设计缺乏全面和彻底的检测,导致计算冗余明显,限制了模型的能力。它使次优效率,以及性能改进的巨大潜力。在这项工作中,我们的目标是从后处理和模型架构中进一步推进 YOLO 的性能效率边界。为此,我们首先给出了YOLOs无NMS训练的一致对偶分配,同时带来了具有竞争力的性能和较低的推理延迟。此外,我们介绍了 YOLO 的整体效率-精度驱动模型设计策略。我们从效率和准确性的角度全面优化了YOLOs的各个组成部分,大大降低了计算开销,提高了能力。我们工作的结果是新一代YOLO系列,用于实时端到端目标检测,称为YOLOv10。大量的实验表明,YOLOv10在各种模型尺度上达到了最先进的性能和效率。例如,在COCO上相似的AP下,我们的YOLOv10-S比RT-DETR-R18快1.8倍,同时参数数量和FLOPs减少了2.8倍。与 YOLOv9-C 相比,YOLOv10-B 在相同性能下的延迟减少了 46%,参数减少了 25%。代码:https://github.com/THU-MIG/yolov10。

1 Introduction 简介

 实时目标检测一直是计算机视觉领域的一个焦点,其目的是在低延迟下准确预测图像中物体的类别和位置。它被广泛应用于自动驾驶[3]、机器人导航[11]和目标跟踪[66]等各种实际应用中。近年来,研究人员专注于设计基于cnn的目标检测器来实现实时检测[18,22,43,44,45,51,12]。其中,YOLO 因其在性能和效率之间的良好平衡而越来越受欢迎 [2, 19 , 27 , 19 , 20 , 59, 54, 64 , 7, 65, 16,27]。YOLOs的检测流水线由两部分组成:模型正向过程和NMS后处理。然而,它们都仍然存在缺陷,导致精度延迟边界次优。
 具体来说,YOLO 在训练期间通常采用一对多标签分配策略,其中一个真实对象对应于多个正样本。尽管产生了卓越的性能,但这种方法需要 NMS 在推理过程中选择最佳正预测。这会减慢推理速度并使性能对 NMS 的超参数敏感,从而防止 YOLO 实现最佳端到端部署 [71]。解决这个问题的一种方法是采用最近引入的端到端DETR架构[4,74,67,28,34,40,61]。例如,RT-DETR[71]提出了一种有效的混合编码器和不确定性最小查询选择,将DETR推进到实时应用领域。然而,部署 DETR 的固有复杂性阻碍了它能够在准确性和速度之间获得最佳平衡。另一条线是探索基于 CNN 的检测器的端到端检测,它通常利用一对一的分配策略来抑制冗余预测 [5, 49, 60, 73, 16]。然而,它们通常引入额外的推理开销或实现次优性能。
 此外,模型架构设计仍然是YOLOs的一个基本挑战,它对精度和速度有重要影响[45,16,65,7]。为了实现更高效和有效的模型架构,研究人员探索了不同的设计策略。主干提出了各种主要计算单元来增强特征提取能力,包括DarkNet[43,44,45]、CSPNet[2]、EfficientRep[27]和ELAN[56,58]等。对于颈部,探索了PAN[35]、BiC[27]、GD[54]和RepGFPN[65]等来增强多尺度特征融合。此外,还研究了模型缩放策略[56,55]和重新参数化[10,27]技术。虽然这些努力取得了显着的进步,但仍然缺乏从效率和准确性角度对 YOLO 中各种组件的全面检查。因此,YOLOs中仍然存在相当大的计算冗余,导致参数利用率低,效率次优。此外,由此产生的约束模型能力也会导致性能下降,从而为准确性改进留下了充足的空间。
 在这项工作中,我们旨在解决这些问题并进一步推进 YOLO 的精度-速度边界。我们在整个检测管道中同时针对后处理和模型架构。为此,我们首先通过为具有双重标签分配和一致匹配度量的无 NMS YOLO 呈现一致的双重分配策略来解决后处理中冗余预测问题。它允许模型在训练期间享受丰富和谐的监督,同时在推理过程中消除对 NMS 的需求,从而提高竞争性能。其次,通过对YOLOs中的各种组件进行全面检查,提出了模型体系结构的整体效率-精度驱动模型设计策略。为了提高效率,我们提出了轻量级分类头、空间通道解耦下采样和秩引导块设计,以减少所表现出的计算冗余并实现更高效的架构。为了准确性,我们探索了大内核卷积,并提出了有效的部分自注意力模块来增强模型能力,利用低成本性能改进的潜力。
 基于这些方法,我们成功地实现了一系列具有不同模型尺度的新的实时端到端检测器,即YOLOv10-N / S / M / B / L / X。在目标检测标准基准(即COCO[33])上的大量实验表明,我们的YOLOv10在各种模型尺度上的计算精度权衡方面的性能明显优于以前的最先进模型。如图1所示,在相同的性能下,我们的YOLOv10-S / X分别比RT-DETRR18 / 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 相比实现了 2 个相似的 AP,参数减少了 23% / 31%。我们希望我们的工作能够激发该领域的进一步研究和进步。
在这里插入图片描述

图 1:在延迟精度(左)和大小精度(右)权衡方面与其他比较。我们使用官方预训练模型测量端到端延迟。

2 Related Work 相关工作

  • Real-time object detectors 实时对象检测器。
     实时目标检测旨在对低延迟下的对象进行分类和定位,这对于现实世界的应用至关重要。在过去的几年里,人们投入了大量的努力来开发高效的检测器[18,51,43,32,72,69,30,29,39]。特别是YOLO系列[43,44,45,2,19,27,56,20,59]作为主流系列。YOLOv1、YOLOv2 和 YOLOv3 识别由主干、颈部和头部三部分组成的典型检测架构 [43, 44, 45]。YOLOv4 [2] 和 YOLOv5 [19] 引入了 CSPNet [57] 设计来取代 DarkNet [42],以及数据增强策略、增强 PAN 和更多种类的模型尺度等。 YOLOv6 [27] 分别提出了颈部和主干的 BiC 和 SimCSPSPPF,具有锚辅助训练和自蒸馏策略。YOLOv7[56]为丰富的梯度流路径引入了E-ELAN,探索了几种可训练的免费赠品袋方法。YOLOv8[20]提出了C2f构建块,用于有效的特征提取和融合。Gold-YOLO[54]提供了先进的GD机制来提高多尺度特征融合能力。YOLOv9[59] 提出了 GELAN 来改进架构和 PGI 以增强训练过程。
  • End-to-end object detectors.端到端对象检测器。
     端到端目标检测已经成为传统管道的范式转变,提供了精简的体系结构[48]。DETR[4]引入了变压器架构,采用匈牙利损失实现一对一匹配预测,从而消除了手工制作的组件和后处理。因此,已经提出了各种DETR变体来提高其性能和效率[40,61,50,28,34]。Deformable-DETR[74]利用多尺度可变形注意模块来加速收敛速度。DINO[67]将对比去噪、混合查询选择和展望两种方案集成到DETRs中。RT-DETR[71]进一步设计了高效的混合编码器,提出了不确定性最小查询选择来提高准确性和延迟。实现端到端对象检测的另一条线是基于 CNN 检测器。可学习的NMS[23]和关系网络[25]提出了另一种网络来去除检测器的重复预测。OneNet [49] 和 DeFCN [60] 提出了一种一对一匹配策略,以实现使用全卷积网络的端到端目标检测。FCOSps[73]引入了一个正样本选择器来选择最优样本进行预测。

3 Methodology 方法

3.1 Consistent Dual Assignments for NMS-free Training 无 NMS 训练的一致对偶分配

 在训练过程中,YOLO[20,59,27,64]通常利用TAL[14]为每个实例分配多个正样本。采用一对多分配会产生丰富的监督信号,促进优化并实现卓越的性能。然而,它需要 YOLO 依赖于 NMS 后处理,这导致部署的推理效率次优。虽然之前的工作 [49, 60, 73, 5] 探索了一对一的匹配来抑制冗余预测,但它们通常引入额外的推理开销或产生次优性能。在这项工作中,我们提出了一种用于具有双重标签分配和一致匹配度量的 YOLO 的无 NMS 训练策略,实现了高效率和具有竞争力的性能。

Dual label assignments 双重标签分配
 与一对多分配不同,一对一匹配只为每个基本事实分配一个预测,避免了 NMS 后处理。然而,它导致了弱监督,这导致了次优的准确性和收敛速度[75]。幸运的是,这种缺陷可以通过一对多分配来补偿[5]。为此,我们为 YOLO 引入双重标签分配来组合这两种策略的优点。具体来说,如图 2(a) 所示,我们为 YOLO 合并了另一个一对一的头。它保留了相同的结构,并采用与原始一对多分支相同的优化目标,但利用一对一匹配来获得标签分配。在训练期间,两个头部与模型联合优化,允许主干和颈部享受一对多分配提供的丰富监督。在推理过程中,我们丢弃一对多的头部并利用一对一的头部进行预测。这使得 YOLO 能够用于端到端部署,而不会产生任何额外的推理成本。此外,在一对一匹配中,我们采用前一种选择,实现了与匈牙利匹配[4]相同的性能,训练时间更少。
在这里插入图片描述

图 2:(a) 无 NMS 训练的一致双重分配。(b) YOLOv8-S 的一对多结果的 Top-1/5/10 中一对一分配的频率,默认使用 α o 2 m = 0.5 α_{o2m}=0.5 αo2m=0.5 β o 2 m = 6 β_{o2m}=6 βo2m=6 [20]。为了保持一致性, α o 2 o = 0.5 α_{o2o}=0.5 αo2o=0.5 β o 2 o = 6 β_{o2o}=6 βo2o=6。对于不一致, α o 2 o = 0.5 α_{o2o}=0.5 αo2o=0.5 β o 2 o = 2 β_{o2o}=2 βo2o=2

Consistent matching metric 一致的匹配指标
 在分配过程中,一对一和一对多的方法都利用度量来定量评估预测和实例之间的一致性水平。为了实现两个分支的预测感知匹配,我们采用了统一的匹配度量,即
m ( α , β ) = s ⋅ p α ⋅ I o U ( b ^ , b ) β , (1) m(α, β) = s · p^α · IoU(\hat{b}, b)^β ,\tag{1} m(α,β)=spαIoU(b^,b)β,(1)
 其中 p p p 是分类分数, b ^ \hat{b} b^ b b b 分别表示预测和实例的边界框。 s s s表示空间先验,指示预测的锚点是否在实例内[20,59,27,64]。 α α α β β β 是平衡语义预测任务和位置回归任务影响的两个重要超参数。我们将一对多和一对一指标分别表示为 m o 2 m = m ( α o 2 m , β o 2 m ) m_{o2m}=m(α_{o2m}, β_{o2m}) mo2m=m(αo2m,βo2m) m o 2 o = m ( α o 2 o , β o 2 o ) m_{o2o}=m(α_{o2o}, β_{o2o}) mo2o=m(αo2o,βo2o)。这些指标会影响两个头部的标签分配和监督信息。
 在双重标签分配中,一对多分支提供了比一对一分支更丰富的监督信号。直观地说,如果我们可以将一对一头部的监督与一对多头部的监督协调,我们可以将一对一头部优化到一对多头部优化的方向。因此,一对一头部在推理过程中可以提供更高质量的样本,从而获得更好的性能。为此,我们首先分析了两个头部之间的监督差距。由于训练期间的随机性,我们从使用相同值初始化的两个头开始开始检查并产生相同的预测,即一对一头和一对多头为每个预测实例对生成相同的 p p p I o U IoU IoU。我们注意到两个分支的回归目标不冲突,因为匹配的预测共享相同的目标,并且忽略不匹配的预测。因此,监督差距在于不同的分类目标。给定一个实例,我们将其最大的 I o U IoU IoU 表示为 u ∗ u^∗ u,类似的,最大的一对多和一对一匹配分数分别表示为 m o 2 m ∗ m^∗_{o2m} mo2m m o 2 o ∗ m^∗_{o2o} mo2o。假设一对多分支产生正样本 Ω Ω Ω,一对一分支选择第 i i i个预测,度量为 m o 2 o , i = m o 2 o ∗ m_{o2o,i}=m^*_{o2o} mo2o,i=mo2o ,那么我们可以为 j ∈ Ω j∈Ω jΩ 导出分类目标 t o 2 m , j = u ∗ ⋅ m o 2 m , j m o 2 m ∗ ≤ u ∗ t_{o2m,j}=u^*·\frac{m_{o2m},j}{m^*_{o2m}}≤u * to2m,j=umo2mmo2m,ju ,为任务对齐损失导出分类目标 t o 2 o , i = u ∗ ⋅ m o 2 o , i m o 2 o ∗ = u ∗ t_{o2o,i}=u^*·\frac{m_{o2o},i}{m^*_{o2o}}=u * to2o,i=umo2omo2o,i=u ,如[20,59,27,64,14]。因此,两个分支之间的监督差距可以由不同分类目标的1-Wasserstein距离[41]推导出来,即:
A = t o 2 o , i − Ⅱ ( i ∈ Ω ) t o 2 m , i + ∑ k ∈ Ω ∖ { i } t o 2 m , k , (2) A = t_{o2o,i} − Ⅱ(i ∈ Ω)t_{o2m,i} + { \sum_{k∈Ω \setminus \{i\}} {t_{o2m},k} } \tag{2}, A=to2o,i(iΩ)to2m,i+kΩ{i}to2m,k,(2)
 我们可以观察到差距随着 t o 2 m , i t_{o2m},i to2m,i 的增加而减小,即 i i i Ω Ω Ω 内排名更高。当 t o 2 m , i = u ∗ t_{o2m},i=u^* to2m,i=u时,它达到最小值,即 i i i Ω Ω Ω中最好的正样本,如图2(a)所示。为此,我们提出了一致的匹配度量,即 α o 2 o = r ⋅ α o 2 m α_{o2o}=r·α_{o2m} αo2o=rαo2m β o 2 o = r ⋅ β o 2 m β_{o2o}=r·β_{o2m} βo2o=rβo2m,这意味着 m o 2 o = m o 2 m r m_{o2o}=m^r_{ o2m} mo2o=mo2mr。因此,一对多头部的最佳正样本对于一对一头部也是最好的。因此,两个头部都可以一致地和谐地优化。为简单起见,我们默认取 r = 1 r=1 r=1,即 α o 2 o = α o 2 m α_{o2o}=α_{o2m} αo2o=αo2m β o 2 o = β o 2 m β_{o2o}=β_{o2m} βo2o=βo2m。为了验证改进的监督对齐,我们计算了训练后一对多结果的前 top-1 / 5 / 10 内的一对一匹配对的数量。如图2.(B)所示,在一致的匹配度量下,对齐得到了改进。有关数学证明的更全面的理解,请参阅附录。

3.2 Holistic Efficiency-Accuracy Driven Model Design 整体效率-精度驱动模型设计

 除了后处理之外,YOLO 的模型架构对效率和准确性权衡也提出了巨大挑战 [45, 7, 27]。虽然以前的工作探索了各种设计策略,仍然缺乏对 YOLO 中各个组件的全面检查。因此,模型架构表现出不可忽略的计算冗余和约束能力,这阻碍了其实现高效率和性能的潜力。在这里,我们的目标是从效率和准确性的角度为 YOLO 整体执行模型设计。

Efficiency driven model design 效率驱动模型设计
 YOLO 中的组件由茎、下采样层、具有基本构建块的阶段和头部组成。词干的计算成本很少,因此我们对其他三个部分进行了效率驱动模型设计。

  1. Lightweight classification head 轻量级分类头。分类和回归头通常在 YOLO 中共享相同的架构。然而,它们在计算开销上表现出显着的差异。例如,YOLOv8-S中分类头(5.95G/1.51M)的FLOPs和参数计数分别为回归头(2.34G/0.64M)的2.5×和2.4×。然而,在分析分类错误和回归误差的影响后(见表。6),我们发现回归头对YOLOs的性能更有意义。因此,我们可以减少分类头的开销,而不必担心极大地损害性能。因此,我们简单地对分类头采用轻量级架构,它由两个深度可分离卷积 [24, 8] 组成,内核大小为 3×3,然后是 1×1 卷积。
  2. Spatial-channel decoupled downsampling 空间通道解耦下采样。YOLO 通常利用步长为 2 的常规 3×3 标准卷积,同时实现空间下采样(从 H × W H × W H×W H 2 × W 2 \frac{H}{2} × \frac{W}{2} 2H×2W )和通道变换(从 C C C 2 C 2C 2C)。这引入了 O ( 9 2 H W C 2 ) O(\frac{9}{2} HWC^2) O(29HWC2) 的不可忽略的计算成本和 O ( 18 C 2 ) O(18C^2) O(18C2) 的参数计数。相反,我们建议将空间缩减和通道增加操作解耦,从而实现更有效的下采样。具体来说,我们首先利用逐点卷积调制通道维度,然后利用深度卷积进行空间下采样。这将计算成本降低到 O ( 2 H W C 2 + 9 2 H W C ) O(2HWC^2 + \frac{9}{2} HWC) O(2HWC2+29HWC),参数计数降低到 O ( 2 C 2 + 18 C ) O(2C^2 + 18C) O(2C2+18C)。同时,它在下采样过程中最大化信息保留,导致与延迟降低竞争性能。
  3. Rank-guided block design Rank-guided块设计。YOLOs通常对所有阶段使用相同的基本构建块[27,59],例如YOLOv8[20]的瓶颈块。为了彻底检查 YOLO 的这种同质设计,我们利用内在排名 [31, 15] 来分析每个阶段的冗余 2。具体来说,我们计算每个阶段最后一个基本块中最后一个卷积的数值秩,它计算大于阈值的奇异值的数量。图3.(A)给出了YOLOv8的结果,表明深层阶段和大模型容易表现出更多的冗余。这一观察表明,简单地对所有阶段应用相同的块设计对于最佳容量效率权衡是次优的。为了解决这个问题,我们提出了一种秩引导的块设计方案,该方案旨在降低使用紧凑架构设计被证明是冗余的阶段的复杂性。我们首先提出了一种紧凑的倒块(CIB)结构,该结构采用廉价的深度卷积进行空间混合,采用高性价比的点卷积进行通道混合,如图3 (b)所示。它可以作为有效的基本构建块,例如嵌入在 ELAN 结构 [58, 20] 中(图 3.(b))。然后,我们提倡秩引导的块分配策略,在保持竞争容量的同时达到最佳效率。具体来说,给定一个模型,我们根据其内在等级升序对其所有阶段进行排序。我们进一步检查了用 CIB 替换领先阶段基本块的性能变化。如果与给定模型相比没有性能下降,我们继续替换下一阶段,否则停止该过程。因此,我们可以在阶段和模型尺度上实现自适应紧凑块设计,在不影响性能的情况下实现更高的效率。由于页面限制,我们在附录中提供了算法的详细信息。
    在这里插入图片描述

图 3:(a) YOLOv8 中跨阶段和模型的内在排名。主干颈部和颈部的阶段按照模型前向过程的顺序编号。对于 y 轴,数值秩 r 归一化为 r / C o r/C_o r/Co,其阈值默认设置为 λ m a x / 2 λmax/2 λmax/2,其中 C o C_o Co 表示输出通道的数量, λ m a x λ_{max} λmax 是最大奇异值。可以观察到,深层阶段和大模型表现出较低的内在等级值。(b) 紧凑的倒置块 (CIB)。© 部分自注意力模块 (PSA)。

Accuracy driven model design 精度驱动模型设计
 我们进一步探索了用于精度驱动设计的大内核卷积和自注意力,旨在以最小的成本提高性能。

  1. Large-kernel convolution 大内核卷积
     采用大核深度卷积是扩大感受野和增强模型能力的有效方法[9,38,37]。然而,简单地在所有阶段利用它们可能会在用于检测小物体的浅层特征中引入污染,同时在高分辨率阶段[7]中引入显著的I/O开销和延迟。因此,我们建议在深度阶段利用 CIB 中的大内核深度卷积。具体来说,我们按照 [37] 将 CIB 中第二个 3×3 深度卷积的内核大小增加到 7×7。此外,我们采用结构重新参数化技术 [10, 9, 53] 来引入另一个 3×3 深度卷积分支来缓解优化问题,而无需推理开销。此外,随着模型大小的增加,其感受野自然扩大,这得益于使用大内核卷积递减。因此,我们只对小模型尺度采用大核卷积。
  2. Partial self-attention (PSA)部分自注意力 (PSA)
     由于其卓越的全局建模能力[36,13,70],自我注意[52]被广泛应用于各种视觉任务中。然而,它表现出较高的计算复杂度和内存占用。为了解决这个问题,鉴于流行的注意力头冗余 [63],我们提出了一种有效的部分自注意力 (PSA) 模块设计,如图 3.© 所示。具体来说,我们在 1×1 卷积之后将跨通道的特征均匀地划分为两部分。我们只将一部分输入由多头自注意力模块 (MHSA) 和前馈网络 (FFN) 组成的 NPSA 块。然后通过 1×1 卷积连接和融合两部分。此外,我们遵循[21]将查询和键的维度分配给MHSA中值的一半,并将LayerNorm[1]替换为BatchNorm[26]进行快速推理。此外,PSA 仅放置在分辨率最低的第 4 阶段之后,避免了自注意力二次计算复杂度的过度开销。通过这种方式,全局表示学习能力可以以较低的计算成本合并到YOLOs中,这很好地增强了模型的能力,从而提高了性能。

4 Experiments 实验

4.1 Implementation Details 实施细节

 我们选择 YOLOv8 [20] 作为我们的基线模型,因为它具有可搜索的延迟-精度平衡及其在各种模型大小中的可用性。我们对无 NMS 训练采用一致的双重分配,并在此基础上进行整体效率-精度驱动模型设计,带来了我们的 YOLOv10 模型。YOLOv10 与 YOLOv8 具有相同的变体,即 N / S / M / L / X。此外,我们通过简单地增加YOLOv10-M的宽度比例因子,推导出一种新的变体YOLOv10-B。我们在相同的从头开始训练设置下在COCO[33]上验证了所提出的检测器[20,59,56]。此外,所有模型的延迟在带有TensorRT FP16的T4 GPU上进行了测试,遵循[71]。

4.2 Comparison with state-of-the-arts 与最先进技术的比较

 如表中所示。如图 1 所示,我们的 YOLOv10 在各种模型尺度上实现了最先进的性能和端到端延迟。我们首先将 YOLOv10 与我们的基线模型(即 YOLOv8)进行比较。在 N / S / M / L / X 5 变体上,我们的 YOLOv10 实现了 1.2% / 1.4% / 0.5% / 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 高 1.5 AP 和 2.0 AP,参数减少了 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) 的性能和延迟,遵循 [56, 20, 54]。如表中所示。1、YOLOv10 还展示了不同模型尺度上最先进的性能和效率,表明了我们的架构设计的有效性。
在这里插入图片描述

表 1:与最先进的比较。延迟是使用官方预训练模型来衡量的。Latencyf 表示没有后处理的模型前向过程中的延迟。† 表示 YOLOv10 使用 NMS 的原始一对多训练的结果。下面的所有结果都没有额外的高级训练技术,如知识蒸馏或 PGI 进行公平比较。

4.3 Model Analyses 模型分析

Ablation study消融研究
 我们在 表2中展示了基于 YOLOv10-S 和 YOLOv10-M 的消融结果.可以观察到,我们的具有一致双重分配的无NMS训练显著降低了YOLOv10-S的端到端时延4.63ms,同时保持了44.3%AP的竞争性能。此外,我们的效率驱动模型设计导致减少了 11.8 M 参数和 20.8 GFLOP,YOLOv10-M 的延迟减少了 0.65ms,很好地显示了其有效性。此外,我们的精度驱动模型设计在YOLOv10-S和YOLOv10-M上实现了1.8 AP和0.7 AP的显著改进,分别只有0.18ms和0.17ms的延迟开销,很好地证明了它的优越性。
在这里插入图片描述

表2:COCO上YOLOv10-S和YOLOv10-M的消融研究。

Analyses for NMS-free training 无NMS训练的分析

  • Dual label assignments 双重标签分配。
     我们为无 NMS 的 YOLO 提出了双重标签分配,它可以在推理过程中为一对多 (o2m) 分支带来丰富的监督,为一对一 (o2o) 分支提供高效率。我们基于 YOLOv8-S 验证其好处,即 Tab 中的 #1。2. 具体来说,我们引入了仅使用 o2m 分支和仅 o2o 分支进行训练的基线。如表3中所示,我们的双重标签分配实现了最佳的AP-延迟权衡。
    在这里插入图片描述

表 3:双重分配。

  • Consistent matching metric 一致的匹配指标。
     我们引入了一致的匹配度量,使一对一头部与一对多头部更加和谐。我们基于 YOLOv8-S 验证其好处,即 Tab 中的 #1。2,在不同的 αo2o 和 βo2o 下。如表4中所示,所提出的一致匹配度量,即αo2o=r·αo2m和βo2o=r·βo2m,可以达到最佳性能,其中αo2m=0.5和βo2m=6.0在一对多头部[20]。这种改进可以归因于监督差距的减少(等式(2)),它提供了两个分支之间的改进监督对齐。此外,所提出的一致匹配度量消除了对详尽超参数调整的需要,这在实际场景中很有吸引力。
    在这里插入图片描述

表 4:匹配度量

Analyses for efficiency driven model design 效率驱动模型设计的分析

 我们进行了实验,以逐步结合基于YOLOv10-S/M的效率驱动设计元素。我们的基线是没有效率精度驱动模型设计的 YOLOv10-S/M 模型,即 Tab 中的 #2/#6。2. 如表5中所示,每个设计组件,包括轻量级分类头、空间通道解耦下采样和秩引导块设计,有助于减少参数计数、FLOPs和延迟。重要的是,这些改进是在保持竞争性能的同时实现的。
在这里插入图片描述

表 5:效率。对于YOLOv10-S/M

  • Lightweight classification head 轻量级分类头
     我们根据表5中 #1 和 #2 的 YOLOv10-S 分析了预测的类别和定位误差对性能的影响,如[6]。具体来说,我们通过一对一分配将预测与实例进行匹配。然后,我们用实例标签替换预测的类别分数,从而得到没有分类错误的 A P w / o   c v a l AP^{val}_{w/o\ c} APw/o cval。类似地,我们将预测的位置替换为实例的位置,产生没有回归错误的 A P w / o   r v a l AP^{val}_{w/o\ r} APw/o rval。如表6中所示、 A P w / o   r v a l AP^{val}_{ w/o\ r} APw/o rval 远高于 A P w / o   c v a l AP^{val}_{ w/o\ c} APw/o cval,表明消除回归误差可以实现更大的改进。因此,性能瓶颈更多地在于回归任务。因此,采用轻量级分类头可以在不损害性能的情况下获得更高的效率。

在这里插入图片描述

表6:分类结果

  • Spatial-channel decoupled downsampling 空间通道解耦下采样
     我们解耦下采样操作以提高效率,其中通道维度首先通过逐点卷积 (PW) 增加,然后通过深度卷积 (DW) 降低分辨率以获得最大信息保留。我们将其与DW的空间缩减基线方法进行了比较,然后是PW的通道调制,基于表5中#3的YOLOv10-S。 如表7中所示,我们的下采样策略通过在下采样过程中享受更少的信息丢失,实现了0.7%的AP改进。
    在这里插入图片描述

表7:d.s.结果

 在目标检测领域,"Results of d.s."可能指的是D-S证据理论(Dempster-Shafer evidence theory)的应用结果,或者DSSD(Deconvolutional Single Shot Detector)的检测结果。以下是两种可能的解释:
 D-S证据理论:D-S证据理论在目标识别中有着广泛的应用,是一种有效的数据融合方法。然而,在证据高度冲突时,可能会产生有悖常理的结果。为了解决这个问题,有研究提出了一种改进算法,引入了传感器的可信度,以提高水下目标识别的准确性和有效性。
 DSSD:DSSD是一种基于SSD(Single Shot Detector)的改进模型,它通过添加反卷积层和预测模块来提高对小目标的检测精度。DSSD的核心思想是利用Top Down的网络结构,通过反卷积层实现深层特征和浅层特征的融合,并在预测阶段添加基于残差块构建的预测模块,以优化用于分类和边界框任务的特征图。

  • Compact inverted block (CIB) 紧凑型倒置块(CIB)
     我们将 CIB 引入紧凑的基本构建块。我们根据表5中 #4 的 YOLOv10-S 验证其有效性。具体来说,我们引入倒置残差块[46] (IRB)作为基线,实现了次优的43.7% AP,如表8所示。然后我们在它之后附加一个3×3深度卷积(DW),记为“IRB-DW”,它带来0.5%的AP改善。与“IRB-DW”相比,我们的CIB以最小的开销增加了另一个DW,从而进一步提高了0.3%的AP,表明了它的优越性。

在这里插入图片描述

表 8:CIB 的结果

  • Rank-guided block design - Rank-guided块设计
     我们引入了秩引导块设计,自适应地集成紧凑的块设计,以提高模型效率。我们根据表5中 #3 的 YOLOv10-S 验证其好处。基于内在等级按升序排序的阶段是阶段 8-4-7-3-5-1-6-2,如图 3(a) 所示。如表9中所示,当用高效的 CIB 逐步替换每个阶段的瓶颈块时,我们观察到从第 7 阶段开始的性能下降。在第 8 阶段和第 4 阶段具有较低的内在等级和更多的冗余,因此我们可以在不影响性能的情况下采用有效的块设计。这些结果表明,rank-guided 块设计可以作为更高模型效率的有效策略。

在这里插入图片描述

表 9:Rank-guided

Analyses for accuracy driven model design 精度驱动模型设计的分析
 我们展示了基于YOLOv10-S/M逐步集成精度驱动设计元素的结果。我们的基线是在结合效率驱动设计后 YOLOv10-S/M 模型,即 表2 中的 #3/#7。如表10中所示,采用大核卷积和PSA模块,在0.03ms和0.15ms的最小延迟增加下,YOLOv10-S的AP和1.4%AP的性能分别提高了0.4%和1.4%。请注意,YOLOv10-M 不使用大内核卷积(见表 12)。
在这里插入图片描述

表 10:准确性。对于 S/M。

  • Large-kernel convolution 大内核卷积。
     我们首先研究了基于 表10 中 #2 的 YOLOv10-S 的不同内核大小的影响。 如表11中所示,随着内核大小的增加而增加,并在 7×7 的内核大小附近停滞,性能有所提高,表明感知场大的好处。此外,在训练期间去除重新参数化分支可实现 0.1% 的 AP 退化,显示了它对优化的有效性。此外,我们基于 YOLOv10-N / S / M 检查了大内核卷积在模型尺度上的好处。如表12中所示,由于其固有的广泛感受野,它对大型模型(即 YOLOv10-M)没有改进。因此,我们只对小型模型采用大内核卷积,即 YOLOv10-N / S。
    在这里插入图片描述

表 11:L.k。结果。

在这里插入图片描述

表 12:L.k。使用

  • Partial self-attention (PSA) 部分自注意力(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.1 毫秒。因此,我们默认将 NPSA 设置为 1,以提高模型能力,同时保持高效率。
    在这里插入图片描述

表 13:PSA 结果

5 Conclusion 结论

 在本文中,我们在 YOLO 的检测管道中同时针对后处理和模型架构。对于后处理,我们提出了用于无 NMS 训练的一致双重分配,实现了高效的端到端检测。对于模型架构,我们引入了整体效率-精度驱动模型设计策略,提高了性能-效率权衡。这些带来了我们的YOLOv10,一个新的实时端到端对象检测器。大量的实验表明,与其他先进的检测器相比,YOLOv10实现了最先进的性能和延迟,很好地证明了它的优越性。

A Appendix 附录

A.1 Implementation Details A.1实现细节

 在[20,56,59]之后,所有YOLOv10模型都是使用SGD优化器从头开始训练的500个epoch。SGD动量和权重衰减分别设置为 0.937 和 5×10−4。初始学习率为1×10−2,线性衰减为1×10−4。对于数据增强,我们采用Mosaic[2,19]、Mixup[68]和复制粘贴增强[17]等,如[20,59]。表14 给出了详细的超参数。所有模型都在 8 个 NVIDIA 3090 GPU 上进行训练。此外,我们将YOLOv10-M的宽度比例因子增加到1.0,得到YOLOv10-B。对于PSA,我们在SPPF模块[20]之后使用它,并对FFN采用2的扩展因子。对于 CIB,我们还对倒置瓶颈块结构采用 2 的扩展比。在[59,56]之后,我们报告了COCO数据集[33]上不同对象尺度和IoU阈值的标准平均精度(AP)。
 此外,我们遵循[71]来建立端到端速度基准。由于NMS的执行时间受输入的影响,因此我们测量COCO val集上的延迟,如[71]。我们在验证过程中采用了检测器使用的相同 NMS 超参数。TensorRTefficientNMSPluggin被附加到后处理中,省略了I/O开销。我们报告了所有图像的平均延迟。
在这里插入图片描述

表 14:YOLOv10 的超参数。

A.2 Details of Consistent Matching Metric 一致匹配度量的细节

 我们在这里提供了一致匹配度量的详细推导。

 如本文所述,我们假设一对多正样本为 Ω Ω Ω,一对一分支选择第 i i i 个预测。然后,我们可以利用归一化度量[14]来获得任务对齐学习的分类目标[20,14,59,27,64],即 j ∈ Ω j∈Ω jΩ t o 2 m , j = u ∗ m o 2 m , j m o 2 m ∗ ≤ u ∗ t_{o2m,j}=u^* \frac{m _{o2m,j}}{m^*_{o2m}}≤u^* to2m,j=umo2mmo2m,ju t o 2 o , i = u ∗ ⋅ m o 2 o , i m o 2 o ∗ = u ∗ t_{o2o,i} = u^*·\frac{m_{o2o,i}}{m^*_{o2o}}= u^* to2o,i=umo2omo2o,i=u。因此,我们可以通过不同分类目标的1-Wasserstein距离[41]推导出两个分支之间的监督差距,即,
A = ∣ ( 1 − t o 2 o , i ) − ( 1 − Ⅱ ( i ∈ Ω ) t o 2 m , i ) ∣ + ∑ k ∈ Ω ∖ { i } ∣ 1 − ( 1 − t o 2 m , k ) ) ∣ = ∣ t o 2 o , i − Ⅱ ( i ∈ Ω ) t o 2 m , i ∣ + ∑ k ∈ Ω ∖ { i } t o 2 m , k = t o 2 o , i − Ⅱ ( i ∈ Ω ) t o 2 m , i + ∑ k ∈ Ω ∖ { i } t o 2 m , k (3) A = |(1-t_{o2o,i}) - (1 - Ⅱ(i ∈ Ω)t_{o2m,i})| + { \sum_{k∈Ω \setminus \{i\}} |1- (1 - t_{o2m,k)})| } \\ = |t_{o2o,i} − Ⅱ(i ∈ Ω)t_{o2m,i}| + { \sum_{k∈Ω \setminus \{i\}} {t_{o2m},k} } \\ = t_{o2o,i} − Ⅱ(i ∈ Ω)t_{o2m,i} + { \sum_{k∈Ω \setminus \{i\}} {t_{o2m},k} } \tag{3} A=(1to2o,i)(1(iΩ)to2m,i)+kΩ{i}∣1(1to2m,k))=to2o,i(iΩ)to2m,i+kΩ{i}to2m,k=to2o,i(iΩ)to2m,i+kΩ{i}to2m,k(3)

Ⅱ Ⅱ 实际是阿拉伯数字1的空心版本,如𝟙,这里不识别这个符号就用 Ⅱ Ⅱ 代替
指示函数(indicator function):具体来说,对于一个集合或区域,其指示函数可以定义为一个函数 f(x),其中 x 是该集合或区域中的一个点。当 x 属于该集合或区域时,f(x) 的值为 1,否则 f(x) 的值为 0。

 其中 Ⅱ(·) 是指示函数。我们将Ω中预测的分类目标表示为 { t ^ 1 , t ^ 2 , . . . , t ^ ∣ Ω ∣ } \{ \hat{t}_1,\hat{t}_2, ... , \hat{t}_{|Ω|} \} {t^1t^2,...,t^∣Ω∣} 按降序排列, t ^ 1 ≥ t ^ 2 ≥ . . . ≥ t ^ ∣ Ω ∣ \hat{t}_1 ≥ \hat{t}_2 ≥... ≥ \hat{t}_{|Ω|} t^1t^2...t^∣Ω∣。然后我们可以用 u ∗ u^* u替换 t o 2 o , i t_{o2o,i} to2o,i,得到:
A = u ∗ − Ⅱ ( i ∈ Ω ) t o 2 m , i + ∑ k ∈ Ω ∖ { i } t o 2 m , k = u ∗ + ∑ k ∈ Ω ∖ { i } t o 2 m , k − 2 ⋅ Ⅱ ( i ∈ Ω ) t o 2 m , i = u ∗ + ∑ k = 1 ∣ Ω ∣ t k ^ − 2 ⋅ Ⅱ ( i ∈ Ω ) t o 2 m , i (4) A = u^* - Ⅱ(i ∈ Ω)t_{o2m,i} + { \sum_{k∈Ω \setminus \{i\}} t_{o2m,k} } \\ = u^* + { \sum_{k∈Ω \setminus \{i\}} {t_{o2m},k} } − 2 · Ⅱ(i ∈ Ω)t_{o2m,i} \\ = u^* + { \sum_{k=1}^{ |Ω| } \hat{t_k} } − 2 · Ⅱ(i ∈ Ω)t_{o2m,i} \tag{4} A=u(iΩ)to2m,i+kΩ{i}to2m,k=u+kΩ{i}to2m,k2(iΩ)to2m,i=u+k=1∣Ω∣tk^2(iΩ)to2m,i(4)
 我们进一步讨论了两种情况下的监督差距,即

  1. 假设 i ∉ Ω i \notin Ω i/Ω,我们可以得到:
    A = u ∗ + ∑ k = 1 ∣ Ω ∣ t ^ k (5) A = u^* + { \sum_{k=1}^{ |Ω| } \hat{t}_k } \tag{5} A=u+k=1∣Ω∣t^k(5)
  2. 假设 i ∈ Ω i ∈ Ω iΩ,我们表示 t o 2 m , i = t ^ n t_{o2m,i} = \hat{t}_n to2m,i=t^n 并获得:
    A = u ∗ + ∑ k = 1 ∣ Ω ∣ t ^ k − 2 ⋅ t ^ n (6) A = u^* + { \sum_{k=1}^{ |Ω| } \hat{t}_k } -2 · \hat{t}_n \tag{6} A=u+k=1∣Ω∣t^k2t^n(6)
     由于 t ^ n ≥ 0 \hat{t}_n ≥ 0 t^n0,第二种情况会导致较小的监督差距。此外,我们可以观察到 A A A 随着 t ^ n \hat{t}_n t^n 的增加而减小,表明 n n n 减小,并且 Ω Ω Ω i i i 的排名有所提高。由于 t ^ n ≤ t ^ 1 \hat{t}_n ≤ \hat{t}_1 t^nt^1,因此当 t ^ n = t ^ 1 \hat{t}_n = \hat{t}_1 t^n=t^1 时, A A A 达到最小值,即 i i i Ω Ω Ω 中最好的正样本,其中 m o 2 m , i = m o 2 m ∗ m_{o2m,i} = m^∗_{o2m} mo2m,i=mo2m t o 2 m , i = u ∗ ⋅ m o 2 m , i m o 2 m ∗ = u ∗ t_{o2m,i} = u^∗ · \frac {m_{o2m,i}} {m^∗_{o2m}} = u^∗ to2m,i=umo2mmo2m,i=u
     此外,我们证明了我们可以通过一致的匹配度量来实现最小化的监督差距。我们假设 α o 2 m > 0 α_{o2m} > 0 αo2m>0 β o 2 m > 0 β_{o2m} > 0 βo2m>0,这在[20,59,27,14,64]中很常见。类似地,我们假设 α o 2 o > 0 α_{o2o} > 0 αo2o>0 β o 2 o > 0 β_{o2o} > 0 βo2o>0。我们可以得到 r 1 = α o 2 o α o 2 m > 0 r_1 = \frac {α_{o2o}}{α_{o2m}} > 0 r1=αo2mαo2o>0 r 2 = β o 2 o β o 2 m > 0 r_2 = \frac {β_{o2o}} {β_{o2m}} > 0 r2=βo2mβo2o>0,然后推导出 m o 2 o m_{o2o} mo2o.
    m o 2 o = s ⋅ p α o 2 o ⋅ I o U ( b ^ , b ) β o 2 o = s ⋅ p r 1 ⋅ α o 2 m ⋅ I o U ( b ^ , b ) r 2 ⋅ β o 2 m = s ⋅ ( p α o 2 m ⋅ I o U ( b ^ , b ) β o 2 m ) r 1 ⋅ I o U ( b ^ , b ) ( r 2 − r 1 ) ⋅ β o 2 m = m o 2 m r 1 ⋅ I o U ( b ^ , b ) ( r 2 − r 1 ) ⋅ β o 2 m (7) m_{o2o} = s · p^{α_{o2o}} · IoU(\hat{b}, b)^{β_{o2o}} \\ = s · p^{r_1·α_{o2m}} · IoU(\hat{b}, b)^{r_2·β_{o2m}} \\ = s · (p^{α_{o2m}} · IoU(\hat{b}, b)^{β_{o2m}} )^{r_1} · IoU(\hat{b}, b)^{(r_2 −r_1 )·β_{o2m}} \\ = m^{r_1}_{o2m} · IoU(\hat{b}, b)^{(r_2−r_1)·β_{o2m}} \tag{7} mo2o=spαo2oIoU(b^,b)βo2o=spr1αo2mIoU(b^,b)r2βo2m=s(pαo2mIoU(b^,b)βo2m)r1IoU(b^,b)(r2r1)βo2m=mo2mr1IoU(b^,b)(r2r1)βo2m(7)
     为了实现 m o 2 m , i = m o 2 m ∗ m_{o2m,i} = m^*_{o2m} mo2m,i=mo2m m o 2 o , i = m o 2 o ∗ m_{o2o,i} = m^*_{o2o} mo2o,i=mo2o,我们可以通过赋值 ( r 2 − r 1 ) = 0 (r2−r1) = 0 (r2r1)=0 使 m o 2 o m_{o2o} mo2o 单调增加,即:
    m o 2 o = m o 2 m r 1 ⋅ I o U ( b ^ , b ) 0 ⋅ β o 2 m = m o 2 m r 1 (8) m_{o2o} = m^{r_1}_{o2m} · IoU(\hat{b}, b)^{0·β_{o2m}} \\ = m^{r_1}_{o2m} \tag{8} mo2o=mo2mr1IoU(b^,b)0βo2m=mo2mr1(8)
     假设 r 1 = r 2 = r r_1 = r_2 = r r1=r2=r,因此可以推导出一致的匹配度量,即 α o 2 o = r ⋅ α o 2 m α_{o2o} = r · α_{o2m} αo2o=rαo2m β o 2 o = r ⋅ β o 2 m β_{o2o} = r · β_{o2m} βo2o=rβo2m。通过简单地取 r = 1 r = 1 r=1,我们得到 α o 2 o = α o 2 m α_{o2o} = α_{o2m} αo2o=αo2m β o 2 o = β o 2 m β_{o2o} = β_{o2m} βo2o=βo2m

A.3 Details of Rank-Guided Block Design Rank-Guided Block设计的细节

 我们展示了 算法1 中秩引导块设计的算法的细节。此外,为了计算卷积的数值秩,我们将其权重重塑为 ( C o , K 2 × C i ) (Co, K^2 × C_i) (Co,K2×Ci) 的形状,其中 C o C_o Co C i C_i Ci 表示输出通道的数量和输入通道, K K K 分别表示内核大小。
在这里插入图片描述

算法 1:Rank-guided块设计

A.4 More Results on COCO COCO的更多结果

 我们在 表15 中报告了YOLOv10在COCO上的详细性能,包括 A P 50 v a l AP^{val}_{50} AP50val A P 75 v a l AP^{val}_{75} AP75val在不同 I o U IoU IoU阈值下,以及 A P s a m l l v a l AP^{val}_{samll} APsamllval A P m e d i u m v a l AP^{val}_{medium} APmediumval A P l a r g e v a l AP^{val}_{large} APlargeval在不同尺度上的详细性能。
在这里插入图片描述

表 15:YOLOv10 在 COCO 上的详细性能。

A.5 More Analyses for Holistic Efficiency-Accuracy Driven Model Design 整体效率驱动模型设计的更多分析

 我们注意到减少 YOLOv10-S 的延迟(表 2 中的 #2) 因其模型规模小而特别具有挑战性。但是,如表2中所示,我们的效率驱动模型设计在不影响性能的情况下仍然实现了5.3%的延迟降低。这为进一步的准确性驱动模型设计提供了实质性的支持。YOLOv10-S通过我们的整体效率-精度驱动模型设计实现了更好的延迟-精度权衡,显示出2.0%的AP改进,延迟开销仅为0.05ms。此外,对于 YOLOv10-M(表2中的 #6)具有更大的模型规模和更多的冗余,我们的效率驱动模型设计导致了相当大的12.5%的延迟减少,如表2中所示。当结合精度驱动模型设计时,我们观察到YOLOv10-M的AP改善明显0.8%,延迟降低0.48ms。这些结果很好地证明了我们的设计策略在不同模型尺度上的有效性。

A.6 Visualization Results 可视化结果

 图4显示了我们的YOLOv10在复杂和具有挑战性的场景中的可视化结果。可以观察到,YOLOv10可以在不同的困难条件下实现精确的检测,如弱光、旋转等。它还在检测多样化和密集的物体(如瓶子、杯子和人)方面表现出了强大的能力。这些结果表明它的卓越性能。
在这里插入图片描述

图 4:复杂和具有挑战性的场景下的可视化结果

A.7 Contribution, Limitation, and Broader Impact 贡献、限制和更广泛的影响

Contribution 贡献

 总之,我们的贡献如下:

  1. 我们为无NMS的YOLO提出了一种新的一致的双重分配策略。设计了一种双重标签分配方法,在训练过程中由一对多分支提供丰富的监督,在推理过程中由一对一分支提供高效率。此外,为了保证两个分支之间的和谐监督,我们创新性地提出了一致的匹配度量,可以很好地减少理论监督差距,提高性能。
  2. 针对YOLOs模型架构,提出了一种整体效率-精度驱动模型设计策略。我们提出了一种新的轻量级分类头、空间通道解耦下采样和秩引导块设计,大大降低了计算冗余,实现了高效率。我们进一步引入了大内核卷积和创新的部分自注意力模块,该模块以较低的成本有效地提高了性能。
  3. 基于上述方法,我们引入了一种新的实时端到端对象检测器YOLOv10。大量实验表明,与其他高级检测器相比,我们的 YOLOv10 实现了最先进的性能和效率权衡。

Limitation 限制

 由于计算资源有限,我们没有研究YOLOv10在大规模数据集上的预训练,例如Objects365[47]。此外,虽然我们可以在无 NMS 训练下使用一对一头实现具有竞争力的端到端性能,但与使用 NMS 的原始一对多训练相比仍然存在性能差距,尤其是在小型模型中。例如,在 YOLOv10-N 和 YOLOv10-S 中,NMS 的一对多训练的性能分别比无 NMS 训练的性能高出 1.0% AP 和 0.5% AP。我们将在未来的工作中探索进一步减少差距并实现 YOLOv10 更高性能的方法。

Broader impact 更广泛的影响

 YOLO 可以广泛应用于各种现实世界的应用,包括医学图像分析和自动驾驶等。我们希望我们的 YOLOv10 可以帮助这些领域并提高效率。然而,我们承认恶意使用我们的模型的潜力。我们将努力防止这种情况。

GitHub 加速计划 / yo / yolov10
8.69 K
764
下载
YOLOv10: Real-Time End-to-End Object Detection
最近提交(Master分支:2 个月前 )
6fbaf42b - 1 个月前
cd2f79c7 3 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐