EfficientDet 与 YOLOv8:技术对比
选择合适的物体检测模型是一个至关重要的决定,它需要在准确性、速度和计算成本之间取得平衡。本页面提供了两种有影响力的架构之间的详细技术比较:由 Google 开发的 EfficientDet 和 Ultralytics YOLOv8,一种来自 Ultralytics 的最先进的模型。虽然 EfficientDet 以其参数和计算效率而闻名,但 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 团队推出,主要目标是创建高效且可扩展的目标检测器系列。其核心创新在于其架构和缩放方法。
架构和主要特性
EfficientDet 的设计主要围绕两个组成部分:
- BiFPN (Bi-directional Feature Pyramid Network)(双向特征金字塔网络): 与传统的自上而下的 FPN 不同,BiFPN 通过引入可学习的权重来理解不同输入特征的重要性并应用自上而下和自下而上的连接,从而可以轻松快速地进行多尺度特征融合。
- 复合缩放 (Compound Scaling): EfficientDet 使用单个复合系数来统一缩放骨干网络、特征网络以及框/类别预测网络的深度、宽度和分辨率。这确保了在整个模型中实现资源的均衡分配。
该架构使用 EfficientNet 作为其 主干网络,该网络已经针对准确性和 FLOP 效率进行了优化。这种组合产生了一系列模型(D0 到 D7),可以根据各种计算预算进行定制。
优势
- 高效性: EfficientDet 模型旨在最大限度地减少参数数量和 FLOPs,从而在给定准确率水平下,在计算资源方面非常高效。
- 可扩展性: 复合缩放方法提供了一条清晰的向上或向下扩展模型的路径,使开发人员可以选择适合其特定硬件限制的变体。
- 强大的精度:实现具有竞争力的 mAP 分数,尤其是在与具有相似参数计数的模型进行评估时。
弱点
- 推理速度: 虽然 EfficientDet 在 FLOP 方面效率很高,但与 YOLOv8 等模型相比,通常具有更高的推理延迟,尤其是在 GPU 硬件上。这使其不太适合需要真正的实时推理的应用。
- 多功能性有限:EfficientDet 主要设计用于目标检测。它缺乏对其他视觉任务(如分割或姿势估计)的内置支持,而这些是 YOLOv8 框架本身就具备的。
- 生态系统与可用性: 最初的实现是在TensorFlow中,虽然存在PyTorch端口,但它没有像Ultralytics生态系统那样具有相同水平的集成工具、文档和活跃的社区支持。
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系列中的最新迭代版本,它建立在多年的研究和开发之上,以提供一种快速、准确且非常易于使用的模型。它代表了在性能和框架设计方面的重大飞跃。
架构和主要特性
YOLOv8 引入了几项架构改进,包括一个新的无锚框检测头和一个新的基于 CSP 的骨干网络,称为 C2f。这些更改减少了参数数量,同时保持了高精度并实现了更快的推理。该模型从头开始设计,是一个用于各种计算机视觉任务的综合平台。
优势
- 卓越的性能平衡: YOLOv8 在速度和准确性之间实现了出色的权衡,使其成为不能在性能上妥协的实时应用的首选。如下表所示,YOLOv8 模型在 GPU 上始终提供更低的延迟。
- 无与伦比的多功能性:与单任务模型不同,YOLOv8 是一个多任务框架,它在一个统一的架构中原生支持目标检测、实例分割、图像分类、姿势估计和目标跟踪。
- 易用性: YOLOv8 由强大的 Ultralytics 生态系统支持,该生态系统包括简化的 Python API 和 CLI、丰富的文档以及直接的用户体验。
- 完善的生态系统: 用户受益于积极的开发、强大的开源社区、频繁的更新以及与 Ultralytics HUB 等工具的无缝集成,以实现无代码训练和部署。
- 训练效率: YOLOv8 具有高效的训练流程,并提供在 COCO 等数据集上随时可用的预训练权重,并且通常比更复杂的架构需要更少的 CUDA 内存。
- 部署灵活性: 该框架经过高度优化,可以导出为各种格式,如 ONNX 和 TensorRT,从而简化了从 边缘设备到云服务器的各种硬件上的部署。
弱点
- FLOPs 与延迟: 虽然在实践中非常快,但 YOLOv8 在相似的 mAP 水平下可能具有比 EfficientDet 模型更高的 FLOPs。但是,它的架构针对现代 GPU 硬件进行了更好的优化,从而降低了实际延迟。
性能分析:准确率 vs. 速度
当分析 EfficientDet 和 YOLOv8 的性能指标时,它们之间的关键差异变得清晰。EfficientDet 旨在优化每 FLOP 的准确率,而 YOLOv8 则针对实际硬件上的高吞吐量和低延迟进行了优化。
模型 | 尺寸 (像素) |
mAPval 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
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 |
从表中,我们可以得出以下几个结论:
- 准确率: YOLOv8x实现了最高的mAP,为53.9,略微优于最大的EfficientDet-d7模型。
- 速度: YOLOv8 模型在 GPU (T4 TensorRT10) 上明显更快,其中 YOLOv8n 比 EfficientDet-d0 快 2.5 倍以上。这种速度优势适用于所有模型尺寸,使 YOLOv8 成为实时应用的明显赢家。
- 效率: EfficientDet 在其较小模型的 FLOPs 和 CPU 速度方面表现出色。例如,EfficientDet-d0 具有最低的 FLOPs 和最快的 CPU 推理时间。但是,YOLOv8n 具有更少的参数,使其非常轻巧。
结论:您应该选择哪种模型?
EfficientDet 仍然是一种强大且相关的架构,尤其是在计算资源 (FLOPs) 和模型大小是最关键的约束条件的应用中。其可扩展的设计提供了一种在处理能力有限的设备上平衡准确性和效率的绝佳方法。
然而,对于绝大多数现代计算机视觉应用来说,Ultralytics YOLOv8是更优的选择。它提供了一个更好的整体方案:最先进的准确性、极快的推理速度和无与伦比的多功能性。在一个易于使用的框架中处理检测、分割、姿势等任务的能力,极大地简化了开发和部署。维护良好的生态系统、广泛的文档和活跃的社区提供了一定程度的支持,可以加速从概念到生产的任何项目。
对于寻求强大、高性能和面向未来的解决方案的开发者来说,YOLOv8 是明确的推荐选择。对于那些寻求绝对最新性能的开发者来说,像 YOLO11 这样较新的 Ultralytics 模型甚至进一步突破了界限。
探索其他模型
要继续您的研究,请考虑探索其他涉及 EfficientDet、YOLOv8 和其他领先架构的模型比较:
- EfficientDet 与 YOLOv7
- YOLOv8 vs. YOLOv7
- RT-DETR vs. YOLOv8
- EfficientDet 与 YOLOv5
- YOLOv8 vs. YOLOv9
- 探索像 YOLOv10 和 YOLO11 这样的最新模型。