跳转至内容

DAMO-YOLO 对比 YOLOv10:深入探讨目标检测的演进

选择合适的目标检测模型是一个关键决策,它影响从部署成本到用户体验方方面面。本次技术比较探讨了阿里巴巴集团推出的研究驱动型模型DAMO-YOLO与由清华大学研究人员开发并集成到Ultralytics生态系统中的最新实时端到端检测器YOLOv10之间的差异。

尽管这两个模型都旨在优化速度和准确性之间的权衡,但它们采用了截然不同的架构策略。本分析深入探讨了它们的技术规范、性能指标和理想用例,以帮助您驾驭复杂的 computer vision 领域。

性能指标

下表直接比较了COCO数据集上的效率和准确性。主要亮点包括参数效率和推理速度,其中YOLOv10由于其无NMS设计而展现出显著优势。

模型尺寸
(像素)
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
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

DAMO-YOLO:研究驱动的创新

DAMO-YOLO于2022年末发布,代表了阿里巴巴集团的一项重大努力,旨在通过先进的神经网络架构搜索和新颖的特征融合技术,突破YOLO风格检测器的界限。

技术细节:
作者:Xianzhe Xu、Yiqi Jiang、Weihua Chen 等
组织:阿里巴巴集团
日期:2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHub:https://github.com/tinyvision/DAMO-YOLO

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

架构和主要特性

DAMO-YOLO 集成了多项前沿概念以实现其性能:

  1. 神经架构搜索 (NAS):与手动设计骨干网络的模型不同,DAMO-YOLO 利用 MAE-NAS 自动发现高效的网络结构,从而针对特定的硬件限制优化了网络的深度和宽度。
  2. RepGFPN 颈部:这种特征金字塔网络采用重参数化来高效管理特征融合。它允许在训练时使用复杂的结构,这些结构在推理时会坍缩成更简单的模块,从而在保持准确性的同时提高速度。
  3. ZeroHead & AlignedOTA: 该模型采用“ZeroHead”设计来降低检测头的复杂性,并使用AlignedOTA(最优传输分配)在训练期间处理标签分配,解决了分类和回归任务之间的未对齐问题。

复杂性考量

尽管DAMO-YOLO引入了令人印象深刻的创新,但其对NAS和专用组件的依赖可能会使训练流程更加复杂,对于需要快速定制或在不同硬件上部署而无需大量调优的开发者来说,不易上手。

优势与劣势

  • 优势:DAMO-YOLO 提供了强大的准确性,尤其是在其发布时,并引入了诸如针对小型模型的蒸馏增强等新颖概念。
  • 缺点:DAMO-YOLO的生态系统主要与MMDetection框架绑定,与用户友好的Ultralytics ecosystem相比,这可能会带来更陡峭的学习曲线。此外,它需要传统的NMS后处理,这会增加延迟。

YOLOv10:端到端实时检测时代

YOLOv10 于 2024 年 5 月由清华大学研究人员发布,代表了 YOLO 系列的一个范式转变。通过消除对非极大值抑制 (NMS) 的需求,它实现了真正的端到端性能,显著降低了推理延迟。

技术细节:
作者:王傲、陈辉、刘力豪 等
组织:清华大学
日期:2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
文档:https://docs.ultralytics.com/models/yolov10/


了解更多关于YOLOv10的信息。

架构与创新

YOLOv10 专注于整体效率,同时针对架构和后处理流程:

  1. 免 NMS 设计:通过一种名为一致双重分配的策略,YOLOv10 使用一对多和一对一的标签分配进行训练。这使得模型在推理过程中能够为每个对象预测一个最佳边界框,从而使 NMS 变得多余。这对于后处理通常会成为瓶颈的实时推理来说是一个关键优势。
  2. 整体效率-精度设计:该架构采用轻量级分类头和空间-通道解耦下采样。这些优化减少了计算冗余,从而与前几代相比,降低了FLOPs和参数数量。
  3. 秩引导块设计:模型根据不同阶段的冗余性调整其内部块设计,在需要效率的地方使用紧凑倒置块(CIB),在特征增强至关重要的地方使用部分自注意力(PSA)。

Ultralytics的易用性

YOLOv10 最显著的优势之一是它与Ultralytics 生态系统的无缝集成。开发者可以使用与 YOLOv8YOLO11 相同的简单 API 来训练、验证和部署 YOLOv10。

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Train the model on your custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

对比分析

在比较 DAMO-YOLO 和 YOLOv10 时,区别在于它们在效率方法和操作生态系统上的不同。

速度与延迟

YOLOv10 在实际应用延迟方面具有显著优势。标准的 YOLO 模型(以及 DAMO-YOLO)需要非极大值抑制 (NMS)来过滤重叠的边界框。NMS 的执行时间随检测到的对象数量而变化,导致不可预测的延迟。YOLOv10 的端到端设计提供了确定性延迟,使其在时间敏感型应用中表现更优,例如自动驾驶或高速工业机器人。

资源效率

如性能表所示,YOLOv10s实现了比DAMO-YOLO-S(46.0%)更高的mAP(46.7%),同时使用的参数量不到其一半(7.2M vs 16.3M)。这种减少的内存占用对于边缘部署至关重要。Ultralytics模型以其在训练和推理期间较低的内存需求而闻名,使得在消费级GPU上进行训练成为可能,而其他架构可能会遇到内存不足(OOM)错误。

生态系统与支持

尽管DAMO-YOLO是一个扎实的学术贡献,但YOLOv10受益于维护良好的Ultralytics生态系统。这包括:

  • 积极开发: 频繁的更新和错误修复。
  • 社区支持:在 GitHub 和 Discord 上拥有庞大的开发者社区。
  • 文档:详尽的文档,涵盖从数据增强到部署的所有内容。
  • 训练效率:简化的例程开箱即用地支持自动混合精度(AMP)和多 GPU 训练等功能。

超越检测

如果您的项目需要超越边界框的多功能性——例如实例分割姿势估计旋转框检测 (obb)——可以考虑探索YOLO11YOLOv8。虽然YOLOv10在纯检测方面表现出色,但更广泛的Ultralytics系列为这些复杂的任务需求提供了最先进的解决方案。

理想用例

何时选择 YOLOv10

  • 边缘 AI 与物联网:低参数量(例如,YOLOv10n 具有 2.3M 参数)使其非常适合 Raspberry Pi 或NVIDIA Jetson等设备。
  • 实时视频分析:NMS的消除确保了帧率的一致性,这对于交通监控或安防监控至关重要。
  • 快速开发: 需要快速从数据到部署的团队将受益于直观的 ultralytics Python API 和 Ultralytics HUB.

何时考虑 DAMO-YOLO

  • 学术研究: 研究神经架构搜索 (NAS) 或特征金字塔优化的研究人员可能会发现 DAMO-YOLO 的架构是一个有价值的参考。
  • 传统管道:已深度集成到 MMDetection 框架中的项目可能会发现采用 DAMO-YOLO 比切换框架更容易。

结论

两种模型都代表了计算机视觉领域的里程碑。DAMO-YOLO 在2022年展示了 NAS 和高级特征融合的强大能力。然而,对于2024年及以后的现代应用,YOLOv10 提供了更具吸引力的方案。其 NMS-free 端到端架构解决了目标 detect 领域长期存在的瓶颈,同时其与 Ultralytics 生态系统的集成确保了其易于访问、维护和部署。

对于寻求速度、准确性和易用性最佳平衡的开发者而言,YOLOv10——以及多功能的 YOLO11——是构建强大AI解决方案的卓越选择。


评论