YOLOv5 vs. YOLOv8:详细对比
比较 Ultralytics YOLOv5 和 Ultralytics YOLOv8 的目标检测能力,揭示了每种模型的重大进步和独特优势。这两种模型均由 Ultralytics 开发,以其速度和准确性而闻名,但满足计算机视觉领域中不同的用户需求和优先级。本页提供了技术比较,以帮助用户根据其项目需求做出明智的决策,并突出显示 Ultralytics 生态系统的优势。
YOLOv5:已建立且通用的标准
作者: Glenn Jocher
组织: Ultralytics
日期: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
文档: https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5 发布后迅速成为行业标准,因其在速度、准确性和易用性之间实现了出色的平衡而备受赞誉。YOLOv5 完全基于 PyTorch 构建,具有强大的架构,采用 CSPDarknet53 主干网络和 PANet 颈部网络,可实现高效的特征聚合。其基于 Anchor 的检测头非常有效,并且该模型提供多种尺寸(n、s、m、l、x),使开发人员能够根据其特定的性能和计算需求选择最佳的权衡方案。
优势
- 卓越的速度和效率: YOLOv5 针对快速推理进行了高度优化,使其成为从强大的服务器到资源受限的 边缘设备 的各种硬件上实时应用的首选。
- 易用性: YOLOv5 以其简化的用户体验而闻名,提供简单的 Python 和 CLI 接口,并有广泛的文档支持。
- 成熟且维护良好的生态系统: 作为一个长期存在的模型,它受益于庞大而活跃的社区、频繁的更新以及与 Ultralytics 生态系统的无缝集成,包括用于无代码训练的 Ultralytics HUB 等工具。
- 训练效率: YOLOv5 提供高效的训练流程,并提供随时可用的预训练权重,从而实现快速的开发周期。与诸如 transformers 之类的更复杂的架构相比,它通常需要更少的训练和推理内存。
弱点
- 基于 Anchor 的检测: 与现代的 无 anchor 检测器 不同,它对预定义 anchor 框的依赖有时可能需要手动调整,以便在具有不规则形状对象的数据集上获得最佳性能。
- 准确率: 虽然高度准确,但像YOLOv8这样的较新模型已经超越了其在COCO数据集等标准基准测试中的性能。
理想用例
YOLOv5 的速度和效率使其非常适合:
- 实时视频监控 和 安全系统。
- 边缘设备部署,例如 NVIDIA Jetson 和 树莓派 (Raspberry Pi)。
- 工业自动化和制造业中的质量控制。
- 由于其简单性和快速的训练时间,可为计算机视觉项目进行快速原型设计。
YOLOv8:下一代、最先进的框架
作者: Glenn Jocher, Ayush Chaurasia, 和 Jing Qiu
机构: Ultralytics
日期: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
文档: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8 代表了 YOLO 系列的下一次进化,它被设计为一个统一的框架,支持全方位的视觉 AI 任务。除了目标检测之外,它还在实例分割、图像分类、姿势估计和定向目标检测方面表现出色。YOLOv8 引入了关键的架构改进,例如无锚框检测头和新的 C2f 模块,以提供最先进的性能。
优势
- 更高的准确性和速度: YOLOv8 提供了卓越的速度和准确性平衡,在所有模型尺寸上均实现了比 YOLOv5 更高的 mAP 分数,同时保持了具有竞争力的推理速度。
- 多功能性: 它在单个有凝聚力的框架内支持多个视觉任务,使其成为开发复杂 AI 系统的一个非常强大和灵活的工具。
- 现代架构: 无锚框检测头简化了输出层,并通过消除对锚框调整的需求来提高性能。
- 完善的维护生态系统: 作为旗舰模型,YOLOv8 受益于积极的开发、频繁的更新和强大的社区支持。它已完全集成到 Ultralytics 生态系统中,包括用于简化 MLOps 的 Ultralytics HUB 平台。
- 内存效率: 尽管 YOLOv8 具有先进的架构,但它经过优化以实现低内存使用率,从而可以在各种硬件上访问。
弱点
- 计算需求: 最大的 YOLOv8 模型(例如 YOLOv8x)需要大量的计算资源,这可能是在高度受限的环境中部署时需要考虑的因素。
理想用例
对于需要最高精度和灵活性的应用,建议选择 YOLOv8:
- 高级机器人技术 需要复杂的场景理解和多物体交互。
- 高分辨率图像分析,适用于医学或卫星图像,其中精细的细节至关重要。
- 需要同时执行检测、分割和姿势估计的多任务视觉系统。
- 以最新项目开始,其中使用最新的最先进模型是首要任务。
性能基准测试:YOLOv5 vs. YOLOv8
当比较 YOLOv5 和 YOLOv8 在 COCO 数据集上的指标时,性能差异显而易见。总的来说,YOLOv8 模型在相似数量的参数和计算成本 (FLOPs) 下表现出更高的准确性 (mAP)。例如,YOLOv8n 实现了 37.3 的 mAP,几乎与 YOLOv5s (37.4 mAP) 相匹配,但参数减少了 68%,并且 CPU 推理速度明显更快。
然而,YOLOv5 仍然是一个强大的竞争者,尤其是在原始 GPU 速度是首要任务的情况下。例如,YOLOv5n 模型在 T4 GPU 上拥有最快的推理时间。这使其成为在优化硬件上运行的实时应用的绝佳选择。
模型 | 尺寸 (像素) |
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 |
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 |
主要架构差异
从 YOLOv5 到 YOLOv8 的演变引入了几个重要的架构变化,这些变化有助于其卓越的性能和灵活性。
主干网络和颈部网络
YOLOv5 在其主干网络和 neck 中使用 C3 模块。相比之下,YOLOv8 用 C2f 模块替换了它。C2f(具有 2 个卷积的 Cross Stage Partial BottleNeck)模块提供更有效的特征融合和更丰富的梯度流,从而提高了模型的整体准确性。
检测头
一个主要的区别在于检测头。YOLOv5 采用耦合的、基于锚框的头,这意味着同一组特征用于物体分类和边界框回归。YOLOv8 利用解耦的、无锚框头。这种任务分离(一个头用于分类,另一个用于回归)允许每个头专门化,从而提高准确性。无锚框方法还简化了训练过程,并消除了调整锚框先验的需要,使模型更适应不同的数据集。
训练方法与生态系统
YOLOv5 和 YOLOv8 均基于 PyTorch 构建,并利用 Ultralytics 精简的训练管道,从而提供一致且用户友好的体验。
- 易用性: 这两种模型都可以使用提供的 CLI 或 Python 接口轻松训练,只需最少的设置。全面的文档(YOLOv5 文档,YOLOv8 文档)和简单的 API 使自定义训练变得简单直接。
- 高效训练: 优化的训练脚本和现成的预训练权重可显着减少训练时间和计算成本。
- 数据增强: 两种模型都包含一套强大的内置数据增强技术,以提高模型泛化能力并减少过拟合。
- Ultralytics 生态系统: 与诸如 Ultralytics HUB 和日志记录平台(如 TensorBoard 和 Comet)之类的工具集成,可简化实验跟踪、模型管理和部署。
结论:您应该选择哪种模型?
YOLOv5 和 YOLOv8 都是由 Ultralytics 开发的强大目标检测模型,具有出色的性能和易用性。它们之间的选择主要取决于您的具体项目需求。
-
YOLOv5 仍然是一个强大而可靠的竞争者,尤其是在最大化特定硬件上的推理速度至关重要的应用中。它的成熟意味着它拥有庞大的生态系统,并且在无数的实际部署中经过了实战检验。对于资源预算紧张或需要在边缘设备上快速部署的项目来说,这是一个极好的选择。
-
YOLOv8 代表了 YOLO 系列的尖端技术,它提供了卓越的准确性、增强的跨多个视觉任务的通用性以及更现代的架构。其无锚框设计和高级功能使其成为寻求最先进性能和处理复杂、多方面 AI 挑战的灵活性的新项目的理想选择。
Ultralytics 不断进行创新,确保两个模型都得到良好的支持,易于使用,并且在适用于多种实际应用场景的速度和精度之间提供了很好的平衡。
探索其他 Ultralytics 模型
对于正在探索其他最先进选项的用户,Ultralytics 还提供诸如 YOLOv9、YOLOv10 和最新的 YOLO11 等模型,每种模型都在性能和效率方面提供独特的优势。更多比较可在 Ultralytics 文档 中找到。