跳转至内容

YOLOv5 vs YOLOv9:详细对比

本页提供了两个重要的目标检测模型之间的技术比较:Ultralytics YOLOv5 和 YOLOv9。这两种模型都是有影响力的 YOLO(You Only Look Once)系列的一部分,该系列以平衡实时目标检测的速度和准确性而闻名。此比较探讨了它们的架构差异、性能指标和理想用例,以帮助您选择最适合您计算机视觉项目的模型。

Ultralytics YOLOv5:已建立的行业标准

作者: Glenn Jocher
组织: Ultralytics
日期: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
文档: https://docs.ultralytics.com/models/yolov5/

Ultralytics YOLOv5 发布后,因其在速度、准确性和易用性之间实现了出色的平衡而迅速普及。YOLOv5 完全基于 PyTorch 开发,其架构采用 CSPDarknet53 作为主干网络,PANet 用于特征聚合,并配备了高效的基于 Anchor 的检测头。它提供多种模型尺寸(n、s、m、l、x),允许用户根据其计算资源和性能需求进行选择。

优势

  • 卓越的速度和效率: YOLOv5 针对快速推理进行了高度优化,使其成为各种硬件(包括 边缘设备)上实时应用的理想选择。
  • 易用性: Ultralytics YOLOv5 以其简化的用户体验、简单的 PythonCLI 界面以及丰富的 文档而闻名。
  • 完善的生态系统: 受益于集成的 Ultralytics 生态系统,该系统具有积极的开发、庞大且支持性的社区、频繁的更新以及用于无代码训练的 Ultralytics HUB 等综合资源。
  • 性能平衡: 在推理速度和检测准确性之间实现了强大的权衡,适用于各种现实部署场景。
  • 多功能性: 支持多种任务,包括目标检测实例分割图像分类
  • 训练效率: 提供高效的训练流程、随时可用的预训练权重,并且与许多其他架构(尤其是基于Transformer的模型)相比,通常具有更低的内存要求。

弱点

  • 准确率: 虽然在其时代具有很高的准确性,但像YOLOv9这样的较新模型可以在COCO等基准测试中实现更高的mAP分数。
  • 基于Anchor: 依赖于预定义的anchor框,与无anchor方法相比,可能需要针对特定数据集进行更多调整。

应用案例

了解更多关于 YOLOv5 的信息

YOLOv9:通过新颖技术提高准确性

作者: Chien-Yao Wang, Hong-Yuan Mark Liao
组织: 台湾中研院资讯所
日期: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
文档: https://docs.ultralytics.com/models/yolov9/

YOLOv9 引入了重大的架构创新,即可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)。PGI 旨在通过为损失函数计算提供完整的输入信息,来缓解数据在深度网络中流动时的信息丢失。GELAN 是一种为实现卓越的参数利用率和计算效率而设计的新型架构。这些进步使 YOLOv9 能够在保持效率的同时实现更高的准确性。

优势

  • Enhanced Accuracy: 在 COCO 数据集上为实时对象检测器设置了新的最先进的结果,在 mAP 方面超越了 YOLOv5 和其他模型。
  • 更高的效率: GELAN 和 PGI 有助于减少模型所需的参数和计算资源 (FLOP),从而实现与以前的模型相当或更好的性能。
  • 信息保留: PGI 有效地解决了信息瓶颈问题,这对于准确训练更深、更复杂的网络至关重要。

弱点

  • 训练资源: 正如YOLOv9 文档中所述,与 Ultralytics YOLOv5 相比,训练 YOLOv9 模型可能需要更多的资源和时间。
  • 更新的架构: 作为一个来自不同研究团队的较新模型,与已建立的 Ultralytics YOLOv5 相比,其生态系统、社区支持和第三方集成不够成熟。
  • 任务通用性: 主要侧重于目标检测,缺乏对分割、分类和姿势估计的内置支持,而这些功能在 Ultralytics 模型(如 YOLOv5 和 YOLOv8)中可以找到。

应用案例

  • 需要尽可能高的对象检测精度的应用。
  • 计算效率与高性能同等重要的场景。
  • 高级视频分析和高精度工业检测。
  • 需要顶级检测的 交通管理中的 AI智慧城市 应用。

了解更多关于 YOLOv9 的信息

性能与基准测试:YOLOv5 vs. YOLOv9

在性能对比时,YOLOv9 模型通常比其 YOLOv5 同类产品实现更高的 mAP 分数,这证明了其架构创新的有效性。然而,Ultralytics YOLOv5 由于其卓越的推理速度和高度优化的实现而保持着强大的地位,使其成为每秒帧数 (FPS) 是关键指标的实时应用的强大选择。

模型 尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv5n 640 28.0 73.6 1.12 2.6 7.7
YOLOv5s 640 37.4 120.7 1.92 9.1 24.0
YOLOv5m 640 45.4 233.9 4.03 25.1 64.2
YOLOv5l 640 49.0 408.4 6.61 53.2 135.0
YOLOv5x 640 50.7 763.2 11.89 97.2 246.4
YOLOv9t 640 38.3 - 2.3 2.0 7.7
YOLOv9s 640 46.8 - 3.54 7.1 26.4
YOLOv9m 640 51.4 - 6.43 20.0 76.3
YOLOv9c 640 53.0 - 7.16 25.3 102.1
YOLOv9e 640 55.6 - 16.77 57.3 189.0

架构深度解析

YOLOv5 架构

Ultralytics YOLOv5 的架构是 YOLO 系列原则的改进实现。它由三个主要部分组成:

  • 主干网络: CSPDarknet53 网络,它是 Darknet-53 的修改版本,它结合了 Cross Stage Partial (CSP) 模块,以减少计算量,同时保持准确性。
  • Neck: 采用路径聚合网络(PANet)聚合来自不同骨干层级的特征,从而提高在各种尺度上对物体的检测能力。
  • Head: 该检测头是基于anchor的,通过预定义的anchor框形状预测边界框,这有助于提高其速度。

YOLOv9 架构

YOLOv9 引入了突破精度和效率界限的新概念:

  • 可编程梯度信息(PGI): 这种机制旨在解决深度网络中的信息瓶颈问题。它确保完整的输入信息可用于计算损失函数,从而实现更可靠的梯度更新和更好的模型收敛。
  • 广义高效层聚合网络 (GELAN): 这是一种新的网络架构,它建立在 CSPNet 和 ELAN 的原理之上。GELAN 旨在优化参数利用率和计算效率,使模型能够以更少的资源实现更高的准确性。

训练与生态系统

Ultralytics YOLOv5 的真正优势在于其训练体验和生态系统支持。

  • 易用性: YOLOv5 提供了非常友好的用户体验,具有简单的命令行和 Python API、大量的教程和全面的文档
  • 完善的维护生态系统: 作为 Ultralytics 的官方模型,YOLOv5 是一个强大生态系统的一部分,该生态系统包括积极的开发、GitHubDiscord 上的大型社区、频繁的更新以及与 Ultralytics HUB 等 MLOps 工具的无缝集成。
  • 训练效率: YOLOv5 的训练效率非常高,与更复杂的架构相比,它具有随时可用的预训练权重和更低的内存需求。这使得更广泛的硬件用户可以使用它。

虽然 YOLOv9 是一个强大的模型,但其训练过程可能要求更高,并且其生态系统不如 Ultralytics 模型成熟或集成。对于寻求从训练到部署的平稳、良好支持的路径的开发人员来说,YOLOv5 具有明显的优势。

结论:您应该选择哪种模型?

YOLOv5 和 YOLOv9 都是非常出色的模型,但它们侧重的优先级不同。

  • Ultralytics YOLOv5 是优先考虑速度、易用性和成熟、良好支持的生态系统的开发人员的理想选择。其卓越的性能平衡使其非常适合实时应用、快速原型设计以及在资源受限的 边缘 AI 设备上进行部署。它在多个视觉任务中的多功能性增加了其作为通用视觉 AI 框架的价值。

  • YOLOv9 最适合于那些以实现尽可能高的目标检测精度为主要目标,并且对训练的计算资源要求不敏感的应用。其创新的架构在具有挑战性的基准测试中提供了最先进的结果。

对于大多数用户,尤其是那些寻求可靠、快速且易于使用的模型,并具有强大的社区和商业支持的用户,Ultralytics YOLOv5 仍然是首要推荐。对于那些对 Ultralytics 的最新进展感兴趣的人,像 YOLOv8 和最新的 YOLO11 这样的模型提供了更高的性能和多功能性,同时保留了定义 Ultralytics 生态系统的用户友好体验。



📅 1 年前创建 ✏️ 1 个月前更新

评论