DAMO-YOLO 与 YOLOv10:高效实时目标检测的演进
计算机视觉领域在实时目标检测架构方面经历了快速演变。在比较DAMO-YOLO和YOLOv10时,我们观察到模型设计中的两种截然不同的理念:自动化架构搜索与端到端免NMS优化。尽管两者都在准确性和速度方面突破了界限,但它们的底层结构和理想用例却大相径庭。
DAMO-YOLO:大规模神经架构搜索
由阿里巴巴集团开发的DAMO-YOLO,作为一款强大的detect器,专注于利用自动化发现来提升结构效率。
- 作者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang 和 Xiuyu Sun
- 日期:2022年11月23日
- Arxiv:2211.15444v2
- GitHub:tinyvision/DAMO-YOLO
架构亮点
DAMO-YOLO 严重依赖神经网络架构搜索 (NAS) 来平衡性能和延迟。其主干网络,被称为 MAE-NAS,在严格的计算预算下使用多目标进化搜索来寻找最佳的层深度和宽度。
为了处理跨尺度的特征融合,该模型采用高效的 RepGFPN(重参数化广义特征金字塔网络)。这种重颈部设计特别擅长提取复杂的空间层次结构,使其在诸如 航空影像分析 等场景中非常有用。此外,DAMO-YOLO 引入了 ZeroHead,这是一种流线型 detect 头,它大大降低了最终预测层的复杂性,并在训练过程中依赖于强大的蒸馏增强过程。
蒸馏训练
DAMO-YOLO 通常采用多阶段知识蒸馏过程。它需要训练一个更重的“教师”模型来指导更小的“学生”模型,这会提取更高的 mAP(平均精度均值),但显著增加了所需的 GPU 计算时间。
YOLOv10:开创端到端目标 detect
一年半后发布的YOLOv10引入了范式转变,在推理过程中完全消除了对非极大值抑制(NMS)的需求。
- 作者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 组织:清华大学
- 日期:2024年5月23日
- Arxiv:2405.14458
- 文档:Ultralytics YOLOv10
架构亮点
YOLOv10的突出特点是其用于无NMS训练的一致双重分配。传统检测器会为单个对象预测多个重叠的边界框,需要NMS来过滤重复项。这一后处理步骤会产生瓶颈,尤其是在边缘设备上。YOLOv10通过让模型自然地为每个对象预测一个单一、准确的边界框来解决这个问题。
作者还专注于整体的效率-精度驱动模型设计。通过仔细分析现有架构中的计算冗余,他们优化了骨干网络和头部,以减少FLOPs和参数数量。这种轻量级设计确保YOLOv10在导出为TensorRT或OpenVINO等格式时具有出色的推理延迟。
性能与基准
下表展示了COCO数据集上的原始性能指标。每列中的最佳总体值以粗体显示。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
尽管DAMO-YOLO在精度方面表现不俗,但YOLOv10持续提供更低的延迟和显著更小的模型权重。例如,YOLOv10s实现了比DAMO-YOLOs略高的mAP(46.7% vs 46.0%),同时参数量不到一半(7.2M vs 16.3M)。更低的内存需求使YOLOv10成为嵌入式系统极其通用的选择。
训练效率与易用性
从学术研究转向生产时,易用性至关重要。DAMO-YOLO 的多阶段蒸馏过程和复杂的 NAS 配置可能会给工程团队带来陡峭的学习曲线。
相比之下,YOLOv10 得益于完全集成到 Ultralytics Python SDK 中。训练自定义模型只需极少的样板代码。Ultralytics 自动处理 数据增强、超参数调优 和 实验跟踪。
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()
快速原型设计
使用Ultralytics生态系统,开发人员仅需几行代码即可将原型转换为完全导出的ONNX模型,绕过了旧框架所需的复杂环境设置。
实际应用案例
- 智慧零售 (DAMO-YOLO):DAMO-YOLO 的准确性非常适合分析 客户行为 的高密度服务器环境,在这些环境中 GPU 资源充足且实时 NMS 瓶颈可控。
- 自动驾驶车辆 (YOLOv10):无 NMS 架构保证了确定性、可预测的延迟,这对于自动驾驶中的安全系统至关重要。
- 工业自动化 (YOLOv10):在快速移动的装配线上检测缺陷需要能够最大化实时推理速度而不消耗大量显存的模型,这使得 YOLOv10 成为边缘部署的首选。
应用场景与建议
在 DAMO-YOLO 和 YOLOv10 之间进行选择取决于您的具体项目要求、部署限制和生态系统偏好。
何时选择 DAMO-YOLO
DAMO-YOLO 是以下场景的有力选择:
- 高吞吐量视频分析:在固定的NVIDIA GPU基础设施上处理高帧率视频流,其中批次1吞吐量是主要指标。
- 工业生产线: 在专用硬件上具有严格 GPU 延迟限制的场景,例如装配线上的实时质量检测。
- 神经网络架构搜索研究:研究自动化架构搜索 (MAE-NAS) 以及高效重参数化主干网络对 detect 性能的影响。
何时选择 YOLOv10
YOLOv10 推荐用于:
- 免NMS的实时检测:受益于无需非极大值抑制的端到端检测,从而降低部署复杂性的应用。
- 速度-精度平衡权衡:适用于需要在推理速度和 detect 精度之间取得良好平衡的各种模型规模的项目。
- 一致延迟应用:部署场景中,可预测的推理时间至关重要,例如机器人技术或自主系统。
何时选择 Ultralytics (YOLO26)
对于大多数新项目,Ultralytics YOLO26 提供了性能和开发者体验的最佳组合:
- 免NMS的边缘部署:需要一致的低延迟推理,且无需非极大值抑制后处理复杂性的应用。
- 纯CPU环境:在没有专用GPU加速的设备上,YOLO26高达43%的CPU推理速度提升提供了决定性优势。
- 小目标 detect:在 无人机航拍图像 或物联网传感器分析等挑战性场景中,ProgLoss 和 STAL 显著提高了微小目标的准确性。
下一代:隆重推出 Ultralytics YOLO26
尽管YOLOv10为NMS-free检测奠定了基础,但该技术已迅速发展。对于现代应用,Ultralytics YOLO26模型提供了无与伦比的性能和可用性,它汲取了前几代的精华并为生产环境进行了优化。
YOLO26 采用严格的原生端到端设计,消除了 NMS 后处理,从而简化了边缘设备上的部署流水线。此外,移除 Distribution Focal Loss (DFL) 大幅提升了与低功耗 边缘 AI 硬件的兼容性。
在训练方面,YOLO26 引入了 MuSGD 优化器,这是一种受大型语言模型 (LLM) 训练技术启发的混合优化器。这确保了更稳定的训练和更快的收敛。结合 ProgLoss + STAL 损失函数,YOLO26 在小目标识别方面表现出显著改进,这是对于野生动物保护和无人机操作至关重要的特性。
至关重要的是,YOLO26 不仅仅是一个目标检测器。它在各个方面都提供了针对特定任务的改进,原生支持实例分割、使用残差对数似然估计(RLE)的姿势估计,以及针对旋转框检测(OBB)的专用角度损失。相比其前代产品,其CPU推理速度提升高达43%,是敏捷工程团队的最终选择。
对于YOLO26模型的集中管理、标注和云训练,Ultralytics Platform提供了一个直观的界面,简化了整个计算机视觉生命周期。
有兴趣探索其他最新进展的开发者还可以评估 Ultralytics YOLO11 或基于 Transformer 的 RT-DETR 框架,以应对需要独特架构解决方案的场景。