当前位置: 首页 > news >正文

YOLOv10:实时端到端目标检测

摘要

https://arxiv.org/pdf/2405.14458
近年来,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(α,β)=spα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=umo2mmo2m,ju,以及对于任务对齐损失(如[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=umo2omo2o,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,iI(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 附录

A.1、实现细节

遵循[20,56,59]的研究,所有YOLOv10模型均从头开始使用SGD优化器训练500个周期。SGD动量和权重衰减分别设置为0.937和 5 × 1 0 − 4 5 \times 10^{-4} 5×104。初始学习率为 1 × 1 0 − 2 1 \times 10^{-2} 1×102,并线性衰减至 1 × 1 0 − 4 1 \times 10^{-4} 1×104。对于数据增强,我们采用了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的执行时间受输入影响,因此我们像[71]一样在COCO验证集上测量延迟。我们采用检测器在验证过程中使用的相同NMS超参数。后处理中添加了TensorRT efficientNMSPlugin,并省略了I/O开销。我们报告了所有图像的平均延迟。

A.2、一致性匹配度量的详细细节

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

如论文中所述,我们假设一对多的正样本集为 Ω \Omega Ω,而一对一分支选择第 i i i个预测。然后,我们可以利用归一化度量[14]来获得任务对齐学习[20,14,59,27,64]的分类目标,即对于 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=umo2mmo2m,ju,而对于一对一分支,有 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=umo2omo2o,i=u。因此,我们可以通过不同分类目标的1-Wasserstein距离[41]来推导出两个分支之间的监督差距,即:
A = ∣ ( 1 − t o 2 o , i ) − ( 1 − I ( i ∈ Ω ) t o 2 m , i ) ∣ + ∑ k ∈ Ω \ { i } ∣ 1 − ( 1 − t o 2 m , k ) ∣ = ∣ t o 2 o , i − I ( i ∈ Ω ) t o 2 m , i ∣ + ∑ k ∈ Ω \ { i } t o 2 m , k = t o 2 o , i − I ( i ∈ Ω ) t o 2 m , i + ∑ k ∈ Ω \ { i } t o 2 m , k \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} A=(1to2o,i)(1I(iΩ)to2m,i)+kΩ\{i}1(1to2m,k)=to2o,iI(iΩ)to2m,i+kΩ\{i}to2m,k=to2o,iI(iΩ)to2m,i+kΩ\{i}to2m,k
其中, I ( ⋅ ) \mathbb{I}(\cdot) I()是指示函数。我们将 Ω \Omega Ω中预测的分类目标按降序排列为 { t ^ 1 , t ^ 2 , … , t ^ ∣ Ω ∣ } \left\{\hat{t}_{1}, \hat{t}_{2}, \ldots, \hat{t}_{|\Omega|}\right\} {t^1,t^2,,t^∣Ω∣},其中 t ^ 1 ≥ t ^ 2 ≥ … ≥ t ^ ∣ Ω ∣ \hat{t}_{1} \geq \hat{t}_{2} \geq \ldots \geq \hat{t}_{|\Omega|} t^1t^2t^∣Ω∣。然后,我们可以用 u ∗ u^{*} u替换 t o 2 o , i t_{o 2 o, i} to2o,i,得到:

A = u ∗ − I ( i ∈ Ω ) t o 2 m , i + ∑ k ∈ Ω \ { i } t o 2 m , k = u ∗ + ∑ k ∈ Ω t o 2 m , k − 2 ⋅ I ( i ∈ Ω ) t o 2 m , i = u ∗ + ∑ k = 1 ∣ Ω ∣ t ^ k − 2 ⋅ I ( i ∈ Ω ) t o 2 m , i \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} A=uI(iΩ)to2m,i+kΩ\{i}to2m,k=u+kΩto2m,k2I(iΩ)to2m,i=u+k=1∣Ω∣t^k2I(iΩ)to2m,i

我们进一步讨论两种场景下的监督差距:

  1. 假设 i ∉ Ω i \notin \Omega i/Ω,我们可以得到:

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

  1. 假设 i ∈ Ω i \in \Omega iΩ,我们设 t o 2 m , i = t ^ n t_{o 2 m, i}=\hat{t}_{n} to2m,i=t^n,则可以得到:

A = u ∗ + ∑ k = 1 ∣ Ω ∣ t ^ k − 2 ⋅ t ^ n A=u^{*}+\sum_{k=1}^{|\Omega|} \hat{t}_{k}-2 \cdot \hat{t}_{n} A=u+k=1∣Ω∣t^k2t^n

由于 t ^ n ≥ 0 \hat{t}_{n} \geq 0 t^n0,第二种情况可以导致更小的监督差距。此外,我们可以观察到,随着 t ^ n \hat{t}_{n} t^n的增加, A A A减小,这表明 n n n减小,且 i i i Ω \Omega Ω中的排名提高。由于 t ^ n ≤ t ^ 1 \hat{t}_{n} \leq \hat{t}_{1} t^nt^1,因此当 t ^ n = t ^ 1 \hat{t}_{n}=\hat{t}_{1} t^n=t^1时,即 i i i Ω \Omega Ω中最好的正样本,且 m o 2 m , i = m o 2 m ∗ m_{o 2 m, i}=m_{o 2 m}^{*} mo2m,i=mo2m t o 2 m , i = u ∗ ⋅ m o 2 m , i m o 2 m = u ∗ t_{o 2 m, i}=u^{*} \cdot \frac{m_{o 2 m, i}}{m_{o 2 m}}=u^{*} to2m,i=umo2mmo2m,i=u时, A A A达到最小值。

此外,我们证明了一致性匹配度量可以实现最小的监督差距。我们假设 α o 2 m > 0 \alpha_{o 2 m}>0 αo2m>0 β o 2 m > 0 \beta_{o 2 m}>0 βo2m>0,这在[20, 59, 27, 14, 64]中是很常见的。类似地,我们假设 α o 2 o > 0 \alpha_{o 2 o}>0 αo2o>0 β o 2 o > 0 \beta_{o 2 o}>0 βo2o>0。我们可以得到 r 1 = α o 2 o α o 2 m > 0 r_{1}=\frac{\alpha_{o 2 o}}{\alpha_{o 2 m}}>0 r1=αo2mαo2o>0 r 2 = β o 2 o β o 2 m > 0 r_{2}=\frac{\beta_{o 2 o}}{\beta_{o 2 m}}>0 r2=βo2mβo2o>0,然后推导出 m o 2 o m_{o 2 o} mo2o
m o 2 o = s ⋅ p α o 2 o ⋅ IoU ⁡ ( b ^ , b ) β o 2 o = s ⋅ p r 1 ⋅ α o 2 m ⋅ IoU ⁡ ( b ^ , b ) r 2 ⋅ β o 2 m = s ⋅ ( p α o 2 m ⋅ IoU ⁡ ( b ^ , b ) β o 2 m ) r 1 ⋅ IoU ⁡ ( b ^ , b ) ( r 2 − r 1 ) ⋅ β o 2 m = m o 2 m r 1 ⋅ IoU ⁡ ( b ^ , b ) ( r 2 − r 1 ) ⋅ β o 2 m \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} \cdot \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} 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

为了实现 m o 2 m , i = m o 2 m ∗ m_{o 2 m, i}=m_{o 2 m}^{*} mo2m,i=mo2m m o 2 o , i = m o 2 o ∗ m_{o 2 o, i}=m_{o 2 o}^{*} mo2o,i=mo2o,我们可以通过令 ( r 2 − r 1 ) = 0 \left(r_{2}-r_{1}\right)=0 (r2r1)=0来使 m o 2 o m_{o 2 o} mo2o m o 2 m m_{o 2 m} mo2m单调增加,即
m o 2 o = m o 2 m r 1 ⋅ IoU ⁡ ( b ^ , b ) 0 ⋅ β o 2 m = m o 2 m r 1 \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} mo2o=mo2mr1IoU(b^,b)0βo2m=mo2mr1

假设 r 1 = r 2 = r r_{1}=r_{2}=r r1=r2=r,我们可以推导出一致性匹配度量,即 α 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。简单地取 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

A. 3、基于排名的区块设计细节

我们在算法1中给出了基于排名的区块设计算法的详细内容。此外,为了计算卷积的数值秩,我们将其权重重塑为( C o C_{o} Co, K 2 × C i K^{2} \times C_{i} K2×Ci )的形状,其中 C o C_{o} Co C i C_{i} Ci分别表示输出和输入通道的数量, K K K表示卷积核的大小。

A. 4、COCO上的更多结果

我们在表15中报告了YOLOv10在COCO数据集上的详细性能,包括在不同IoU阈值下的 A P 50 v a l \mathrm{AP}_{50}^{val} AP50val A P 75 v a l \mathrm{AP}_{75}^{val} AP75val,以及不同尺度下的 A P small val \mathrm{AP}_{\text{small}}^{\text{val}} APsmallval A P medium val \mathrm{AP}_{\text{medium}}^{\text{val}} APmediumval A P large val \mathrm{AP}_{\text{large}}^{\text{val}} APlargeval

A. 5、面向整体效率-精度驱动模型设计的更多分析

我们注意到,由于YOLOv10-S(表2中的#2)的模型规模较小,因此降低其延迟尤为具有挑战性。然而,如表2所示,我们的效率驱动模型设计仍然实现了5.3%的延迟降低,同时没有牺牲性能。这为进一步的精度驱动模型设计提供了有力支持。YOLOv10-S通过我们的整体效率-精度驱动模型设计实现了更好的延迟-精度权衡,即在仅增加0.05毫秒延迟开销的情况下,AP提高了2.0%。此外,对于具有更大模型规模和更多冗余的YOLOv10-M(表2中的#6),我们的效率驱动模型设计实现了显著的12.5%延迟降低,如表2所示。当与精度驱动模型设计相结合时,我们观察到YOLOv10-M的AP提高了0.8%,同时延迟降低了0.48毫秒。这些结果充分证明了我们的设计策略在不同模型规模下的有效性。

A. 6、可视化结果

图4展示了YOLOv10在复杂且具挑战性的场景下的可视化结果。可以观察到,YOLOv10能够在各种困难条件下实现精确检测,如低光照、旋转等。它还展示了在检测多样化和密集排列的对象(如瓶子、杯子和人)方面的强大能力。这些结果表明了其卓越的性能。

A. 7、贡献、局限性和更广泛的影响

贡献。综上所述,我们的贡献主要体现在以下三个方面:

  1. 我们为无需NMS的YOLO提出了一种新颖的一致性双重分配策略。设计了一种双重标签分配方式,通过训练时的一对多分支提供丰富的监督,以及推理时的一对一分支实现高效率。此外,为了确保两个分支之间监督的和谐性,我们创新性地提出了一致性匹配度量,该度量能够很好地减小理论上的监督差距,从而提高性能。

  2. 我们为YOLO的模型架构提出了一种整体效率-精度驱动的模型设计策略。我们提出了新颖的轻量级分类头、空间-通道解耦下采样和基于排名的区块设计,这些方法大大减少了计算冗余,实现了高效率。我们还引入了大核卷积和创新的部分自注意力模块,这些模块在低成本下有效提升了性能。

  3. 基于上述方法,我们介绍了YOLOv10,这是一种新的实时端到端目标检测器。广泛的实验表明,与其他先进检测器相比,我们的YOLOv10在性能和效率方面达到了最先进的权衡。

局限性。尽管YOLOv10在多个方面表现出色,但仍存在一些局限性。例如,在极端光照条件下或面对极端遮挡的对象时,其检测性能可能会受到影响。此外,对于某些小尺寸或模糊对象的检测,仍有提升空间。

更广泛的影响。YOLOv10的提出不仅推动了目标检测领域的发展,还为其他相关领域(如自动驾驶、视频监控等)提供了更强大的技术支持。然而,随着技术的不断进步,我们也需要关注其可能带来的伦理和社会问题,如隐私保护和数据安全等。

局限性。由于计算资源有限,我们没有在大规模数据集(如Objects 365 [47])上对YOLOv10进行预训练。此外,尽管我们可以在无NMS训练下使用一对一头部实现具有竞争力的端到端性能,但与使用NMS的原始一对多训练相比,仍存在性能差距,尤其是在小型模型中更为明显。例如,在YOLOv10-N和YOLOv10-S中,使用NMS的一对多训练的性能分别比无NMS训练高出 1.0 % A P 1.0 \% \mathrm{AP} 1.0%AP 0.5 % A P 0.5 \% \mathrm{AP} 0.5%AP。在未来的工作中,我们将探索进一步缩小这一差距并提升YOLOv10性能的方法。

更广泛的影响。YOLO可以广泛应用于各种现实世界的场景中,包括医学图像分析和自动驾驶等。我们希望YOLOv10能够在这些领域发挥作用,并提高效率。然而,我们也认识到模型存在被恶意使用的潜在风险。我们将竭尽所能来防止这种情况的发生。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux驱动学习之点灯(一)
  • SVN限制提交文件必须填写日志---实操笔记
  • 【杂乱笔记】Kmp字符串匹配算法
  • 鸿萌数据恢复服务:SQL Server 中的“PFS 可用空间信息不正确”错误
  • XSS游戏
  • HTTP范围放大攻击简记
  • 三丰云免费服务器
  • 如何使用midjourney?MidJourney订阅计划及国内订阅教程
  • Java Instance(实例)的创建过程
  • SpringCloud天机学堂:分布式任务调度
  • 前端不同项目使用不同的node版本(Volta管理切换)
  • 超详细排序汇总--插入排序类,选择排序类,交换排序类,归并排序,非比较排序
  • (七)Flink Watermark
  • leetcode108.把升序数组转换成二叉搜索树
  • 【前端】VUE动态引入组件 通过字符串动态渲染模板 动态生成组件
  • create-react-app项目添加less配置
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • ES6系列(二)变量的解构赋值
  • flutter的key在widget list的作用以及必要性
  • IDEA常用插件整理
  • javascript 总结(常用工具类的封装)
  • Javascript编码规范
  • Java读取Properties文件的六种方法
  • JS 面试题总结
  • Laravel 实践之路: 数据库迁移与数据填充
  • MobX
  • Odoo domain写法及运用
  • oschina
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Twitter赢在开放,三年创造奇迹
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 仿天猫超市收藏抛物线动画工具库
  • 关于Java中分层中遇到的一些问题
  • 官方解决所有 npm 全局安装权限问题
  • 每天10道Java面试题,跟我走,offer有!
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 入口文件开始,分析Vue源码实现
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 我感觉这是史上最牛的防sql注入方法类
  • 小程序button引导用户授权
  • postgresql行列转换函数
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​ArcGIS Pro 如何批量删除字段
  • ###C语言程序设计-----C语言学习(6)#
  • #100天计划# 2013年9月29日
  • #162 (Div. 2)
  • $.ajax()
  • (1)Android开发优化---------UI优化
  • (175)FPGA门控时钟技术
  • (39)STM32——FLASH闪存
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (C语言)球球大作战
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (NSDate) 时间 (time )比较