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 的架构建立在两个开创性概念之上,旨在优化深度学习效率:
- 可编程梯度信息 (PGI):PGI 是一种辅助监督框架,解决了数据在深层传播时信息丢失的问题。它确保损失函数接收可靠的梯度,使模型能够学习更有效的特征,而无需增加推理成本。
- 广义高效层聚合网络 (GELAN):这种新颖的架构结合了 CSPNet 和 ELAN 的优势。GELAN 旨在最大限度地提高参数利用率和计算效率,提供了一个轻量级但功能强大的骨干网络,支持各种计算块。
优势与生态系统
- 顶级精度:YOLOv9 在 COCO 数据集上取得了卓越的 mAP 分数,为实时目标检测器树立了基准。
- 参数效率:得益于GELAN,该模型在参数量少于许多前代模型的情况下,实现了高性能。
- Ultralytics 集成:作为 Ultralytics 生态系统的一部分,意味着 YOLOv9 受益于统一的Python API、无缝的模型导出选项(ONNX、TensorRT、CoreML)以及完善的文档。
- 训练稳定性:PGI 框架显著提高了模型训练期间的收敛速度和稳定性。
弱点
- 资源密集度:尽管在其精度类别中是高效的,但最大的变体(如YOLOv9-E)在训练时需要大量的GPU内存。
- 任务重点:核心研究主要针对目标检测,而其他 Ultralytics 模型(如 YOLO11)则原生支持更广泛的任务,包括姿势估计和旋转框检测。
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、分类)。
性能分析:速度 vs. 准确性
在比较性能指标时,这两种架构之间的权衡变得清晰。YOLOv9 优先考虑信息保留以实现卓越的精度,在相似模型尺寸下,其 mAP 分数通常超越 DAMO-YOLO。相反,DAMO-YOLO 则侧重于原始吞吐量。
然而,YOLOv9的GELAN架构效率使其在速度方面保持高度竞争力,同时提供更好的detect质量。例如,YOLOv9-C与DAMO-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) |
|---|---|---|---|---|---|---|
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.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这样的功能支持基于网络的 数据集管理和训练,而与TensorBoard和MLflow等工具的广泛集成则简化了 MLOps 生命周期。相比之下,像 DAMO-YOLO 这样的研究模型通常缺乏这种持续支持和工具集成水平。
多功能性与效率
Ultralytics 模型被设计为多功能。虽然 DAMO-YOLO 专注于检测,但像 YOLO11 这样的 Ultralytics 模型将功能扩展到实例分割、姿势估计和旋转框检测 (OBB)。此外,它们针对内存效率进行了优化,与其它架构相比,训练期间通常需要更少的 CUDA 内存,从而节省了硬件成本。
结论
在YOLOv9 与YOLO 的对比中,两个模型都展示了人工智能的飞速发展。YOLO 为纯粹的速度优化提供了令人信服的架构。但是 YOLOv9在大多数实际应用中是更强大的解决方案。它的每个参数都具有极高的准确性,采用先进的架构来防止信息丢失,并且位于蓬勃发展的Ultralytics 生态系统中。对于寻求性能、易用性和长期支持之间最佳平衡的开发人员来说,Ultralytics 模型仍然是值得推荐的选择。
探索其他模型
在我们的文档中了解其他最先进模型的比较:
- YOLO11 vs DAMO-YOLO
- YOLOv8 vs. DAMO-YOLO
- RT-DETR vs. DAMO-YOLO
- YOLOX 与 DAMO-YOLO 对比
- YOLOv10 对比 DAMO-YOLO