YOLOv10

YOLOv10#

标题: YOLOv10: Real-Time End-to-End Object Detection

作者: Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han, Guiguang Ding (Tsinghua University)

摘要: YOLO系列算法因其在实时目标检测中的有效性和效率而成为研究的焦点。本文旨在进一步推进YOLO算法在性能-效率边界上的进步,主要从后处理和模型架构两方面入手。提出了一种无需NMS(非极大值抑制)的一致性双重分配训练策略,并引入了一种全面的效率-准确性驱动的模型设计策略,以优化YOLO的各个组成部分。

引言: 实时目标检测在计算机视觉领域非常重要,YOLO系列因其平衡性能和效率而受欢迎。然而,YOLO系列在后处理阶段依赖NMS,这影响了推理延迟和端到端部署的优化。此外,YOLO的各个组成部分缺乏全面检查,导致计算冗余,限制了模型的潜力。

相关工作:

  • 实时目标检测器:YOLO系列作为主流方法,不断有新版本提出改进。

  • 端到端目标检测器:如DETR及其变种,提供了无需手工设计组件和后处理的流水线。

方法论:

  • 一致性双重分配:提出一种无需NMS的YOLO训练策略,通过双重标签分配和一致性匹配度量实现高效推理。

  • 全面效率-准确性驱动的模型设计:提出轻量级分类头、空间-通道解耦下采样和基于秩引导的块设计,以提高效率;探索大核卷积和部分自注意力模块以增强模型能力。

实验:

  • 在COCO数据集上评估YOLOv10的性能。

  • 与现有最先进模型比较,YOLOv10在不同模型规模下展现出优越的计算-准确性权衡。

结论: YOLOv10通过提出的方法,在实时端到端目标检测方面达到了最先进的性能和效率。

回答问题

  1. 工作内容与动机:

    • 本文提出了YOLOv10,旨在解决现有YOLO算法在后处理阶段依赖NMS导致的推理延迟问题,并优化模型架构以提高性能和效率。

  2. 试图解决的问题:

    • 解决YOLO系列算法在后处理阶段依赖NMS的问题,以及模型设计中存在的计算冗余和效率问题。

  3. 是否新问题:

    • 不是全新的问题,但作者提出了新的解决方案来进一步优化现有问题。

  4. 科学假设:

    • 假设通过一致性双重分配和全面效率-准确性驱动的模型设计,可以提高YOLO算法的性能和效率。

  5. 相关研究:

    • 相关工作包括YOLO系列算法和其他实时目标检测器,以及端到端目标检测器如DETR。领域内值得关注的研究员包括YOLO系列的开发者和DETR相关工作的研究者。

  6. 解决方案的关键:

    • 关键在于提出的一致性双重分配训练策略和全面效率-准确性驱动的模型设计策略。

  7. 实验设计:

    • 实验在COCO数据集上进行,比较了不同模型规模的YOLOv10与其他最先进模型的性能和效率。

  8. 数据集与代码:

    • 使用COCO数据集进行定量评估。代码已开源,链接在论文中提供。

  9. 实验与结果:

    • 实验结果支持了科学假设,表明YOLOv10在不同模型规模下都取得了优越的性能和效率。

  10. 论文贡献:

    • 提出了YOLOv10算法,无需NMS即可实现实时端到端目标检测,并在性能和效率上达到了新的高度。

  11. 下一步工作:

    • 可以探索在更大规模数据集上的预训练,进一步减少小模型的性能差距,以及探索YOLOv10在其他领域的应用。


yolov10-fig1

左图:延迟-准确性对比

  • 横轴表示延迟(Latency),单位为毫秒(ms)。

  • 纵轴表示COCO AP(平均精度),单位为百分比(%)。

  • 从图中可以看出,YOLOv1.0(红色曲线)在延迟和准确性之间表现出色。在低延迟(2.5ms到10ms)范围内,YOLOv1.0的COCO AP值显著高于其他模型。

  • 其他模型如YOLOv6、YOLOv7、YOLOv8、YOLOX等在延迟较高时(10ms以上)也能达到较高的COCO AP,但在低延迟时表现不如YOLOv1.0。

右图:参数数量-准确性对比

  • 横轴表示参数数量(Number of Parameters),单位为百万(M)。

  • 纵轴表示COCO AP(平均精度),单位为百分比(%)。

  • 从图中可以看出,YOLOv1.0(红色曲线)在参数数量和准确性之间也表现出色。在参数数量较少(20M到50M)时,YOLOv1.0的COCO AP值显著高于其他模型。

  • 其他模型如YOLOv6、YOLOv7、YOLOv8、YOLOX等在参数数量较多时(50M以上)也能达到较高的COCO AP,但在参数数量较少时表现不如YOLOv1.0。

总结

  • YOLOv10在延迟和参数数量较低的情况下,能够提供较高的准确性,表现优于其他模型。

  • 其他模型在延迟和参数数量较高时也能达到较高的准确性,但在低延迟和低参数数量时表现不如YOLOv10。

这表明YOLOv10在效率和准确性之间达到了较好的平衡,适合在资源受限的环境中使用。


yolov10-fig2

图(a):网络结构图

  1. 输入(Input)

    • 输入图像被送入网络的起始部分。

  2. Backbone

    • 这是网络的主干部分,负责提取图像的基本特征。通常使用预训练的卷积神经网络(如ResNet、Darknet等)作为Backbone。

  3. PAN(Path Aggregation Network)

    • PAN用于进一步处理和聚合特征图,以增强特征表示能力。它结合了来自不同尺度的特征图,帮助网络更好地理解图像中的多尺度信息。

  4. Dual Label Assignments

    • 这里有两个分支:One-to-many Head和One-to-one Head。

    • One-to-many Head

      • 包含回归(Regression)和分类(Classification)两个子任务。回归任务负责预测边界框的位置和大小,分类任务负责预测目标的类别。

    • One-to-one Head

      • 同样包含回归和分类两个子任务,但与One-to-many Head不同的是,它采用了一对一的标签分配策略。

  5. Consistent Match Metric

    • 这个模块用于计算一致性匹配度量(Consistent Match Metric),以确保在训练过程中标签分配的一致性。度量公式为: [ m = s \cdot p^t \cdot \text{IoU}(b, b^t) ] 其中,�s表示置信度,��pt表示预测的类别概率,IoU(�,��)IoU(b,bt)表示预测边界框和真实边界框的交并比。

图(b):一致性与不一致性频率

  • 图(b)展示了在Top-1/5/10的one-to-many结果中,一对一分配的一致性和不一致性频率。

  • 其中,蓝色柱状图表示不一致性频率,橙色柱状图表示一致性频率。

  • 可以看出,随着Top-N的增加,一致性频率逐渐增加,不一致性频率逐渐减少。

输入输出流程

  1. 输入

    • 输入图像被送入Backbone进行特征提取。

  2. 特征提取

    • Backbone提取图像的基本特征,并将这些特征传递给PAN。

  3. 特征聚合

    • PAN进一步处理和聚合特征图,生成多尺度的特征表示。

  4. 标签分配与预测

    • 特征图被送入Dual Label Assignments模块,分别通过One-to-many Head和One-to-one Head进行回归和分类预测。

    • One-to-many Head和One-to-one Head分别生成边界框和类别预测。

  5. 一致性匹配度量

    • 预测结果通过Consistent Match Metric模块进行一致性匹配度量,确保标签分配的一致性。

  6. 输出

    • 最终输出包括预测的边界框位置、大小和类别,以及一致性匹配度量结果。

总结

该网络结构通过Dual Label Assignments和Consistent Match Metric模块,确保了在训练过程中标签分配的一致性,从而提高了模型的性能和稳定性。输入图像经过特征提取、特征聚合、标签分配与预测、一致性匹配度量,最终输出预测结果。


yolov10-fig3

图(a):YOLOv8模型在各个阶段的内在秩(Intrinsic Rank)

  • 图表内容

    • 该图展示了YOLOv8模型在不同阶段的内在秩(Intrinsic Rank)值。横轴表示模型的不同阶段(Stage 1到Stage 8),纵轴表示内在秩值($r/C_0$​)。

    • 不同颜色的线条代表不同版本的YOLOv8模型(YOLOv8-N, YOLOv8-S, YOLOv8-M, YOLOv8-L, YOLOv8-X)。

  • 图表分析

    • 内在秩值在不同阶段和不同模型版本之间存在显著差异。

    • 深层阶段(如Stage 6到Stage 8)和较大的模型(如YOLOv8-L和YOLOv8-X)通常表现出较低的内在秩值。

    • 这表明在深层阶段和较大的模型中,特征表示的冗余度较低,特征更加紧凑和有效。

    • 内在秩值($r$)被归一化为 $r/C_0$​,其中 $C_0$​ 表示输出通道数,$λmax$​ 是最大的奇异值。

    • 内在秩值的阈值设置为$λmax​/2$。

    • 观察到深层阶段和较大的模型表现出较低的内在秩值。

  • 图(b):紧凑倒置块(CIB)

    • 该图展示了紧凑倒置块(Compact Inverted Block, CIB)的结构。

    • CIB包含以下组件:

      • 1x1卷积(Conv)

      • 3x3深度卷积(Depthwise Conv, DW)

      • 1x1卷积(Conv)

  • 分析

    • CIB通过一系列卷积操作来处理输入特征图,旨在提高特征表示的紧凑性和有效性。

    • 这种结构有助于减少计算量和参数量,同时保持较高的特征表示能力。

  • 图(c):部分自注意力模块(PSA)

    • 该图展示了部分自注意力模块(Partial Self-Attention Module, PSA)的结构。

    • PSA包含以下组件:

      • 多头自注意力(Multi-Head Self-Attention, MHSA)

      • 前馈神经网络(Feed-Forward Network, FFN)

  • 分析

    • PSA通过自注意力机制来捕捉特征图中的长距离依赖关系,增强特征表示的全局性。

    • 这种结构有助于提高模型对复杂场景和目标的理解能力。

总结

  • 内在秩值分析

    • 深层阶段和较大的模型通常表现出较低的内在秩值,表明特征表示更加紧凑和有效。

  • 紧凑倒置块(CIB)

    • 通过一系列卷积操作提高特征表示的紧凑性和有效性,减少计算量和参数量。

  • 部分自注意力模块(PSA)

    • 通过自注意力机制捕捉长距离依赖关系,增强特征表示的全局性,提高模型对复杂场景和目标的理解能力。


这样做的好处是什么,为什么通过这个模块就可以不需要nms模块了

  1. 提高检测精度

    • 通过一致性匹配度量(Consistent Match Metric),模型能够更准确地分配标签,从而提高检测精度。

    • 一对一(One-to-one)和一对多(One-to-many)标签分配策略的结合,使得模型在处理不同类型的目标时更加灵活和准确。

  2. 减少冗余检测

    • 传统的非极大值抑制(NMS)用于去除冗余的检测框,而一致性匹配度量通过更精确的标签分配和匹配策略,减少了冗余检测的产生。

  3. 加速推理速度

    • 由于不再需要执行NMS操作,推理过程中的计算量减少,从而加速了推理速度。

  4. 简化模型架构

    • 通过一致性匹配度量和双标签分配策略,模型架构得以简化,不再需要额外的NMS模块。

无需NMS模块的原因

  1. 一致性匹配度量的作用

    • 一致性匹配度量通过计算预测结果与真实标签之间的一致性,确保了标签分配的准确性和唯一性。

    • 这种度量方式使得模型在训练过程中能够更好地学习到如何分配标签,从而减少了冗余检测框的产生。

  2. 双标签分配策略

    • 一对多(One-to-many)和一对一(One-to-one)标签分配策略的结合,使得模型在处理不同类型的目标时更加灵活。

    • 一对多策略允许多个预测框对应一个真实框,适用于密集目标检测;一对一策略确保每个预测框唯一对应一个真实框,适用于稀疏目标检测。

    • 这种双标签分配策略有效地减少了冗余检测框的产生,从而不再需要NMS来去除冗余框。

  3. 置信度和IoU的结合

    • 一致性匹配度量结合了置信度(confidence)、类别概率(class probability)和交并比(IoU),使得模型能够更准确地评估每个预测框的质量。

    • 这种综合评估方式确保了高质量的预测框被保留,而低质量的预测框被抑制,从而减少了冗余检测框的产生。

总结

通过一致性匹配度量和双标签分配策略,模型能够更准确地分配标签和评估预测框的质量,从而减少了冗余检测框的产生。这使得模型在不需要NMS模块的情况下,仍然能够保持高精度和高效率的目标检测性能。