YOLOv10:实时端到端目标检测.
实时目标检测一直是计算机视觉领域的研究重点,旨在以较低的延迟准确预测图像中目标的类别和位置。其中YOLOs因其性能和效率之间的巧妙平衡而受欢迎。YOLOs的检测流程包括两部分:模型前向传播过程和非极大值抑制NMS后处理。其中NMS后处理阻碍了YOLOs的端到端部署,并增大了推理阶段的延迟。此外YOLOs中各种模型组件的设计缺乏全面彻底的检查,存在明显的计算冗余并限制了模型的能力。
本文作者设计了YOLOv10模型,针对检测流程中的后处理和模型架构进一步推进YOLOs在准确率与推理速度上的发展。
- 为了解决后处理中的冗余预测问题,YOLOv10采用一致的对偶分配策略,该策略允许模型在训练期间同时采用一对多与一对一的标签分配策略;在推理期间仅使用无需NMS的一对一预测结果。
- 通过对YOLO各个组件的全面检查,YOLOv10采用整体效率-准确性驱动的模型设计策略;为了降低计算冗余,采用轻量级分类头、空间-通道解耦下采样和秩引导的模块设计;为了提高准确率,采用大核卷积与部分自注意力模块。
基于这些方法,YOLOv10实现了一系列不同模型规模的实时端到端检测器,即YOLOv10-N / S / M / B / L / X。在目标检测基准COCO测试上的大量实验证明了YOLOv10的各种规模模型显著超越之前的最佳模型,在推理速度-准确率权衡方面表现出色。
1. 一致的对偶分配策略 Consistent Dual Assignment
在训练过程中,YOLOs通常为每个目标分配多个正样本,这种一对一多的分配策略产生了丰富的监督信号,促进了优化过程。然而这使得YOLOs依赖于NMS后处理,导致部署时推理效率的下降。本文作者提出了一种无需NMS的YOLO训练策略,采用对偶标签分配和一致性匹配度量,实现了高效率和有竞争力的性能。
⚪ 对偶标签分配 Dual Label Assignment
与一对一多的分配策略相反,一对一分配策略只为每个目标分配一个预测正样本,避免了NMS后处理。然而这导致较弱的监督,并影响准确性和收敛速度。为此作者引入了对偶标签分配,以结合两种策略的优点。
- 在训练过程中,YOLOv10同时使用一个一对多的预测头与一个一对一的预测头。一对多的预测头为每个目标分配多个正样本,而一对一的预测头为每个目标分配一个正样本。两个头采用相同的结构与优化目标。
- 在推理过程中,丢弃一对多的预测头,仅使用一对一的预测头进行预测。这使得YOLOv10能够端到端部署,而不会产生任何额外的推理成本。
⚪ 一致性匹配度量 Consistent Matching Metric
在标签分配的过程中,一对一多的分配策略与一对一分配策略采用统一的匹配度量来定量评估预测结果与目标实例之间的一致性程度:
\[m(\alpha, \beta) = s\cdot p^\alpha \cdot IoU(\hat{b},b)^\beta\]其中$p$是分类得分,$s$是空间先验,指示预测anchor是否位于实例内;$\hat{b},b$分别表示预测和真实边界框。超参数$\alpha,\beta$平衡语义预测任务和位置回归任务的影响。
作者统计了训练后的一对多匹配结果前1/5/10中一对一匹配的数量,结果表明在一致性匹配度量下,结果的对齐得到了改善。
2. 整体效率-准确性驱动的模型设计策略 Holistic Efficiency-Accuracy Driven Model Design
YOLOs的模型架构对效率-准确率权衡提出了挑战。尽管以前的工作探索了各种设计策略,但仍然缺乏对YOLOs中各种组件的全面检查。因此模型架构展现出不可忽视的计算冗余和受限性,这阻碍了其高效率和高性能的实现。作者从效率和准确率两个方面全面进行YOLOs的模型设计。
⚪ 以效率为导向的模型设计 Efficiency Driven Model Design
YOLO中的组件包括Stem、下采样层、带有基本构建块的阶段和预测头。Stem产生的计算成本很少,因此YOLOv10对其他三个部分进行以效率为导向的模型设计。
- 轻量级分类头(lightweight classification head):采用简单的轻量级架构,包括两个$3\times 3$的深度可分离卷积和一个$1\times 1$卷积。
- 空间-通道解耦下采样(spatial-channel decoupled downsampling):将空间维度与通道维度的下采样解耦,用$1\times 1$卷积调节通道维度,然后使用深度卷积进行空间下采样。
- 秩引导的模块设计(rank-guided block design):计算网络每个模块最后一个卷积的数值秩,以衡量每个模块的冗余性;结果表明深层模块和大模型容易出现更多冗余。作者提出了一种秩引导的模块设计方案,旨在通过紧凑型架构设计减少冗余:作者首先提出了一个紧凑型倒置块(compact inverted block, CIB)结构,采用深度卷积+$1\times 1$卷积的形式。对于给定的模型,根据它们的内在秩将所有模块升序排序,用CIB替换秩较高的基本模块。如果性能没有退化就继续替换下一个模块,否则停止该过程。
⚪ 以准确率为导向的模型设计 Accuracy Driven Model Design
作者进一步探索了将大核卷积和自注意力应用到模型设计中,旨在以最小的成本提升性能。
- 大核卷积(large-kernel convolution):大核卷积能够扩大感受野并增强模型能力,但引入额外推理开销。作者将CIB的第二个$3\times 3$深度卷积增大到$7\times 7$,另一个$3\times 3$深度卷积采用结构重参数化技术。只对小型模型采用大核卷积。
- 部分自注意力(partial self-attention, PSA):自注意力模块能够增强模型对全局信息的感知能力,但引入额外计算开销。作者将第四个模块中的$1\times 1$卷积后的特征沿通道维度分成两部分,其中一部分使用自注意力模块处理,之后两部分通过$1\times 1$卷积进行拼接融合。此外查询矩阵和键矩阵的特征维度设置为值矩阵的一半,并且用BatchNorm替换LayerNorm。
3. 实验分析
实验结果表明,YOLOv10在各种模型规模上均取得了最先进的性能和最低的端到端延迟,并且取得了准确率和计算成本之间的权衡。
作者展示了YOLOv10在复杂且具有挑战性的场景下的可视化结果。可以看出,YOLOv10在各种困难环境下都能实现精确检测,例如低能见度、图像旋转等,并且在检测多种且密集排列的物体(如瓶子、杯子和人)方面具有强大能力。