Ultralytics YOLO27:

DAMO-YOLO 与 YOLOX#

实时计算机视觉领域在不断发展。在这一历程中,DAMO-YOLOYOLOX 是两个值得关注的里程碑,它们都为高速、高精度目标检测带来了独特创新。虽然这两个模型都为开源社区作出了重要贡献,但对于机器学习工程师而言,理解它们在架构、训练方法和理想部署场景方面的差异至关重要。

本综合指南将深入探讨这两个模型的技术细节,并说明为什么像 Ultralytics YOLO26 这样的现代替代方案能够在当今的生产环境中提供更出色的性能和更高的易用性。

模型概览#

DAMO-YOLO 详情#

DAMO-YOLO由阿里巴巴集团的研究团队开发,作为一种利用自动化架构搜索的高效目标检测方法被引入。

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

YOLOX 详情#

YOLOX由旷视科技的研究人员创建,旨在通过将YOLO系列转变为无锚框设计来弥合研究界与工业界之间的鸿沟,在当时实现更好性能的同时极大地简化了架构。

了解有关 YOLOX 的更多信息

架构分析#

DAMO-YOLO 架构#

DAMO-YOLO 高度依赖神经架构搜索(NAS)。其核心组件包括:

  • **MAE-NAS主干网络:**使用最大熵引导搜索来发现能够在推理速度和准确率之间提供最佳平衡的主干网络。
  • **Efficient RepGFPN:**一种用于特征融合的重型颈部结构,有助于模型在不同目标尺度下保持较高精度。
  • **ZeroHead:**一种经过简化的轻量级检测头,可降低最终预测层的计算开销。

YOLOX 架构#

YOLOX 采取了不同的方法,重点关注结构简洁性和无锚点设计:

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

DAMO-YOLO 利用机器驱动的 NAS 搜索,在严格约束下寻找最优架构;而 YOLOX 则采用优雅的人工设计简化方案(例如无锚点检测头),以简化目标检测流程。

性能对比#

评估这些模型需要考察平均精度(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 对比 99.1M),便实现了极具竞争力的 50.8 mAP,并且 TensorRT 执行速度显著更快。

训练方法#

训练 DAMO-YOLO#

DAMO-YOLO 在训练过程中采用复杂的蒸馏增强方法。通常会先训练一个大型“教师”模型,再将其知识蒸馏到较小的“学生”模型中。它还采用 AlignedOTA 进行动态标签分配。虽然这一多阶段训练过程非常有效,但也会大幅增加所需的 GPU compute 时间和内存开销。

训练 YOLOX#

YOLOX 依赖 MixUp 和 Mosaic 等强数据增强策略。不过,作者发现,在最后 15 个训练周期中关闭这些强增强,可以让模型缩小与真实场景之间的差距,并显著提升最终精度指标。

理想应用场景#

  • **DAMO-YOLO:**最适合高要求的工业部署场景,此类场景能够支持服务器端蒸馏流程,并且目标硬件(例如特定的 NVIDIA GPU)能够直接受益于其重型颈部 NAS 架构。
  • **YOLOX:**非常适合寻求纯无锚点方案的开发者。极其轻量的 YOLOXnano 使其能够应用于旧款 Android 设备、edge computing 以及参数量是绝对瓶颈的高度受限 IoT 传感器。

Ultralytics 的优势:进入 YOLO26 时代#

虽然 DAMO-YOLO 和 YOLOX 都是出色的里程碑,但如今的开发者需要更全面、更灵活且更易用的解决方案。这正是 Ultralytics Platform 和新发布的 Ultralytics YOLO26 发挥优势的地方。

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

  • **端到端无 NMS 设计:**YOLO26 原生消除了非极大值抑制(NMS)后处理。这使部署变得更加简单、快速,避免了传统检测头固有的延迟瓶颈。
  • **CPU 推理速度最高提升 43%:**通过有策略地移除分布式焦点损失(DFL)并优化各层,YOLO26 在 CPU 和边缘硬件上实现了无与伦比的速度。
  • **MuSGD 优化器:**YOLO26 受到大型语言模型(LLM)训练技术的启发,引入了 MuSGD 优化器(SGD 和 Muon 的混合体),与 YOLOX 中较旧的配置相比,可带来高度稳定的训练过程和更快的收敛速度。
  • **ProgLoss + STAL:**这些先进的损失函数显著提升了小目标识别能力,使 YOLO26 在无人机视频和机器人应用中表现出大幅优势。
  • **多功能性:**不同于严格用于目标检测的 DAMO-YOLO,YOLO26 可在同一套维护良好的生态系统中原生无缝处理实例分割姿态估计分类定向边界框(OBB)任务。

借助 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 推理,以及用于检测、分割和姿态任务的统一 API,使其在从研究平稳过渡到可靠的真实生产环境方面无可匹敌。

对于有兴趣探索其他现代架构的开发者,我们还推荐查看 Ultralytics YOLO11,或查看 Ultralytics 综合文档中提供的 RT-DETR 等基于 Transformer 的模型。

评论