YOLOv5 vs YOLOv7:详细比较
选择合适的物体检测模型至关重要,它需要在速度、准确性和易于部署之间取得平衡。本页提供了 Ultralytics YOLOv5 和 YOLOv7 之间的技术比较,这两个模型在计算机视觉领域都具有影响力。虽然两者都做出了重大贡献,但 Ultralytics YOLOv5 以其卓越的性能平衡、用户友好的设计以及全面且维护良好的生态系统而脱颖而出,使其成为各种实际应用的首选。
Ultralytics YOLOv5:已建立的行业标准
Ultralytics YOLOv5 由 Glenn Jocher 于 2020 年发布,由于其在速度、准确性和易用性方面实现了卓越的融合,迅速成为最受欢迎的目标检测模型之一。YOLOv5 完全基于 PyTorch 开发,经过高度优化,从训练到部署都提供了简化的体验。
作者: Glenn Jocher
组织: Ultralytics
日期: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
文档: https://docs.ultralytics.com/models/yolov5/
YOLOv5 的架构与关键特性
YOLOv5 具有灵活高效的架构,该架构建立在 CSPDarknet53 主干网络和 PANet neck 上,以实现有效的特征聚合。它使用基于 anchor 的检测头,该检测头已在多次发布中得到改进。其主要优势之一是模型尺寸的多样性(n、s、m、l、x),使开发人员可以选择性能和计算资源之间的最佳权衡。这种可扩展性使其适用于从轻量级 边缘设备 到强大的云服务器的所有设备。
YOLOv5 的优势
- 易用性: YOLOv5 以其简单的 Python 和 CLI 接口、丰富的文档以及直接的训练和推理流程而闻名。
- 完善的生态系统: 它由强大的 Ultralytics 生态系统提供支持,该生态系统包括积极的开发、庞大的社区、频繁的更新以及用于无代码训练和部署的 Ultralytics HUB 等强大工具。
- 性能平衡: YOLOv5 在 推理 速度和检测准确性之间实现了出色的平衡,使其在各种实际场景中都非常实用。
- 多功能性和训练效率: 它支持多种视觉任务,包括 目标检测、实例分割 和 图像分类。训练过程高效,与更复杂的架构相比,它具有现成的预训练权重和更低的内存要求。
YOLOv5 的弱点
- 精度限制: 虽然非常准确,但更新的模型已经超过了其在 COCO 等标准基准测试中的 mAP 分数。
- 基于 Anchor 的设计: 它对预定义 anchor 框的依赖有时可能需要更多调整,以便在具有不规则形状对象的数据集上获得最佳性能,与现代的无 anchor 方法相比。
YOLOv5 的使用案例
- 实时应用:适用于需要快速推理的应用,例如机器人技术、人工智能无人机操作中的计算机视觉应用中的无人机视觉和实时视频分析。
- 边缘部署:由于其高效的设计和较小的模型尺寸,非常适合在资源有限的边缘设备上部署。请参阅 NVIDIA Jetson 部署指南。
- 快速原型设计: 由于其易用性和广泛的支持,对于快速原型设计和部署目标检测解决方案来说,这是一个极好的选择。
YOLOv7:专注于高精度
YOLOv7 由 Chien-Yao Wang、Alexey Bochkovskiy 和 Hong-Yuan Mark Liao 创建,于 2022 年 7 月 6 日发布。 它引入了多项架构优化和训练策略,被称为“可训练的免费技巧(trainable bag-of-freebies)”,旨在突破准确性的界限,同时保持实时速度。
作者: Chien-Yao Wang、Alexey Bochkovskiy 和 Hong-Yuan Mark Liao
组织: 台湾中研院资讯科学研究所
日期: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
文档: https://docs.ultralytics.com/models/yolov7/
YOLOv7 的架构与关键特性
- E-ELAN: 在骨干网络中利用扩展高效层聚合网络 (E-ELAN) 以增强学习能力。
- 模型缩放: 实施模型深度和宽度的复合缩放,以针对不同的计算预算进行优化。
- 辅助头训练: 在训练期间使用辅助头(在推理期间移除)以改进特征学习。
- 免费赠品: 利用先进的训练技术来提高准确性,而不会增加推理成本。
YOLOv7 的优势
- 高精度:在 COCO 等基准测试中实现了高 mAP 分数,尤其是在较大的模型变体中。
- 高效的训练技术: 结合了新颖的训练策略,以最大限度地提高性能。
YOLOv7 的缺点
- 复杂性: 与 Ultralytics YOLOv5 的简化方法相比,该架构和训练过程可能更为复杂。
- 生态系统与支持: 缺乏Ultralytics为YOLOv5提供的广泛文档、教程和集成生态系统。
- 资源密集型:较大的模型需要大量的计算资源,可能会限制在受限设备上的部署。
YOLOv7 的使用案例
- 高性能检测:适用于实现绝对最高精度至关重要且计算资源不太受限的应用,例如在自动驾驶汽车中。
- 研究:用于探索最先进的对象检测技术的学术研究。
性能与技术对比
在 COCO 数据集上对 YOLOv5 和 YOLOv7 进行直接比较,揭示了它们性能概况中的关键差异。YOLOv7 模型通常实现更高的 mAP 分数,但通常以增加复杂性和资源需求为代价。相比之下,Ultralytics YOLOv5 提供了更平衡的概况,在 CPU 推理速度方面表现出色,并保持了具有竞争力的准确性,这对于许多实际部署至关重要。
模型 | 尺寸 (像素) |
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
结论:您应该选择哪种模型?
YOLOv5 和 YOLOv7 之间的选择很大程度上取决于项目优先级。
YOLOv7 对于那些需要在标准基准上获得尽可能高的准确性并且可以访问大量计算资源的研究人员和开发人员来说,是一个强大的选择。其创新的训练技术展示了如何突破性能界限。
然而,对于绝大多数实际应用而言,Ultralytics YOLOv5 仍然是更优的选择。它的主要优势在于易用性、快速部署、出色的速度与精度平衡以及蓬勃发展的生态系统,使其成为一种极其高效且可靠的工具。它使开发人员能够快速构建强大的计算机视觉解决方案,从初始原型到生产部署。
此外,Ultralytics生态系统一直在不断发展。像YOLOv8和YOLO11这样的较新模型建立在YOLOv5的基础上,在分割、姿势估计和跟踪等任务中提供更好的性能和更大的多功能性。对于寻求现代、面向未来且用户友好的框架的开发人员来说,Ultralytics YOLO系列提供了最引人注目和最全面的解决方案。
探索其他模型
如果您正在探索目标检测模型,您可能还会对以下其他比较感兴趣:
- YOLOv5 vs YOLOv8
- YOLOv5 vs YOLOv9
- YOLOv7 与 YOLOv8 对比
- YOLOv7 vs YOLO11
- RT-DETR vs YOLOv7
- 探索像 YOLOv10 和 YOLO11 这样的最新模型。