YOLOv10: Real-Time End-to-End Object Detection

近年来,YOLO系列模型因其在计算成本与检测性能之间的有效平衡,在实时目标检测领域占据了主导地位。研究人员在YOLO的架构设计、优化目标、数据增强策略等方面进行了探索,并取得了显著进展。然而,YOLO在后处理阶段对非极大值抑制(NMS)的依赖阻碍了其端到端的部署,并对推理延迟产生了不利影响。此外,YOLO中各组件的设计缺乏全面和彻底的审查,导致明显的计算冗余,限制了模型的性能。这导致了次优的效率,并存在相当大的性能提升空间。

在这项工作中,我们的目标是同时从后处理和模型架构两个方面进一步推动YOLO的性能与效率的边界。为此,我们首先提出了针对YOLO的无NMS训练的一致性双重分配方法,该方法能够同时实现具有竞争力的性能和较低的推理延迟。此外,我们引入了针对YOLO的整体效率-精度驱动模型设计策略。我们从效率和精度两个角度对YOLO的各个组件进行了全面优化,这极大地减少了计算开销并增强了模型的能力。我们的努力成果是一个用于实时端到端目标检测的新一代YOLO系列模型,称为YOLOv10。广泛的实验表明,YOLOv10在各种模型规模下都达到了最先进的性能和效率。例如,在COCO数据集上,我们的YOLOv10-S在类似平均精度(AP)下比RT-DETR-R18快1.8倍,同时参数和浮点运算次数(FLOPs)分别减少了2.8倍。与YOLOv9-C相比,YOLOv10-B在相同性能下延迟减少了46%,参数减少了25%。代码链接:https://github.com/THU-MIG/yolov10。

1 引言

实时目标检测一直是计算机视觉领域的研究热点,其目标是在低延迟下准确预测图像中物体的类别和位置。该技术广泛应用于各种实际应用中,包括自动驾驶[3]、机器人导航[11]和对象跟踪[66]等。近年来,研究人员致力于开发基于卷积神经网络(CNN)的目标检测器以实现实时检测[18, 22, 43, 44, 45, 51, 12]。其中,YOLO系列因其在性能和效率之间的出色平衡而备受欢迎[2,19,27,19,20,59,54,64,7,65,16,27]。YOLO的检测流程包括模型前向传播和非极大值抑制(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]。然而,它们通常会增加额外的推理开销或达到次优性能。

此外,模型架构设计仍然是YOLO面临的一项基本挑战,它对准确性和速度有着重要影响[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中各个组件进行全面检查仍然不足。因此,YOLO内部仍存在相当的计算冗余,导致参数利用率低下和效率次优。此外,由此产生的受限模型能力也导致性能不佳,为准确性提升留下了充足的空间。

在这项工作中,我们旨在解决这些问题,并进一步推进YOLO的准确性和速度边界。我们的目标贯穿整个检测流程,包括后处理和模型架构。为此,我们首先通过为无NMS的YOLO提出一种具有双重标签分配和一致匹配度量的一致双重分配策略,来解决后处理中的冗余预测问题。这使得模型在训练过程中能够享受丰富且和谐的监督,同时消除了推理过程中对NMS的需求,从而在保持高效率的同时实现具有竞争力的性能。其次,我们针对模型架构提出了全面的效率-准确性驱动模型设计策略,对YOLO中的各个组件进行了全面检查。为了提高效率,我们提出了轻量级分类头、空间-通道解耦下采样和排名引导块设计,以减少明显的计算冗余并实现更高效的架构。为了提高准确性,我们探索了大核卷积,并提出了有效的部分自注意力模块,以增强模型能力,从而在低成本下挖掘性能提升的潜力。

基于这些方法,我们成功开发出一系列具有不同模型规模的实时端到端检测器,即YOLOv10-N/S/M/B/L/X。在标准的目标检测基准测试(如COCO[33])上进行的大量实验表明,我们的YOLOv10在各种模型规模下,在计算-准确性权衡方面显著优于以往的最先进模型。如图1所示,在性能相似的情况下,我们的YOLOv10-S和YOLOv10-X分别比RT-DETR-R18和RT-DETR-R101快1.8倍和1.3倍。与YOLOv9-C相比,YOLOv10-B在保持相同性能的同时,延迟降低了46%。此外,YOLOv10表现出高效的参数利用率。我们的YOLOv10-L和YOLOv10-X分别比YOLOv8-L和YOLOv8-X高出0.3 AP和0.5 AP,同时参数数量分别减少了1.8倍和2.3倍。YOLOv10-M与YOLOv9-M和YOLO-MS的AP相似,但参数分别减少了23%和31%。我们希望我们的工作能够激发该领域的进一步研究和进展。
2 相关工作

实时目标检测器。实时目标检测旨在以低延迟对目标进行分类和定位,这对于现实世界的应用至关重要。过去几年中,人们为开发高效检测器付出了大量努力[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以增强训练过程。

端到端目标检测器。端到端目标检测已成为一种从传统流程中转变而来的范式,提供了简化的架构[48]。DETR[4]引入了Transformer架构,并采用匈牙利损失实现一对一匹配预测,从而消除了手工制作的组件和后处理。自此以后,人们提出了各种DETR变体以增强其性能和效率[40,61,50,28,34]。Deformable-DETR[74]利用多尺度可变形注意力模块来加速收敛速度。DINO[67]将对比去噪、混合查询选择和前瞻两次方案集成到DETR中。RT-DETR[71]进一步设计了高效的混合编码器,并提出了不确定性最小化查询选择策略,以提高准确性和降低延迟。另一条实现端到端目标检测的途径是基于卷积神经网络(CNN)的检测器。可学习NMS[23]和关系网络[25]提出了另一种网络来去除检测器中的重复预测。OneNet[49]和DeFCN[60]提出了一种一对一匹配策略,以实现具有全卷积网络的端到端目标检测。FCOS _{\text {pss }}[73]引入了一个正样本选择器来选择用于预测的最优样本。
3 方法论

3.1 无需NMS训练的双重一致分配

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

双重标签分配。与一对多分配不同,一对一匹配只为每个真实框分配一个预测框,从而避免了NMS后处理。然而,这会导致监督不足,从而影响模型的准确性和收敛速度[75]。幸运的是,这一缺陷可以通过一对多分配来弥补[5]。为了实现这一目标,我们为YOLO引入了双重标签分配,以结合两种策略的最佳优点。具体来说,如图2(a)所示,我们为YOLO增加了另一个一对一头部。它保留了与原始一对多分支相同的结构和优化目标,但利用一对一匹配来获取标签分配。在训练过程中,两个头部与模型一起联合优化,使得骨干网络和颈部网络能够享受到一对多分配提供的丰富监督。在推理过程中,我们丢弃一对多头部,并利用一对一头部进行预测。这使得YOLO能够端到端部署,而不会产生任何额外的推理成本。此外,在一对一匹配中,我们采用了顶一选择策略,该策略在减少额外训练时间的同时,实现了与匈牙利匹配[4]相同的性能。

一致匹配度量。在分配过程中,无论是一对一还是一对多方法,都利用一个度量标准来定量评估预测与实例之间的一致性程度。为了实现两个分支的预测感知匹配,我们采用了一个统一的匹配度量标准,即

m ( α , β ) = s ⋅ p α ⋅ IoU ⁡ ( b ^ , b ) β m(\alpha, \beta)=s \cdot p^{\alpha} \cdot \operatorname{IoU}(\hat{b}, b)^{\beta} m(α,β)=s⋅pα⋅IoU(b^,b)β

其中, p p p 是分类得分, b ^ \hat{b} b^ 和 b b b 分别表示预测和实例的边界框。 s s s 表示空间先验,指示预测锚点是否位于实例内[20,59,27,64]。 α \alpha α 和 β \beta β 是两个重要的超参数,用于平衡语义预测任务和位置回归任务的影响。我们将一对多和一对一的度量标准分别表示为 m o 2 m = m ( α o 2 m , β o 2 m ) m_{o 2 m}=m\left(\alpha_{o 2 m}, \beta_{o 2 m}\right) mo2m=m(αo2m,βo2m) 和 m o 2 o = m ( α o 2 o , β o 2 o ) m_{o 2 o}=m\left(\alpha_{o 2 o}, \beta_{o 2 o}\right) mo2o=m(αo2o,βo2o)。这些度量标准影响两个头部的标签分配和监督信息。

在双重标签分配中,一对多分支比一对一分支提供了更丰富的监督信号。直观上,如果我们能够协调一对一头部和一对多头部的监督,我们就可以将一对一头部优化到一对多头部优化的方向。因此,一对一头部在推理过程中可以提供更高质量的样本,从而带来更好的性能。为此,我们首先分析两个头部之间的监督差距。由于训练过程中的随机性,我们从两个头部开始考察,这两个头部用相同的值初始化并产生相同的预测,即一对一头部和一对多头部为每个预测-实例对生成相同的 p p p和IoU。我们注意到,两个分支的回归目标并不冲突,因为匹配的预测共享相同的目标,而未匹配的预测则被忽略。因此,监督差距在于不同的分类目标。给定一个实例,我们将其与预测的最大IoU表示为 u ∗ u^{*} u∗,并将最大的一对多和一对一匹配分数分别表示为 m o 2 m ∗ m_{o 2 m}^{*} mo2m∗和 m o 2 o ∗ m_{o 2 o}^{*} mo2o∗。假设一对多分支产生了正样本集 Ω \Omega Ω,而一对一分支根据度量 m o 2 o , i = m o 2 o ∗ m_{o 2 o, i}=m_{o 2 o}^{*} mo2o,i=mo2o∗选择了第 i i i个预测,那么我们可以推导出对于 j ∈ Ω j \in \Omega j∈Ω,分类目标 t o 2 m , j = u ∗ ⋅ m o 2 m , j m o 2 m ∗ ≤ u ∗ t_{o 2 m, j}=u^{*} \cdot \frac{m_{o 2 m, j}}{m_{o 2 m}^{*}} \leq u^{*} to2m,j=u∗⋅mo2m∗mo2m,j≤u∗,以及对于任务对齐损失(如[20,59,27,64,14]中所述),一对一分支的分类目标 t o 2 o , i = u ∗ ⋅ m o 2 o , i m o 2 o ∗ = u ∗ t_{o 2 o, i}=u^{*} \cdot \frac{m_{o 2 o, i}}{m_{o 2 o}^{*}}=u^{*} to2o,i=u∗⋅mo2o∗mo2o,i=u∗。因此,两个分支之间的监督差距可以通过不同分类目标之间的1-Wasserstein距离[41]来推导,即

A = t o 2 o , i − I ( i ∈ Ω ) t o 2 m , i + ∑ k ∈ Ω \ { i } t o 2 m , k A=t_{o 2 o, i}-\mathbb{I}(i \in \Omega) t_{o 2 m, i}+\sum_{k \in \Omega \backslash\{i\}} t_{o 2 m, k} A=to2o,i−I(i∈Ω)to2m,i+k∈Ω\{i}∑to2m,k

我们可以观察到,随着 t o 2 m , i t_{o 2 m, i} to2m,i的增加,即 i i i在 Ω \Omega Ω中的排名越靠前,差距就越小。当 t o 2 m , i = u ∗ t_{o 2 m, i}=u^{*} to2m,i=u∗时,差距达到最小,即 i i i是 Ω \Omega Ω中的最佳正样本,如图2(a)所示。为了实现这一点,我们提出了一致匹配度量,即 α o 2 o = r ⋅ α o 2 m \alpha_{o 2 o}=r \cdot \alpha_{o 2 m} αo2o=r⋅αo2m和 β o 2 o = r ⋅ β o 2 m \beta_{o 2 o}=r \cdot \beta_{o 2 m} βo2o=r⋅βo2m,这意味着 m o 2 o = m o 2 m r m_{o 2 o}=m_{o 2 m}^{r} mo2o=mo2mr。因此,一对多头部的最佳正样本也是一对一头部的最佳正样本。因此,两个头部都可以得到一致且和谐的优化。为了简化,我们默认取 r = 1 r=1 r=1,即 α o 2 o = α o 2 m \alpha_{o 2 o}=\alpha_{o 2 m} αo2o=αo2m和 β o 2 o = β o 2 m \beta_{o 2 o}=\beta_{o 2 m} βo2o=βo2m。为了验证改进的监督对齐效果,我们统计了训练后在一对多结果的前1/5/10名内的一对一匹配对的数量。如图2(b)所示,在一致匹配度量下,对齐效果得到了改善。有关数学证明的更全面理解,请参阅附录。

3.2 整体效率-精度驱动的模型设计

除了后处理之外,YOLOs的模型架构也对效率-精度的权衡提出了巨大挑战[45, 7, 27]。尽管以前的工作探索了各种设计策略,但YOLOs中各组件的综合检查仍然缺乏。因此,模型架构存在不可忽视的计算冗余和受限的能力,这阻碍了其实现高效能和性能的潜力。在这里,我们旨在从效率和精度的角度对YOLOs进行整体模型设计。

效率驱动的模型设计。YOLO中的组件包括主干(stem)、下采样层、带有基本构建块的阶段和头部。主干部分的计算成本较低,因此我们针对其他三个部分进行效率驱动的模型设计。

(1)轻量级分类头部。在YOLO中,分类和回归头部通常具有相同的架构。然而,它们在计算开销方面存在显著差异。例如,在YOLOv8-S中,分类头部的浮点运算次数(FLOPs)和参数数量(5.95G/1.51M)分别是回归头部(2.34G/0.64M)的 2.5 × 2.5\times 2.5×和 2.4 × 2.4\times 2.4×。然而,通过分析分类误差和回归误差的影响(见表6),我们发现回归头部对YOLO的性能具有更重要的意义。因此,我们可以在不担心对性能造成严重影响的情况下减少分类头部的开销。因此,我们为分类头部采用了一个轻量级的架构,该架构由两个深度可分离卷积[24,8](卷积核大小为 3 × 3 3\times3 3×3)和一个 1 × 1 1\times1 1×1卷积组成。

(2)空间-通道解耦下采样。YOLO通常利用步长为2的常规 3 × 3 3 \times 3 3×3标准卷积,同时实现空间下采样(从 H × W H \times W H×W到 H 2 × W 2 \frac{H}{2} \times \frac{W}{2} 2H×2W)和通道变换(从 C C C到 2 C 2C 2C)。这引入了不可忽视的计算成本 O ( 9 2 H W C 2 ) \mathcal{O}\left(\frac{9}{2} H W C^{2}\right) O(29HWC2)和参数数量 O ( 18 C 2 ) \mathcal{O}\left(18 C^{2}\right) O(18C2)。相反,我们提出将空间减少和通道增加操作解耦,以实现更高效的下采样。具体来说,我们首先利用逐点卷积来调制通道维度,然后利用深度卷积进行空间下采样。这将计算成本降低到 O ( 2 H W C 2 + 9 2 H W C ) \mathcal{O}\left(2 \mathrm{HWC}^{2}+\frac{9}{2} H W C\right) O(2HWC2+29HWC),参数数量降低到 O ( 2 C 2 + 18 C ) \mathcal{O}\left(2 C^{2}+18 C\right) O(2C2+18C)。同时,它在下采样过程中最大限度地保留了信息,从而在降低延迟的同时保持了具有竞争力的性能。

(3)秩指导的块设计。YOLO通常对所有阶段使用相同的基本构建块[27, 59],例如YOLOv8中的瓶颈块[20]。为了彻底检查YOLO的这种同质设计,我们利用固有秩[31,15]来分析每个阶段的冗余性。具体来说,我们计算每个阶段中最后一个基本块中最后一个卷积的数值秩,该数值秩计算了大于阈值的奇异值的数量。图3(a)展示了YOLOv8的结果,表明深层阶段和大型模型更容易表现出更多的冗余性。这一观察结果表明,简单地对所有阶段应用相同的块设计并不是实现最佳容量-效率权衡的最优方法。为了解决这个问题,我们提出了一种秩指导的块设计方案,旨在通过使用紧凑的架构设计来降低显示出冗余性的阶段的复杂性。我们首先介绍了一个紧凑的倒置块(CIB)结构,该结构采用廉价的深度卷积进行空间混合,并采用成本效益高的逐点卷积进行通道混合,如图3(b)所示。它可以作为高效的基本构建块,例如嵌入到ELAN结构中[58,20](图3(b))。然后,我们提倡一种秩指导的块分配策略,以在保持竞争力的容量的同时实现最佳效率。具体来说,给定一个模型,我们根据其固有秩按升序对其所有阶段进行排序。我们进一步检查用CIB替换领先阶段中的基本块对性能的影响。如果与给定模型相比没有性能下降,我们将继续替换下一个阶段,否则停止该过程。因此,我们可以在各个阶段和模型规模上实现自适应的紧凑块设计,从而在不影响性能的情况下实现更高的效率。由于篇幅限制,我们在附录中提供了算法的详细信息。

以精度为导向的模型设计。我们进一步探索大核卷积和自注意力机制,以实现以精度为导向的设计,旨在以最小的成本提升性能。

(1)大核卷积。采用大核深度卷积是扩大感受野并增强模型能力的一种有效方法[9,38,37]。然而,简单地在所有阶段利用它们可能会污染用于检测小目标的浅层特征,同时也会在高分辨率阶段引入显著的I/O开销和延迟[7]。因此,我们提出在深层阶段的CIB中使用大核深度卷积。具体来说,我们按照[37]中的方法,将CIB中第二个 3 × 3 3 \times 3 3×3深度卷积的核大小增加到 7 × 7 7 \times 7 7×7。此外,我们还采用了结构重参数化技术[10,9,53],引入了另一个 3 × 3 3 \times 3 3×3深度卷积分支,以缓解优化问题,同时不会增加推理开销。此外,随着模型尺寸的增大,其感受野自然扩展,使用大核卷积的好处逐渐减少。因此,我们仅在小模型规模下采用大核卷积。

(2)部分自注意力(PSA)。自注意力[52]因其出色的全局建模能力而被广泛应用于各种视觉任务中[36,13,70]。然而,它表现出较高的计算复杂度和内存占用。为了解决这个问题,鉴于普遍存在的注意力头冗余[63],我们提出了一种高效的部分自注意力(PSA)模块设计,如图3©所示。具体来说,我们在 1 × 1 1 \times 1 1×1卷积后将特征在通道上均匀划分为两部分。我们仅将其中一部分输入到由多头自注意力模块(MHSA)和前馈网络(FFN)组成的 N PSA N_{\text{PSA}} NPSA块中。然后,将这两部分通过 1 × 1 1 \times 1 1×1卷积进行拼接和融合。此外,我们遵循[21]中的方法,将查询和键的维度设置为值维度的一半,在MHSA中,并将LayerNorm[1]替换为BatchNorm[26],以实现快速推理。此外,PSA仅放置在分辨率最低的第四阶段之后,从而避免了自注意力二次计算复杂度带来的过高开销。通过这种方式,可以将全局表示学习能力以较低的计算成本融入YOLO中,从而很好地增强了模型的能力并提高了性能。

4 实验

4.1 实现细节

我们选择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 与最先进技术的比较

如表1所示,我们的YOLOv10在各种模型规模上均达到了最先进的性能和端到端延迟。我们首先将YOLOv10与基线模型(即YOLOv8)进行比较。在N/S/M/L/X五个变体中,YOLOv10分别实现了 1.2 % / 1.4 % / 0.5 % / 0.3 % / 0.5 % A P 1.2\% / 1.4\% / 0.5\% / 0.3\% / 0.5\% \mathrm{AP} 1.2%/1.4%/0.5%/0.3%/0.5%AP的改进,同时参数减少了 28 % / 36 % / 41 % / 44 % / 57 % 28\% / 36\% / 41\% / 44\% / 57\% 28%/36%/41%/44%/57%,计算量减少了 23 % / 24 % / 25 % / 27 % / 38 % 23\% / 24\% / 25\% / 27\% / 38\% 23%/24%/25%/27%/38%,延迟降低了 70 % / 65 % / 50 % / 41 % / 37 % 70\% / 65\% / 50\% / 41\% / 37\% 70%/65%/50%/41%/37%。与其他YOLO相比,YOLOv10在精度和计算成本之间也表现出了更优的权衡。具体来说,对于轻量级和小型模型,YOLOv10-N/S分别比YOLOv6-3.0-N/S高出1.5 AP和2.0 AP,同时参数分别减少了 51 % / 61 % 51\% / 61\% 51%/61%,计算量分别减少了 41 % / 52 % 41\% / 52\% 41%/52%。对于中型模型,与YOLOv9-C/YOLO-MS相比,YOLOv10-B/M在相同或更好的性能下,延迟分别减少了 46 % / 62 % 46\% / 62\% 46%/62%。对于大型模型,与Gold-YOLO-L相比,YOLOv10-L的参数减少了 68 % 68\% 68%,延迟降低了 32 % 32\% 32%,同时AP显著提高了 1.4 % 1.4\% 1.4%。此外,与RT-DETR相比,YOLOv10在性能和延迟方面均取得了显著提升。特别地,在性能相近的情况下,YOLOv10-S/X的推理速度分别是RT-DETR-R18/R101的 1.8 × 1.8 \times 1.8×和 1.3 × 1.3 \times 1.3×。这些结果充分证明了YOLOv10作为实时端到端检测器的优越性。

我们还使用原始的一对多训练方法与其他YOLO进行了比较。在这种情况下,我们考虑了模型的性能和前向过程延迟(Latency {}^{f}),遵循[56, 20, 54]中的方法。如表1所示,YOLOv10在不同模型规模上也表现出了最先进的性能和效率,这表明了我们架构设计的有效性。

4.3 模型分析

消融研究。我们在表2中展示了基于YOLOv10-S和YOLOv10-M的消融实验结果。可以观察到,我们采用的一致双分配策略进行无NMS训练显著地将YOLOv10-S的端到端延迟减少了4.63毫秒,同时保持了 44.3 % 44.3\% 44.3%的AP这一具有竞争力的性能。此外,我们的效率驱动模型设计导致参数减少了11.8M,计算量减少了20.8GFlOPs,同时YOLOv10-M的延迟也显著降低了0.65毫秒,这充分展示了其有效性。进一步地,我们的精度驱动模型设计分别为YOLOv10-S和YOLOv10-M带来了1.8 AP和0.7 AP的显著提升,同时分别仅增加了0.18毫秒和0.17毫秒的延迟开销,这充分证明了其优越性。

无NMS训练的分析。

  • 双标签分配。我们为无NMS的YOLOs提出了双标签分配策略,该策略在训练过程中可以为一对多(o2m)分支带来丰富的监督信息,同时在推理过程中使一对一(o2o)分支保持高效率。我们基于YOLOv8-S(即表2中的#1)验证了其益处。具体来说,我们分别为仅使用o2m分支和仅使用o2o分支的训练引入了基线。如表3所示,我们的双标签分配策略在AP-延迟权衡方面表现最佳。

  • 一致匹配度量。我们引入了一致匹配度量来使一对一头部与一对多头部更加和谐。我们基于YOLOv8-S(即表2中的#1)在不同 α o 2 o \alpha_{o2o} αo2o和 β o 2 o \beta_{o2o} βo2o下验证了其益处。如表4所示,提出的一致匹配度量(即 α o 2 o = r ⋅ α o 2 m \alpha_{o2o}=r \cdot \alpha_{o2m} αo2o=r⋅αo2m和 β o 2 o = r ⋅ β o 2 m \beta_{o2o}=r \cdot \beta_{o2m} βo2o=r⋅βo2m)可以实现最佳性能,其中一对多头部中的 α o 2 m = 0.5 \alpha_{o2m}=0.5 αo2m=0.5且 β o 2 m = 6.0 \beta_{o2m}=6.0 βo2m=6.0[20]。这种改进可以归因于监督差距(等式(2))的减少,这提供了两个分支之间更好的监督对齐。此外,提出的一致匹配度量消除了对繁琐的超参数调整的需求,这在实际情况中非常具有吸引力。

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

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

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

  • 紧凑倒置块(CIB)。我们引入CIB作为紧凑的基本构建块。我们基于表5中#4的YOLOv10-S验证了其有效性。具体来说,我们将倒置残差块[46](IRB)作为基线,如表8所示,其实现了次优的43.7% AP。然后,我们在其后添加了一个 3 × 3 3 \times 3 3×3的深度卷积(DW),记为"IRB-DW",带来了0.5%的AP提升。与"IRB-DW"相比,我们的CIB通过在前端再添加一个DW,以极小的开销进一步实现了0.3%的AP提升,这表明了CIB的优越性。

  • 秩引导块设计。我们引入秩引导块设计,以自适应地整合紧凑块设计,从而提高模型效率。我们基于表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所示,在YOLOv10-S中采用大核卷积和PSA模块,在延迟分别仅增加0.03 ms和0.15 ms的情况下,分别带来了显著的0.4% AP和1.4% AP的性能提升。请注意,YOLOv10-M没有采用大核卷积(见表12)。

  • 大核卷积。我们首先基于表10中#2的YOLOv10-S研究了不同核大小的影响。如表11所示,随着核大小的增加,性能有所提高,并在核大小约为 7 × 7 7 \times 7 7×7时趋于稳定,这表明大感知域的优势。此外,在训练过程中移除重参数化分支会导致 0.1 % A P 0.1\% \mathrm{AP} 0.1%AP的性能下降,这表明其对于优化的有效性。此外,我们还基于YOLOv10-N/S/M检查了不同模型尺度下大核卷积的益处。如表12所示,对于大型模型(即YOLOv10-M)而言,由于其固有的广泛感受野,大核卷积并未带来改进。因此,我们仅在小型模型(即YOLOv10-N/S)中采用大核卷积。

  • 部分自注意力(PSA)。我们引入PSA,以最小的成本融入全局建模能力,从而提升性能。我们首先基于表10中#3的YOLOv10-S验证了其有效性。具体来说,我们将变换器块(即后跟FFN的MHSA)作为基线,记为"Trans."。如表13所示,与基线相比,PSA带来了 0.3 % 0.3\% 0.3%的AP提升,同时延迟减少了0.05 ms。性能提升的原因可能是通过减轻注意力头中的冗余性,缓解了自注意力中的优化问题[62,9]。此外,我们还研究了不同 N P S A N_{\mathrm{PSA}} NPSA的影响。如表13所示,将 N PSA N_{\text {PSA}} NPSA增加到2可以获得 0.2 % 0.2\% 0.2%的AP提升,但延迟增加了0.1 ms。因此,为了增强模型能力同时保持高效率,我们默认将 N PSA N_{\text {PSA}} NPSA设置为1。

5 结论

在本文中,我们针对YOLOs检测流程中的后处理和模型架构进行了全面优化。在后处理方面,我们提出了针对无NMS训练的一致双重分配策略,实现了高效的端到端检测。在模型架构方面,我们引入了全面的效率-精度驱动模型设计策略,改善了性能与效率的权衡。这些改进共同构成了YOLOv10,一款新的实时端到端目标检测器。广泛的实验表明,与其他先进检测器相比,YOLOv10在性能和延迟方面均达到了最先进的水平,充分展示了其优越性。

A Appendix

A. 1 Implementation Details

Following [20,56,59] , all YOLOv10 models are trained from scratch using the SGD optimizer for 500 epochs. The SGD momentum and weight decay are set to 0.937 and 5 \times 10^{-4} , respectively. The initial learning rate is 1 \times 10^{-2} and it decays linearly to 1 \times 10^{-4} . For data augmentation, we adopt the Mosaic [2, 19], Mixup [68] and copy-paste augmentation [17], etc., like [20, 59]. Tab. 14 presents the detailed hyper-parameters. All models are trained on 8 NVIDIA 3090 GPUs. Besides, we increase the width scale factor of YOLOv10-M to 1.0 to obtain YOLOv10-B. For PSA, we employ it after the SPPF module [20] and adopt the expansion factor of 2 for FFN. For CIB, we also adopt the expansion ratio of 2 for the inverted bottleneck block structure. Following [59,56], we report the standard mean average precision (AP) across different object scales and IoU thresholds on the COCO dataset [33].

Moreover, we follow [71] to establish the end-to-end speed benchmark. Since the execution time of NMS is affected by the input, we thus measure the latency on the COCO val set, like [71]. We adopt the same NMS hyperparameters used by the detectors during their validation. The TensorRT efficientNMSPlugin is appended for post-processing and the I/O overhead is omitted. We report the average latency across all images.

A. 2 Details of Consistent Matching Metric

We provide the detailed derivation of consistent matching metric here.

As mentioned in the paper, we suppose that the one-to-many positive samples is \Omega and the one-toone branch selects i -th prediction. We can then leverage the normalized metric [14] to obtain the classification target for task alignment learning [20,14,59,27,64] , i.e., t_{o 2 m, j}=u^{} \cdot \frac{m_{o 2 m, j}}{m_{o 2 m}^{ }} \leq u^{} for j \in \Omega and t_{o 2 o, i}=u^{ } \cdot \frac{m_{o 2 o, i}}{m_{o 2 o}^{*}}=u^{*} . We can thus derive the supervision gap between two branches by the 1-Wasserstein distance [41] of the different classification targets, i.e.,

\begin{aligned}

A & =\left|\left(1-t_{o 2 o, i}\right)-\left(1-\mathbb{I}(i \in \Omega) t_{o 2 m, i}\right)\right|+\sum_{k \in \Omega \backslash{i}}\left|1-\left(1-t_{o 2 m, k}\right)\right| \

& =\left|t_{o 2 o, i}-\mathbb{I}(i \in \Omega) t_{o 2 m, i}\right|+\sum_{k \in \Omega \backslash{i}} t_{o 2 m, k} \

& =t_{o 2 o, i}-\mathbb{I}(i \in \Omega) t_{o 2 m, i}+\sum_{k \in \Omega \backslash{i}} t_{o 2 m, k}

\end{aligned}

where \mathbb{I}(\cdot) is the indicator function. We denote the classification targets of the predictions in \Omega as \left{\hat{t}{1}, \hat{t} {2}, \ldots, \hat{t}{|\Omega|}\right} in descending order, with \hat{t} {1} \geq \hat{t}{2} \geq \ldots \geq \hat{t}{|\Omega|} . We can then replace t_{o 2 o, i} with u^{*} and obtain:

\begin{aligned}

A & =u^{}-\mathbb{I}(i \in \Omega) t_{o 2 m, i}+\sum_{k \in \Omega \backslash{i}} t_{o 2 m, k} \
& =u^{
}+\sum_{k \in \Omega} t_{o 2 m, k}-2 \cdot \mathbb{I}(i \in \Omega) t_{o 2 m, i} \

& =u^{*}+\sum_{k=1}^{|\Omega|} \hat{t}{k}-2 \cdot \mathbb{I}(i \in \Omega) t {o 2 m, i}

\end{aligned}

We further discuss the supervision gap in two scenarios, i.e.,

  1. Supposing i \notin \Omega , we can obtain:

A=u^{*}+\sum_{k=1}^{|\Omega|} \hat{t}_{k}

  1. Supposing i \in \Omega , we denote t_{o 2 m, i}=\hat{t}_{n} and obtain:

A=u^{*}+\sum_{k=1}^{|\Omega|} \hat{t}{k}-2 \cdot \hat{t}{n}

Due to \hat{t}{n} \geq 0 , the second case can lead to smaller supervision gap. Besides, we can observe that A decreases as \hat{t} {n} increases, indicating that n decreases and the ranking of i within \Omega improves. Due to \hat{t}{n} \leq \hat{t} {1}, A thus achieves the minimum when \hat{t}{n}=\hat{t} {1}, i . e ., i is the best positive sample in \Omega with m_{o 2 m, i}=m_{o 2 m}^{} and t_{o 2 m, i}=u^{ } \cdot \frac{m_{o 2 m, i}}{m_{o 2 m}}=u^{*} .

Furthermore, we prove that we can achieve the minimized supervision gap by the consistent matching metric. We suppose \alpha_{o 2 m}>0 and \beta_{o 2 m}>0 , which are common in [20, 59, 27, 14, 64]. Similarly, we assume \alpha_{o 2 o}>0 and \beta_{o 2 o}>0 . We can obtain r_{1}=\frac{\alpha_{o 2 o}}{\alpha_{o 2 m}}>0 and r_{2}=\frac{\beta_{o 2 o}}{\beta_{o 2 m}}>0 , and then derive m_{o 2 o} by

\begin{aligned}

m_{o 2 o} & =s \cdot p^{\alpha_{o 2 o}} \cdot \operatorname{IoU}(\hat{b}, b)^{\beta_{o 2 o}} \

& =s \cdot p^{r_{1}-\alpha_{o 2 m}} \cdot \operatorname{IoU}(\hat{b}, b)^{r_{2} \cdot \beta_{o 2 m}} \

& =s \cdot\left(p^{\alpha_{o 2 m}} \cdot \operatorname{IoU}(\hat{b}, b)^{\beta_{o 2 m}}\right)^{r_{1}} \cdot \operatorname{IoU}(\hat{b}, b)^{\left(r_{2}-r_{1}\right) \cdot \beta_{o 2 m}} \

& =m_{o 2 m}^{r_{1}} \cdot \operatorname{IoU}(\hat{b}, b)^{\left(r_{2}-r_{1}\right) \cdot \beta_{o 2 m}}

\end{aligned}

To achieve m_{o 2 m, i}=m_{o 2 m}^{} and m_{o 2 o, i}=m_{o 2 o}^{} , we can make m_{o 2 o} monotonically increase with m_{o 2 m} by assigning \left(r_{2}-r_{1}\right)=0 , i.e.,

\begin{aligned}

m_{o 2 o} & =m_{o 2 m}^{r_{1}} \cdot \operatorname{IoU}(\hat{b}, b)^{0 \cdot \beta_{o 2 m}} \

& =m_{o 2 m}^{r_{1}}

\end{aligned}

Supposing r_{1}=r_{2}=r , we can thus derive the consistent matching metric, i.e., \alpha_{o 2 o}=r \cdot \alpha_{o 2 m} and \beta_{o 2 o}=r \cdot \beta_{o 2 m} . By simply taking r=1 , we obtain \alpha_{o 2 o}=\alpha_{o 2 m} and \beta_{o 2 o}=\beta_{o 2 m} .

A. 3 Details of Rank-Guided Block Design

We present the details of the algorithm of rank-guided block design in Algo. 1. Besides, to calculate the numerical rank of the convolution, we reshape its weight to the shape of ( C_{o}, K^{2} \times C_{i} ), where C_{o} and C_{i} denote the number of output and input channels, and K means the kernel size, respectively.

A. 4 More Results on COCO

We report the detailed performance of YOLOv10 on COCO, including \mathrm{AP}{50}^{v a l} and \mathrm{AP} {75}^{v a l} at different IoU thresholds, as well as \mathrm{AP}{\text {small }}^{\text {val }}, \mathrm{AP} {\text {medium }}^{\text {val }} , and \mathrm{AP}_{\text {large }}^{\text {val }} across different scales, in Tab. 15.

A. 5 More Analyses for Holistic Efficiency-Accuracy Driven Model Design

We note that reducing the latency of YOLOv10-S (#2 in Tab. 2) is particularly challenging due to its small model scale. However, as shown in Tab. 2, our efficiency driven model design still achieves a 5.3 % reduction in latency without compromising performance. This provides substantial support for the further accuracy driven model design. YOLOv10-S achieves a better latency-accuracy trade-off with our holistic efficiency-accuracy driven model design, showing a 2.0 % AP improvement with only 0.05 ms latency overhead. Besides, for YOLOv10-M (#6 in Tab. 2), which has a larger model scale and more redundancy, our efficiency driven model design results in a considerable 12.5 % latency reduction, as shown in Tab. 2 . When combined with accuracy driven model design, we observe a notable 0.8 % \mathrm{AP} improvement for \mathrm{YOLO} v 10-\mathrm{M} , along with a favorable latency reduction of 0.48 ms . These results well demonstrate the effectiveness of our design strategy across different model scales.

A. 6 Visualization Results

Fig. 4 presents the visualization results of our YOLOv10 in the complex and challenging scenarios. It can be observed that YOLOv10 can achieve precise detection under various difficult conditions, such as low light, rotation, etc. It also demonstrates a strong capability in detecting diverse and densely packed objects, such as bottle, cup, and person. These results indicate its superior performance.

A. 7 Contribution, Limitation, and Broader Impact

Contribution. In summary, our contributions are three folds as follows:

  1. We present a novel consistent dual assignments strategy for NMS-free YOLOs. A dual label assignments way is designed to provide rich supervision by one-to-many branch during training and high efficiency by one-to-one branch during inference. Besides, to ensure the harmonious supervision between two branches, we innovatively propose the consistent matching metric, which can well reduce the theoretical supervision gap and lead to improved performance.
  2. We propose a holistic efficiency-accuracy driven model design strategy for the model architecture of YOLOs. We present novel lightweight classification head, spatial-channel decoupled downsampling, and rank-guided block design, which greatly reduce the computational redundancy and achieve high efficiency. We further introduce the large-kernel convolution and innovative partial self-attention module, which effectively enhance the performance under low cost.
  3. Based on the above approaches, we introduce YOLOv10, a new real-time end-to-end object detector. Extensive experiments demonstrate that our YOLOv10 achieves the state-of-the-art performance and efficiency trade-offs compared with other advanced detectors.

Limitation. Due to the limited computational resources, we do not investigate the pretraining of YOLOv10 on large-scale datasets, e.g., Objects 365 [47]. Besides, although we can achieve competitive end-to-end performance using the one-to-one head under NMS-free training, there still exists a performance gap compared with the original one-to-many training using NMS, especially noticeable in small models. For example, in YOLOv10-N and YOLOv10-S, the performance of one-to-many training with NMS outperforms that of NMS-free training by 1.0 % \mathrm{AP} and 0.5 % \mathrm{AP} , respectively. We will explore ways to further reduce the gap and achieve higher performance for YOLOv10 in the future work.

Broader impact. The YOLOs can be widely applied in various real-world applications, including medical image analyses and autonomous driving, etc. We hope that our YOLOv10 can assist in these fields and improve the efficiency. However, we acknowledge the potential for malicious use of our models. We will make every effort to prevent this.

相关推荐
张人玉10 分钟前
人工智能——猴子摘香蕉问题
人工智能
草莓屁屁我不吃14 分钟前
Siri因ChatGPT-4o升级:我们的个人信息还安全吗?
人工智能·安全·chatgpt·chatgpt-4o
小言从不摸鱼18 分钟前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
AI科研视界40 分钟前
ChatGPT+2:修订初始AI安全性和超级智能假设
人工智能·chatgpt
霍格沃兹测试开发学社测试人社区42 分钟前
人工智能 | 基于ChatGPT开发人工智能服务平台
软件测试·人工智能·测试开发·chatgpt
小R资源1 小时前
3款免费的GPT类工具
人工智能·gpt·chatgpt·ai作画·ai模型·国内免费
artificiali4 小时前
Anaconda配置pytorch的基本操作
人工智能·pytorch·python
酱香编程,风雨兼程4 小时前
深度学习——基础知识
人工智能·深度学习
Lossya5 小时前
【机器学习】参数学习的基本概念以及贝叶斯网络的参数学习和马尔可夫随机场的参数学习
人工智能·学习·机器学习·贝叶斯网络·马尔科夫随机场·参数学习
#include<菜鸡>5 小时前
动手学深度学习(pytorch土堆)-04torchvision中数据集的使用
人工智能·pytorch·深度学习