在我们探讨YOLOv10之前,让我们回顾一下YOLO的发展历程。YOLO在实时目标检测领域一直是先驱,兼顾速度和准确性。从YOLOv1到YOLOv9,每个版本在架构、优化和数据增强方面都引入了显著的改进。然而,随着模型的发展,某些限制依然存在,特别是对后处理依赖非极大值抑制(NMS),这会减慢推理速度。YOLOv10正面解决了这些挑战,使其成为实时应用中稳健高效的模型。
YOLOv10的3大新特性
1. 无NMS训练
YOLOv10的一大亮点是其无NMS训练。传统的YOLO模型使用NMS来过滤重叠的预测,这增加了推理延迟。YOLOv10引入了一种双重分配策略,消除了NMS的需求,从而实现了更快、更高效的目标检测。🏎️
双重分配策略解释:
-
一对多分配:在训练过程中使用,以提供丰富的监督信号。
-
一对一分配:在推理过程中使用,以避免冗余预测。
通过使用一致的匹配度量协调这两种策略,YOLOv10在不牺牲性能的情况下实现了高效率。
2. 整体效率-准确性驱动设计
YOLOv10采用了一种全面的模型设计方法,优化了各种组件以提高效率和准确性。以下是一些关键创新:
性能和效率:双赢组合
结果表明,YOLOv10在准确性和速度方面均优于其前代和其他最新模型。例如,YOLOv10-S(一个较小的变体)比RT-DETR-R18快1.8倍,性能相似,且参数量减少了2.8倍。与YOLOv9-C相比,YOLOv10-B(一个平衡的变体)延迟减少了46%,参数量减少了25%,同时保持了相同的性能水平。
以下是YOLOv10与其他模型的快速对比:YOLOv10-S:46.3 AP,2.49毫秒延迟YOLOv10-M:51.1 AP,4.74毫秒延迟YOLOv10-L:53.2 AP,7.28毫秒延迟YOLOv10-X:54.4 AP,10.70毫秒延迟这些改进使YOLOv10成为实时目标检测任务的首选,从自动驾驶到智能监控。
-
轻量化分类头:通过使用深度可分离卷积,减少分类头的计算开销,而不显著影响性能。
-
空间-通道解耦下采样:通过分离空间缩减和通道增加操作,增强下采样效率,减少信息损失。
-
秩引导块设计:根据模型不同阶段的内在冗余,调整构建块的复杂度,确保参数的最佳利用。
3. 大核卷积和部分自注意力
为了进一步提高准确性,YOLOv10集成了大核卷积和部分自注意力(PSA)模块。这些组件提高了模型捕捉全局信息的能力,同时保持计算效率。
-
大核卷积:在较深阶段有选择地使用,以扩大感受野而不显著增加I/O开销。
-
PSA模块:以成本效益的方式引入自注意力,提升模型学习全局表示的能力。