Link to this sectionYOLOv10 与 DAMO-YOLO#
在构建现代 计算机视觉 流水线时,选择正确的实时目标检测架构至关重要。在这份详尽的技术分析中,我们将探讨 YOLOv10 和 DAMO-YOLO 的架构、性能指标及理想的应用场景。这两种模型都代表了目标检测能力的重大飞跃,但它们实现目标所采用的架构路径各不相同。
无论你的项目是需要部署在受限的 边缘 AI 硬件上,还是需要在云端 GPU 上追求极致精度,了解这些架构的细微差别都将有助于你做出明智的决定。
Link to this section探索 YOLOv10#
YOLOv10 由清华大学研究人员引入,通过采用原生的端到端方法革新了 YOLO 系列,有效消除了在后处理过程中对非极大值抑制 (NMS) 的需求。
YOLOv10 详情:
- 作者:Ao Wang, Hui Chen, Lihao Liu 等。
- 机构:清华大学
- 日期:2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- 文档:https://docs.ultralytics.com/models/yolov10/
Link to this section关键架构特征#
YOLOv10 的主要创新在于其用于无 NMS 训练的 一致性双重分配 (Consistent Dual Assignments) 策略。传统的目标检测器严重依赖 NMS 来过滤重叠的边界框,这会引入不可预测的延迟——这对 自动驾驶 和高速机器人等实时应用来说是一个巨大的瓶颈。通过直接为每个对象预测一个最佳边界框,YOLOv10 实现了可预测的超低延迟推理。
此外,该模型采用了 整体效率-精度驱动设计 (Holistic Efficiency-Accuracy Driven Design)。该架构优化了包括轻量级分类头和空间通道解耦下采样在内的多个组件,从而显著减少了计算冗余。这使得该架构在保持具有竞争力的 平均精度均值 (mAP) 的同时,拥有更低的参数量和更少的 FLOPs。
Link to this section使用示例#
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", quantize=16)Link to this section探索 DAMO-YOLO#
DAMO-YOLO 由阿里巴巴集团开发,专注于通过自动神经架构搜索 (NAS) 发掘高效的网络结构,旨在突破速度与精度的帕累托前沿。
DAMO-YOLO 详情:
- 作者:Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang 和 Xiuyu Sun
- 组织:阿里巴巴集团
- 日期:2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Link to this section关键架构特征#
DAMO-YOLO 引入了多种针对工业应用定制的新颖技术。该模型的基础是通过多目标进化搜索生成的 MAE-NAS 主干网络。这一自动化过程所发现的主干结构严格遵循预定义的计算预算,在精度和推理延迟之间取得了良好的平衡。
此外,该架构采用了 高效 RepGFPN 颈部结构。这种特征金字塔网络旨在改善跨不同尺度的特征融合,这对于 航空影像分析 等物体尺寸差异巨大的复杂任务至关重要。作为补充,DAMO-YOLO 实现了一个 ZeroHead,这是一个极简的检测头,大幅降低了最终预测层的复杂度,从而在推理过程中节省了宝贵的计算时间。
Link to this section性能比较#
在评估目标检测架构时,找到推理速度、参数效率和检测精度之间的正确权衡至关重要。下表比较了 YOLOv10 和 DAMO-YOLO 在各自模型规模下的性能。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | 参数量 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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-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 |
正如基准测试中所观察到的,YOLOv10 在 TensorRT 上始终提供卓越的延迟表现,特别是在其 nano 版本中,与 DAMO-YOLO 的同类模型相比,需要更少的参数和 FLOPs。虽然 DAMO-YOLO 在其 tiny 版本中提供了强大的 mAP,但 YOLOv10 系列的参数效率和推理延迟为受限的部署环境提供了独特的优势。
Link to this section应用场景与建议#
在 YOLOv10 和 DAMO-YOLO 之间进行选择,取决于你的具体项目需求、部署限制和生态系统偏好。
Link to this section何时选择 YOLOv10#
YOLOv10 是以下情况的有力选择:
- 无需 NMS 的实时检测: 得益于无需非极大值抑制(Non-Maximum Suppression)的端到端检测,能够降低部署复杂性的应用。
- 平衡的速度与精度权衡: 需要在推理速度和检测精度之间取得良好平衡的各类项目,适用于多种模型规模。
- 延迟一致的应用: 在机器人或自动驾驶系统等对可预测推理时间有严格要求的部署场景中。
Link to this section何时选择 DAMO-YOLO#
建议在以下场景使用 DAMO-YOLO:
- 高吞吐量视频分析: 在固定的 NVIDIA GPU 基础设施上处理高 FPS 视频流,其中 batch-1 吞吐量是主要指标。
- 工业生产线: 在专用硬件上对 GPU 延迟有严格限制的场景,例如生产线上的实时质量检查。
- 神经架构搜索研究: 研究自动化架构搜索 (MAE-NAS) 和高效重参数化骨干网络对检测性能的影响。
Link to this section何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26 提供了性能和开发者体验的最佳组合:
- 无 NMS 的边缘部署: 需要一致、低延迟推理且无需复杂非极大值抑制后处理的应用。
- 仅 CPU 环境: 没有专用 GPU 加速的设备,YOLO26 带来的高达 43% 的 CPU 推理提速可提供决定性优势。
- 小目标检测: 具有挑战性的场景,如 aerial drone imagery 或 IoT 传感器分析,其中 ProgLoss 和 STAL 可显著提升对极小目标的检测精度。
Link to this sectionUltralytics 的优势#
虽然两种模型在技术上都令人印象深刻,但为生产选择架构不仅要看原始指标。使用 Ultralytics 生态系统 原生支持的模型,能为开发者和研究人员提供无与伦比的优势。
Link to this section易用性与维护良好的生态系统#
与经常面临废弃的独立学术存储库不同,Ultralytics 提供了一个强大且积极维护的生态系统。为依赖 NAS 流水线的模型设置复杂的环境可能令人望而生畏。相比之下,Ultralytics 提供了标准、直观的 Python API 和强大的 CLI,并有详尽的 文档 支持。这从根本上缩短了定制视觉解决方案的上市时间。
Link to this section训练效率和内存需求#
训练大型模型很快就会变得计算昂贵。Ultralytics YOLO 架构历来以训练和推理期间的低 CUDA 内存占用而闻名。这种效率使开发者能够在消费级硬件或经济高效的云实例上训练模型,而不会遇到在使用基于 Transformer 的模型(如 RT-DETR)时常见的内存不足错误。
Ultralytics 原生集成了顶级的 MLOps 工具。通过与 Weights & Biases、Comet 或 ClearML 的集成,你可以轻松跟踪模型训练进度,无需任何额外的样板代码。
Link to this section任务的多功能性#
许多专业检测模型的一个重大局限是其焦点狭窄。在 Ultralytics 生态系统中,你不局限于目标检测。这些工具无缝扩展到多个 计算机视觉任务,包括 实例分割、图像分类、姿态估计 和 旋转边界框 (OBB) 检测。
Link to this section展望未来:YOLO26 的演进#
虽然 YOLOv10 开创了无 NMS 推理,DAMO-YOLO 展示了 NAS 的力量,但计算机视觉领域发展迅速。对于寻找最终最先进解决方案的开发者,我们建议查看 Ultralytics YOLO26。
作为 YOLO11 的最终继任者发布,YOLO26 建立在 YOLOv10 设定的无 NMS 基础之上,并将其推向了更深远的程度。
YOLO26 的关键进步包括:
- CPU 推理速度提升高达 43%: 专为边缘计算和低功耗设备进行了优化。
- 移除 DFL: 移除了分布焦点损失 (Distribution Focal Loss),确保导出更简单,并增强了与不同部署目标的兼容性。
- MuSGD 优化器: SGD 和 Muon 的混合体,直接将先进的 LLM 训练稳定性和更快的收敛速度引入计算机视觉。
- ProgLoss + STAL: 大幅改进的损失函数,在小目标识别方面提供了显著增强,这对于 农业 和遥感等应用场景至关重要。
通过利用全新升级的 Ultralytics Platform,开发者只需几次点击即可无缝标注、训练并部署像 YOLO26 这样的下一代模型,确保你的计算机视觉流水线既尖端又具备未来保障。