跳转至内容

YOLOv9 与YOLO-YOLO:全面技术比较

在快速发展的计算机视觉领域,选择最佳的物体检测架构是项目成功的关键。本分析对两种强大的模型进行了详细的技术比较: YOLOv9和YOLO-YOLO(阿里巴巴集团专为高速推理设计的模型)之间进行了详细的技术比较。我们研究了它们独特的架构、性能指标和理想的部署方案,以指导开发人员和研究人员做出明智的决定。

YOLOv9:可编程梯度信息实现卓越精度

YOLOv9 标志着 "你只看一次YOLO)系列的重大发展,其重点是解决深度神经网络固有的信息瓶颈问题。通过确保在整个网络层中保留关键输入数据,YOLOv9 实现了最先进的准确性。

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

架构与核心创新

YOLOv9 的架构基于两个开创性的概念,旨在优化深度学习效率:

  1. 可编程梯度信息 (PGI):PGI 是一种辅助监督框架,用于解决数据在深层传播时的信息损失问题。它能确保损失函数获得可靠的梯度,使模型在不增加推理成本的情况下学习更有效的特征。
  2. 通用高效层聚合网络(GELAN):这种新颖的架构结合了 CSPNet 和 ELAN 的优势。GELAN 的设计目的是最大限度地提高参数利用率和计算效率,提供一个轻量级但功能强大的骨干网,支持各种计算模块。

优势和生态系统

  • 顶级精度: YOLOv9 实现卓越的 mAP分数,为实时物体检测器设定了基准。
  • 参数效率:由于采用了 GELAN 技术,与许多前代产品相比,该模型只需较少的参数即可实现高性能。
  • Ultralytics 集成:作为Ultralytics 生态系统的一部分,YOLOv9 可从统一的Python API、无缝模型导出选项ONNX、TensorRT、CoreML)和强大的文档中获益。
  • 训练稳定性:PGI 框架大大提高了模型训练过程中的收敛速度和稳定性。

弱点

  • 资源强度:虽然在精度等级上效率很高,但最大的变体(如YOLOv9)需要大量的 GPU内存。
  • 任务重点:核心研究主要针对物体检测,而其他Ultralytics 模型,如 YOLO11本机支持更广泛的任务,包括姿势估计 和旋转框检测 。

了解有关YOLOv9的更多信息

DAMO-YOLO:寻找速度的神经架构

YOLO 证明了自动化架构设计的威力。它由阿里巴巴开发,利用神经架构搜索(NAS)在推理延迟和检测性能之间找到最佳平衡,特别针对工业应用。

作者Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
组织:阿里巴巴集团
日期:2022-11-23
Arxiv:2211.15444
GitHub:YOLO

架构和主要特性

YOLO 通过几项旨在最大限度提高产量的先进技术脱颖而出:

  • MAE-NAS 主干网:它利用从 "方法感知高效神经架构搜索"(Method-Aware Efficient Neural Architecture Search)中提取的骨干结构,针对特定硬件限制优化网络拓扑。
  • 高效的 RepGFPN:该模型的颈部采用了 Reparameterized Generalized Feature Pyramid Network(Reparameterized 通用特征金字塔网络),在保持低延迟的同时加强了特征融合
  • ZeroHead:轻量级检测头设计,可减少通常与最终预测层相关的计算开销。
  • AlignedOTA:一种改进的标签分配策略,可解决训练过程中分类和回归任务之间的错位问题。

优势

  • 低延迟: YOLO 专为提高速度而设计,因此在边缘设备和 GPU 上进行实时推理时非常有效。
  • 自动化设计:使用 NAS 可确保对架构进行数学调整以提高效率,而不是完全依赖人工启发式设计。
  • 无锚:它采用无锚方法,简化了与锚框相关的超参数调整过程。

弱点

  • 生态系统有限:与用于Ultralytics 模型的大量工具相比,DAMO-YOLO 的社区规模较小,用于MLOps 的现成集成工具也较少。
  • 多功能性:它主要专门用于检测,缺乏更全面框架中的本地多任务功能(分割、分类)。

了解更多关于 DAMO-YOLO 的信息

性能分析:速度 vs. 准确性

在比较性能指标时,两种架构之间的权衡就很明显了。YOLOv9 优先考虑信息保存,以实现更高的准确性,在类似模型大小的mAP 分数上经常超过YOLO -YOLO。相反,YOLO -YOLO 注重原始吞吐量。

然而,YOLOv9 的 GELAN 架构的效率使其在速度上保持了很高的竞争力,同时提供了更好的检测质量。例如,YOLOv9的mAP (53.0%)明显高于DAMO-YOLO-YOLO(50.8%),而使用的参数却更少(25.3M 对 42.1M)。这凸显了YOLOv9 在模型复杂度方面 "以更少的投入获得更多的回报 "的能力。

表演诠释

评估模型时,在考虑参数数量的同时还要考虑FLOPs(浮点运算)。FLOPs 数越低,通常表明模型的计算量越小,在移动或边缘人工智能硬件上的运行速度可能更快。

模型尺寸
(像素)
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
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

理想用例

架构上的差异决定了每种模式的理想部署方案。

YOLOv9 应用

对于精度要求极高的应用场合,YOLOv9 是首选。

  • 医学成像:医学图像分析中检测细微异常,因为漏检可能会造成严重后果。
  • 自主导航:用于自动驾驶汽车的高级感知系统,需要对目标检测有很高的置信度。
  • 详细监控:需要识别小物体或在杂波较多的复杂环境中运行的安防系统。

YOLO 应用程序

YOLO 在受严格延迟预算限制的环境中表现出色。

  • 高速制造: 计算机视觉系统必须与快速传送带保持同步的工业生产线。
  • 视频分析:处理海量视频流,吞吐量成本是首要考虑因素。

Ultralytics 的优势

虽然这两种型号在技术上都令人印象深刻,但选择Ultralytics 生态系统中的型号, YOLOv9 或最先进的 YOLO11-为开发人员和企业提供了独特的优势。

无缝工作流程和可用性

Ultralytics 将易用性放在首位。模型可通过统一的界面访问,该界面抽象了复杂的模板代码。无论是对自定义数据进行训练还是运行推理,整个过程都是一致的、直观的。

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

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

# Run inference on an image
results = model("path/to/image.jpg")

维护良好的生态系统

Ultralytics 模型由一个活跃的社区提供支持,并经常更新。功能包括 Ultralytics HUB等功能允许基于网络的数据集管理和训练,同时与TensorBoardMLflow等工具的广泛集成简化了 MLOps 的生命周期。相比之下,DAMO-YOLO 等研究模型往往缺乏这种程度的持续支持和工具集成。

多功能性和效率

Ultralytics 模型被设计为多功能模型。YOLO 专注于检测,而像YOLO11 这样的Ultralytics 模型则将功能扩展到实例分割姿势估计 定向边界框(旋转框检测)检测。此外,它们还对内存效率进行了优化,与其他架构相比,在训练过程中需要的CUDA 内存通常更少,从而节省了硬件成本。

结论

YOLOv9 与YOLO 的对比中,两个模型都展示了人工智能的飞速发展。YOLO 为纯粹的速度优化提供了令人信服的架构。但是 YOLOv9在大多数实际应用中是更强大的解决方案。它的每个参数都具有极高的准确性,采用先进的架构来防止信息丢失,并且位于蓬勃发展的Ultralytics 生态系统中。对于寻求性能、易用性和长期支持之间最佳平衡的开发人员来说,Ultralytics 模型仍然是值得推荐的选择。

探索其他模型

在我们的文档中了解其他先进机型的比较:


评论