YOLOv10 vs. YOLOv5:详细技术对比
选择合适的物体检测模型对于任何计算机视觉项目都至关重要,因为性能直接影响应用成功。You Only Look Once (YOLO)系列模型以其速度和准确性而闻名。本页详细比较了清华大学的尖端模型 YOLOv10 和 Ultralytics YOLOv5,后者是一种通用且被广泛采用的行业标准。此分析将帮助开发人员和研究人员根据其特定需求做出明智的决定。
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 引入了几项架构创新,以突破速度与精度之间权衡的界限。正如其 arXiv 论文 中详细介绍的那样,其核心功能包括:
- 无NMS训练: 它在训练期间采用一致的 dual assignments,这使得模型能够在没有 NMS 步骤的情况下产生清晰的预测。这项创新简化了部署流程并减少了推理延迟,这是许多实时系统中的一个关键瓶颈。
- 整体效率-精度设计: 模型架构已从backbone到neck和head进行了全面优化。这包括轻量级分类头和空间通道解耦降采样,从而减少计算冗余并增强模型能力。
- 无锚框检测: 像许多现代检测器一样,YOLOv10 使用无锚框方法,这简化了架构并提高了在不同对象大小和宽高比上的泛化能力。
优势与劣势
优势:
- 卓越的速度与效率: 针对实时推理进行了优化,提供更快的处理速度,这对于低延迟要求至关重要。
- 无NMS架构: 消除NMS后处理,简化部署并减少整体推理时间。
- 以更少的参数实现高精度: 以更小的模型尺寸实现了具有竞争力的精度,使其非常适合资源受限的环境。
- End-to-End Deployment: 专为无缝端到端部署而设计,这是生产系统的一个显著优势。
- Ultralytics 集成: 虽然是外部开发的,但 YOLOv10 已很好地集成到 Ultralytics 生态系统中,受益于简单的 Python 和 CLI 界面,用于训练、验证和推理。
弱点:
- 较新的模型: 作为一个最近发布的模型,与 YOLOv5 等已建立的模型相比,它的社区支持和第三方集成的数量可能仍在发展中。
- 优化复杂性: 实现最佳性能可能需要针对特定硬件和数据集进行特定的微调和优化,这可能比使用更成熟的模型更复杂。
应用案例
YOLOv10 在需要超快和高效对象检测的应用中表现出色:
- 高速机器人技术: 为动态环境中的机器人实现实时视觉处理,这是未来机器人技术中的一个关键组成部分。
- 高级驾驶辅助系统 (ADAS): 提供快速的目标检测以增强道路安全性,并补充 自动驾驶汽车中的 AI 等解决方案。
- 实时视频分析: 处理高帧率视频以获得即时洞察,在交通管理等应用中非常有用。
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 颈部进行特征聚合。 它的架构具有高度可扩展性,提供各种尺寸(n、s、m、l、x)以适应不同的计算预算。 它受欢迎的一个关键原因是 Ultralytics 提供的简化的用户体验,其中包括:
- 简单且一致的API: 用于训练、验证和推理的简单接口。
- 内容丰富的文档: 涵盖从训练自定义数据到部署的全面指南和教程。
- 集成生态系统: 在 Ultralytics 生态系统中提供全面支持,包括 Ultralytics HUB 等工具,用于无代码训练和 MLOps 管理。
优势与劣势
优势:
- 卓越的易用性: 以其简单的 API、全面的文档和无缝集成而闻名,使其对初学者和专家都非常容易上手。
- 成熟且强大的生态系统: 受益于庞大而活跃的社区、频繁的更新、随时可用的预训练权重和丰富的资源。
- 性能平衡: 在速度和准确性之间实现了出色的平衡,使其成为各种实际应用的实用选择。
- 训练效率: 以其高效的训练流程、比许多复杂架构更低的内存需求以及通过 预训练权重 实现的更快收敛而闻名。
- 多功能性: 支持目标检测之外的多种任务,包括实例分割和图像分类。
弱点:
- 基于Anchor的检测: 依赖于anchor框,有时可能需要针对具有非常规对象形状的数据集进行调整,以获得最佳性能。
- 精度权衡: 虽然性能很高,但较小的 YOLOv5 模型优先考虑速度,而像 YOLOv10 这样的较新架构可以在标准基准测试中实现更高的 mAP 分数。
应用案例
YOLOv5 的多功能性和效率使其适用于大量的领域:
- 边缘计算: 其速度和较小的模型尺寸使其非常适合部署在 Raspberry Pi 和 NVIDIA Jetson 等设备上。
- 工业自动化: 广泛用于制造业中的质量控制和过程自动化。
- 安全和监控: 非常适合安全系统和公共安全应用中的实时监控。
- 移动应用: 适用于对资源消耗有严格要求的设备端目标检测任务。
正面交锋:性能细分
下表详细比较了在 COCO 数据集 上进行基准测试的各种 YOLOv10 和 YOLOv5 模型变体。这些指标突出了准确性 (mAP)、推理速度和模型复杂性(参数和 FLOPs)之间的权衡。
模型 | 尺寸 (像素) |
mAPval 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (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.20 | 56.9 | 160.4 |
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 |
从数据中可以明显看出,与 YOLOv5 相比,YOLOv10 模型始终以明显更少的参数和 FLOP 实现了更高的 mAP 分数。例如,YOLOv10-S 在精度上超过了 YOLOv5-m(46.7 与 45.4 mAP),而参数仅约为其三分之一。这证明了 YOLOv10 卓越的架构效率。
然而,Ultralytics YOLOv5 保持着强大的地位,尤其是在特定硬件上的推理速度方面。YOLOv5n 模型在 CPU 和 T4 GPU 上都表现出卓越的速度,使其成为对每一毫秒都至关重要且资源高度受限的应用的绝佳选择。
结论:您应该选择哪种模型?
YOLOv10 和 Ultralytics YOLOv5 都是卓越的模型,但它们满足不同的需求。
YOLOv10 是需要突破性能和效率界限的开发人员和研究人员的理想选择。其无 NMS 架构在对延迟要求严苛的应用程序中提供了明显的优势,并且其以更小的模型 footprint 提供高精度能力是边缘设备部署的颠覆性因素。如果您的项目需要绝对最佳的速度-准确性权衡,并且您对较新的、不断发展的模型感到满意,那么 YOLOv10 是一个引人注目的选择。
Ultralytics YOLOv5 仍然是大多数用户的推荐选择,特别是那些优先考虑易用性、快速开发和稳定、良好支持的生态系统的用户。它经过验证的良好记录、广泛的文档以及与 Ultralytics HUB 等工具的无缝集成使其非常容易上手。对于需要可靠、通用且易于部署的模型,并且在性能方面具有出色平衡的项目,YOLOv5 是一个出色且可靠的选择。
最终,决定取决于您项目的具体约束和目标。对于追求前沿效率,请关注 YOLOv10。对于一个稳健、用户友好且通用的解决方案,Ultralytics YOLOv5 难以超越。
探索其他 YOLO 模型
YOLO 的发展日新月异。对于那些有兴趣探索 YOLOv10 和 YOLOv5 之外的模型的人,Ultralytics 提供了一系列强大的模型。不妨看看 Ultralytics YOLOv8,它在性能和多功能性之间实现了很好的平衡,并支持多种视觉任务,或者最新的 YOLO11,以获得最先进的结果。
我们还提供了更多比较,以帮助您选择最适合您需求的模型: