模型对比:YOLOv8 vs YOLOv9 用于目标检测
选择合适的物体检测模型对于平衡准确性、速度和计算资源至关重要。本页详细比较了 Ultralytics YOLOv8 和 YOLOv9,这两个 YOLO 系列中的尖端模型。我们将分析它们的架构、性能和用例,以帮助您确定最适合您需求的模型,并强调为什么 YOLOv8 的多功能性和成熟的生态系统使其成为大多数应用的首选。
Ultralytics YOLOv8:精简且通用
Ultralytics YOLOv8是由Glenn Jocher、Ayush Chaurasia和Jing Qiu在Ultralytics开发的非常成功的模型,于2023年1月10日发布。它以其出色的速度和准确性平衡而闻名,旨在用户友好且异常通用。YOLOv8的一个主要优势是它支持超出目标检测的各种视觉任务,包括实例分割、姿势估计、图像分类和旋转边界框 (OBB),所有这些都在一个统一的框架内。
作者: Glenn Jocher、Ayush Chaurasia 和 Jing Qiu
组织: Ultralytics
日期: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
文档: https://docs.ultralytics.com/models/yolov8/
架构和主要特性
YOLOv8在前代YOLO版本的基础上进行了重大的架构改进,例如无anchor检测头和一个改进的、以C2f模块为特色的CSPDarknet骨干网络。这种设计选择增强了灵活性和效率。然而,它最大的优势在于其可用性和强大的生态系统。
- 易用性: YOLOv8 通过简单的 Python API 和 CLI 提供简化的用户体验,并由丰富的文档提供支持。这使得初学者和专家都可以轻松使用。
- 完善的生态系统: 它受益于持续的开发、强大的开源社区、频繁的更新以及与 Ultralytics HUB 的深度集成,从而实现无代码训练和 MLOps 工作流程。
- 性能平衡: 该模型系列在速度和准确性之间实现了强大的平衡,使其适用于从边缘设备到云服务器的各种实际部署场景。
- 内存效率: 与更大的架构(如 Transformer)相比,它通常需要更少的 CUDA 内存来进行训练和推理,从而可以在更广泛的硬件上进行开发。
- 通用性: 这是一个突出的特点。YOLOv8擅长在单个框架内处理多个视觉任务(检测、分割、分类、姿势估计、OBB),这是YOLOv9等更专业的模型通常缺乏的能力。
- 训练效率: 它具有高效的 训练流程,并且在 COCO 等数据集上可以轻松获得预训练权重,从而加速了开发周期。
优势与劣势
优势:
- 通用的任务支持: 可以训练单个模型架构来进行检测、分割、姿势估计等,从而简化了复杂的项目需求。
- 用户友好: 完善的文档和一个简单的 API 降低了开发高级计算机视觉解决方案的门槛。
- 强大的社区和生态系统:积极维护,并提供广泛的资源和集成,例如 TensorRT 和 OpenVINO,以进行优化部署。
弱点:
- 峰值精度: 虽然非常准确,但最大的YOLOv9模型可以在COCO基准测试中,针对纯目标检测实现稍高的mAP分数。
- 资源密集型(大型模型): 较大的YOLOv8模型(L、X)需要大量的计算资源,但对于它们的性能级别来说,仍然是高效的。
YOLOv9:通过新颖技术提高准确性
YOLOv9 由中国台湾中研院信息科学研究所的王建尧和廖弘源于 2024 年 2 月 21 日推出。它引入了重大的架构创新,旨在通过解决深度神经网络中的信息损失问题,从而突破实时目标检测的精度界限。
作者: Chien-Yao Wang, Hong-Yuan Mark Liao
机构: Institute of Information Science, Academia Sinica, Taiwan
日期: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
文档: https://docs.ultralytics.com/models/yolov9/
架构与关键创新
YOLOv9 的核心贡献是可编程梯度信息 (PGI) 和通用高效层聚合网络 (GELAN)。
- 可编程梯度信息(PGI): 此概念旨在缓解信息瓶颈问题,即重要数据在通过深度网络层传播时丢失。PGI有助于生成可靠的梯度,以维护关键信息,从而实现准确的模型更新。
- 广义高效层聚合网络 (GELAN): GELAN 是一种新颖的架构,可优化参数利用率和计算效率。与之前的一些模型相比,它使 YOLOv9 能够以更少的参数实现更高的精度。
优势与劣势
优势:
- 增强的准确性: 在实时目标检测器的 COCO数据集 上,创造了新的最先进的结果,超越了许多其他模型的mAP。
- 效率提升: GELAN 架构提供了强大的性能参数比。
弱点:
- 有限的通用性: YOLOv9主要专注于目标检测。它缺乏内置的、多任务支持的分割、姿势估计和分类功能,而这些功能使YOLOv8成为更灵活、更实用的综合人工智能解决方案。
- 训练资源: 正如其文档中所述,与 Ultralytics 模型相比,训练 YOLOv9 模型可能需要更多的资源和时间。
- 更新的架构: 作为一个来自不同研究团队的较新模型,与已建立的 Ultralytics YOLOv8 相比,其生态系统、社区支持和第三方集成不够成熟。这可能会导致更陡峭的学习曲线和更少的现成部署解决方案。
性能与基准测试:YOLOv8 vs. YOLOv9
在性能对比时,很明显两款模型都非常强大。YOLOv9 在纯检测精度方面有所突破,其最大的变体 YOLOv9e 实现了最高的 mAP。然而,Ultralytics YOLOv8 提供了更具吸引力的整体方案。它的模型在速度和精度之间实现了极佳的平衡,并在 CPU 和 GPU 上具有完善的推理速度文档,这对于实际部署决策至关重要。
模型 | 尺寸 (像素) |
mAPval 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
该表显示,虽然 YOLOv9 模型在参数效率方面表现出色,但 YOLOv8 提供了更完整的性能图,包括关键的 CPU 基准,证明了其对各种硬件环境的准备情况。
理想用例
YOLOv8 和 YOLOv9 之间的选择很大程度上取决于项目优先级。
YOLOv8 是以下各项的理想选择:
- 多任务应用: 需要结合检测、分割和姿势估计的项目,例如机器人技术、医疗保健或高级安全系统。
- 快速开发和部署: 需要快速从原型到生产的开发人员将从 YOLOv8 的易用性、广泛的文档和集成的生态系统中受益匪浅。
- Balanced Performance Needs(平衡性能需求): 在速度和准确性之间取得良好平衡比获得绝对最高的 mAP 分数更重要的应用,例如用于零售业或制造业的实时视频分析。
YOLOv9 最适合以下应用:
- 研究和专业高精度检测: 主要目标是在 COCO 等基准测试中最大化目标检测精度的场景。
- 高精度工业检测: 适用于主要关注以尽可能高的精度检测最小缺陷的应用。
- 高级视频分析: 应用于需要顶级检测且系统可以适应其特定依赖项的 智慧城市 基础设施中。
结论:您应该选择哪种模型?
对于绝大多数开发人员和应用来说,Ultralytics YOLOv8 是更优越的选择。其无与伦比的多功能性、易用性和成熟、维护良好的生态系统提供了优于 YOLOv9 的显着优势。在一个框架内处理多个任务的能力不仅简化了开发,还降低了生产中的复杂性和成本。虽然 YOLOv9 在目标检测方面提供了令人印象深刻的精度提升,但其狭窄的重点和欠发达的生态系统使其成为一种更专业的工具。
YOLOv8 是一种整体解决方案,使开发人员能够高效地构建稳健、多方面的 AI 系统。对于那些寻求可靠、高性能和灵活模型的用户来说,YOLOv8 显然是赢家。如果您正在寻找更成熟的模型,请考虑 YOLOv5,或者要了解 Ultralytics 的最新前沿技术,请查看 YOLO11。