YOLOv5 vs. YOLOv10:详细技术对比
对于任何计算机视觉项目来说,选择合适的物体检测模型都是至关重要的决定,因为它直接影响应用程序的性能、速度和资源需求。本页面提供了两个具有里程碑意义的模型之间的深入技术比较:Ultralytics YOLOv5,即已建立并被广泛采用的行业标准,以及 YOLOv10,一种突破实时效率界限的尖端模型。此分析将探讨它们的架构差异、性能指标和理想用例,以帮助您做出明智的选择。
Ultralytics YOLOv5:已建立且用途广泛的标准
Ultralytics YOLOv5 已成为行业基准,以其卓越的速度、准确性和无与伦比的易用性而著称。自发布以来,它为各个领域的无数应用提供了支持。
技术细节:
- 作者: Glenn Jocher
- 组织: Ultralytics
- 日期: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- 文档: https://docs.ultralytics.com/models/yolov5/
架构和主要特性
YOLOv5 在 PyTorch 中开发,具有灵活的架构,采用 CSPDarknet53 主干网络和 PANet neck,用于强大的特征聚合。其基于 anchor 的检测头非常高效。其显著特点之一是其可扩展性,提供一系列模型尺寸(n、s、m、l、x),以满足不同的计算预算和性能需求。
优势
- 卓越的速度和效率: YOLOv5 经过高度优化,可实现快速推理,使其成为 CPU 和 GPU 硬件上实时系统的首选。
- 易用性: YOLOv5 以其简化的用户体验、简单的 Python API 和广泛的文档而闻名,显著降低了开发高级计算机视觉解决方案的门槛。
- 完善的维护生态系统: 作为一个 Ultralytics 模型,它受益于一个大型的活跃社区、频繁的更新以及与 Ultralytics HUB 等工具的无缝集成,以实现无代码训练和部署。
- 多功能性: YOLOv5 不仅适用于 目标检测;它还支持 实例分割 和 图像分类,使其成为各种视觉任务的多功能工具。
- 训练效率: 该模型提供具有随时可用的 预训练权重的高效训练流程,并且与更复杂的架构相比,它通常需要更少的训练内存。
弱点
- 基于 Anchor 的检测: 与现代的 无 anchor 检测器 相比,它对预定义 anchor 框的依赖有时可能需要额外调整,以便在具有非常规对象形状或大小的数据集上实现最佳性能。
- 精度与更新的模型: 虽然精度很高,但像 YOLOv10 这样的较新架构在 mAP 上已经超过了它,在像 COCO 这样的标准基准测试中。
应用案例
YOLOv5 的多功能性和效率使其成为众多应用的可靠主力:
- 边缘计算: 其较小的变体非常适合部署在资源受限的设备(如 Raspberry Pi 和 NVIDIA Jetson)上。
- 工业自动化: 广泛用于制造业中的质量控制和过程自动化。
- 安全和监控: 为安全系统和公共安全应用中的实时监控提供支持。
- 快速原型设计: 其易用性使其成为快速开发和测试新想法的理想选择。
YOLOv10:前沿的实时检测器
YOLOv10 代表了实时对象检测领域的一大进步,专注于通过消除非极大值抑制 (NMS) 的需求来创建一个真正端到端的高效流程。
技术细节:
- 作者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 组织: Tsinghua University
- 日期: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- 文档: https://docs.ultralytics.com/models/yolov10/
架构和主要特性
YOLOv10 的核心创新是其无 NMS 训练策略,该策略使用一致的双重分配来解决训练期间的冲突预测。正如其 arXiv paper 中详述的那样,这消除了 NMS 后处理步骤,传统上,该步骤一直是增加 inference latency 的瓶颈。此外,YOLOv10 采用整体效率-精度驱动的模型设计,优化 backbone 和 neck 等组件,以减少计算冗余,同时增强检测能力。
性能分析与比较
YOLOv10 为速度与准确性之间的权衡树立了新的最先进的基准。下表显示,与 YOLOv5 相比,YOLOv10 模型始终以更少的参数和 FLOPs 实现更高的准确率。例如,YOLOv10-M 在 mAP 方面超越了 YOLOv5-x,同时参数减少了近 6 倍,FLOPs 减少了 4 倍。这种卓越的效率使其成为现代应用中强大的竞争者。
模型 | 尺寸 (像素) |
mAPval 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
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 |
优势
- 卓越的速度与效率: 无 NMS 设计在推理过程中显著提高了速度,这对于具有超低延迟要求的应用至关重要。
- 以更少的参数实现高精度: 以更小的模型尺寸实现了最先进的精度,使其非常适合在资源受限的环境中部署。
- End-to-End Deployment: 通过移除 NMS,YOLOv10 简化了部署流程,使其真正实现端到端。
- Ultralytics 生态系统集成: YOLOv10 已完全集成到 Ultralytics 生态系统中,提供与其他 Ultralytics 模型相同的易用性、丰富的文档和支持。
弱点
- 较新的模型: 作为一个最近发布的模型,与围绕 YOLOv5 的庞大生态系统相比,它的社区和第三方工具支持仍在增长。
- 任务专业化: YOLOv10主要侧重于目标检测。对于需要单个模型来执行多个任务(如分割和姿势估计)的项目,YOLOv8等模型可能更合适。
应用案例
YOLOv10 在每一毫秒和每个参数都至关重要的应用中表现出色:
- 高速机器人技术: 为在动态和复杂环境中运行的机器人实现实时视觉处理。
- 高级驾驶辅助系统 (ADAS): 提供快速的目标检测以增强道路安全,这是用于自动驾驶汽车的 AI 的关键组成部分。
- 实时视频分析: 处理高帧率视频以获得即时洞察,在交通管理等应用中非常有用。
结论
YOLOv5 和 YOLOv10 都是卓越的模型,但它们满足不同的需求。
Ultralytics YOLOv5 仍然是需要成熟、可靠和多功能模型的开发人员的首选。它的易用性、广泛的文档和强大的社区支持使其非常适合在各种应用中进行快速开发和部署。它的速度和准确性平衡已经在无数现实场景中得到验证。
YOLOv10 是实时对象检测的未来。其创新的无 NMS 架构提供了无与伦比的效率,使其成为对延迟要求严苛的应用程序和在边缘设备上部署的理想解决方案。虽然较新,但它集成到 Ultralytics 生态系统中可确保流畅的用户体验。
对于那些探索其他最先进选项的用户,请考虑查看其他模型,如 YOLOv8、YOLOv9 和最新的 YOLO11,它们继续建立在 YOLO 架构的强大基础上。