YOLOv8 vs. EfficientDet:深入了解物体检测架构
在快速发展的计算机视觉领域,选择正确的物体检测模型对于构建成功的人工智能应用至关重要。在各自的时代,有两种杰出的架构定义了最先进的技术,它们是 YOLOv8和Google Ultralytics 的EfficientDet。本比较探讨了这两种模型的技术细节、性能指标和理想用例,帮助开发人员和研究人员为他们的项目做出明智的决定。
EfficientDet 一经推出,就在模型扩展和效率方面引入了开创性的概念、 Ultralytics YOLOv8代表了更现代化的发展,优先考虑实时推理速度、易用性和实际部署能力。
性能正面交锋:速度、精度和效率
YOLOv8 和 EfficientDet 之间的比较凸显了设计理念的根本转变。EfficientDet 非常注重最小化 FLOPs(浮点运算)和参数数量,理论上使其具有很高的效率。相比之下,YOLOv8 的设计旨在最大限度地提高现代硬件的吞吐量,利用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 |
| 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 |
基准的主要启示
- GPU 延迟优势: YOLOv8 模型在GPU 硬件上的运行速度明显更快。例如 YOLOv8x实现了比EfficientDet-d7(53.7) 更高的mAP (53.9),同时在 T4GPU 上的运行速度快了约9 倍(14.37ms 对 128.07ms)。这使得YOLOv8 成为实时推理应用的首选。
- 精度与参数:EfficientDet 以其参数效率而闻名,而YOLOv8 则以更易于优化的模型提供了具有竞争力的准确性。尽管 FLOPs 不同,YOLOv8m 的准确度(50.2 对 49.7mAP)和推理速度都大大优于 EfficientDet-d4。
- 架构效率:EfficientDet 的 FLOP 数较低,但并不总能转化为较低的延迟,尤其是在 GPU 上,内存访问成本和并行性比原始操作数更重要。YOLOv8 的架构专为最大限度地提高硬件利用率而量身定制。
硬件优化
始终在目标硬件上对模型进行基准测试。理论 FLOPs 是复杂性的有效代表,但往往无法预测 GPU 或 NPU 上的实际延迟,因为在 GPU 或 NPU 上,内存带宽和并行化能力发挥着更大的作用。使用YOLO 基准模式测试特定设置的性能。
Ultralytics YOLOv8 概览
YOLOv8 是Ultralytics 发布的YOLO (只看一次)系列的最新版本,旨在成为对象检测、实例分割和图像分类的统一框架。
- 作者: Glenn Jocher、Ayush Chaurasia 和 Jing Qiu
- 组织机构Ultralytics
- 日期: 2023 年 1 月 10 日日期: 2023 年 1 月 10 日
- GitHub:ultralytics
YOLOv8 引入了关键的架构改进,包括无锚检测头,它简化了训练过程,提高了对不同物体形状的泛化能力。它还采用了新的骨干网络和路径聚合网络(PAN-FPN),旨在实现更丰富的特征集成。
YOLOv8 的优势
- 最先进的性能:在速度和准确性之间实现了出色的平衡,为COCO 数据集设定了基准。
- 开发人员友好型生态系统 字段
ultralyticspython 软件包提供了一个精简的应用程序接口,可统一培训、验证和部署。 - 多功能性:在单个软件包内支持多项任务(检测、分割、姿势估计、旋转框检测、分类)。
- 训练效率:利用 Mosaic 增强等技术,YOLOv8 模型的收敛速度更快,通常需要更少的训练数据就能达到很高的精度。
Google 效能数据概览
Google 大脑团队开发的 EfficientDet 是一系列物体检测模型,它将复合缩放的概念引入了物体检测。它能同时扩展网络的分辨率、深度和宽度,以达到最佳性能。
- 作者: Mingxing Tan、Ruoming Pang 和 Quoc V. Le
- 组织机构Google 研究院
- 日期2019 年 11 月 20 日
- ArXiv:EfficientDet:可扩展的高效物体检测
EfficientDet 建立在EfficientNet骨干之上,并引入了BiFPN(双向特征金字塔网络),可轻松快速地进行多尺度特征融合。
EfficientDet 的优势
- 参数效率:以相对较少的参数和 FLOP 实现高精度。
- 可扩展性: 字段
d0到d7缩放法提供了一种系统化的方法来权衡资源与精度。 - BiFPN:创新的特征金字塔网络可有效融合不同分辨率的特征。
建筑比较
YOLOv8 和 EfficientDet 在架构上的差异决定了它们的性能特点和对不同任务的适用性。
骨干和功能融合
- YOLOv8使用修改过的 CSPDarknet 主干网和C2f 模块,该模块取代了 YOLOv5.这种设计改进了梯度流,并针对GPU 并行性进行了高度优化。
- EfficientDet采用的是EfficientNet主干网与BiFPN 的结合。BiFPN 使用可学习的权重来融合不同层次的特征,理论上是高效的,但涉及复杂、不规则的内存访问模式,会降低 GPU 的推理速度。
检测头
- YOLOv8YOLOv8 采用去耦合头架构,将对象性、分类和回归任务分离开来。最重要的是,它无需锚点,可直接预测对象中心。这样就无需手动调整锚点盒,并减少了超参数的数量。
- EfficientDet采用基于锚点的方法。基于锚点的方法虽然有效,但通常需要针对特定数据集仔细校准锚点尺寸和纵横比,从而增加了训练管道的复杂性。
易用性和生态系统
最重要的区别之一是围绕模型的生态系统。Ultralytics 非常注重人工智能的民主化,确保初学者和专家都能使用YOLOv8 。
Ultralytics 体验
Ultralytics Python API使用户只需几行代码就能加载、训练和部署模型。该生态系统包括与以下工具的无缝集成 Weights & Biases等工具的无缝集成。 Roboflow等工具的无缝集成。
from ultralytics import YOLO
# Load a YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
相比之下,EfficientDet 通常出现在面向研究的资源库中(如TensorFlow 的原始实现)。虽然功能强大,但这些实现通常需要更多的模板代码、复杂的配置文件以及对底层框架TensorFlow)的深入了解,才能在自定义数据集上进行训练。
出口能力
Ultralytics 模型支持一键导出为多种格式,包括 ONNX, TensorRT、CoreML 和TFLite 等多种格式。这种灵活性对于将模型部署到从云服务器到Raspberry Pi边缘设备等各种环境至关重要。
理想用例
何时选择YOLOv8
YOLOv8 兼顾速度和精度,是当今绝大多数计算机视觉应用的推荐选择。
- 实时应用:对延迟要求极高的自动驾驶、视频监控和机器人技术。
- 边缘部署:在NVIDIA Jetson、移动设备或边缘计算单元上运行,效率和速度至关重要。
- 快速原型开发:当您需要使用可靠、文档齐全的框架快速从数据集到部署模型时。
- 多任务要求:如果您的项目涉及细分或姿势估计 ,YOLOv8 可直接处理这些问题。
何时选择 EfficientDet
EfficientDet 仍然适用于特殊情况,特别是在学术研究或CPU 高度受限的环境中。
- 理论研究:研究高效网络架构和扩展规律。
- 特定的低功耗 CPU:在某些情况下,对于资源极其有限的 CPU 来说,低 FLOP 计数可能会带来更好的电池续航时间,但建议进行基准测试。
结论
EfficientDet 是高效神经网络设计领域的一项里程碑式的成就、 YOLOv8和更新的 YOLO11为现代人工智能开发提供了一个卓越的软件包。YOLOv8 的无锚架构、GPU设计和强大的Ultralytics 生态系统在开发速度、推理延迟和部署灵活性方面具有显著优势。
对于希望构建既快速又准确的先进计算机视觉解决方案的开发人员来说,Ultralytics YOLO 模型是不二之选。
探索其他模型
如果您有兴趣将这些架构与其他型号进行比较,请查看这些页面: