模型对比:YOLOv5 vs YOLOv6-3.0 用于目标检测
选择最佳的目标检测模型对于成功的计算机视觉应用至关重要。Ultralytics YOLOv5 和美团 YOLOv6-3.0 都是以其效率和准确性而闻名的热门选择。本页面提供技术对比,以帮助您确定哪种模型最适合您的项目需求。我们将深入研究它们的架构细微差别、性能基准、训练方法和适用的应用,突出 Ultralytics 生态系统的优势。
Ultralytics YOLOv5:已建立的行业标准
作者: Glenn Jocher
组织: Ultralytics
日期: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
文档: https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5是一种单级对象检测模型,以其速度快、易于使用和适应性强而著称。它由Ultralytics 开发,在实现高性能对象检测方面迈出了重要一步。完全采用 PyTorchYOLOv5 采用了 CSPDarknet53 主干网和 PANet 颈网,以实现高效的特征提取和融合。其架构高度模块化,可轻松扩展到不同的模型尺寸(n、s、m、l、x),以满足不同的性能需求。
YOLOv5 的优势
- 速度和效率: YOLOv5 在推理速度方面表现出色,使其成为实时应用和在资源受限的边缘设备上部署的理想选择。如性能表所示,YOLOv5n 模型在较小的模型中提供了最快的 CPU 和 GPU 推理时间。
- 易用性:YOLOv5 以其简单性而闻名,提供简化的用户体验,具有简单的 API、丰富的 文档 和众多的 教程。
- 维护良好的生态系统: 受益于集成的 Ultralytics 生态系统,包括积极的开发、通过 Discord 提供的强大社区支持、频繁的更新以及与 Ultralytics HUB 的无缝集成,以实现 MLOps。
- 多功能性: 支持包括 目标检测、实例分割 和 图像分类 在内的多项任务,提供比单任务模型更全面的解决方案。
- 训练效率:与其他许多架构(尤其是基于 Transformer 的模型)相比,它提供高效的训练过程、随时可用的预训练权重和更低的内存需求。
YOLOv5 的弱点
- 准确率: 虽然具有很高的准确性和效率,但像 YOLOv6-3.0 或 Ultralytics YOLOv8 等较新的模型在某些基准测试中可能会提供稍高的 mAP,尤其是在较大的模型变体中。
- 基于Anchor的检测: 依赖于anchor框,与现代无anchor检测器相比,可能需要针对不同的数据集进行调整,以获得最佳性能。
美团 YOLOv6-3.0:工业领域的竞争者
作者: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, 和 Xiangxiang Chu
组织: 美团
日期: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: https://github.com/meituan/YOLOv6
文档: https://docs.ultralytics.com/models/yolov6/
YOLOv6-3.0 由美团开发,是一个主要为工业应用而设计的对象检测框架。它于 2023 年初发布,旨在为实际部署场景中的速度和准确性之间提供平衡。YOLOv6 引入了架构修改,例如高效的主干和颈部设计。3.0 版本进一步改进了这些元素,并结合了训练期间的自蒸馏等技术来提高性能。它还提供针对移动部署优化的特定模型 (YOLOv6Lite)。
YOLOv6-3.0 的优势
- 良好的速度-准确率权衡: 提供具有竞争力的性能,尤其适用于在 GPU 上最大化 mAP 的工业目标检测任务。
- 量化支持:提供用于模型量化的工具和教程,有利于在资源有限的硬件上进行部署。
- 移动优化:包括专门为移动或基于 CPU 的推理设计的 YOLOv6Lite 变体。
YOLOv6-3.0 的弱点
- 任务多功能性有限:主要侧重于目标检测,缺乏对 Ultralytics 模型(如 YOLOv5 和 YOLOv8)中提供的分割、分类或姿势估计的本机支持。
- 生态系统与维护:虽然是开源的,但该生态系统不如 Ultralytics 平台那样全面或积极维护,这可能会导致更新速度较慢和社区支持较少。
- 更高的资源占用: 对于相似的mAP,较大的YOLOv6模型相比YOLOv5等效模型可能具有明显更多的参数和FLOPs,因此可能需要更多的计算资源。
性能正面交锋
下表提供了 YOLOv5 和 YOLOv6-3.0 模型在 COCO 数据集 上的性能指标的直接比较。Ultralytics YOLOv5 在 CPU 和 GPU 上都表现出卓越的速度,适用于较小的模型,使其成为实时边缘应用的绝佳选择。虽然较大的 YOLOv6-3.0 模型可以实现更高的峰值 mAP,但 YOLOv5 提供了更平衡和高效的整体性能,尤其是在考虑到其较低的参数和 FLOP 计数时。
模型 | 尺寸 (像素) |
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 |
YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
训练方法
这两款模型都利用标准的深度学习技术,在像COCO这样的大型数据集上进行训练。然而,Ultralytics YOLOv5 显著受益于 Ultralytics 生态系统,它提供了简化的训练工作流程、大量的指南、AutoAnchor优化,以及与Weights & Biases和ClearML等工具的集成,用于实验跟踪。这种集成方法简化了开发周期,并加快了部署时间。YOLOv6-3.0 的训练遵循其官方存储库中概述的步骤。
理想用例
- Ultralytics YOLOv5:强烈推荐用于需要实时性能和易于部署的应用,尤其是在 CPU 或边缘设备上。它的多功能性、广泛的支持和高效的资源使用使其成为快速原型设计、移动应用、视频监控(用于防盗的计算机视觉)以及受益于成熟、有据可查的生态系统的项目的理想选择。
- Meituan YOLOv6-3.0: 当最大化 GPU 上的准确率是主要目标,同时仍需要快速推理时,它是一个强大的竞争者。它适用于那些 YOLOv5 上的 mAP 略有改进,但可能增加复杂性或减少生态系统支持的工业应用。
结论
Ultralytics YOLOv5 仍然是一个出色的选择,尤其以其卓越的速度、易用性和强大的生态系统而备受推崇。它在性能和效率之间提供了极佳的平衡,并以大量的文档和社区支持为后盾,使其对开发人员和研究人员来说非常容易上手。
YOLOv6-3.0 提供了具有竞争力的性能,尤其是在 GPU 上大型模型的峰值 mAP 方面。对于优先考虑 YOLO 框架内尽可能高的准确性,并将其用于特定工业任务的 YOLO 框架用户来说,它是一个可行的替代方案。
对于那些寻求最新进展的人,请考虑探索较新的 Ultralytics 模型,如 YOLOv8、YOLOv9、YOLOv10 和 YOLO11,它们在性能、通用性和效率方面提供了进一步的改进。 像 RT-DETR 这样的专用模型也为特定用例提供了独特的优势。
在 Ultralytics 模型文档中探索全部选项。