Ultralytics YOLO27:
Get Started

DAMO-YOLO 与 YOLOX#

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

本指南全面探讨这两种模型的技术细节,并重点说明,为何 Ultralytics YOLO26 等现代替代方案在当今生产环境中具有更出色的性能和易用性。

模型概述#

DAMO-YOLO 详情#

DAMO-YOLO 由阿里巴巴集团的一支研究团队开发,是一种高效的目标检测方法,利用自动化架构搜索来实现优化。

进一步了解 DAMO-YOLO

YOLOX 详情#

YOLOX 由旷视科技的研究人员创建,旨在通过将 YOLO 系列改为无锚框设计,弥合研究与工业社区之间的差距。该设计大幅简化了架构,并在当时实现了更好的性能。

详细了解 YOLOX

架构分析#

DAMO-YOLO 架构#

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

  • MAE-NAS 骨干网络:采用最大熵引导搜索,寻找推理速度与精度之间达到最佳平衡的骨干网络。
  • 高效 RepGFPN:一种用于特征融合的重型颈部结构,可帮助模型在不同目标尺度下保持较高精度。
  • ZeroHead:一种简化的轻量级检测头,可降低最终预测层的计算开销。

YOLOX 架构#

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

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

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

性能对比#

评估这些模型需要考察平均精度均值(mAP)、推理速度和参数量。下面的详细对比表展示了两种架构的标准版和轻量级变体。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(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 的 mAP 绝对值最高,为 51.1;而 DAMO-YOLOl 的 mAP 达到极具竞争力的 50.8,参数量却不到前者的一半(42.1M 对 99.1M),且 TensorRT 执行速度显著更快。

训练方法#

训练 DAMO-YOLO#

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

训练 YOLOX#

YOLOX 使用 MixUp 和 Mosaic 等强力数据增强策略。不过,作者发现,在最后 15 个训练周期关闭这些强增强,能帮助模型缩小与真实场景之间的差距,显著提高最终精度指标。

理想应用场景#

  • DAMO-YOLO:最适合高要求的工业部署场景,这些场景需要支持服务器端蒸馏流水线,并且目标硬件(例如特定的 NVIDIA GPU)能直接受益于其重型颈部 NAS 架构。
  • YOLOX:非常适合寻求纯粹无锚框方案的开发者。极其轻量的 YOLOXnano 适用于老旧 Android 设备、边缘计算,以及参数量受限的 IoT 传感器等资源极其有限的场景。

Ultralytics 的优势:YOLO26 登场#

DAMO-YOLO 和 YOLOX 都是出色的重要里程碑,但如今的开发者需要更全面、多功能且易用的解决方案。这正是 Ultralytics Platform 和新发布的 Ultralytics YOLO26 的优势所在。

YOLO26 于 2026 年 1 月发布,是适用于所有计算机视觉任务的首选模型。它带来了一系列突破,超越了旧版架构:

  • 端到端无 NMS 设计:YOLO26 的可选一对一检测头(nms=False)无需执行非极大值抑制(NMS)后处理。这样可以大幅简化并加快部署,避免传统检测头固有的延迟瓶颈。
  • CPU 推理速度最高提升 43%:通过有针对性地移除 Distribution Focal Loss(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

# 加载最新的 Ultralytics YOLO26 nano 模型
model = YOLO("yolo26n.pt")

# 只需一行代码,即可使用自定义数据集训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# 对图像进行快速、无 NMS 推理
results = model("https://ultralytics.com/images/bus.jpg", nms=False)

# 无缝导出为 ONNX 或 TensorRT
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 的模型。

评论