DAMO-YOLO 与 YOLOX 对比#
实时计算机视觉领域在不断演变。DAMO-YOLO 和 YOLOX 是这一进程中两个值得注意的里程碑,它们分别为高速、高精度目标检测这一课题带来了独特的创新。尽管两款模型都为开源社区做出了巨大贡献,但对于机器学习工程师而言,理解它们的架构差异、训练方法以及理想的部署场景至关重要。
本全面指南深入探讨了两个模型的的技术细微差别,并重点介绍了为什么像 Ultralytics YOLO26 平台这样的现代替代方案能够为当今的生产环境提供卓越的性能和易用性。
模型概述#
DAMO-YOLO 详情#
DAMO-YOLO 由阿里巴巴集团的研究团队开发,作为一种利用自动化架构搜索的高效目标检测方法被推出。
作者:Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang 和 Xiuyu Sun
组织:Alibaba Group
日期:2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHub:https://github.com/tinyvision/DAMO-YOLO
文档:DAMO-YOLO Documentation
YOLOX 详情#
YOLOX 由旷视科技(Megvii)的研究人员创建,旨在通过将 YOLO 系列转变为无锚框(anchor-free)设计来弥合研究与工业界之间的差距,极大地简化了架构,同时在当时实现了更好的性能。
作者:Zheng Ge、Songtao Liu、Feng Wang、Zeming Li 和 Jian Sun
组织:Megvii
日期:2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
文档:YOLOX Documentation
架构分析#
DAMO-YOLO 架构#
DAMO-YOLO 在很大程度上依赖于神经架构搜索(NAS)。其核心组件包括:
- MAE-NAS 主干网络(Backbones): 使用多目标进化搜索算法来发现能够在推理速度和精度之间实现最佳平衡的主干网络。
- 高效 RepGFPN: 一种专为特征融合设计的重型颈部(neck)结构,有助于模型在不同目标尺度下保持高精度。
- ZeroHead: 一种简化的轻量级检测头,降低了最终预测层中的计算开销。
YOLOX 架构#
YOLOX 采取了不同的方法,专注于结构简洁性和无锚(anchor-free)设计:
- 无锚(Anchor-Free)机制: 通过直接预测边界框坐标而非预定义锚框,YOLOX 减少了设计参数和启发式调整的需求。
- 解耦头(Decoupled Head): 它将分类和回归任务分离为不同的特征分支,这提升了收敛速度和整体精度。
- SimOTA 标签分配: 一种先进的标签分配策略,能够动态地将正样本分配给真实目标,提高了训练效率。
虽然 DAMO-YOLO 利用机器驱动的 NAS 搜索在严格限制下寻找最佳架构,但 YOLOX 利用了巧妙的人工简化设计(如无锚头)来精简目标检测流水线。
性能比较#
评估这些模型需要关注平均精度均值(mAP)、推理速度和参数量。下方是针对两种架构的标准版和轻量级变体的详细对比表。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | 参数量 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
虽然 YOLOXx 实现了 51.1 的最高绝对 mAP,但 DAMO-YOLOl 以不到其一半的参数量(42.1M vs 99.1M)提供了极具竞争力的 50.8 mAP,并且 TensorRT 执行速度明显更快。
训练方法#
训练 DAMO-YOLO#
DAMO-YOLO 在训练过程中使用了复杂的蒸馏增强。通常,首先会训练一个大型的“教师”模型,然后将其知识蒸馏到较小的“学生”模型中。它还采用 AlignedOTA 进行动态标签分配。尽管非常有效,但这种多阶段训练过程大大增加了所需的 GPU compute 时间和内存开销。
训练 YOLOX#
YOLOX 依赖于强大的数据增强策略,如 MixUp 和 Mosaic。然而,作者发现,在最后 15 个 epoch 中关闭这些强增强操作,可以让模型缩小现实差距,从而显著提升最终的精度指标。
理想使用场景#
- DAMO-YOLO: 最适合高要求工业部署场景,这些场景支持服务器端蒸馏流水线,且目标硬件(如特定的 NVIDIA GPU)能直接受益于其重型 NAS 颈部架构。
- YOLOX: 非常适合寻求纯粹无锚框方法的开发者。极其轻量级的
YOLOXnano使其适用于老旧的 Android 设备、edge computing 以及参数数量是绝对瓶颈的受限 IoT 传感器。
Ultralytics 的优势:了解 YOLO26#
尽管 DAMO-YOLO 和 YOLOX 代表了优秀的里程碑,但当今的开发者需要更全面、更通用且易于使用的解决方案。这就是 Ultralytics Platform 以及新发布的 Ultralytics YOLO26 大显身手的地方。
YOLO26 于 2026 年 1 月发布,是适用于所有 computer vision 任务的终极推荐模型。它引入了一系列超越旧架构的突破性进展:
- 端到端无 NMS 设计: YOLO26 原生消除了非极大值抑制(NMS)后处理。这使得部署过程显著更简单、更快速,避免了传统检测头固有的延迟瓶颈。
- CPU 推理速度提升高达 43%: 通过策略性地移除分布焦点损失(DFL)并优化层结构,YOLO26 在 CPU 和边缘硬件上实现了无与伦比的速度。
- MuSGD 优化器: 受大语言模型(LLM)训练技术的启发,YOLO26 引入了 MuSGD 优化器(SGD 和 Muon 的混合体),相较于 YOLOX 中的传统设置,它实现了高度稳定的训练过程和更快的收敛速度。
- ProgLoss + STAL: 这些先进的损失函数在小目标识别方面取得了显著提升,使 YOLO26 在无人机影像和机器人技术方面具备巨大优势。
- 通用性: 与严格用于目标检测的 DAMO-YOLO 不同,YOLO26 在同一个维护良好的生态系统中原生无缝支持instance segmentation、pose estimation、classification 和 Oriented Bounding Boxes (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 提供了一种纯净的、无锚(anchor-free)设计,非常适合轻量级边缘场景。
然而,对于寻求具有活跃社区的现代且面向未来的解决方案的团队来说,Ultralytics YOLO26 架构是绝对的明智之选。其无 NMS(NMS-free)设计、快速的 CPU 推理以及用于检测、分割和姿态任务的统一 API,使其在从研究平稳过渡到稳健的真实世界生产时无与伦比。
对于有兴趣探索其他现代架构的开发者,我们还建议查看全面的 Ultralytics 文档中提供的 Ultralytics YOLO11 或基于 Transformer 的模型,例如 RT-DETR。