跳转至内容

DAMO-YOLO 对比 YOLOv5:一项全面的技术比较

选择最佳的物体检测架构是计算机视觉开发的关键一步,需要对精度、推理速度和集成复杂度进行仔细评估。本分析将阿里巴巴集团开发的高精度模型YOLOUltralytics YOLOv5进行了比较,Ultralytics YOLOv5 是一种行业标准架构,因其在性能、速度和对开发人员友好的生态系统之间的平衡而广受赞誉。我们探讨了它们的架构创新、基准指标和理想应用场景,以帮助您做出明智的决定。

DAMO-YOLO:精度驱动的架构

作者: 徐贤哲、蒋一奇、陈卫华、黄一伦、张远、孙秀宇
机构:阿里巴巴集团
日期: 2022-11-23
预印本:https://arxiv.org/abs/2211.15444v2
GitHub:https://github.com/tinyvision/DAMO-YOLO
文档:DAMO-YOLO README

DAMO-YOLO 代表了阿里巴巴集团在推动检测精度极限同时保持合理延迟方面所做的重大努力。它集成了先进的神经网络架构搜索 (NAS) 技术和新颖的特征融合策略,在静态基准测试中超越了许多同期产品。

架构创新

DAMO-YOLO 凭借多项技术复杂的组件而独树一帜,这些组件旨在最大限度地发挥网络性能:

  • MAE-NAS 主干网络: 与手动设计主干网络的模型不同,DAMO-YOLO 采用以最大熵原理为指导的神经架构搜索 (NAS)。这使得主干网络结构在不同约束下专门针对特征提取效率进行了优化。
  • 高效RepGFPN:该模型利用了重参数化广义特征金字塔网络(RepGFPN)。这个先进的颈部模块通过优化跨不同尺度的特征融合,并利用重参数化来减少推理延迟,同时不牺牲准确性,从而改进了标准FPN。
  • ZeroHead: 为了最大限度地降低 detect 头的计算成本,DAMO-YOLO 引入了 ZeroHead,这是一种轻量级解耦头部,可高效处理分类和回归任务。
  • AlignedOTA: 对齐最优传输分配 (AlignedOTA) 增强了训练稳定性和准确性,这是一种动态标签分配策略,与静态匹配规则相比,它可以更有效地将预测锚框与真实对象对齐。
  • 蒸馏增强:训练过程通常涉及知识蒸馏,其中一个较大的“教师”模型指导较小的“学生”模型学习,从而赋予更丰富的特征表示。

面向研究的设计

DAMO-YOLO 经过大量优化,可在 COCO 等基准测试中实现高 mAP。它对 NAS 和蒸馏技术的使用使其成为学术研究和对精度要求极高的场景的强大工具,即使这会增加训练复杂性。

优势与劣势

DAMO-YOLO 的主要优势在于其原始检测精度。通过利用 NAS 和先进的颈部设计,它通常比同代可比模型实现更高的平均精度 (mAP)分数。它在需要细粒度特征辨别的复杂场景中识别物体方面表现出色。

然而,这些优势也伴随着权衡。对NAS骨干网络和蒸馏管道的依赖增加了训练和集成的复杂性。与某些替代方案的即插即用特性不同,为DAMO-YOLO设置自定义训练管道可能需要大量资源。此外,其生态系统相对较小,这意味着与更成熟的框架相比,可用的社区资源、教程和第三方集成较少。

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

Ultralytics YOLOv5:实用 AI 的标准

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

自发布以来,Ultralytics YOLOv5 已成为真实世界计算机视觉应用的首选解决方案。它在速度、准确性和可用性之间取得了传奇般的平衡,并由一个简化机器学习生命周期各个阶段(从数据集整理到部署)的生态系统提供支持。

架构与可用性

YOLOv5 利用CSPDarknet53 主干网络结合PANet 颈部网络,这些架构因其在 GPU 和 CPU 硬件上的鲁棒性和效率而被选中。虽然它使用基于锚框的检测(一种成熟的方法),但其真正的力量在于其工程设计和生态系统:

  • 精简的用户体验:YOLOv5 以其“从零到英雄”的理念而闻名。开发者只需几行代码即可设置环境、在自定义数据集上进行训练并运行推理。
  • 多功能性:除了标准目标检测之外,YOLOv5 支持实例分割图像分类,允许用户在单一框架内处理多种视觉任务。
  • 可导出性:该模型支持无缝导出到多种格式,包括ONNXTensorRT、CoreML和TFLite,确保从云服务器到边缘设备的轻松部署。
  • 内存效率:与复杂的基于 Transformer 的架构或依赖 NAS 的模型相比,Ultralytics 模型在训练期间通常表现出更低的内存使用,使其可在更广泛的硬件上运行。

生态系统优势

The Ultralytics生态系统是一个巨大的开发加速器。凭借详尽的文档、活跃的社区论坛和频繁的更新,开发人员可以减少调试时间,投入更多时间进行创新。与Ultralytics HUB等工具的集成进一步简化了模型管理和训练。

为什么开发者选择YOLOv5

YOLOv5 仍然是首选,因为它优先考虑易用性训练效率。预训练权重易于获取且稳健,支持快速迁移学习。其推理速度卓越,使其成为视频分析、自主导航和工业检测等实时应用的理想选择。

尽管YOLO11等新模型此后引入了无锚框架构并带来了进一步的性能提升,但YOLOv5仍然是无数生产系统中可靠、受良好支持且功能强大的主力。

了解更多关于 YOLOv5 的信息

性能对比

通过直接比较,两种模型之间的区别变得清晰:DAMO-YOLO 倾向于最大化验证精度 (mAP),而 YOLOv5 则优化推理速度和部署实用性。下表强调,虽然 DAMO-YOLO 模型在相似的参数数量下通常能获得更高的 mAP 分数,但 YOLOv5 模型(特别是 Nano 和 Small 变体)在 CPU 和 GPU 上提供了卓越的速度,这通常是边缘部署的决定性因素。

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

实际应用代码

Ultralytics模型最有力的论据之一是其集成的简便性。下面是一个经过验证的示例,展示了如何使用PyTorch Hub轻松加载YOLOv5模型并进行推理,这充分体现了该生态系统对开发者友好的特性。

import torch

# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image source (URL or local path)
img = "https://ultralytics.com/images/zidane.jpg"

# Run inference
results = model(img)

# Print results to console
results.print()

# Show the results
results.show()

结论

两种架构在计算机视觉领域扮演着不同的角色。DAMO-YOLO 是学术研究和竞赛中的强大选择,在这些场景中,实现最先进的准确性是唯一目标,并且基于 NAS 的训练管道的复杂性可以接受。

然而,对于绝大多数开发人员、研究人员和企业而言,Ultralytics YOLOv5(及其继任者YOLO11)仍然是卓越的推荐选择。维护良好的生态系统的优势不容小觑:简单的API、全面的文档和无缝的导出选项显著缩短了产品上市时间。凭借有效处理实时约束的性能平衡以及在分割和分类等任务中的多功能性,Ultralytics 模型为构建实用的AI解决方案提供了强大且面向未来的基础。

对于那些寻求性能和功能方面绝对最新成果的用户,我们强烈推荐探索 YOLO11,它在 YOLOv5 的传承基础上,实现了更高的精度和效率。

探索其他比较

为了进一步评估最适合您需求的模型,请查阅这些详细的比较:


评论