添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

5月25日凌晨,由 清华多媒体智能组发布YOLOv10: 毫秒级实时端到端目标检测开源模型。

项目地址:https://github.com/THU-MIG/yolov10

论文地址:https://arxiv.org/pdf/2405.14458

———————————————————————————————————————————

在过去的几年里,YOLO 因其在计算成本和检测性能之间的有效平衡而成为实时目标检测领域的主要范例。然而,后处理对非极大值抑制(NMS)的依赖阻碍了 YOLO 的端到端部署,并对推理延迟产生不利影响。

YOLOv10技术亮点:

  • 研究者对 YOLO 的架构设计、优化目标、数据增强策略等进行探索,取得了显著进展;

  • NMS 极大阻碍 YOLO 的端到端部署,为此,研究者提出NMS-free 训练的一致双分配策略来解决后处理中的冗余预测问题;

  • 通过对 YOLO 中的各个组件进行全面检查,提出模型架构的整体效率-准确性驱动的模型设计策略;

  • 提出轻量级分类头、空间通道解耦下采样和排序引导块设计,以减少明显的计算冗余并实现更高效的架构;

  • 探索大核卷积并提出有效的部分自注意力模块来增强模型能力,在低成本下挖掘性能改进的潜力。

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

———————————————————————————————————————————

实时目标检测一直是 计算机视觉 领域的研究重点 ,其目标是在低延迟下准确预测图像中目标的类别和位置。它被广泛应用于各种实际应用中,包括 自动驾驶、机器人导航和物体跟踪 等。近年来,研究人员集中精力设计基于CNN的物体检测器以实现实时检测。其中, YOLO 因其在性能和效率之间的巧妙平衡而越来越受欢迎。 YOLO的检测流程由两部分组成: 模型前处理和NMS后处理 。然而, 它们仍然存在缺陷 ,导致精度-延迟边界不理想。

具体来说,YOLO 在训练过程中通常 采用一对多的标签分配策略 ,即一个真实对象对应多个正样本。尽管产生了优越的性能,但这种方法需要 NMS 在推理过程中选择最佳的正预测。这会 减慢推理速度并使性能对 NMS 的 超参数 敏感, 从而阻止 YOLO 实现最佳的端到端部署。

解决这一问题的方法之一是采用最近引入的 端到端 DETR 架构 。例如,RT-DETR 提出一种高效的混合编码器和不确定性最小的查询选择,将 DETR 推向实时应用领域。然而,部署 DETR 的固有复杂性阻碍了其在准确性和速度之间实现最佳平衡的能力。 另一条路线 是探索基于 CNN 的检测器的端到端检测,它通常利用 一对一分配策略来抑制冗余预测。然而,它们通常会引入额外的推理开销或实现次优的性能。

此外, 模型架构设计仍然是 YOLO 的基本挑战, 它对准确性和速度产生重要影响。为了实现更高效、更有效的模型架构,研究人员探索了不同的设计策略。针对骨干部分提出了各种主要计算单元以 增强特征提取能力 ,包括 DarkNet ,CSPNet,EfficientRep和ELAN 等。对于 颈部,PAN 、BiC、GD和RepGFPN等探索增强多尺度特征融合。 此外,还研究了 模型缩放策略和重新参数化技术 。虽然这些努力取得了显著的进步,但 仍然缺乏从效率和准确性角度对 YOLO 中各个组件进行全面检查。

因此, YOLO 中仍然存在相当大的计算冗余,导致参数利用率低下和效率欠佳。此外,由此产生的模型能力受限也会导致性能较差,从而为精度改进留下了足够的空间。

在这项工作中,目标是解决这些问题并进一步提高 YOLO 的准确性-速度边界。 优化整个检测流程中的 后处理和模型架构。

为此,首先通过使用双标签分配和一致的匹配度量为NMS-free YOLO 提出 一致的双分配策略来解决后处理中的冗余预测问题。 它使模型在训练过程中享受丰富而和谐的监督,同时 在推理过程中无需使用 NMS ,从而获得高效率的竞争性能。其次,通过对 YOLO 中的各个组件进行全面检查,提出 模型架构的整体效率-准确性驱动的模型设计策略 。为了提高效率,提出 轻量级分类头、空间通道 解耦 下采样和排序引导块设计 ,以减少明显的计算冗余并实现更高效的架构。为了提高准确性,探索 大核卷积并提出有效的部分自注意力模块来增强模型能力,在低成本下挖掘性能改进的潜力。

基于这些方法,成功实现一系列具有不同模型尺度的实时端到端检测器,即 YOLOv10-N / S / M / B / L / X。 针对目标的标准基准进行了广泛的实验检测,即 COCO,证明 YOLOv10 在跨不同模型规模的计算精度权衡方面可以显著优于以前的最先进模型。

———————————————————————————————————————————

二、相关工作

2.1 实时目标检测器

实时目标检测 旨在 低延迟 下对目标进行分类和定位 ,这对于实际应用至关重要。在过去的几年里,人们付出了大量的努力来开发高效的检测器。特别是 YOLO系列脱颖而出,成为主流 YOLOv1、YOLOv2和YOLOv3 确定由三部分组成的典型检测架构, 即骨干、颈部和头部。 YOLOv4和YOLOv5引入了CSPNet设计来取代DarkNet ,再加上数据增强策略、增强的PAN和更多样的模型尺度等。 YOLOv6提出BiC和SimCSPPPF 分别针对颈部和脊柱,采用锚定辅助训练和自蒸馏策略。 YOLOv7 引入了 E-ELAN 来实现丰富的梯度流路径,并探索了几种可训练的 bag-of-freebies 方法。 YOLOv8 提出用于有效特征提取和融合的 C2f 构建块。 Gold-YOLO 提供先进的GD机制来增强多尺度特征融合能力。 YOLOv9 提出 GELAN 来改进架构,并提出 PGI 来增强训练过程。

2.2 端到端目标检测器

端到端对象检测已经成为传统管道的 范式 转变 ,提供了简化的架构。 DETR 引入了 transformer 架构,并采用匈牙利损失来实现一对一匹配预测,从而消除手工制作的组件和后处理。从那时起,人们提出了各种 DETR 变体来增强其性能和效率。 Deformable-DETR 利用多尺度可变形注意模块来加速收敛速度。 DINO 将对比去噪、混合查询选择和前瞻两次方案集成到 DETR 中。 RT-DETR 进一步设计了高效的混合编码器,并提出了不确定性最小的查询选择,以提高准确性和延迟。实现端到端目标检测的另一条路线是基于 CNN 检测器。可学习的 NMS 和关系网络提出另一个网络来删除检测器的重复预测。 OneNet 和 DeFCN 提出一对一匹配策略,以通过全卷积网络实现端到端对象检测。 FCOSpss 引入了正样本选择器来选择最佳样本进行预测。

———————————————————————————————————————————

三、模型结构

图 2:(a)  NMS-free 训练的一致双重分配。(b) YOLOv8-S 采用 𝛼𝑜⁢2⁢𝑚 =0.5 和 𝛽𝑜⁢2⁢𝑚 = 的一对多结果的 Top-1/5/10 中一对一分配的频率默认为 6。为了保持一致, 𝛼𝑜⁢2⁢𝑜 =0.5;𝛽𝑜⁢2⁢𝑜 =6。对于不一致, 𝛼𝑜⁢2⁢𝑜 =0.5;𝛽𝑜⁢2⁢𝑜 =2。

3.1 NMS-free 训练的一致双重分配

在训练期间,YOLO通常利用TAL为每个实例分配多个正样本。采用一对多分配方式,产生丰富的监控信号,有利于优化,实现卓越的性能。然而,它需要 YOLO 依赖于 NMS 后处理,这会导致部署的推理效率不理想。虽然之前的工作探索一对一匹配来抑制冗余预测,但它们通常会引入额外的推理开销或产生次优性能。在这项工作中,研究者提出一种针对 YOLO 的 NMS-free 训练策略,具有双标签分配和一致的匹配指标,实现了高效率和有竞争力的性能。

双标签分配

与一对多分配不同,一对一匹配仅向每个基本事实分配一个预测,从而避免了 NMS 后处理。然而,它导致监督较弱,从而导致精度和收敛速度不理想。幸运的是,这一缺陷可以通过一对多分配来弥补。 为了实现这一目标,为 YOLO 引入双标签分配,以结合两种策略的优点。

具体来说,如图 2.(a) 所示, YOLO 引入另一个一对一的头 。它保留与原始一对多分支相同的结构并采用相同的优化目标,但利用一对一匹配来获取标签分配。 在训练过程中 ,两个头部与模型共同优化,让骨干和颈部享受一对多任务提供的丰富监督。 在推理过程中 ,丢弃一对多头并利用一对一头进行预测。这使得 YOLO 能够进行端到端部署, 而不会产生任何额外的推理成本 。此外,在一对一匹配中,采用top one选择,以更少的额外训练时间实现了与匈牙利匹配相同的性能。

一致的匹配指标

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

其中 𝑝 是分类分数, 𝑏^ 和 𝑏 分别表示预测和实例的 边界框 。𝑠 表示空间先验,指示预测的锚点是否在实例内。𝛼 和 𝛽 是平衡语义预测任务和位置回归任务影响的两个重要 超参数 。将一对多和一对一指标分别表示为 𝑚𝑜⁢2⁢𝑚 = 𝑚⁢(𝛼𝑜⁢2⁢𝑚,𝛽𝑜⁢2⁢𝑚) 和 𝑚𝑜⁢2⁢𝑜 = 𝑚⁢(𝛼𝑜⁢2⁢𝑜,𝛽𝑜⁢2⁢𝑜) 。这些指标影响两个头的标签分配和监督信息。

在双标签分配中,一对多分支提供比一对一分支更丰富的监控信号。 直观上,如果能够协调一对一头和一对多头的监督,就可以将一对一头朝着一对多头优化的方向优化。因此,一对一头部可以在推理过程中提供更高的样本质量,从而获得更好的性能。为此,首先分析一下两位掌门人的监管差距。由于训练过程中的随机性,一开始就用两个头初始化相同的值并产生相同的预测来开始检查,即一对一头和一对多头生成相同的 𝑝 ,将最大的一对多和一对一匹配分数表示为 𝑚𝑜⁢2⁢𝑚∗ 和 𝑚𝑜⁢2⁢𝑜∗ ,一对一分支选择 𝑖 个预测,其度量为 𝑚𝑜⁢2⁢𝑜,𝑖 = 𝑚𝑜⁢2⁢𝑜∗ ,然后可以导出 𝑗∈Ω 和 𝑡𝑜⁢2⁢𝑜,𝑖 = 𝑢∗⋅𝑚𝑜⁢2⁢𝑜,𝑖𝑚𝑜⁢2⁢𝑜∗ b12> = 𝑢∗ 对于任务对齐损失。因此,两个分支之间的监督差距可以通过不同分类目标的 1-Wasserstein 距离得出,即

可以观察到,随着 𝑡𝑜⁢2⁢𝑚,𝑖 的增加,差距减小,即 𝑖 在 Ω 中排名更高。当 𝑡𝑜⁢2⁢𝑚,𝑖 = 𝑢∗ 时达到最小值,即 𝑖 是 Ω 中最好的正样本,如图 2 所示(a)。为了实现这一点,提出一致的匹配度量,即 𝛼𝑜⁢2⁢𝑜 = 𝑟⋅𝛼𝑜⁢2⁢𝑚 和 𝛽𝑜⁢2⁢𝑜 = 𝑟⋅𝛽𝑜⁢2⁢𝑚 ,这意味着 𝑚𝑜⁢2⁢𝑜 = 𝑚𝑜⁢2⁢𝑚𝑟 。因此,一对多头部的最佳正样本也是一对一头部的最佳正样本。因此,两个头都可以得到一致、和谐的优化。为简单起见,默认取 𝑟 =1,即 𝛼𝑜⁢2⁢𝑜 = 𝛼𝑜⁢2⁢𝑚 和 𝛽𝑜⁢2⁢𝑜 = 𝛽𝑜⁢2⁢𝑚 。为了验证改进的监督对齐,计算训练后一对多结果的前 1 / 5 / 10 内一对一匹配对的数量。如图2(b)所示,在一致匹配度量下,对齐得到了改善。为了更全面地理解数学证明,请参阅附录。

图 3:(a) YOLOv8 中跨阶段和模型的内在排名。骨干和颈部的阶段按照模型前进过程的顺序编号。y 轴的数字排名 𝑟 标准化为 𝑟/𝐶𝑜 ,默认情况下,其阈值设置为 𝜆𝑚⁢𝑎⁢𝑥/2 ,其中 𝐶𝑜 表示输出 通道数 , 𝜆𝑚⁢𝑎⁢𝑥 是最大 奇异值 。可以看出,深阶段和大型模型表现出较低的内在等级值。(b) 紧凑倒置块(CIB)。(c) 部分自注意力模块(PSA)。

3.2 整体效率-准确性驱动模型设计

除了后处理之外,YOLO 的模型架构也对效率与准确性的权衡提出了巨大的挑战。 尽管之前的工作探索了各种设计策略,但仍然缺乏对 YOLO 中各种组件的全面检查。因此,模型架构表现出不可忽略的计算冗余和受限能力,这阻碍了其实现高效率和高性能的潜力。 在这里,目标是从效率和准确性的角度全面地进行 YOLO 的模型设计。

效率驱动的模型设计

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

(1) 轻量化分类头。 YOLO 中的分类和回归头通常共享相同的架构。然而,它们在计算开销方面表现出显著的差异。例如,在YOLOv8-S中,分类头(5.95G/1.51M)的FLOPs和参数计数是回归头(2.34G/0.64M)的2.5倍 和2.4倍。然而,在分析分类误差和回归误差的影响后(见表9), 发现回归头对YOLO的性能具有更重要的意义 。因此,可以减少 分类头的开销 ,而不用担心极大地损害性能。因此,简单地采用 轻量级的分类头架构,它由两个深度可分离卷积组成,内核大小为3 × 3,后面跟着一个1 × 1个卷积。

(2) 空间通道 解耦 下采样。 YOLO通常利用常规的3 × 3标准卷积,步长为2,实现空间下采样(从 𝐻×𝑊 到 𝐻2×𝑊2 )和通道转换(从 𝐶 到 2𝐶 )同时。这引入了不可忽略的 𝒪⁢(92⁢𝐻⁢𝑊⁢𝐶2) 计算成本和 𝒪⁢(18⁢𝐶2) 参数计数。相反,建议将空间缩减和通道增加操作解耦,从而实现更有效的下采样。具体来说,首先利用逐点卷积来调制通道维度,然后利用深度卷积来执行空间下采样。这将计算成本减少到 𝒪⁢(2⁢𝐻⁢𝑊⁢𝐶2+92⁢𝐻⁢𝑊⁢𝐶) ,并将参数计数减少到 𝒪⁢(2⁢𝐶2+18⁢𝐶) 。同时,它最大限度地提高了下采样过程中的信息保留,从而在减少延迟的同时带来有竞争力的性能。

(3) 排序引导的块设计。 YOLO 通常在所有阶段使用相同的基本构建块,例如 YOLOv8 中的瓶颈块。为了彻底检查 YOLO 的这种同构设计,利用内在等级来分析每个阶段的冗余。

具体来说,计算每个阶段最后一个基本块中最后一个卷积的数值秩,即计算大于阈值的奇异值的数量。图3(a)展示了YOLOv8的结果,表明深阶段和大型模型容易表现出更多的冗余。这一观察结果表明,简单地对所有阶段应用相同的块设计对于最佳容量效率权衡来说并不是最优的。 为了解决这个问题,提出一种排序引导的块设计方案,旨在使用紧凑的架构设计来降低被证明是冗余的阶段的复杂性。 首先提出一种紧凑的 反向块(CIB)结构 ,它采用廉价的深度卷积进行空间混合,并采用经济有效的点卷积进行通道混合,如图3(b)所示。它可以作为高效的基本构建块,例如 嵌入 ELAN 结构 中(图 3.(b))。然后,提倡采用排名引导的区块分配策略,以在保持竞争能力的同时实现最佳效率。具体来说, 给定一个模型,根据其内在排名按升序对所有阶段进行排序。 进一步考察用 CIB 替换前导阶段基本块的性能变化。如果与给定模型相比没有性能下降,将继续更换下一阶段,否则停止该过程。 因此,可以跨阶段和模型规模实现自适应紧凑块设计,在不影响性能的情况下实现更高的效率。

精度驱动的模型设计

研究者进一步探索用于精度驱动设计的大核卷积和自注意力,旨在以最小的成本提高性能。

(1) 大核卷积。 采用大核深度卷积是扩大感受野和增强模型能力的有效方法。然而,在所有阶段简单地利用它们可能会导致用于检测小物体的浅层特征受到污染,同时还会在高分辨率阶段引入显着的 I/O 开销和延迟。 因此,建议在深度阶段利用 CIB 中的大内核深度卷积。 具体来说,将 CIB 中第二个 3 × 3 深度卷积的内核大小增加到 7 × 7,遵循。此外,采用 结构重新参数化技术 带来另外 3 × 3 个深度卷积分支,以减轻优化问题,而无需推理开销。此外,随着模型尺寸的增加,其感受野自然扩大,而使用大核卷积的好处逐渐减少。 因此,只对小模型规模采用大核卷积。

(2) 部分自注意力(PSA)。 自注意力由于其卓越的全局建模能力而被广泛应用于各种视觉任务中。然而,它表现出较高的计算复杂度和内存占用。为了解决这个问题,鉴于普遍存在的注意力头冗余,研究者提出一种有效的部分自注意力(PSA)模块设计,如图3(c)所示。具体来说,在 1 × 1 卷积之后将跨通道的特征均匀地划分为两部分。只将一部分输入到由多头自注意力模块(MHSA)和前馈网络(FFN)组成的 𝑁PSA 块中。然后两个部分通过 1 × 1 卷积连接并融合。此外,将查询和密钥的维度分配为MHSA中值的一半,并将LayerNorm替换为BatchNorm以实现快速推理。此外,PSA 仅放置在分辨率最低的第 4 阶段之后,避免了自注意力的二次计算复杂性带来的过多开销。这样,可以将全局表示学习能力以较低的计算成本融入到YOLO中,从而很好地增强了模型的能力并提高了性能。

———————————————————————————————————————————

四、模型结构

4.1 实验细节

选择 YOLOv8 作为基线模型, 因为它具有值得称赞的延迟精度平衡及其在各种模型大小中的可用性。 采用一致的双重任务进行 NMS-free 训练 ,并基于它进行 整体效率-准确性驱动的模型设计 ,这带来了 YOLOv10 模型。YOLOv10 具有与 YOLOv8 相同的变体,即 N / S / M / L / X 。此外,我们通过简单地增加 YOLOv10-M 的宽度比例因子,推导出一个新的变体 YOLOv10-B 。在相同的从头开始训练设置下验证了 COCO 上提出的检测器。此外, 所有模型的延迟均在具有 TensorRT FP16 的 T4 GPU 上进行测试。

4.2 与现有技术的比较

如表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 提高了 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作为实时端到端检测器的优越性。

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

4.3 模型分析

消融研究。 在表2中展示了基于 YOLOv10-S 和 YOLOv10-M 的消融结果。可以看出,NMS-free 训练和一致的双重分配显著降低了 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:YOLOv10-S和YOLOv10-M对COCO的消融研究。

分析NMS-free 的训练

  • 双标签分配。 研究者提出NMS-free YOLO 的双标签分配,它既可以在训练过程中带来丰富的一对多(o2m)分支的监督,又可以在推理过程中带来一对一(o2o)分支的高效率。基于 YOLOv8-S 验证其优势,即表 2 中的#1。具体来说,分别引入仅使用 o2m 分支和仅使用 o2o 分支进行训练的基线。如表3所示,我们的双标签分配实现了最佳的 AP 延迟权衡。

  • 一致的匹配指标。 引入一致的匹配度量,使一对一头部与一对多头部更加和谐。基于 YOLOv8-S 验证其优势,即表 2 中的#1。在不同的 𝛼𝑜⁢2⁢𝑜 和 𝛽𝑜⁢2⁢𝑜 下。如表5所示,所提出的一致匹配度量,即 𝛼𝑜⁢2⁢𝑜 = 𝑟⋅𝛼𝑜⁢2⁢𝑚 和 𝛽𝑜⁢2⁢𝑜 = 𝑟⋅𝛽𝑜⁢2⁢𝑚 ,可以实现最佳性能,其中 <一对多头中的 b6> = 0.5 和 𝛽𝑜⁢2⁢𝑚 = 6.0。这种改进可归因于监督差距的缩小(等式2),这改善了两个分支之间的监督一致性。此外,所提出的一致匹配度量消除了详尽的超参数调整的需要,这在实际场景中很有吸引力。

表3:双分配   表4:匹配度量   表5:效率。YOLOv10-S / M。

分析效率驱动的模型设计

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

  • 轻型分类头。 基于表5中#1 和#2 的 YOLOv10-S 分析了预测的类别和定位误差对性能的影响。具体来说,通过一对一分配将预测与实例进行匹配。然后,用实例标签替换预测的类别分数,从而得到没有分类错误的 AP 𝑤/𝑜⁢𝑐𝑣⁢𝑎⁢𝑙 。类似地,用实例的位置替换预测位置,产生没有回归错误的 AP 𝑤/𝑜⁢𝑟𝑣⁢𝑎⁢𝑙 。如表9所示,AP 𝑤/𝑜⁢𝑟𝑣⁢𝑎⁢𝑙 远高于AP 𝑤/𝑜⁢𝑐𝑣⁢𝑎⁢𝑙 ,表明消除回归误差取得了更大的改进。因此,性能瓶颈更多地在于回归任务。因此, 采用轻量级分类头可以在不影响性能的情况下实现更高的效率。

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

  • 紧凑倒置块(CIB)。 引入 CIB 作为紧凑的基本构建块。根据表5中#4的YOLOv10-S验证其有效性。具体来说,引入倒置残差块(IRB)作为基线,它实现了次优的 43.7% AP,如表 9 所示。然后,在其后附加一个 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。如表13所示, 大核卷积和 PSA 模块 的采用使得 YOLOv10-S 在最小延迟增加 0.03ms 和 0.15ms 的情况下分别获得了 0.4% AP 和 1.4% AP 的可观性能提升。 请注意,YOLOv10-M 未采用大核卷积(参见表 13)。

  • 大核卷积。 首先基于表 13 中#2 的 YOLOv10-S 研究不同内核大小的影响。如表13所示,性能随着内核大小的增加而提高,并在内核大小 7 × 7 附近停滞,表明大感知场的好处。此外,在训练期间删除重参数化分支实现了 0.1% 的 AP 退化,显示了其优化的有效性。此外,基于YOLOv10-N / S / M检查了跨模型尺度的大内核卷积的好处。如表13所示,由于其固有的广泛感受野,它对大型模型(即 YOLOv10-M)没有带来任何改进。 因此,只对小模型采用大核卷积,即 YOLOv10-N / S。

  • 部分自注意力(PSA)。 引入PSA,通过以最小的成本整合全局建模能力来提高性能。首先基于表 13 中的 YOLOv10-S 验证其有效性。具体来说,引入了 Transformer 块,即 MHSA 后跟 FFN,作为基线,表示为“Trans.”。如表13所示,与之相比,PSA带来了0.3%的AP提升和0.05ms的延迟降低。性能的增强可能归因于通过减少注意力头的冗余来缓解自注意力的优化问题。此外,研究不同 𝑁PSA 的影响。如表13所示,将 𝑁PSA 增加到 2 可以获得 0.2% 的 AP 改进,但会带来 0.1ms 的延迟开销。 因此,默认将 𝑁PSA 设置为1,以在保持高效率的同时增强模型能力。

———————————————————————————————————————————

在本文中,针对 YOLO 整个检测流程中的后处理和模型架构。对于后处理 ,提出一致的双重分配进行 NMS-free 训练,实现高效的端到端检测。 对于模型架构 ,引入整体效率-准确性驱动的模型设计策略,改善性能与效率的权衡。这些带来了 YOLOv10,一种新的实时端到端目标检测器。 大量实验表明,与其他先进检测器相比,YOLOv10 实现了最先进的性能和延迟,充分证明了其优越性。

探索AI的无限可能,微信关注“AIGCmagic”公众号,让智能科技点亮你的生活

推荐阅读:

《AIGCmagic星球》,五大AIGC方向正式上线!让我们在AIGC时代携手同行!限量活动 icon-default.png?t=N7T8 https://blog.csdn.net/AIGCmagic/article/details/137016591

《三年面试五年模拟》版本更新白皮书,迎接AIGC时代 icon-default.png?t=N7T8 https://mp.csdn.net/mp_blog/creation/editor/138766422

AI多模态模型架构之模态编码器:图像编码、音频编码、视频编码 icon-default.png?t=N7T8 https://mp.csdn.net/mp_blog/creation/editor/138287524

AI多模态教程:从0到1搭建VisualGLM图文大模型案例 icon-default.png?t=N7T8 https://editor.csdn.net/md/?articleId=136955366

AIGC |「多模态模型」系列之OneChart:端到端图表理解信息提取模型 icon-default.png?t=N7T8 https://blog.csdn.net/AIGCmagic/article/details/138766812
在本文中,针对YOLO整个检测流程中的后处理和模型架构。对于后处理,提出一致的双重分配进行 NMS-free 训练,实现高效的端到端检测。对于模型架构,引入整体效率-准确性驱动的模型设计策略,改善性能与效率的权衡。这些带来了 YOLOv10,一种新的实时端到端目标检测器。大量实验表明,与其他先进检测器相比,YOLOv10 实现了最先进的性能和延迟,充分证明了其优越性。探索AI的无限可能,微信关注“AIGCmagic”公众号,让智能科技点亮你的生活《AIGCmagic星球》,五大AIGC方向正式上线!
Yolo v-1-TX2上用 YOLO v3训练自己数据集的流程(VOC2007-TX2-GPU) Yolo v--2--一文全面了解深度学习性能优化加速引擎---TensorRT Yolo v--3--TensorRT中 yolo v3性能优化加速(基于caffe) yolo v-5- 目标检测 YOLO v2算法原理详解 yolo v--8--Tensorflow实现 YOLO v3 yolo v--9--Y...