YOLO11 与 EfficientDet 对比#
为计算机视觉项目选择合适的神经网络,需要了解可用的架构。本指南比较 Ultralytics YOLO11和 Google EfficientDet,涵盖它们的架构差异、性能指标、训练效率和理想部署场景,帮助你为机器学习工作负载选择合适的模型。
模型背景与规格#
这两种模型都推动了深度学习领域的目标检测研究,但它们源于不同的设计理念和 AI 发展时期。
YOLO11 详情#
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2024-09-27
- GitHub: https://github.com/ultralytics/ultralytics
- 文档: https://docs.ultralytics.com/models/yolo11
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
周边生态系统与模型本身同样重要。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) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
| EfficientDet-d0 | 512 | 34.6 | - | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | - | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 768 | 43.0 | - | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 896 | 47.5 | - | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 1024 | 49.7 | - | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 1280 | 51.5 | - | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 1280 | 52.6 | - | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 1536 | 53.7 | - | 128.07 | 51.9 | 325.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:移除分布焦点损失,简化了模型向边缘设备的导出流程。
用例与建议#
选择 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 推理和更高的准确率。