跳转至内容

YOLOv5 与YOLOv9:全面技术比较

实时物体检测技术的发展以精度和效率的快速提升为标志。这一历程中的两个重要里程碑是 Ultralytics YOLOv5,该模型为可用性和部署设定了行业标准,以及 YOLOv9和 YOLOv9,后者是一个以研究为重点的架构,推动了深度学习理论的发展。

本技术比较分析了它们的架构、性能指标和理想用例,以帮助开发人员和研究人员为其计算机视觉项目选择合适的工具。

Ultralytics YOLOv5:多功能性的行业标准

自发布以来、 YOLOv5已成为全球最受欢迎的视觉人工智能模型之一。该模型由Ultralytics 开发,以卓越的工程设计、易用性和实际性能为重点。它兼顾了速度和准确性,同时通过强大的生态系统提供无缝的用户体验。

技术细节:

架构与设计

YOLOv5 利用CSPDarknet主干网和PANet颈部网实现高效的特征提取和聚合。其基于锚的检测头经过高度优化,速度极快,适用于各种硬件。与纯粹的学术模型不同,YOLOv5 在设计之初就考虑到了部署问题,提供以下原生支持 iOS, Android和边缘设备提供本地支持。

主要优势

  • 维护良好的生态系统: YOLOv5 得益于多年的积极开发,拥有大量的文档、社区支持以及与Ultralytics HUB 等工具的集成。
  • 训练效率:与transformer架构相比,它以快速的训练时间和较低的内存需求而闻名,因此可以在标准的消费级 GPU 上使用。
  • 多功能性:除检测外,YOLOv5 本身还支持实例分割图像分类,使开发人员能够使用单个框架处理多项视觉任务。
  • 部署就绪:内置导出功能,可将数据导出至 ONNX, TensorRT、CoreML 和TFLite 的内置导出功能,简化了从研究到生产的过程。

了解更多关于 YOLOv5 的信息

YOLOv9:最大精度的建筑创新

2024 年发布、 YOLOv9专注于解决深度网络中的信息丢失问题。它引入了新概念来改进数据在模型中的传播方式,在以下基准测试中取得了最先进的结果 COCO.

技术细节:

架构与创新

YOLOv9 引入了两个主要的架构进步:

  1. 可编程梯度信息 (PGI):一种旨在缓解信息瓶颈问题的技术,可确保在计算损失函数时获得完整的输入信息。
  2. 通用高效层聚合网络(GELAN):一种优化参数效率的轻量级网络结构,与某些前代产品相比,该模型能以更少的参数达到更高的精度。

主要优势

  • 高精度: YOLOv9 为物体检测精度设定了令人印象深刻的基准,尤其是在较大的配置中YOLOv9)。
  • 参数效率:GELAN 架构可确保模型有效地使用参数,从而提供较高的精度权重比。
  • 理论进步:它解决了深度学习中有关深层信息保存的基本问题。

了解有关YOLOv9的更多信息

性能对比

在比较这两个模型时,通常需要在速度绝对准确性之间进行权衡。YOLOv9 在COCO 数据集上获得了更高的mAPval分数,证明了 PGI 和 GELAN 的有效性。但是 Ultralytics YOLOv5在推理速度方面仍然是一个强大的竞争对手,尤其是在 CPU 和边缘设备上,其优化的架构在这些地方大放异彩。

性能平衡

而YOLOv9 则在准确度排行榜上名列前茅、 YOLOv5通常能为实时应用提供更实用的平衡,在标准硬件上提供更快的推理速度(毫秒),同时保持强大的检测能力。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

培训和资源

对于开发人员来说,训练效率往往与推理速度同等重要。Ultralytics YOLOv5 以其 "训练即用 "的简单性著称。与更新、更复杂的架构相比,尤其是transformer模型(如 RT-DETR).这种较低的入门门槛允许用户在适中的硬件设置上训练自定义模型。

YOLOv9 虽然参数效率高,但由于 PGI 所用辅助分支的复杂性,在训练时可能会耗费更多资源,因为这些分支在推理过程中会被移除,但在训练过程中会增加开销。

代码示例:统一界面

Ultralytics 生态系统的主要优势之一是统一的Python API。只需一行代码,您就可以在YOLOv5 和YOLOv9 之间切换,从而可以非常轻松地在特定数据集上对两者进行基准测试。

from ultralytics import YOLO

# Load an Ultralytics YOLOv5 model (pre-trained on COCO)
model_v5 = YOLO("yolov5su.pt")

# Train the model on your custom data
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)

# Load a YOLOv9 model for comparison
model_v9 = YOLO("yolov9c.pt")

# Train YOLOv9 using the exact same API
results_v9 = model_v9.train(data="coco8.yaml", epochs=100, imgsz=640)

理想用例

选择哪种模式取决于项目的优先级:

何时选择Ultralytics YOLOv5

  • 边缘部署:非常适合Raspberry Pi、移动应用程序和嵌入式系统,在这些系统中,每毫秒的延迟都至关重要。
  • 快速原型开发:易用性、广泛的教程和社区支持使得开发周期快得惊人。
  • 多任务要求:如果您的项目需要在检测的同时进行分割或分类,YOLOv5 提供统一的解决方案。
  • 资源限制:用于训练的GPU 内存有限的项目将受益于YOLOv5 的高效性。

何时选择YOLOv9

  • 最大精度:对于医疗成像或高精度工业检测等应用至关重要,因为在这些应用中,错过一次检测的代价是高昂的。
  • 学术研究:是研究人员探索最新梯度信息流和网络架构设计的绝佳选择。
  • 强大的硬件:最好在有充足的计算资源进行训练和推理时使用,以充分发挥其潜力。

结论

这两种型号都是计算机视觉领域的杰出代表。 Ultralytics YOLOv5仍然是大多数开发人员的务实之选,它提供了无与伦比的速度、可靠性和生态系统支持。它是经过实际部署考验的主力产品。 YOLOv9则让人看到了架构效率的未来,为有需要的人提供了顶级的准确性。

对于那些追求绝对最新性能和多功能性的人,我们还推荐探索 YOLO11,它以YOLOv5 和YOLOv8 的优势为基础,在所有指标上都能提供最先进的结果。

探索其他模型

如果您有兴趣进一步了解,请查看Ultralytics 生态系统中的相关模型:

  • YOLO11最新的 SOTA 型号,性能卓越,用途广泛。
  • YOLOv8:一个强大的无锚模型,支持检测、分割、姿势估计和旋转框检测。
  • RT-DETR transformer实时检测器,适用于高精度应用。

评论