跳转至内容

YOLOv10 vs DAMO-YOLO:实时目标检测器的技术比较

在构建现代计算机视觉流水线时,选择合适的实时物体检测架构至关重要。在这项全面的技术分析中,我们将探讨YOLOv10DAMO-YOLO 的架构、性能指标和理想用例。两种模型都代表着物体检测能力的显著飞跃,但它们采取了不同的架构路径来实现其目标。

无论您的项目需要在受限的边缘 AI 硬件上部署,还是要求在云 GPU 上实现最大准确性,理解这些架构的细微差别都将帮助您做出明智的决定。

探索 YOLOv10

由清华大学研究人员提出的YOLOv10通过引入原生端到端方法,彻底改变了YOLO系列,有效消除了后处理过程中对非极大值抑制(NMS)的需求。

YOLOv10 详情:

主要架构特性

YOLOv10 的主要创新是其用于无NMS训练的 一致双重分配 策略。传统目标检测器严重依赖NMS来过滤重叠的边界框,这会引入不可预测的延迟——对于 自动驾驶汽车 和高速机器人等实时应用来说,这是一个显著的瓶颈。通过直接为每个目标预测一个最佳边界框,YOLOv10 实现了可预测的超低延迟推理。

此外,该模型采用了整体效率-精度驱动设计。该架构优化了各种组件,包括轻量级分类头和空间-通道解耦下采样,这显著减少了计算冗余。这使得该架构具有更低的参数数量和更少的FLOPs,同时保持了具有竞争力的平均精度(mAP)

面向生产的简化导出

由于YOLOv10从推理图中移除了NMS操作,将模型导出到ONNXTensorRT等格式变得高度简化,使其非常适合边缘部署。

了解更多关于 YOLOv10

使用示例

YOLOv10深度集成到Ultralytics生态系统中,通过Ultralytics Python包使用起来极其简便。

from ultralytics import YOLO

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

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

# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")

# Export the model to TensorRT format
model.export(format="engine", half=True)

探索 DAMO-YOLO

由阿里巴巴集团开发的DAMO-YOLO,专注于通过自动化神经网络架构搜索(NAS)发现高效的网络结构,旨在突破速度和准确性的帕累托前沿。

DAMO-YOLO 详情:

主要架构特性

DAMO-YOLO 引入了几项专为工业应用量身定制的新颖技术。该模型的基础是其通过多目标进化搜索生成的MAE-NAS 主干网络。这种自动化过程能够发现严格遵守预定义计算预算的主干网络结构,在准确性和推理延迟之间取得良好平衡。

此外,该架构还利用了高效 RepGFPN 颈部。这种特征金字塔网络旨在改善跨不同尺度的特征融合,这对于航空图像分析等复杂任务至关重要,因为其中的物体大小差异巨大。为补充这一点,DAMO-YOLO 实现了ZeroHead,这是一种极简的检测头,可大幅降低最终预测层的复杂性,从而在推理过程中节省宝贵的计算时间。

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

性能对比

在评估目标检测架构时,找到推理速度、参数效率和检测准确性之间的最佳权衡至关重要。下表比较了 YOLOv10 和 DAMO-YOLO 在各自模型尺寸下的性能。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
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-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

正如基准测试中观察到的,YOLOv10 在 TensorRT 上始终提供卓越的延迟表现,尤其是在其 nano 变体中,与 DAMO-YOLO 的同类模型相比,所需的参数和 FLOPs 显著更少。虽然 DAMO-YOLO 在其 tiny 变体中提供了强大的 mAP,但 YOLOv10 系列的参数效率和推理延迟为受限部署环境提供了明显的优势。

应用场景与建议

在YOLOv10和DAMO-YOLO之间选择取决于您具体的项目需求、部署限制和生态系统偏好。

何时选择 YOLOv10

YOLOv10是以下场景的有力选择:

  • 免NMS的实时检测:受益于无需非极大值抑制的端到端检测,从而降低部署复杂性的应用。
  • 速度-精度平衡权衡:适用于需要在推理速度和 detect 精度之间取得良好平衡的各种模型规模的项目。
  • 一致延迟应用:部署场景中,可预测的推理时间至关重要,例如机器人技术或自主系统。

何时选择 DAMO-YOLO

DAMO-YOLO 推荐用于:

  • 高吞吐量视频分析:在固定的NVIDIA GPU基础设施上处理高帧率视频流,其中批次1吞吐量是主要指标。
  • 工业生产线: 在专用硬件上具有严格 GPU 延迟限制的场景,例如装配线上的实时质量检测。
  • 神经网络架构搜索研究:研究自动化架构搜索 (MAE-NAS) 以及高效重参数化主干网络对 detect 性能的影响。

何时选择 Ultralytics (YOLO26)

对于大多数新项目,Ultralytics YOLO26 提供了性能和开发者体验的最佳组合:

  • 免NMS的边缘部署:需要一致的低延迟推理,且无需非极大值抑制后处理复杂性的应用。
  • 纯CPU环境:在没有专用GPU加速的设备上,YOLO26高达43%的CPU推理速度提升提供了决定性优势。
  • 小目标 detect:无人机航拍图像 或物联网传感器分析等挑战性场景中,ProgLoss 和 STAL 显著提高了微小目标的准确性。

Ultralytics 优势

尽管这两种模型在技术上都令人印象深刻,但为生产选择架构需要超越原始指标。使用Ultralytics 生态系统原生支持的模型进行构建,为开发者和研究人员提供了无与伦比的优势。

易用性与维护良好的生态系统

与经常面临废弃的独立学术代码库不同,Ultralytics提供了一个健壮且积极维护的生态系统。为严重依赖NAS流水线的模型设置复杂环境可能令人望而却步。相比之下,Ultralytics提供了一个标准化、直观的Python API和强大的CLI,并辅以详尽的文档。这显著缩短了定制视觉解决方案的上市时间。

训练效率与内存需求

训练大型模型很快就会变得计算成本高昂。Ultralytics YOLO 架构历来以其在训练和推理过程中较低的 CUDA 内存占用而闻名。这种效率使开发人员能够在消费级硬件或经济高效的云实例上训练模型,而不会遇到在使用 RT-DETR 等 Transformer 模型时常见的内存不足错误。

实验跟踪

Ultralytics 原生集成了顶级的 MLOps 工具。您可以轻松地使用与Weights & BiasesCometClearML的集成来跟踪模型训练进度,无需任何额外的样板代码。

跨任务多功能性

许多专用detect模型的一个显著局限性是其关注点狭窄。在Ultralytics生态系统中,您不仅限于目标detect。这些工具无缝扩展到多种计算机视觉任务,包括实例segment图像分类姿势估计旋转框检测 (OBB) detect

展望未来:YOLO26演进

尽管YOLOv10开创了NMS-free推理,且DAMO-YOLO展示了NAS的强大功能,但计算机视觉领域发展迅速。对于寻求终极最先进解决方案的开发者,我们推荐查看Ultralytics YOLO26

作为YOLO11的最终继任者,YOLO26在YOLOv10奠定的无NMS基础上进行了显著的进一步发展。

YOLO26 的主要进步包括:

  • CPU 推理速度提升高达 43%:专为边缘计算和低功耗设备优化。
  • 移除DFL:已移除分布焦点损失,确保了更简单的导出,并增强了与各种部署目标的兼容性。
  • MuSGD优化器:SGD和Muon的混合,将先进的LLM训练稳定性和更快的收敛直接带入计算机视觉。
  • ProgLoss + STAL: 显著改进的损失函数,在小目标识别方面提供显著增强,这对于农业和遥感等应用场景至关重要。

通过利用全新改版的 Ultralytics Platform,开发者只需点击几下即可无缝地标注、训练和部署像 YOLO26 这样的下一代模型,确保您的计算机视觉管道既尖端又面向未来。


评论