跳转至内容

YOLOv9 vs. DAMO-YOLO:全面技术比较

在快速发展的计算机视觉领域,选择最佳的物体 detect 架构对于项目成功至关重要。本分析提供了两个强大模型的详细技术比较:YOLOv9(以其在梯度信息方面的架构创新而闻名)和 DAMO-YOLO(一个来自阿里巴巴集团的专为高速推理设计的模型)。我们将考察它们独特的架构、性能指标和理想部署场景,以指导开发人员和研究人员做出明智决策。

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

YOLOv9标志着You Only Look Once (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 在 COCO 数据集上取得了卓越的 mAP 分数,为实时目标检测器树立了基准。
  • 参数效率:得益于GELAN,该模型在参数量少于许多前代模型的情况下,实现了高性能。
  • Ultralytics 集成:作为 Ultralytics 生态系统的一部分,意味着 YOLOv9 受益于统一的Python API、无缝的模型导出选项(ONNX、TensorRT、CoreML)以及完善的文档。
  • 训练稳定性:PGI 框架显著提高了模型训练期间的收敛速度和稳定性。

弱点

  • 资源密集度:尽管在其精度类别中是高效的,但最大的变体(如YOLOv9-E)在训练时需要大量的GPU内存。
  • 任务重点:核心研究主要针对目标检测,而其他 Ultralytics 模型(如 YOLO11)则原生支持更广泛的任务,包括姿势估计和旋转框检测。

了解更多关于YOLOv9的信息。

DAMO-YOLO:面向速度的神经架构搜索

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

作者: 徐贤哲、蒋一奇、陈卫华、黄一伦、张远、孙秀宇
机构:阿里巴巴集团
日期: 2022-11-23
预印本:2211.15444
GitHub:tinyvision/DAMO-YOLO

架构和主要特性

DAMO-YOLO 凭借多项旨在最大化吞吐量的技术进步而脱颖而出:

  • MAE-NAS骨干网络:它利用源自方法感知高效神经网络架构搜索的骨干网络结构,针对特定的硬件约束优化网络拓扑。
  • 高效RepGFPN:该模型在其颈部网络中采用了重参数化广义特征金字塔网络,增强了特征融合,同时保持了低延迟。
  • ZeroHead: 一种轻量级检测头设计,可减少通常与最终预测层相关的计算开销。
  • AlignedOTA: 一种改进的标签分配策略,用于解决训练期间分类和回归任务之间的不匹配问题。

优势

  • 低延迟: DAMO-YOLO专为速度而设计,使其在边缘设备和GPU上进行实时推理时非常高效。
  • 自动化设计: NAS 的使用确保了架构经过数学调优以提高效率,而非仅仅依赖于手动启发式方法。
  • 无锚框: 它采用无锚框方法,简化了与锚框相关的超参数调整过程。

弱点

  • 有限的生态系统:与 Ultralytics 模型可用的广泛工具相比,DAMO-YOLO 拥有更小的社区和更少的现成 MLOps 集成工具。
  • 多功能性:它主要专注于 detect,缺乏更全面的框架中原生的多任务能力(segmentation、分类)。

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

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

在比较性能指标时,这两种架构之间的权衡变得清晰。YOLOv9 优先考虑信息保留以实现卓越的精度,在相似模型尺寸下,其 mAP 分数通常超越 DAMO-YOLO。相反,DAMO-YOLO 则侧重于原始吞吐量。

然而,YOLOv9的GELAN架构效率使其在速度方面保持高度竞争力,同时提供更好的detect质量。例如,YOLOv9-CDAMO-YOLO-L(50.8%)相比,实现了显著更高的mAP(53.0%),同时使用的参数更少(25.3M vs 42.1M)。这突出了YOLOv9在模型复杂性方面实现“事半功倍”的能力。

性能解读

评估模型时,除了参数数量,还要考虑 FLOPs(浮点运算)。较低的 FLOPs 数量通常表示模型计算量更轻,并且在移动或边缘 AI 硬件上可能更快。

模型尺寸
(像素)
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是对精度要求极高的应用的首选。

  • 医学成像:医学图像分析中检测细微异常,其中漏检可能至关重要。
  • 自动导航:自动驾驶汽车的先进感知系统,需要对目标 detect有高度置信度。
  • 详细监控:需要识别小物体的安保系统,或在高度杂乱的复杂环境中运行的安保系统。

DAMO-YOLO 应用

DAMO-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 模型被设计为多功能。虽然 DAMO-YOLO 专注于检测,但像 YOLO11 这样的 Ultralytics 模型将功能扩展到实例分割姿势估计旋转框检测 (OBB)。此外,它们针对内存效率进行了优化,与其它架构相比,训练期间通常需要更少的 CUDA 内存,从而节省了硬件成本。

结论

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

探索其他模型

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


评论