郑州百度网站优化,便宜的网站建设,哈尔滨中小企业网站制作,网站建设的主要情况说明书摘要
近年来#xff0c;YOLO因其在计算成本与检测性能之间实现了有效平衡#xff0c;已成为实时目标检测领域的主流范式。研究人员对YOLO的架构设计、优化目标、数据增强策略等方面进行了探索#xff0c;并取得了显著进展。然而#xff0c;YOLO对非极大值抑制#xff0…摘要
近年来YOLO因其在计算成本与检测性能之间实现了有效平衡已成为实时目标检测领域的主流范式。研究人员对YOLO的架构设计、优化目标、数据增强策略等方面进行了探索并取得了显著进展。然而YOLO对非极大值抑制NMS后处理的依赖阻碍了其端到端的部署并对推理延迟产生了不利影响。此外YOLO中各组件的设计缺乏全面和深入的审查导致计算冗余明显并限制了模型的性能。这使得YOLO的效率不尽如人意且存在相当大的性能提升潜力。在本文中我们的目标是从后处理和模型架构两个方面进一步推进YOLO的性能-效率边界。为此我们首先提出了用于YOLO无NMS训练的一致性双重分配策略该策略同时带来了竞争性的性能和较低的推理延迟。此外我们引入了面向YOLO的整体效率-准确率驱动的模型设计策略。我们从效率和准确性的角度对YOLO的各种组件进行了全面优化大大降低了计算开销并提升了性能。我们的努力成果是一种新一代的用于实时端到端目标检测的YOLO系列称为YOLOv10。大量实验表明YOLOv10在各种模型规模下均实现了最先进的性能和效率。例如我们的YOLOv10-S在COCO数据集上与RT-DETR-R18具有相似的平均精度AP但速度提高了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/X分别比RT-DETR-R18/R101快1.8倍/1.3倍。与YOLOv9-C相比YOLOv10-B在相同性能下延迟降低了46%。此外YOLOv10展现出高效的参数利用率。我们的YOLOv10-L/X在参数数量分别比YOLOv8-L/X少1.8倍和2.3倍的情况下性能分别高出0.3 AP和0.5 AP。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[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)β, (1) 其中p是分类得分b^和b分别表示预测框和真实框s表示空间先验指示预测锚点是否在实例内[20, 59, 27, 64]。α和β是两个重要的超参数用于平衡语义预测任务和位置回归任务的影响。我们将一对多和一对一的度量分别表示为和。这些度量影响两个头部的标签分配和监督信息。
在双重标签分配中一对多分支提供的监督信号比一对一分支丰富得多。直观地说如果我们能够协调一对一头部和一对多头部之间的监督我们可以将一对一头部优化到一对多头部优化的方向。因此一对一头部可以在推理期间提供更高质量的样本从而获得更好的性能。为此我们首先分析两个头部之间的监督差距。由于训练过程中的随机性我们从两个头部以相同值初始化并产生相同预测的情况开始检查即一对一头部和一对多头部为每个预测-实例对生成相同的p和IoU。我们注意到两个分支的回归目标不冲突因为匹配的预测共享相同的目标而未匹配的预测则被忽略。因此监督差距在于不同的分类目标。给定一个实例我们将其与预测的最大交并比IoU表示为 u ∗ u^* u∗将一对多和一对一匹配的最大分数分别表示为 m o 2 m ∗ m^*_{o2m} mo2m∗和 m o 2 o ∗ m^*_{o2o} mo2o∗。假设一对多分支产生了正样本集 Ω \Omega Ω且一对一分支根据度量 m o 2 o , i m o 2 o ∗ m_{o2o,i}m^*_{o2o} mo2o,imo2o∗选择了第 i i i个预测我们可以推导出分类目标 t o 2 m , j u ∗ ⋅ m o 2 m , j m o 2 m ∗ t_{o2m,j}u^* \cdot \frac{m_{o2m,j}}{m^*_{o2m}} to2m,ju∗⋅mo2m∗mo2m,j对于 j ∈ Ω j \in \Omega j∈Ω和 t o 2 o , i u ∗ ⋅ m o 2 o , i m o 2 o ∗ u ∗ t_{o2o,i}u^* \cdot \frac{m_{o2o,i}}{m^*_{o2o}}u^* to2o,iu∗⋅mo2o∗mo2o,iu∗这里采用的是与任务对齐的损失函数如[20, 59, 27, 64, 14]中所使用的。因此两个分支之间的监督差距可以通过不同分类目标之间的1-Wasserstein距离[41]来推导得出即 这个差距随着一对多头部中第i个样本的分类目标 t o 2 m , i t_{o2m,i} to2m,i的增加而减小即当第i个样本在一对多匹配结果中的排名越靠前时差距越小。当 t o 2 m , i u ∗ t_{o2m,i}u^* to2m,iu∗时差距达到最小这意味着第i个样本是一对多匹配结果中的最佳正样本如图2(a)所示。
为了实现这一点我们提出了一致匹配度量即设置 α o 2 o r ⋅ α o 2 m \alpha_{o2o}r \cdot \alpha_{o2m} αo2or⋅αo2m和 β o 2 o r ⋅ β o 2 m \beta_{o2o}r \cdot \beta_{o2m} βo2or⋅βo2m这意味着一对一匹配度量 m o 2 o m_{o2o} mo2o与一对多匹配度量 m o 2 m m_{o2m} mo2m成正比系数为r。因此对于一对多头部而言的最佳正样本也是一对一头部的最佳正样本。这样两个头部就可以在训练和推理过程中保持一致的优化方向实现和谐优化。为了简化我们默认取 r 1 r1 r1即 α o 2 o α o 2 m \alpha_{o2o}\alpha_{o2m} αo2oαo2m和 β o 2 o β o 2 m \beta_{o2o}\beta_{o2m} βo2oβo2m。
为了验证这种一致匹配度量带来的监督对齐改进我们在训练后统计了一对一匹配对在一对多结果前1名、前5名和前10名中的数量。如图2(b)所示在使用一致匹配度量后监督对齐得到了改善。
关于数学证明的更全面理解请参考附录部分。
3.2 整体效率-精度驱动的模型设计
除了后处理之外YOLO的模型架构也对效率-精度的权衡提出了巨大挑战[45, 7, 27]。尽管以前的工作探索了各种设计策略但对YOLO中各种组件的综合检查仍然缺乏。因此YOLO的模型架构存在不可忽视的计算冗余和受限的能力这阻碍了其实现高效能和性能的潜力。在这里我们旨在从效率和精度两个角度对YOLO进行整体模型设计。
效率驱动的模型设计。YOLO的组件包括茎干stem、下采样层、具有基本构建块的阶段和头部。由于茎干的计算成本很低因此我们针对其他三个部分进行效率驱动的模型设计。
1轻量级分类头。YOLO中的分类和回归头通常具有相同的架构。然而它们在计算开销上存在显著差异。例如在YOLOv8-S中分类头的浮点运算次数FLOPs和参数数量5.95G/1.51M分别是回归头2.34G/0.64M的2.5倍和2.4倍。但是通过分析分类错误和回归错误对性能的影响见表6我们发现回归头对YOLO的性能更为重要。因此我们可以在不严重影响性能的情况下减少分类头的开销。因此我们简单地采用了一个轻量级架构作为分类头该架构由两个具有3×3内核大小的深度可分离卷积[24, 8]后跟一个1×1卷积组成。
2空间-通道解耦下采样。YOLO通常利用步长为2的常规3×3标准卷积来实现空间下采样从H×W到H/2×W/2和通道变换从C到2C同时进行。这引入了不可忽视的计算成O(9/2HWC^2). 和参数数量O(18C2)。相反我们提出将空间降维和通道增加操作解耦以实现更高效的下采样。具体来说我们首先利用点卷积来调制通道维度然后利用深度卷积进行空间下采样。这将计算成本降低到 O ( 2 H W C 2 9 / 2 H W C ) O(2HWC^2 9/2HWC) O(2HWC29/2HWC)并将参数数量减少到 O ( 2 C 2 18 C ) O(2C^2 18C) O(2C218C)同时它在下采样过程中最大限度地保留了信息从而在降低延迟的同时保持了竞争性能。 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内利用大核深度卷积。具体来说我们将CIB中第二个3×3深度卷积的核大小增加到7×7遵循[37]。此外我们采用结构重参数化技术[10, 9, 53]来引入另一个3×3深度卷积分支以缓解优化问题而不增加推理开销。此外随着模型尺寸的增加其感受野自然会扩大使用大核卷积的好处会减少。因此我们仅对小模型尺寸采用大核卷积。
2部分自注意力PSA。自注意力机制[52]因其显著的全局建模能力而被广泛应用于各种视觉任务中[36, 13, 70]。然而它表现出较高的计算复杂性和内存占用。为了解决这个问题鉴于普遍存在的注意力头冗余性[63]我们提出了一种高效的部分自注意力PSA模块设计如图3©所示。具体来说在1×1卷积之后我们将特征在通道上均匀划分为两部分。我们仅将其中一部分输入到由多头自注意力模块MHSA和前馈网络FFN组成的NPSA块中。然后将两部分进行拼接并通过1×1卷积进行融合。此外我们遵循[21]将MHSA中查询和键的维度分配给值维度的一半并将LayerNorm[1]替换为BatchNorm[26]以实现快速推理。此外PSA仅放置在具有最低分辨率的第4阶段之后以避免自注意力二次计算复杂度的过多开销。通过这种方式可以以较低的计算成本将全局表示学习能力整合到YOLO中从而很好地增强了模型的能力并提高了性能。
4 实验
4.1 实现细节
我们选择YOLOv8[20]作为我们的基线模型因为它在延迟和准确性之间具有出色的平衡并且提供了各种模型尺寸的版本。我们采用一致双重分配策略进行无NMS训练并基于该策略进行了整体效率-精度驱动的模型设计从而推出了YOLOv10模型。YOLOv10具有与YOLOv8相同的变体即N/S/M/L/X。此外我们通过简单地增加YOLOv10-M的宽度缩放因子来推导出一个新变体YOLOv10-B。我们在COCO[33]数据集上验证了所提出的检测器并遵循相同的从头开始训练设置[20, 59, 56]。此外我们遵循[71]在T4 GPU上使用TensorRT FP16测试了所有模型的延迟。
4.2 与最先进技术的比较
如表1所示YOLOv10在各种模型尺寸上均实现了最先进的性能和端到端延迟。我们首先将YOLOv10与基线模型YOLOv8进行比较。在N/S/M/L/X五个变体上YOLOv10的AP分别提高了1.2%/1.4%/0.5%/0.3%/0.5%参数减少了28%/36%/41%/44%/57%计算量减少了23%/24%/25%/27%/38%延迟降低了70%/65%/50%/41%/37%。与其他YOLO系列模型相比YOLOv10在精度和计算成本之间也展现出了优越的权衡。具体来说对于轻量级和小型模型YOLOv10-N/S在参数减少51%/61%和计算量减少41%/52%的情况下分别比YOLOv6-3.0-N/S高出1.5 AP和2.0 AP。对于中型模型与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进行了比较。在这种情况下我们遵循[56, 20, 54]考虑了模型的性能和前向传播过程的延迟Latencyf。如表1所示YOLOv10在不同模型尺寸上也表现出了最先进的性能和效率这表明了我们架构设计的有效性。
4.3 模型分析
消融研究。我们在表2中基于YOLOv10-S和YOLOv10-M展示了消融结果。可以观察到我们采用一致双重分配的无NMS训练显著降低了YOLOv10-S的端到端延迟4.63毫秒同时保持了44.3% AP的竞争性性能。此外我们的效率驱动模型设计导致YOLOv10-M的参数减少了1180万浮点运算次数FLOPs减少了208亿次延迟显著降低了0.65毫秒充分展示了其有效性。进一步地我们的精度驱动模型设计分别为YOLOv10-S和YOLOv10-M带来了1.8 AP和0.7 AP的显著提升而延迟开销分别仅为0.18毫秒和0.17毫秒这很好地证明了其优越性。
无NMS训练分析。 双重标签分配。我们为无NMS的YOLO提出了双重标签分配这可以在训练期间获得一对多o2m分支的丰富监督同时在推理期间利用一对一o2o分支实现高效率。我们基于YOLOv8-S即表2中的#1验证了其优势。具体来说我们分别为仅使用o2m分支和仅使用o2o分支的训练引入了基线。如表3所示我们的双重标签分配实现了最佳的AP-延迟权衡。 一致匹配度量。我们引入了一致匹配度量以使一对一头部与一对多头部更加和谐。我们基于YOLOv8-S即表2中的#1在不同αo2o和βo2o下验证了其优势。如表4所示所提出的一致匹配度量即αo2or·αo2m和βo2or·βo2m可以实现最佳性能其中一对多头部中的αo2m0.5且βo2m6.0[20]。这种改进可以归因于监督差距公式(2)的减少这提供了两个分支之间更好的监督对齐。此外所提出的一致匹配度量消除了对超参数调优的依赖这在实际场景中非常有用。
效率驱动模型设计分析。我们进行了实验以逐步将效率驱动的设计元素整合到YOLOv10-S/M中。我们的基线是没有效率-精度驱动模型设计的YOLOv10-S/M模型即表2中的#2/#6。如表5所示每个设计组件包括轻量级分类头、空间-通道解耦下采样和基于秩的指导块设计都有助于减少参数数量、浮点运算次数和延迟。重要的是这些改进是在保持竞争性能的同时实现的。 轻量级分类头。我们分析了预测的类别和定位误差对性能的影响基于表5中YOLOv10-S的#1和#2类似于[6]。具体来说我们通过一对一分配将预测与实例进行匹配。然后我们将预测的类别分数替换为实例标签从而在没有分类误差的情况下获得APval w/o c。类似地我们用实例的位置替换预测的位置从而在没有回归误差的情况下获得APval w/o r。如表6所示APval w/o r远高于APval w/o 表明消除回归误差可以实现更大的改进。因此性能瓶颈更多地在于回归任务。因此采用轻量级分类头可以在不损害性能的情况下实现更高的效率。 空间-通道解耦下采样。我们为了效率而解耦了下采样操作其中首先通过点卷积PW增加通道维度然后通过深度卷积DW降低分辨率以最大限度地保留信息。我们将其与通过DW进行空间降维后通过PW进行通道调制的基线方式进行了比较基于表5中YOLOv10-S的#3。如表7所示我们的下采样策略通过在下采样过程中减少信息损失而实现了0.7% AP的改进。 紧凑倒置块CIB。我们引入了CIB作为紧凑的基本构建块。我们基于表5中YOLOv10-S的#4验证了其有效性。具体来说我们引入了倒置残差块IRB作为基线其实现了次优的43.7% AP如表8所示。然后我们在其后附加了一个3×3深度卷积DW表示为“IRB-DW”这带来了0.5% AP的改进。与“IRB-DW”相比我们的CIB通过以极小的开销在其前附加另一个DW进一步实现了0.3% AP的改进表明其优越性。 基于秩的指导块设计。我们引入了基于秩的指导块设计以自适应地整合紧凑块设计来提高模型效率。我们基于表5中YOLOv10-S的#3验证了其优势。基于内在秩按升序排序的阶段为Stage 8-4-7-3-5-1-6-2如图3(a)所示。如表9所示当逐渐将每个阶段中的瓶颈块替换为高效的CIB时我们观察到从Stage 7开始性能开始下降。在内在秩较低且冗余性较高的Stage 8和4中我们可以采用高效的块设计而不会损害性能。这些结果表明基于秩的指导块设计可以作为提高模型效率的有效策略。 精度驱动模型设计分析。我们展示了基于YOLOv10-S/M逐步集成精度驱动设计元素的结果。我们的基线是在集成了效率驱动设计之后的YOLOv10-S/M模型即表2中的#3/#7。如表10所示采用大核卷积和PSA模块在最小延迟增加分别为0.03毫秒和0.15毫秒的情况下为YOLOv10-S带来了显著的性能提升分别为0.4% AP和1.4% AP。请注意YOLOv10-M没有采用大核卷积见表12。 大核卷积。我们首先基于表10中YOLOv10-S的#2模型研究了不同核大小的影响。如表11所示随着核大小的增加性能有所提高并在核大小约为7×7时趋于稳定这表明了大感受野的好处。此外在训练过程中移除重参数化分支会导致0.1% AP的下降表明其对优化的有效性。此外我们基于YOLOv10-N/S/M检查了不同模型尺度下大核卷积的好处。如表12所示对于大型模型如YOLOv10-M由于其固有的广泛感受野大核卷积并未带来改进。因此我们仅在小模型如YOLOv10-N/S中采用大核卷积。 部分自注意力PSA。我们引入PSA以增强性能同时以最小成本融入全局建模能力。我们首先基于表10中YOLOv10-S的#3模型验证了其有效性。具体来说我们引入了变压器块即MHSA后跟FFN作为基线表示为“Trans.”。如表13所示与基线相比PSA在延迟减少0.05毫秒的情况下带来了0.3% AP的提升。性能提升可能归因于通过减轻注意力头中的冗余性来缓解自注意力中的优化问题[62, 9]。此外我们研究了不同NPSA的影响。如表13所示将NPSA增加到2带来了0.2% AP的提升但延迟增加了0.1毫秒。因此我们默认将NPSA设置为1以增强模型能力同时保持高效率。
5 结论
在本文中我们针对YOLO检测流程中的后处理和模型架构进行了优化。在后处理方面我们提出了用于无NMS训练的一致双重分配策略以实现高效的端到端检测。在模型架构方面我们引入了整体效率-精度驱动模型设计策略以改善性能-效率权衡。这些改进带来了YOLOv10这是一种新的实时端到端目标检测器。大量实验表明与其他先进检测器相比YOLOv10在性能和延迟方面均达到了最先进水平充分展示了其优越性。