Link to this sectionEfficientDet 与 YOLOv5#
选择最优的神经网络架构是任何 计算机视觉 项目中决定性的一步。推理延迟、参数效率和检测精度之间的平衡决定了模型在现实世界中的表现。本技术指南深入分析了两个极具影响力的目标检测框架:Google 的 EfficientDet 和 Ultralytics YOLOv5。
通过比较它们的架构创新、训练方法和部署能力,开发人员可以根据具体的部署环境做出明智的决策,无论是扩展云服务器还是在受限的边缘设备上运行。
Link to this sectionEfficientDet:具有 BiFPN 的可扩展架构#
EfficientDet 由 Google Research 推出,旨在系统地扩展骨干网络和特征网络,从而以比以往最先进模型更少的参数实现高精度。
Link to this section模型详情#
- 作者: Mingxing Tan, Ruoming Pang 和 Quoc V. Le
- 组织: Google Research
- 日期: 2019 年 11 月 20 日
- Arxiv: EfficientDet: Scalable and Efficient Object Detection
- GitHub: google/automl/efficientdet
Link to this section架构创新#
EfficientDet 利用 EfficientNet 分类模型作为其骨干,并使用一种复合缩放方法,均匀地缩放网络宽度、深度和分辨率。它对 目标检测 最显著的贡献是引入了双向特征金字塔网络 (BiFPN)。与仅简单地自上而下聚合特征的标准特征金字塔网络不同,BiFPN 允许进行复杂的、双向的跨尺度连接,并引入了可学习权重来确定不同输入特征的重要性。
虽然 EfficientDet 精度很高,但它严重依赖 TensorFlow 生态系统和特定的 AutoML 库。这种依赖有时会使其难以集成到自定义的轻量级部署流水线或偏好动态计算图的环境中。
Link to this sectionUltralytics YOLOv5:让实时 AI 普及化#
在 EfficientDet 发布后不久,Ultralytics YOLOv5 问世,它通过提供一种极易上手、原生的 PyTorch YOLO 架构实现,彻底改变了行业。它为开发人员体验、训练效率和实时部署灵活性树立了新标准。
Link to this section模型详情#
- 作者: Glenn Jocher
- 组织: Ultralytics
- 日期: 2020 年 6 月 26 日
- GitHub: ultralytics/yolov5
- 文档: YOLOv5 文档
Link to this section架构创新#
YOLOv5 在前代产品的基础上进行了重大升级,采用了 CSPDarknet (Cross-Stage Partial) 骨干网络,在显著增强梯度流的同时减少了总参数量。此外,YOLOv5 还集成了自动学习锚框 (Auto-Learning Anchor Boxes),该功能可根据你的自定义训练数据自动计算最优边界框先验,无需手动调整超参数。
YOLOv5 还大量使用了 Mosaic 数据增强 技术,将四张不同的图像混合成一个训练平铺图。这极大地提高了模型检测小物体的能力并增强了上下文理解的泛化能力,使其在各种环境中表现得非常稳健。
Link to this section性能与基准测试#
在 COCO 数据集 等标准基准上评估模型对于理解精度与速度之间的权衡至关重要。下表展示了不同尺寸的 EfficientDet 和 YOLOv5 在标准化条件下的表现。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | 参数量 (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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Link to this section分析权衡#
虽然 EfficientDet-d7 的 mAP 峰值高达 53.7,但在 GPU 硬件上的推理延迟远高于 YOLO 架构。相比之下,YOLOv5 在硬件加速方面表现出色。YOLOv5n 变体在使用 NVIDIA TensorRT 的 T4 GPU 上可实现惊人的 1.12 毫秒推理速度,使其在自动驾驶或高速制造生产线等实时应用中具有巨大的优势。
此外,与复杂的复合缩放网络或大型 Transformer 模型相比,YOLOv5 模型在训练期间对 CUDA 内存的需求要低得多。这种精简的内存配置使得最先进的 AI 技术更易于获取,让研究人员能在标准的消费级硬件上训练稳健的模型。
为了让你的 YOLOv5 模型在边缘设备上获得最大的每秒帧数 (FPS),请将 PyTorch 权重导出为 NVIDIA GPU 的 TensorRT 格式,或 Intel CPU 的 OpenVINO 格式。此步骤通常能使推理速度翻倍。
Link to this section训练生态系统与开发人员体验#
Ultralytics 生态系统的真正优势在于其精简的用户体验。虽然使用 EfficientDet 需要深入了解 TensorFlow 目标检测 API,但 YOLOv5 提供了一致且简单的 Python API。
维护完善的 Ultralytics 生态系统 确保了开发人员能够获得频繁的更新、活跃的社区支持,并与 Weights & Biases 和 ClearML 等实验跟踪工具实现无缝集成。
Link to this section代码示例:YOLOv5 入门#
通过 PyTorch Hub,只需几行代码即可使用预训练的 YOLOv5 模型进行推理:
from ultralytics import YOLO
# Load the highly efficient YOLOv5s model
model = YOLO("yolov5su.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Display the detected bounding boxes
results[0].show()Link to this section多功能性与现实应用#
EfficientDet 严格来说是一个目标检测框架,这限制了它在复杂视觉流水线中的应用。另一方面,YOLOv5 已经演进为支持多种计算机视觉任务。该模型的现代版本支持高精度的 实例分割 和 图像分类,允许开发人员整合他们的机器学习技术栈。
Link to this section理想使用场景#
- EfficientDet: 最适合离线处理、学术研究以及对精度要求高于延迟的云端分析场景,且拥有服务器级 TPU 或大显存 GPU 的环境。
- YOLOv5: 边缘 AI 部署 的终极选择。其低延迟、极小的参数占用以及高精度的结合,使其成为无人机分析、实时零售自动化以及通过 CoreML 或 TFLite 进行移动应用开发的理想方案。
Link to this section下一代产品:升级到 YOLO26#
虽然 YOLOv5 依然是一款稳健且广泛部署的模型,但 AI 领域发展迅速。对于开始新项目或追求现代性能巅峰的团队,Ultralytics 推出了于 2026 年 1 月发布的 YOLO26。
YOLO26 重新定义了速度与精度的帕累托前沿,引入了突破性的架构变革,使部署更简单,推理速度更快。
Link to this sectionYOLO26 的关键进步#
- 端到端无需 NMS 设计: YOLO26 原生取消了非极大值抑制 (NMS) 后处理。这极大地简化了部署逻辑并减少了延迟波动,这是从 YOLOv10 早期实验中提炼出的一种突破性方法。
- CPU 推理速度提升高达 43%: 专为没有专用 GPU 的边缘计算和低功耗 IoT 设备而设计。
- MuSGD 优化器: 受大型语言模型训练技术(如 Moonshot AI 的 Kimi K2)启发,这种 SGD 和 Muon 的混合体将 LLM 创新引入了计算机视觉,实现了更快的收敛和高度稳定的训练动态。
- ProgLoss + STAL: 这些先进的损失函数在小目标识别方面带来了显著改进,这对航空影像和机器人技术至关重要。
- 移除 DFL: 通过剔除分布焦点损失 (Distribution Focal Loss),模型头得到了极大的简化,从而在导出到旧版或高度受限的边缘硬件时具有更好的兼容性。
对于部署多任务流水线的团队,YOLO26 还引入了特定任务的升级,例如用于分割的多尺度 proto 以及针对 旋转边界框 (OBB) 的专门角度损失。若要探索生态系统中的其他现代替代方案,你也可以查看 YOLO11 或 YOLOv8 架构。
Link to this section结论#
在 EfficientDet 和 YOLOv5 之间进行选择很大程度上取决于你的部署目标。EfficientDet 提供了数学上优雅的缩放方法,适合云端高强度推理。然而,YOLOv5 卓越的开发人员体验、极快的 PyTorch 训练循环以及高度优化的边缘部署能力,使其成为绝大多数现实世界实时应用的首选。通过利用 Ultralytics 提供的全面工具,团队可以缩短上市时间并构建响应迅速的 AI 系统。