YOLOv10 实时端到端物体检测

YOLOv10 是由清华大学研究人员开发的最新一代实时端到端目标检测系统,它在 Ultralytics Python 包的基础上构建,旨在解决之前 YOLO 版本在后处理和模型架构方面的不足。通过消除非最大抑制 (NMS) 和优化各种模型组件,YOLOv10 实现了在显著降低计算开销的同时达到最先进的性能。研究团队发表了论文 「YOLOv10:实时端到端物体检测」详细解释了该研究架构。

研究背景

在过去的几年中,YOLO 因其在计算成本和检测性能之间的有效平衡而成为实时物体检测领域的主导范式。研究人员已经探索了 YOLO 的架构设计、优化目标、数据增强策略等,取得了显著进展。然而,对非最大抑制 (NMS) 进行后处理的依赖阻碍了 YOLO 的端到端部署,并对推理延迟产生不利影响。此外,YOLO 中各个组件的设计缺乏全面彻底的检查,导致明显的计算冗余并限制了模型的能力。它导致效率不理想,同时具有相当大的性能改进潜力。

YOLOv10 研究简介

在这项工作中,研究团队旨在从后处理和模型架构两个方面进一步推进 YOLO 的性能效率边界。为此,研究团队首先提出了用于 YOLO 无 NMS 训练的一致对偶分配,这同时带来了具有竞争力的性能和较低的推理延迟。此外,研究团队为 YOLO 引入了整体效率-准确度驱动的模型设计策略。研究团队从效率和准确度的角度全面优化了 YOLO 的各个组件,大大降低了计算开销并提高了性能。研究团队努力的成果是用于实时端到端目标检测的新一代 YOLO 系列,称为 YOLOv10 。大量实验表明,YOLOv10 在各种模型规模上均实现了最先进的性能和效率。例如,研究团队的 YOLOv10-S 在 COCO 上相似的 AP 下比 RT-DETR-R18 快 1.8 倍。与 YOLOv9-C 相比,在相同性能下,YOLOv10-B 的延迟减少了 46%,参数减少了 25% 。 

YOLOv10 的架构包括以下几个关键组件:

  1. 主干网络:负责特征提取,使用了增强版的 CSPNet (Cross Stage Partial Network) 来改善梯度流动并减少计算冗余。
  2. 颈部:设计用于聚合不同尺度的特征,并通过 PAN (Path Aggregation Network) 层实现有效的多尺度特征融合。
  3. 一对多头:在训练过程中为每个对象生成多个预测,提供丰富的监督信号,提高学习精度。
  4. 一对一头:在推理过程中为每个对象生成单一最佳预测,无需 NMS,从而减少延迟并提高效率。

YOLOv10 有多种模型尺寸,以满足不同应用需求:

  • YOLOv10-N:纳米版本,适用于资源极其有限的环境。
  • YOLOv10-S:小型版本,平衡速度和精度。
  • YOLOv10-M:中型版本,适用于一般用途。
  • YOLOv10-B:平衡版本,增加宽度以提高精度。
  • YOLOv10-L:大型版本,以增加的计算资源为代价提高精度。
  • YOLOv10-X:超大型版本,提供最高精度和性能。

YOLOv10 在标准基准测试如 COCO 上进行了广泛测试,展现出优越的性能和效率,与以前的版本和其他当代探测器相比,在延迟和精度方面都有显著提高。

参考来源

【1】YOLOv10:实时端到端物体检测

【2】https://docs.ultralytics.com/zh/models/yolov10/