Ultralytics YOLO27:
Get Started

YOLOv5 与 DAMO-YOLO#

实时计算机视觉领域不断发展,研究人员和工程师持续探索准确率、速度和易用性之间的最佳平衡。塑造这一发展历程的两款重要模型是 Ultralytics YOLOv5 和阿里巴巴的 DAMO-YOLO。

本指南将深入分析它们的架构、性能指标和训练方法,帮助你为下一次部署选择合适的模型。

模型背景#

在深入探讨技术细节之前,先了解这两款重要视觉模型的起源和核心设计理念很有必要。

Ultralytics YOLOv5#

由 Glenn Jocher 和 Ultralytics 团队开发的 YOLOv5 自发布以来已成为行业标准。它原生基于 PyTorch 框架构建,开箱即提供流畅的开发者体验和强大的部署能力。

DAMO-YOLO#

DAMO-YOLO 由阿里巴巴集团的研究人员创建,重点关注神经网络架构搜索(NAS)和先进的蒸馏技术。它突破了针对特定硬件优化性能的理论极限,主要面向需要极致调优的研究和边缘计算场景。

进一步了解 DAMO-YOLO

架构创新#

两种模型都运用了独特的结构理念来实现实时性能,但采用的方法有很大不同。

YOLOv5:稳定性和通用性#

YOLOv5 使用改进的 CSP(跨阶段部分连接)主干网络,并搭配 PANet(路径聚合网络)颈部结构。这种结构效率很高,在训练和推理期间都能最大限度地减少 CUDA 内存使用。

YOLOv5 最大的优势之一是其跨任务通用性。除了边界框预测,它还提供专门用于图像分割和图像分类的架构,让开发者能够围绕单一、统一的框架构建视觉流水线。

DAMO-YOLO 的核心创新是其 MAE-NAS 主干网络。阿里巴巴团队通过最大熵引导搜索,发现了能够动态平衡检测准确率与推理速度的主干网络。

此外,它还采用 Efficient RepGFPN 颈部结构来改进特征融合,这对于卫星图像分析中常见的复杂尺度变化尤为有益。其 ZeroHead 设计简化了最终预测层以降低延迟,但这种复杂的结构生成方式可能使架构变得僵化,也更难根据自定义应用进行修改。

内存需求

基于 Transformer 的架构通常面临 VRAM 占用过高的问题。YOLOv5 和 DAMO-YOLO 都采用高效的卷积设计来降低内存占用,但 Ultralytics 模型针对消费级 GPU 进行了显著优化,因此对独立研究人员和初创公司来说更容易上手。

性能与指标#

评估实时目标检测器时,需要综合考量 mAP(平均精度均值)、推理速度和模型参数规模。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7
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

DAMO-YOLO 在某些参数量配置下的 mAP 得分颇具竞争力,但 YOLOv5 始终能实现出色的 TensorRT 推理速度,且 nano 和 small 配置的参数量极低。这种性能平衡确保 YOLOv5 能够在各种边缘部署场景中高效运行。

训练效率与生态系统#

模型的理论准确率只有在实际应用中可行才有意义。这正是两种模型差异显著的地方。

蒸馏的复杂性#

DAMO-YOLO 严重依赖多阶段训练方法。它将 AlignedOTA 标签分配与教师-学生知识蒸馏技术结合起来。虽然这种方法能够充分发挥学生模型的性能,但需要先训练一个庞大的教师模型。这大幅增加了计算时间、能源成本和硬件需求,成为敏捷 ML 团队的瓶颈。

Ultralytics 的优势:易于使用#

相较之下,Ultralytics 生态系统以直观的 API 和训练效率享誉全球。在活跃开发和庞大开源社区的支持下,开发者能够无缝地训练、验证和部署模型。

from ultralytics import YOLO

# 加载预训练的 YOLOv5 模型
model = YOLO("yolov5su.pt")  # YOLOv5u:适用于 ultralytics 软件包的无锚框 YOLOv5 权重

# 轻松使用自定义数据集训练
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# 导出为 ONNX 格式以供部署
model.export(format="onnx")

Ultralytics 还内置了通过 experiment tracking 工具进行实验跟踪的支持,例如 Weights & Biases 和 Comet ML,从而打造流畅无阻的工作流。

实际应用场景#

  • YOLOv5 非常适合快节奏的生产环境。它易于导出,是智慧零售分析、高速制造缺陷检测以及通过 CoreML 集成到移动应用中的首选。
  • DAMO-YOLO 非常适合严格的学术基准测试,以及拥有充足计算资源、能够执行长时间蒸馏训练的场景。这类训练旨在针对特定固定硬件目标,将 mAP 提升哪怕一点点。

用例与建议#

选择 YOLOv5 还是 DAMO-YOLO,取决于你的具体项目需求、部署限制和生态系统偏好。

何时选择 YOLOv5#

YOLOv5 适合以下场景:

  • 经过验证的生产系统: 现有部署重视 YOLOv5 长期积累的稳定记录、详尽文档和庞大社区支持。
  • 资源受限的训练: GPU 资源有限的环境中,YOLOv5 高效的训练流水线和较低的内存需求具有优势。
  • 广泛支持导出格式: 需要跨多种格式部署的项目,包括 ONNX、TensorRT、CoreML和 LiteRT。

何时选择 DAMO-YOLO#

推荐在以下情况下使用 DAMO-YOLO:

  • 高吞吐量视频分析:在固定的 NVIDIA GPU 基础设施上处理高帧率视频流,且主要关注批量大小为 1 时的吞吐量。
  • 工业制造生产线:在专用硬件上对 GPU 延迟有严格要求的场景,例如装配线上的实时质量检测。
  • 神经架构搜索研究:研究自动架构搜索 (MAE-NAS) 和高效重参数化骨干网络对检测性能的影响。

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:

  • 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
  • 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
  • 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。

新一代进化:YOLO26#

如果你要启动新项目,强烈建议着眼未来。Ultralytics YOLO26 在 YOLOv5 的坚实基础上融入了革命性进展,重新定义了视觉 AI 的尖端水平。

为什么要升级到 YOLO26?

YOLO26 一经发布便广受赞誉,它原生支持端到端处理。它采用端到端无 NMS 设计(nms=False),跳过非极大值抑制后处理,使部署速度大幅提升、流程更加简单。

YOLO26 的主要创新包括:

  • MuSGD 优化器:受 LLM 训练创新启发,这种结合 SGD 和 Muon 的混合优化器可确保训练高度稳定并快速收敛。
  • CPU 推理速度最高提升 43%:针对边缘计算进行了深度优化,非常适合在没有专用 GPU 的情况下运行的 IoT 设备。
  • ProgLoss + STAL:先进的损失函数可大幅提升小目标识别能力,这对无人机航拍图像和机器人领域至关重要。
  • 针对特定任务的改进:从用于有向边界框(OBB)的专用角度损失,到用于准确姿态估计的残差对数似然估计(RLE),YOLO26 能够轻松应对复杂领域。

结论#

YOLOv5 和 DAMO-YOLO 都在目标检测发展史上占有重要地位。DAMO-YOLO 仍是神经网络架构搜索和蒸馏领域的一个重要研究案例。然而,对于重视维护良好的生态系统、易用性和快速投入生产的组织而言,Ultralytics 模型依然无可匹敌。

我们强烈建议你使用 Ultralytics Platform 来标注、训练和部署新一代模型(例如 YOLO26),确保你的计算机视觉流水线面向未来、运行快速且准确度出色。

延伸阅读#

  • 了解基于 Transformer 的 RT-DETR,适用于高准确率应用。
  • 了解上一代 YOLO11 模型。
  • 了解如何使用 OpenVINO 优化部署。

评论