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

YOLO11 与 EfficientDet 对比#

为计算机视觉项目选择合适的神经网络,需要了解可用的架构。本指南比较 Ultralytics YOLO11和 Google EfficientDet,涵盖它们的架构差异、性能指标、训练效率和理想部署场景,帮助你为机器学习工作负载选择合适的模型。

模型背景与规格#

这两种模型都推动了深度学习领域的目标检测研究,但它们源于不同的设计理念和 AI 发展时期。

YOLO11 详情#

EfficientDet 详情#

了解 EfficientDet 的更多信息

生态系统优势

周边生态系统与模型本身同样重要。Ultralytics 生态系统提供丰富的文档、活跃的社区支持,以及一行命令导出为 ONNX 和 TensorRT 等格式的功能。

架构创新#

EfficientDet:BiFPN 与复合缩放#

EfficientDet 于 2019 年末推出,旨在尽可能提升准确率,同时降低计算开销。它主要通过两种机制实现这一目标。首先,它的主干网络来自 EfficientNet 系列,该系列通过复合缩放同步调整深度、宽度和分辨率。其次,它引入了双向特征金字塔网络(BiFPN),从而能够轻松、快速地进行多尺度特征融合。

尽管 EfficientDet 在当时效率很高,但基于 TensorFlow 的 AutoML 实现可能不够灵活。与现代模块化 PyTorch 框架相比,研究人员通常发现模型剪枝和自定义修改更具挑战性。

YOLO11:增强特征提取能力,应用灵活#

YOLO11 在前代产品的基础上,结合了 C3k2 模块、C2PSA 空间注意力和快速空间金字塔池化(SPPF)模块。这些改动改善了特征提取,帮助 YOLO11 捕获精细的视觉细节。

YOLO11 的一大优势是用途广泛。EfficientDet 仅用于目标检测,而 YOLO11 原生支持实例分割、图像分类、姿态估计和定向边界框(OBB)。YOLO11 在训练和推理期间的内存需求也较低,因此相比旧款模型和更大型的视觉 Transformer,在资源受限的边缘 AI硬件上更具优势。

性能与基准测试#

准确率(以平均精度均值(mAP)衡量)与推理速度之间的平衡,往往决定了模型能否用于实际部署。下表展示了两个模型系列在 COCO 数据集上的性能。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.6
YOLO11m64051.5183.24.720.168.1
YOLO11l64053.4238.66.225.387.2
YOLO11x64054.7462.811.356.9195.3
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

在准确率相近时,YOLO11 的 GPU 速度快得多。YOLO11s 在 T4 上使用 TensorRT 时,耗时 2.5 ms,mAP 为 47.0,几乎达到 EfficientDet-d3 的水平(mAP 为 47.5,耗时 19.59 ms);YOLO11x 则以 11.3 ms 的耗时达到最高准确率(mAP 为 54.7),而 EfficientDet-d7 耗时 128.07 ms,mAP 为 53.7。EfficientDet-d0 的 FLOPs 最少(2.54B)。

训练效率与生态系统#

Ultralytics 模型旨在易于使用。训练 EfficientDet 模型通常需要处理复杂的 TensorFlow 计算图配置和依赖链,而 YOLO11 基于现代 PyTorch构建。

这个维护良好的生态系统让开发者只需几行代码,就能安装软件包、加载预训练模型,并开始使用自定义数据集进行训练。

Python 代码示例#

下面是一个可直接运行的示例,展示了 Ultralytics API 的简洁易用。此脚本会下载一个预训练的 YOLO11 模型、训练该模型并快速运行一次预测。

from ultralytics import YOLO

# 初始化一个预训练的 YOLO11 nano 模型
model = YOLO("yolo11n.pt")

# 使用集成的 PyTorch 引擎高效训练模型
# 训练效率高,相比旧款模型所需的显存更少
results = model.train(data="coco8.yaml", epochs=10, imgsz=640, device="cpu")

# 在示例图像上运行实时推理
prediction = model.predict("https://ultralytics.com/images/bus.jpg")

# 显示输出边界框
prediction[0].show()

展望未来:YOLO26 的优势#

计划启动新项目的团队可以考虑于 2026 年 1 月发布的 Ultralytics YOLO26,它能简化部署并提升边缘设备上的性能。

YOLO26 的主要创新包括:

  • 端到端无 NMS 设计:可选的一对一检测头(nms=False)可跳过非极大值抑制(NMS)后处理,让 YOLO26 在高速机器人和自动驾驶场景中实现稳定的低延迟。
  • CPU 推理速度最高提升 43%:对于没有专用 GPU 的部署场景,YOLO26n 在 CPU 上的运行速度最高比 YOLO11n 快 43%。
  • MuSGD 优化器:这种融合 SGD 和 Muon 的混合优化器受 Moonshot AI 的 Kimi K2 启发,将大型语言模型(LLM)训练的稳定性带入计算机视觉,并加快收敛。
  • ProgLoss + STAL:渐进式损失和小目标感知标签分配(STAL)可提升小物体识别能力,而这通常是卫星图像分析和无人机影像面临的难点。
  • 移除 DFL:移除分布焦点损失,简化了模型向边缘设备的导出流程。
值得探索的替代模型

如果你的项目有非常具体的需求,也可以对比采用 Transformer 架构的检测模型 RT-DETR,或广泛应用于许多旧版企业部署场景的 YOLOv8。

用例与建议#

选择 YOLO11 还是 EfficientDet,取决于你的具体项目需求、部署限制和生态系统偏好。

何时选择 YOLO11#

以下场景适合选择 YOLO11:

  • 生产级边缘部署:在 Raspberry Pi 或 NVIDIA Jetson 等设备上运行商业应用,可靠性和持续维护至关重要。
  • 多任务视觉应用:需要在统一框架中完成检测、分割、姿态估计和 OBB 的项目。
  • 快速原型开发与部署:需要借助 Ultralytics Python API 快速完成从数据采集到生产部署的团队。

何时选择 EfficientDet#

以下情况推荐使用 EfficientDet:

  • Google Cloud 和 TPU 流程:基于 TensorFlow 的系统运行在 Google Cloud TPU 基础设施上,EfficientDet 的参考实现支持 TPU 训练。
  • 复合缩放研究:侧重研究网络深度、宽度和分辨率平衡缩放效果的学术基准测试。
  • 通过 LiteRT 进行移动端部署:需要导出为 LiteRT(原名 TensorFlow Lite),以用于 Android 或嵌入式 Linux 设备的项目。

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26 能提供性能与开发者体验的最佳组合:

  • 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
  • 仅使用 CPU 的环境: 没有专用 GPU 加速的设备中,YOLO26n 的 CPU 推理速度最高比 YOLO11n 快 43%,优势显著。
  • 小目标检测: 在无人机航拍影像等具有挑战性的场景或物联网传感器分析中,ProgLoss 和 STAL 能提升小目标检测准确率。

结论#

EfficientDet 是一种开创性架构,证明了复合缩放在目标检测中的价值。更新的模型功能更强、更易集成,并且在 GPU 上运行更快。

凭借多任务支持、快速 GPU 推理和简洁的 API,YOLO11 是现代视觉流程中更出色的选择。对于新项目,尤其是优先部署在边缘设备上的项目,YOLO26还提供可选的无 NMS 推理和更高的准确率。

评论