Ultralytics YOLO27: 加入候补名单。
Get Started

YOLOv8 与 EfficientDet#

在快速发展的目标检测领域,选择合适的神经网络架构对于平衡准确率、推理速度和部署可行性至关重要。本文从技术角度比较两种有影响力的架构:Ultralytics YOLOv8,现代计算机视觉生态系统中的多用途标准模型;以及 EfficientDet,Google 推出的基础模型,以复合缩放策略而闻名。

无论你的部署目标是高性能云服务器,还是资源受限的边缘设备,了解这些模型之间的架构差异都能帮助你做出合适的选择。

架构概览#

这两个模型都通过卷积神经网络来识别和定位图像中的对象,但它们采用了不同的方法来提取特征和回归边界框。

Ultralytics YOLOv8#

YOLOv8 于 2023 年 1 月由 Ultralytics 发布,是 YOLO 系列向前迈出的重要一步。它由 Glenn Jocher、Ayush Chaurasia 和 Jing Qiu 编写,从一开始就支持多种视觉任务,包括目标检测、实例分割、图像分类和姿势估计。

该架构引入了无锚框检测头,可减少边界框预测数量并加快非极大值抑制 (NMS) 的处理速度。其主干网络采用 C2f 模块(带两个卷积的跨阶段局部瓶颈),在保持轻量化的同时改善训练期间的梯度流。因此,YOLOv8 编译为 NVIDIA TensorRT 或 ONNX 等格式时效率很高。

EfficientDet#

EfficientDet 由 Google 的 Mingxing Tan、Ruoming Pang 和 Quoc V. Le 编写,于 2019 年底发布,专注于可扩展的效率。该模型在其官方 arXiv 论文中进行了介绍,并以 Google 的 AutoML 研究为基础。

EfficientDet 的标志性特点是其双向特征金字塔网络 (BiFPN),可轻松快速地融合多尺度特征。结合 EfficientNet 主干网络后,该架构采用复合缩放方法,同时对主干网络、特征网络和边界框/类别预测网络的分辨率、深度和宽度进行统一缩放。虽然这使其参数效率出色,但复杂的网络拓扑结构在 GPU 上的运行速度往往比其较低的 FLOP 数所暗示的更慢。

了解 EfficientDet 的更多信息

性能与指标对比#

比较目标检测器时,平均精度均值 (mAP)和推理延迟是主要基准。下表展示了 YOLOv8 各变体与 EfficientDet(d0-d7)系列在COCO数据集上的标准指标表现。

模型尺寸
(像素)
mAPval50-95速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
EfficientDet-d051234.6-3.923.92.54
EfficientDet-d164040.5-7.316.66.1
EfficientDet-d276843.0-10.928.111.0
EfficientDet-d389647.5-19.5912.024.9
EfficientDet-d4102449.7-33.5520.755.2
EfficientDet-d5128051.5-67.8633.7130.0
EfficientDet-d6128052.6-89.2951.9226.0
EfficientDet-d7153653.7-128.0751.9325.0
性能平衡分析

虽然 EfficientDet 以更少的 FLOPs 实现了有竞争力的精度,但 Ultralytics YOLOv8 在 GPU 上快得多。例如,YOLOv8x 的 mAP 略高于 EfficientDet-d7(53.9 对 53.7),但在 T4 GPU 上的运行速度约快 9 倍(14.37 毫秒对 128.07 毫秒),因此 YOLOv8 是实时视频分析的理想选择。

训练方法与生态系统#

开发者体验是选择机器学习架构时的重要因素,而这两种模型在社区支持和生态系统工具方面差异显著。

EfficientDet 高度依赖 TensorFlow 和专门的 AutoML 流水线。虽然它适用于大规模分布式云训练,但配置环境、调整锚框以及解析 EfficientDet GitHub 仓库中的密集配置文件,都需要投入大量精力。

相比之下,Ultralytics YOLOv8 原生基于 PyTorch 构建,设计上易于使用。开发者只需一行 Python 代码或一条 CLI 命令即可开始训练。训练过程也针对内存使用进行了优化,因此使用普通消费级 GPU 的开发者也能训练出能力出色的模型,并减少基于 Transformer 的大型架构经常导致的内存不足 (OOM) 错误。

Ultralytics Platform 提供无需编写代码的界面,可用于数据集标注、模型训练和云端部署;内置的超参数调优则有助于优化模型在自定义数据集上的准确率。

Python 代码示例:YOLOv8 推理#

使用 Ultralytics GitHub 仓库训练和运行 YOLOv8,只需几行代码:

from ultralytics import YOLO

# 在 PyTorch 中原生初始化 YOLOv8 模型
model = YOLO("yolov8n.pt")

# 使用 COCO8 示例数据集训练模型
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# 对图像 URL 快速执行推理
inference_results = model("https://ultralytics.com/images/bus.jpg")

# 显示边界框
inference_results[0].show()

新一代模型:升级到 Ultralytics YOLO26#

虽然 YOLOv8 仍是能力出色的生产级模型,但启动新项目的开发者应评估 Ultralytics YOLO26。它于 2026 年 1 月发布,目前是 Ultralytics 推荐的模型。

YOLO26 引入了原生的端到端无 NMS 设计。其可选的一对一检测头(nms=False)省去了 NMS 后处理这一自早期 YOLO 版本便一直使用的步骤,从而降低延迟波动并简化低功耗设备上的部署。

YOLO26 还带来了多项训练和架构改进:

  • MuSGD 优化器:受 LLM 训练技术启发,这种 SGD 与 Muon 的混合优化器可实现稳定训练并加快收敛。
  • CPU 推理速度最多提升 43%:移除 NMS 和 DFL 后,YOLO26n 的 CPU ONNX 推理速度比 YOLO11n 最多快 43%,适合没有专用 NPU 的纯 CPU 边缘设备。
  • ProgLoss + STAL:渐进式损失和小目标感知标签分配 (STAL) 可提升小目标检测效果,适用于航拍图像和 IoT 摄像头应用。
  • 移除 DFL:移除分布焦点损失可简化模型导出为 OpenVINO 和 CoreML 等格式的流程。

用例与建议#

最终选择哪种架构,取决于你的部署约束和旧版系统要求。

  • 适合选择 Ultralytics YOLOv8 的情况:你正在构建需要高准确率、实时 GPU 推理和简单开发体验的多用途计算机视觉应用。它在检测、分割和分类任务中表现出色,因此适用于零售分析、机器人和安防系统。
  • 选择 EfficientDet 的情况:你的工作流受限于旧版 TensorFlow,且首要目标是尽可能减少参数量和理论 FLOPs;你可能是用于研究,而非要求严格实时性能的工业部署。
  • 适合选择 Ultralytics YOLO26 的情况:你正在启动一个新项目。YOLO26 是当前 Ultralytics 推荐的模型,其原生端到端无 NMS 架构既适用于快速边缘部署,也适用于大规模云端处理。

如果你正在探索 Ultralytics 生态系统中的其他模型,也可以考虑 Ultralytics YOLO11,它在速度和准确率之间实现了经过充分验证的平衡;或者选择 RT-DETR,采用基于 Transformer 的实时检测方案。

评论1

  1. extremezero9023GitHub(已编辑)

    Great technical breakdown! EfficientDet is known for its excellent accuracy-to-efficiency ratio, especially in resource-constrained environments. However, this YOLOv8 comparison highlights how v8 brings better versatility, faster inference times, and an easier training pipeline. While EfficientDet excels in structured setups, YOLOv8 feels more production-ready for dynamic and real-time use cases.