模型对比:YOLOv7 与 YOLOv8 的目标检测
选择正确的物体检测模型对于在计算机视觉任务中获得最佳性能至关重要。本页提供了 YOLOv7 和 Ultralytics YOLOv8 这两个该领域的重要模型之间的技术比较。我们将分析它们的架构细微差别、性能基准和理想应用,以指导您的模型选择过程,重点介绍 Ultralytics 生态系统提供的优势。
YOLOv7:实时检测的基准
YOLOv7的推出是实时目标检测领域的一项重大进步,专注于优化训练效率和准确性,同时不增加推理成本。它在发布时为实时检测器树立了新的技术水平标杆。
作者: 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 通过引入几项关键创新,在以前的 YOLO 架构的基础上构建。它在其主干中采用了诸如扩展高效层聚合网络 (E-ELAN) 之类的技术,以提高特征提取效率。一个主要的贡献是“可训练的免费赠品包”的概念,它涉及在训练期间应用优化策略(如辅助头和由粗到精的指导),以提高最终模型精度,而不会在推理期间增加计算开销。YOLOv7 主要是一种基于锚框的检测器,专注于目标检测任务,尽管社区扩展已将其调整为用于其他任务,如姿势估计。
优势
- 高精度和速度平衡: 提供了强大的 mAP 和推理速度组合,使其在实时推理任务中非常有效。
- 高效训练: 利用先进的训练技术(“免费赠品”)来提高准确性,而不会增加最终推理成本。
- 成熟的性能: 在 MS COCO 数据集 等标准基准测试中,已经证明了其结果。
弱点
- 架构复杂性: 该架构和新颖的训练技术可能很复杂,难以完全掌握和针对自定义用例进行优化。
- 资源密集型: 较大的YOLOv7模型需要大量的GPU资源来进行训练。
- 任务多功能性有限: 主要侧重于目标检测。与其他任务(如实例分割或图像分类)的实现需要单独的、非集成的实现,这与 YOLOv8 的统一方法不同。
Ultralytics YOLOv8:最先进的效率和适应性
Ultralytics YOLOv8是Ultralytics的后续主要版本,它建立在之前YOLO版本成功的基础之上。它是一种为卓越的性能、灵活性和效率而设计的先进模型。YOLOv8引入了一种无锚框设计和更简化的架构,从而增强了性能和易用性。
作者: Glenn Jocher, Ayush Chaurasia, 和 Jing Qiu
机构: Ultralytics
日期: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
文档: https://docs.ultralytics.com/models/yolov8/
优势
- 卓越的性能: YOLOv8 在准确性和速度之间实现了出色的平衡,使其适用于从 边缘 AI 到云端服务的广泛应用。
- 用户友好的设计: Ultralytics 优先考虑简单性,提供全面的文档、简单的工作流程以及简单的 Python 和 CLI 接口,用于训练和部署。
- 无与伦比的多功能性: 本机支持多种视觉任务,包括检测、分割、分类、姿势估计和定向目标检测 (OBB),为各种计算机视觉需求提供统一的解决方案。
- 完善的生态系统: 与 Ultralytics HUB 无缝集成,实现无代码训练和部署。它受益于积极的开发、频繁的更新、强大的社区支持和丰富的资源。
- 训练和内存效率: 提供高效的训练流程,并提供随时可用的预训练权重。与其他复杂的架构(如 transformers)相比,它的架构通常需要更低的训练内存使用量,而 transformers 的训练速度可能较慢,并且需要更多的 CUDA 内存。
弱点
- 较大的模型需要大量的计算资源,但对于资源受限的环境,可以使用像 YOLOv8n 这样更小、更高效的变体。
理想用例
YOLOv8 的多功能性使其成为需要实时性能和高精度的应用的理想选择,例如:
性能与基准测试:YOLOv7 vs. YOLOv8
在性能对比时,YOLOv8 在其模型范围内都表现出明显的精度和效率优势。例如,YOLOv8x 模型实现了比 YOLOv7x 更高的 mAP,同时效率更高。较小的 YOLOv8 模型也为边缘部署提供了极佳的平衡。
模型 | 尺寸 (像素) |
mAPval 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
结论:您应该选择哪种模型?
虽然 YOLOv7 是一个强大的目标检测器,它突破了实时性能的界限,但 Ultralytics YOLOv8 对于绝大多数现代应用来说,代表了一个更引人注目的选择。
YOLOv8 的主要优势在于:
- 卓越的通用性: 对更广泛任务的原生支持使其成为复杂计算机视觉项目的一站式解决方案。
- 易用性: 简化的 API、广泛的文档以及与 Ultralytics 生态系统的集成显著降低了初学者和专家的入门门槛。
- Better Performance-Efficiency Trade-off(更好的性能-效率权衡): 对于给定的参数数量和计算成本,YOLOv8 模型通常提供更好的准确性,使其更适应不同的硬件约束。
- 积极开发和支持: 作为 Ultralytics 的旗舰模型,YOLOv8 受益于持续的更新、强大的社区和专业的支持,从而确保项目的长期可行性。
对于正在寻找强大、灵活且易于使用的框架的开发人员和研究人员来说,Ultralytics YOLOv8 是构建最先进的 AI 解决方案的推荐选择。
探索其他模型
为了进一步探索,请考虑以下涉及YOLOv7、YOLOv8和Ultralytics文档中其他相关模型的比较:
- YOLOv7 vs YOLOv5
- YOLOv8 vs. YOLOv5
- YOLOv8 vs. RT-DETR
- 探索像 YOLOv10 和 YOLO11 这样的最新模型。