EfficientDet 与YOLOv5:在可扩展性与实时性能间的平衡
选择合适的物体检测架构需要权衡准确率、推理速度和部署复杂度之间的取舍。本指南深入对比了Google 提出的可扩展架构EfficientDet与YOLOv5的技术特性。 YOLOv5(Ultralytics开发的广受欢迎的实时检测器)进行深入的技术对比。
尽管EfficientDet在复合缩放领域引入了突破性概念,YOLOv5 通过精简的API和强大的生态系统,使高性能计算机视觉技术得以普及,从而YOLOv5 该领域。
模型概述
Google EfficientDet
EfficientDet基于EfficientNet骨干网络,采用复合缩放方法对分辨率、深度和宽度进行统一缩放。该模型引入双向特征金字塔网络(BiFPN),实现了便捷高效的多尺度特征融合。
- 作者: Mingxing Tan、Ruoming Pang 和 Quoc V. Le
- 组织:Google
- 日期: 2019-11-20
- Arxiv:EfficientDet: Scalable and Efficient Object Detection
- GitHub:EfficientDet 存储库
Ultralytics YOLOv5
YOLOv5 专注于实际应用的可用性和速度。该模型采用CSPDarknet主干网络,专为在不同硬件平台上轻松训练和部署而设计。凭借其性能与效率的平衡优势,它始终是最受欢迎的模型之一。
- 作者: Glenn Jocher
- 组织:Ultralytics
- 日期: 2020-06-26
- 文档:YOLOv5 文档
- GitHub:YOLOv5 仓库
技术架构比较
这两种模型的架构理念存在显著差异,这影响了它们在不同任务中的适用性。
EfficientDet:复合缩放与BiFPN
EfficientDet的核心创新在于BiFPN(加权双向特征金字塔网络)。与标准FPN(特征金字塔网络)无差别地累加特征不同,BiFPN引入可学习权重来理解不同输入特征的重要性。这使得网络在特征融合过程中能够优先处理更具信息量的特征。
此外,EfficientDet采用复合缩放技术,该技术能同时提升主干网络、特征网络和预测网络的分辨率、深度及宽度。这使得用户可根据资源限制从D0至D7的模型家族中进行选择。然而,这种复杂性可能导致缺乏专用运算支持的边缘设备出现更高延迟。
YOLOv5:CSPDarknet与PANet
YOLOv5 CSPDarknet主干网络,该网络整合了跨阶段部分网络(Cross Stage Partial networks)。通过在基础层分割特征图,该设计在保持准确性的同时减少了参数数量和浮点运算次数。
在特征聚合YOLOv5 路径聚合网络(PANet)。该结构增强了信息从底层向顶层的流动,从而提升了目标定位精度——这对生成精确的边界框至关重要。其预测头基于锚点,通过预定义锚框预测偏移量。该架构高度优化了GPU ,相较于EfficientDet复杂的缩放运算,实现了更快的推理速度。
Ultralytics 生态系统优势
选择YOLOv5 Ultralytics ,Ultralytics 实现与数据标注、实验追踪及云端训练工具的无缝集成。这类支持架构在EfficientDet等研究导向型仓库中往往缺失。
性能指标
在评估性能时,必须同时关注准确率(mAP)和速度(延迟)。虽然EfficientDet通过更大变体(D7)能实现更高精度,但相较于同等规模YOLOv5 ,其速度往往会显著下降。
下表突显了性能差异。请注意YOLOv5 CPU 显著更快,这使其在没有专用加速器的情况下更具部署实用性。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (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 |
分析
- 速度与精度:EfficientDet-d0在浮点运算方面效率极高,但在实际应用中,YOLOv5n和YOLOv5s通常能在标准GPU上运行更快,这得益于其采用更适合硬件的运算方式(避免了深度可分离卷积,该操作在某些旧CUDA 上可能较慢)。
- 内存效率: YOLOv5 训练过程中YOLOv5 需要较少的显存,这使得在消费级硬件上能够支持更大的批量大小。而EfficientDet的复杂连接可能会增加内存开销。
- 优化:EfficientDet在架构设计上高度依赖AutoML搜索,这种方式对修改较为脆弱。YOLOv5 通过YAML配置文件直接更便捷地定制深度和宽度倍数。
训练与可用性
训练效率
Ultralytics YOLOv5 "开箱即用"的训练能力YOLOv5 其代码库集成了马赛克数据增强、自动锚点计算及超参数进化功能。这意味着用户无需大量调参,即可在自定义数据集上获得优异结果。而高效实现方案通常需要更多手动设置TensorFlow ,并精心规划学习率调度。
部署灵活性
虽然EfficientDet主要是一个目标检测模型,YOLOv5 Ultralytics 后续版本支持更广泛的任务。您可通过相同的API结构无缝切换至实例分割或图像分类任务。
此外,通过导出模式, YOLOv5 部署YOLOv5 更加简便,该模式支持一键转换ONNX、TensorRT、TFLite CoreML TFLite。
from ultralytics import YOLO
# Load a pretrained YOLOv5 model
model = YOLO("yolov5s.pt")
# Train the model on a custom dataset
model.train(data="coco128.yaml", epochs=100)
# Export to ONNX format for deployment
model.export(format="onnx")
面向未来:YOLO26的必要性论证
YOLOv5 可靠的选择,但该领域已取得长足进步。对于追求绝对尖端技术的开发者而言,YOLO26 YOLOv5 的基础上YOLOv5 重大架构改进。
YOLO26引入了端到端NMS设计,无需进行非最大抑制后处理。这不仅降低了延迟,还简化了部署流程,相较于EfficientDet和YOLOv5具有显著优势。此外,该模型采用受大型语言模型训练启发的MuSGD优化器,即使在困难数据集上也能实现更快收敛与稳定训练。
若您的项目涉及边缘AI,YOLO26专为CPU 进行了优化,其运行速度较前代产品提升高达43%。
理想用例
何时选择 EfficientDet
- 研究限制:当主要目标是研究复合缩放定律或复现特定学术基准时。
- 低FLOP模式:在理论场景中,当浮点运算次数是唯一关注的指标时,忽略内存访问成本或硬件上的实际延迟。
何时Ultralytics YOLOv5 或YOLO26)
- 实时应用:自动驾驶、视频分析和机器人技术,这些领域对低延迟有着不可妥协的要求。
- 边缘部署:在树莓派、NVIDIA 或移动设备上运行,这些设备对内存效率和TensorRT 至关重要。
- 快速开发:需要快速迭代周期、便捷的数据集管理以及可靠预训练权重的项目。
- 多样化任务:若您的项目可能扩展至包含姿势估计 或定向目标检测(旋转框检测),Ultralytics 原生支持这些功能。
总结
YOLOv5 对计算机视觉领域YOLOv5 重大贡献。前者展现了系统化扩展的强大能力,YOLOv5 则YOLOv5 高性能检测YOLOv5 。对于当今大多数实际应用场景,YOLOv5 尖端模型YOLO26为代表的Ultralytics 凭借持续更新的代码库和蓬勃发展的社区支持,在速度、精度与易用性之间实现了卓越的平衡。
若需进一步了解模型对比,可探索YOLO 与其他YOLO 的对比情况,YOLOv8 icientYOLOv8 ,或是transformerRT-DETR。