手记

YOLOv10实时目标检测:更高效,更准确的解决方案

论文审稿 YOLOv10:全新版的 YOLO,现在不再需要 NMS

点击这里查看论文:

代码

链接

YOLO模型因其在计算成本和检测性能之间的权衡而广受欢迎。多年以来,研究人员改进了模型的设计、目标设定和数据策略,但依赖非极大值抑制(NMS)增加了延迟,并阻碍了端到端的部署。YOLO组件中的低效部分限制了其功能发挥。

YOLOv10 通过无 NMS 的训练来解决这些问题,以实现更低的延迟,并采用一种以效率和准确率为驱动力的设计策略。作者引入了一致的双重分配策略进行无 NMS 训练,同时实现了竞争力的性能和低推理延迟。他们还提出了一种整体的效率和准确率驱动的模型设计策略,从效率和准确率两个方面优化 YOLO 的各个组件。这减少了计算开销,并提升了性能。实验表明,YOLOv10 达到了最先进的性能和效率水平。例如,YOLOv10-S 的速度比 RT-DETR-R18 快 1.8 倍,准确率相当,同时参数和 FLOPs 更少。与 YOLOv9-C 相比,YOLOv10-B 的延迟减少了 46%,参数减少了 25%,而性能保持一致。

这是我们的做法
无需NMS的一致双分配训练

YOLO 模型通常使用任务对齐学习(TAL)来训练。这通常涉及为每个实例分配多个正样本,以增强优化和性能。然而,这需要非极大值抑制(NMS)后期处理,从而降低了推理的效率。而一对一匹配虽然避免了 NMS,但会带来推理开销或次优性能的问题。

作者提出了一种不需要NMS的训练方法,采用双标签分配和一致的匹配标准。

在训练期间,除了传统的多对一头部外,还会加入一个一对一头部,两者共享相同的优化目标,但采用不同的匹配方式。多对一头部提供丰富的监督信息,而一对一头部则确保高效且无需非极大值抑制(NMS)的预测。推理时仅使用一对一头部以节省成本。

为了协调训练流程,使用了一致的匹配标准。该标准评估预测与实例之间的一致性,不论是多对一还是一对一的分配,都采用了一种统一的方法来平衡语义预测和位置回归任务。通过让两个头的指导对齐,模型确保一个头的优质样本也是另一个头的优质样本,从而实现两者的一致优化。这种方法显著提高了顶级一对一匹配与多对一匹配结果的对齐。

以整体效率和准确性为导向的模型设计

YOLO模型在效率和准确性之间找到平衡时面临挑战,这是由于其架构可能导致计算冗余和能力限制。作者提出了全面设计的模型来解决这些问题,同时注重效率和准确性。

以效率为导向的模型设计。

  • 轻量级分类头部:通过采用简化架构(如可分离深度卷积)来减少计算开销。
  • 空间和通道解耦的下采样:将空间缩减和通道增加分离,以降低计算成本并保持信息。
  • 秩引导的模块设计:通过内在秩分析来识别并减少模型阶段中的冗余,用更高效的结构(如紧凑型倒残差块)替换复杂模块。

以提高准确性为目标的模型设计:

  • 大核(Large Kernel)卷积:通过在深层阶段增加感受野来增强模型能力,选择性地使用大核逐深度卷积以避免在浅层阶段产生开销。
  • 部分自注意力(PSA):通过仅对部分特征应用自注意力,来高效地引入自注意力,从而减少计算复杂度和内存使用量,同时增强全局表示能力。
实验记录

与基线YOLOv8模型相比,YOLOv10在AP上表现出显著提升,N版本提高了1.2%,S版本提高了1.4%,M版本提高了0.5%,L版本提高了0.3%,X版本提高了0.5%。此外,YOLOv10在延迟时间上也实现了显著降低,延迟时间减少了37%到70%。

0人推荐
随时随地看视频
慕课网APP