YOLOv8 vs. EfficientDet:技术对比
选择正确的目标检测模型需要在准确性、速度和计算成本之间进行权衡。本页面提供了两种有影响力的架构之间的详细技术比较:Ultralytics YOLOv8(一种以其速度和多功能性而闻名的最先进模型)和 EfficientDet(Google 的一系列旨在实现卓越参数效率的模型)。虽然两者都很强大,但它们源于不同的设计理念,因此适用于不同的应用。
Ultralytics 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 版本的成功之上。通过引入关键的架构改进,它已将自己确立为一个高度通用且功能强大的框架。这些改进包括新的 CSPDarknet 主干网络、用于增强特征融合的 C2f 颈部网络以及无 Anchor 的解耦头。这种设计不仅提高了性能,而且还在各种计算机视觉任务中提供了灵活性。
YOLOv8 的优势
- 性能平衡: YOLOv8 在推理速度和准确性之间实现了出色的平衡,使其适用于各种实际部署,从 边缘设备 到强大的云服务器。
- 多功能性: YOLOv8 的一个主要优势是它在一个统一的框架内原生支持多种视觉任务。这包括目标检测、实例分割、图像分类、姿势估计和旋转框检测 (OBB)。
- 易用性: 该模型是优先考虑用户体验的维护良好的生态系统的一部分。它提供简化的 Python API 和简单的 CLI,并有广泛的文档和大量教程支持。
- 训练效率: YOLOv8 具有高效的训练流程,并提供随时可用的预训练权重,从而简化了自定义模型的开发。与更复杂的架构相比,它通常需要更少的 CUDA 内存来进行训练。
- 完善的生态系统: 用户受益于持续的开发、强大的开源社区、频繁的更新以及与 Ultralytics HUB 等工具的无缝集成,以实现端到端的 MLOps 工作流程。
YOLOv8 的弱点
- 像 YOLOv8x 这样的大型模型需要大量的计算资源来进行训练和部署。
- 可能需要进一步优化,例如量化,才能部署在资源极其受限的硬件上。
YOLOv8 的理想用例
YOLOv8 非常适合需要高精度和实时性能的应用,例如高级机器人技术、智能安全系统和智慧城市基础设施。它的多功能性也使其成为可能扩展到包括简单目标检测之外的其他视觉任务的项目的首选。
EfficientDet:可扩展性和效率
作者: Mingxing Tan, Ruoming Pang, 和 Quoc V. Le
机构: Google
日期: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https://github.com/google/automl/tree/master/efficientdet
文档: https://github.com/google/automl/tree/master/efficientdet#readme
EfficientDet 是 Google Brain 团队推出的一系列对象检测模型。它的主要创新是专注于效率和可扩展性。该架构使用 EfficientNet 骨干网络、用于有效多尺度特征融合的新型双向特征金字塔网络 (BiFPN) 和复合缩放方法。此方法统一缩放骨干网络、特征网络和预测头的深度、宽度和分辨率,从而可以根据不同的资源约束定制模型。
EfficientDet 的优势
- 高效性: EfficientDet 旨在最大限度地减少参数数量和 FLOPs,同时最大限度地提高准确率,使其成为当时计算效率最高的架构之一。
- 可扩展性: 复合缩放方法提供了一系列模型(D0到D7),可以根据可用的计算预算进行选择,从移动设备到大型云服务器。
- 准确率: 较大的EfficientDet模型在COCO数据集等标准基准测试中实现了具有竞争力的准确率。
EfficientDet 的弱点
- 推理速度: 虽然 EfficientDet 在 FLOPs 方面效率很高,但与像 YOLOv8 这样为并行处理高度优化的架构相比,它并不总能转化为最快的实际推理速度,尤其是在 GPU 上。
- 有限的多功能性: EfficientDet 主要是一个目标检测模型,缺乏对 Ultralytics 框架中其他任务(如分割或姿势估计)的内置支持。
- 生态系统与维护: 官方仓库不像 Ultralytics 生态系统那样积极维护新功能和集成,这可能会使开发人员更难采用和部署。
EfficientDet 的理想用例
EfficientDet 在参数数量和理论计算成本 (FLOP) 是最关键约束的场景中表现出色。对于模型尺寸受到严格限制的某些 边缘 AI 设备或最大限度地降低计算成本是首要任务的云环境中的应用来说,它是一个强大的选择。
性能正面交锋:速度、精度和效率
在比较YOLOv8和EfficientDet时,很明显它们针对不同的目标进行了优化。YOLOv8优先考虑实际推理速度和准确性之间的卓越平衡,而EfficientDet则侧重于最小化模型参数和FLOPs。
模型 | 尺寸 (像素) |
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 |
EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
从表中,我们可以观察到:
- 精度与参数: YOLOv8 模型始终以相似甚至更多的参数数量实现比 EfficientDet 模型更高的 mAP 分数。例如,YOLOv8s(11.2M 参数)实现了 44.9 mAP,优于 EfficientDet-d2(8.1M 参数)的 43.0 mAP。
- 推理速度: YOLOv8 在推理速度方面表现出显著优势,尤其是在使用 TensorRT 优化的 GPU 上。尽管 YOLOv8x 模型具有更多参数,但在 T4 GPU 上,其速度是同类 EfficientDet-d7 模型的 8 倍以上。YOLOv8 还显示出更快的 CPU 推理速度。
- 效率权衡: 虽然 EfficientDet 模型的 FLOPs 较低,但这并不直接转化为更快的推理速度。YOLOv8 的架构更适合现代硬件加速,从而在实际场景中实现更低的延迟。
为什么选择 Ultralytics YOLO 模型?
虽然 EfficientDet 在当时是一个突破性的模型,但像 YOLOv8 和最新的 YOLO11 这样的新型 Ultralytics YOLO 模型为现代开发人员和研究人员提供了显著的优势:
- 卓越的性能: Ultralytics模型在速度和精度之间提供了更好的平衡,这对于实时推理至关重要。
- 现代架构: 它们融合了深度学习领域的最新进展,例如无锚框检测和先进的特征融合网络。
- 综合生态系统 (Comprehensive Ecosystem): Ultralytics 生态系统提供从训练到部署的无缝体验,并提供广泛的支持、文档和集成。
- 多任务能力: 在一个框架内处理检测、分割等任务的能力节省了开发时间并降低了复杂性。
结论
EfficientDet 仍然是一种值得关注的架构,特别是其在模型缩放和效率方面的创新方法。对于将最小化参数数量和 FLOPs 作为绝对最高优先级的应用来说,它是一个可靠的选择。
然而,对于绝大多数现代计算机视觉应用来说,YOLOv8提供了一个更具吸引力的选择。它提供了卓越的速度、更高的准确性和无与伦比的通用性。结合用户友好且积极维护的Ultralytics生态系统,YOLOv8使开发者能够更快、更有效地构建和部署高性能AI解决方案。对于那些寻求最先进和易于使用的解决方案的人来说,Ultralytics模型是推荐的选择。
其他模型对比
为了进一步探索,请考虑以下涉及YOLOv8、EfficientDet和其他相关模型的比较:
- YOLOv8 vs. YOLOv7
- EfficientDet 与 YOLOv7
- YOLOv8 vs. YOLOv5
- EfficientDet 与 YOLOv5
- RT-DETR vs. YOLOv8
- RT-DETR vs. EfficientDet
- 探索像 YOLOv10 和 YOLO11 这样的最新模型。