跳转至内容

YOLOv9 与YOLOv5:技术比较

在快速发展的计算机视觉领域,选择正确的物体检测模型是项目成功的关键。本分析报告对 YOLOv9之间进行了详细的技术比较。 Ultralytics YOLOv5之间进行了详细的技术比较。我们将探讨它们的架构差异、性能基准和理想用例,帮助您做出明智的决定。

YOLOv9:最大精度的建筑创新

YOLOv9 将于 2024 年初发布,通过解决深度学习信息流中的基本问题,瞄准物体检测的理论极限。它专为精度要求极高的场景而设计。

作者:王建尧、廖鸿源Chien-Yao Wang, Hong-Yuan Mark Liao
组织:台湾中央研究院信息科学研究所
日期:2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
文档:YOLOv9 文档

核心架构

YOLOv9 引入了两个突破性概念:可编程梯度信息 (PGI)广义高效层聚合网络 (GELAN )。PGI 可确保损失函数保留完整的输入信息,提高梯度可靠性,从而解决深度神经网络固有的信息瓶颈问题。GELAN 优化了参数效率,与之前利用深度卷积的架构相比,该模型能以更少的计算资源实现更高的精度。

优势与劣势

YOLOv9 的主要优势在于它在COCO 数据集等基准测试中达到了最先进的精度。它在检测其他模型可能无法检测到的小型或遮挡物体方面表现出色。然而,这种对检测准确性的关注是有代价的。它的训练过程可能更耗费资源,虽然它已集成到Ultralytics 生态系统中,但与历史悠久的模型相比,更广泛的社区支持和第三方工具仍未成熟。此外,它的主要重点仍然是检测,而其他模型则提供更广泛的多任务本地支持。

了解有关YOLOv9的更多信息

Ultralytics YOLOv5:多功能行业标准

自 2020 年发布以来,Ultralytics YOLOv5 已定义了实用、真实世界人工智能部署的标准。它在性能和可用性之间取得了精确的平衡,使其成为历史上使用最广泛的模型之一。

作者:Glenn JocherGlenn Jocher
组织:Ultralytics
日期:2020-06-26
GitHub:yolov5
文档:YOLOv5 文档

核心架构

YOLOv5 采用了经过改进的基于锚的架构,具有CSPDarknet53 主干网PANet 颈网,可实现强大的特征聚合。其设计优先考虑推理速度和工程优化。该模型有各种规模(纳米级到超大型),允许开发人员根据自己的硬件限制(从嵌入式边缘设备到云计算 GPU)完美地调整模型。

Ultralytics 的优势

YOLOv9 突破了学术界限,而YOLOv5 则在工程实用性方面表现出色。

  • 易用性: YOLOv5 以其 "安装即可运行 "的体验而闻名。精简的Python API和全面的文档大大减少了开发时间。
  • 维护良好的生态系统:在Ultralytics 的支持下,YOLOv5 得到了积极的维护,在GitHub 上拥有庞大的社区,并与 MLOps 工具实现了无缝集成。
  • 多功能性:除检测功能外,YOLOv5 还支持实例分割图像分类,为各种视觉任务提供了统一的解决方案。
  • 内存效率: Ultralytics 模型经过优化,在训练和推理过程中占用的内存更少,这与transformer的替代方案的高要求形成鲜明对比。

了解更多关于 YOLOv5 的信息

性能指标:速度与准确性

下面的比较凸显了这些模型的不同作用。YOLOv9 通常能达到更高的mAP (平均精度),尤其是在较大的模型尺寸(c 和 e)中。这使它在执行需要细化细节的任务时更胜一筹。

相反,YOLOv5 提供了无与伦比的推理速度,尤其是其 Nano (n) 和 Small (s) 变体。对于NVIDIA JetsonRaspberry Pi 等边缘硬件上的实时应用,YOLOv5 凭借其轻量级特性和成熟的TensorRT 优化技术,仍然是最佳的竞争者。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
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
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

部署提示

为了获得最大的部署灵活性,这两种模型都可以导出为以下格式 ONNX、Ultralytics 和CoreML 等格式。这可确保您的模型在任何目标硬件上高效运行。

培训和可用性

培训方法在用户体验方面存在很大差异。Ultralytics YOLOv5 是专为提高训练效率而设计的,它提供了强大的预设,开箱即用,适用于自定义数据集。它具有自动锚计算、超参数演变和丰富的日志集成功能。

YOLOv9 虽然功能强大,但可能需要更仔细地调整超参数才能实现稳定性和收敛性,尤其是在较小的数据集上。不过,由于其集成到了 ultralytics 现在,开发人员可以使用与YOLOv5 相同的简单语法Python 训练YOLOv5,缩小了可用性方面的差距。

代码示例

使用Ultralytics 库,在这些架构之间切换就像更改模型名称一样简单。本代码段演示了如何加载和运行两种模型的推理:

from ultralytics import YOLO

# Load the established industry standard YOLOv5 (nano version)
model_v5 = YOLO("yolov5nu.pt")

# Run inference on an image
results_v5 = model_v5("path/to/image.jpg")

# Load the high-accuracy YOLOv9 (compact version)
model_v9 = YOLO("yolov9c.pt")

# Run inference on the same image for comparison
results_v9 = model_v9("path/to/image.jpg")

理想用例

何时选择YOLOv9

  • 高精度检测:在每个像素都至关重要的制造装配线上检测微小缺陷。
  • 高级研究:探索新型深度学习架构(如可编程梯度信息)的项目。
  • 复杂环境:在高度遮挡或杂乱的场景中,GELAN 的高级特征聚合功能可提供决定性的优势。

何时选择YOLOv5

  • 边缘部署:在电池供电设备或微控制器上运行,功耗和内存占用至关重要。
  • 快速原型开发:当您需要在数小时而非数天内完成从数据收集到工作演示的过程时,可利用广泛的教程和社区资源。
  • 多任务系统:需要在单个代码库中进行姿势估计 估计或分类以及检测的应用。
  • 生产稳定性:企业环境需要久经考验、具有多年可靠性的解决方案。

结论

在YOLOv9 和YOLOv5 之间做出选择取决于您的具体限制条件。 YOLOv9是最大限度提高精确度的最佳选择,它提供了最先进的架构改进。 YOLOv5仍然是多功能性和易用性方面的佼佼者,它提供了一个强大的、支持良好的生态系统,简化了整个人工智能生命周期。

对于寻求两全其美的开发人员--将YOLOv5 的易用性与超越YOLOv9的性能相结合--YOLOv9建议探索 YOLO11.作为Ultralytics 的最新迭代产品,YOLO11 可在所有视觉任务中提供最先进的速度和精度,代表了YOLO 系列的未来。

探索其他模型

  • YOLO11: Ultralytics 最新、最强大的检测、细分和姿势估计模型。
  • YOLOv8 YOLO11 的前身,功能强大,兼顾各种特性。
  • RT-DETR transformer探测器,针对实时性能进行了优化。

评论