跳转至内容

DAMO-YOLO 与 YOLOX:全面技术比较

实时计算机视觉领域正在不断发展。在这一进程中,两个值得关注的里程碑是 DAMO-YOLOYOLOX,它们都为高速、高准确度目标 detect 问题带来了独特的创新。尽管这两种模型都为开源社区做出了重大贡献,但理解它们的架构差异、训练方法和理想部署场景对于机器学习工程师至关重要。

本综合指南探讨了这两种模型的技术细微之处,并强调了为什么Ultralytics YOLO26平台等现代替代方案为当今的生产环境提供了卓越的性能和易用性。

模型概述

DAMO-YOLO 详情

DAMO-YOLO 由阿里巴巴集团的研究团队开发,作为一种高效的目标检测方法被引入,该方法利用自动化架构发现技术。 作者:Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
组织:阿里巴巴集团
日期:2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHub:https://github.com/tinyvision/DAMO-YOLO
文档:DAMO-YOLO 文档

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

YOLOX详情

由旷视科技的研究人员创建的 YOLOX 旨在通过将 YOLO 系列切换到无锚点设计来弥合研究界和工业界之间的鸿沟,大幅简化了架构,同时在当时实现了更好的性能。 作者:葛政、刘松涛、王峰、李泽明、孙健
组织:旷视科技
日期:2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
文档:YOLOX 文档

了解更多关于 YOLOX 的信息

架构分析

DAMO-YOLO 架构

DAMO-YOLO 严重依赖神经网络架构搜索 (NAS)。核心组件包括:

  • MAE-NAS 主干网络:使用多目标进化搜索算法,发现能够在推理速度和精度之间提供最佳平衡的主干网络。
  • 高效 RepGFPN:一种适用于特征融合的重颈设计,有助于模型在不同目标尺度下保持高精度。
  • ZeroHead: 一种简化、轻量级的检测头,可降低最终预测层中的计算开销。

YOLOX 架构

YOLOX 采取了不同的方法,侧重于结构简洁性和无锚框设计:

  • 无锚点机制: 通过直接预测边界框坐标而无需预定义锚点,YOLOX减少了所需的设计参数和启发式调整。
  • 解耦头:它将分类和回归任务分离到不同的特征分支中,从而提高了收敛速度和整体精度。
  • SimOTA 标签分配:一种先进的标签分配策略,动态地将正样本分配给真实目标,从而提高训练效率。

设计理念

尽管DAMO-YOLO利用机器驱动的NAS搜索在严格约束下寻找最优架构,但YOLOX利用优雅的人工设计简化(如无锚点检测头)来简化目标detect流程。

性能对比

评估这些模型需要查看平均精度均值 (mAP)、推理速度和参数数量。下面是两种架构的标准和轻量级变体的详细比较表。

模型尺寸
(像素)
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
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

尽管YOLOXx实现了51.1的最高绝对mAP,但DAMO-YOLOl以不到一半的参数(42.1M vs 99.1M)提供了极具竞争力的50.8 mAP,并且TensorRT执行速度显著更快。

训练方法

训练 DAMO-YOLO

DAMO-YOLO 在训练过程中利用复杂的蒸馏增强技术。通常,首先训练一个大型“教师”模型,然后将其知识蒸馏到较小的“学生”模型中。它还采用 AlignedOTA 进行动态标签分配。尽管效率很高,但这种多阶段训练过程会大幅增加所需的 GPU 计算 时间和内存开销。

训练 YOLOX

YOLOX 依赖 MixUp 和 Mosaic 等强大的数据增强策略。然而,作者发现,在最后 15 个 epoch 关闭这些强增强可以帮助模型缩小现实差距,显著提升最终准确率指标。

理想用例

  • DAMO-YOLO:最适合高风险工业部署,在这些部署中可以支持服务器端蒸馏管道,并且目标硬件(如特定的NVIDIA GPU)直接受益于其重颈NAS架构。
  • YOLOX: 非常适合寻求纯无锚点方法的开发者。极其轻量级的 YOLOXnano 使其适用于旧版 Android 设备, 边缘计算以及参数数量是绝对瓶颈的极度受限的物联网传感器。

Ultralytics 优势:YOLO26 登场

尽管DAMO-YOLO和YOLOX代表了卓越的里程碑,但如今的开发者需要更全面、更通用、更易用的解决方案。这正是Ultralytics平台和新发布的Ultralytics YOLO26大放异彩的地方。

YOLO26于2026年1月发布,是所有计算机视觉任务的终极推荐模型。它引入了一系列突破,超越了旧有架构:

  • 端到端免NMS设计:YOLO26原生消除了非极大值抑制(NMS)后处理。这使得部署显著更简单、更快速,避免了传统检测头固有的延迟瓶颈。
  • CPU 推理速度提升高达 43%:通过策略性地移除分布焦点损失 (DFL) 并优化网络层,YOLO26 在 CPU 和边缘硬件上提供了无与伦比的速度。
  • MuSGD 优化器:受大型语言模型(LLM)训练技术的启发,YOLO26引入了MuSGD优化器(SGD和Muon的混合),与YOLOX中的传统设置相比,实现了高度稳定的训练过程和更快的收敛。
  • ProgLoss + STAL: 这些先进的损失函数在小目标识别方面取得了显著改进,使YOLO26在无人机影像和机器人技术方面具有显著优势。
  • 多功能性:与DAMO-YOLO严格专注于目标detect不同,YOLO26在同一维护良好的生态系统内原生无缝处理实例segment姿势估计分类旋转框检测(obb)

了解更多关于 YOLO26 的信息

Ultralytics的易用性

Ultralytics python API 简化了开发人员体验。训练最先进的 YOLO26 模型所需的样板代码大大减少,并避免了 DAMO-YOLO 复杂的蒸馏管道。此外,与基于 Transformer 的大型模型相比,Ultralytics 模型在训练期间的 CUDA 内存需求极低。

from ultralytics import YOLO

# Load the latest Ultralytics YOLO26 nano model
model = YOLO("yolo26n.pt")

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

# Run fast, NMS-free inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Export to ONNX or TensorRT seamlessly
model.export(format="onnx")

云端训练与部署

您可以使用 Ultralytics Platform 自动标注、训练并将模型部署到边缘设备,该平台为您处理所有数据版本控制和云 GPU 资源调配。

结论

在 DAMO-YOLO 和 YOLOX 之间进行选择取决于具体的限制:DAMO-YOLO 通过 NAS 在特定 GPU 上提供卓越的速度-准确率比,而 YOLOX 提供了一种简洁、无锚点的设计,非常适合轻量级边缘场景。

然而,对于寻求具有活跃社区的现代化、面向未来的解决方案的团队而言,Ultralytics YOLO26 架构是明确的选择。其免NMS设计、快速CPU推理以及用于detect、segment和姿势估计任务的统一API,使其在从研究到稳健的实际生产的平稳过渡方面无与伦比。

对于有兴趣探索其他现代架构的开发者,我们还建议查阅Ultralytics YOLO11RT-DETR等基于Transformer的模型,这些模型在全面的Ultralytics文档中均有提供。


评论