EfficientDet 与YOLO11:平衡效率与实时性能
物体检测领域的发展日新月异,因为人们需要不仅准确而且高效的模型,以便在现实世界中进行部署。Google的 EfficientDet 和 Ultralytics YOLO11.虽然这两种架构都旨在优化速度和准确性之间的权衡,但它们采用了不同的设计理念,针对的主要用例也不同。
EfficientDet 引入了缩放模型维度的系统方法,重点关注参数效率和理论计算成本 (FLOP),从而彻底改变了这一领域。相比之下,YOLO11 代表了实时计算机视觉的最前沿,它优先考虑现代硬件上的实用推理速度、跨任务的通用性以及以开发人员为中心的体验。本综合比较深入探讨了它们的技术规格、架构创新和性能基准,以帮助您为自己的项目选择合适的工具。
Google 的 EfficientDet
EfficientDet 是Google 大脑团队开发的一系列物体检测模型。它于 2019 年末发布,旨在解决以往最先进的检测器效率低下的问题,这些检测器通常依赖于大规模的骨干网或未优化的特征融合网络。
技术细节:
- 作者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 组织机构Google
- 日期: 2019-11-20
- Arxiv:EfficientDet:可扩展的高效物体检测
- GitHub:google
- 文档EfficientDet README
架构与关键创新
EfficientDet 的成功在于两个主要的架构贡献,它们相互配合,最大限度地提高了效率:
- 双向特征金字塔网络(BiFPN):传统的特征金字塔网络(FPN)以自上而下的方式融合不同尺度的特征。EfficientDet 引入的 BiFPN 允许信息在自上而下和自下而上两个方向流动。此外,它还采用了加权特征融合机制,学习每个输入特征的重要性,从而使网络能够优先处理信息量更大的信号。
- 复合缩放:受 EfficientNet 的启发,这种方法通过统一缩放骨干网、特征网络和预测网络的分辨率、深度和宽度来创建模型系列(D0 至 D7)。这就确保了随着模型的增长,它能保持各组成部分之间的平衡,优化FLOP和参数数量。
高效网络骨干网
EfficientDet 以EfficientNet为骨干,EfficientNet 也是由Google开发的分类网络。EfficientNet 利用神经架构搜索(NAS)进行了优化,以找到最高效的网络结构,并大量利用深度可分离卷积来减少计算量。
优势与劣势
EfficientDet 因其参数效率高而闻名,实现了具有竞争力的 mAP值得分。它的可扩展性使研究人员可以选择精确适合其理论计算预算的模型大小。
然而,理论效率并不总能转化为实际速度。深度可分离卷积的广泛使用和 BiFPN 的复杂连接性会导致GPU 利用率降低。因此,与YOLO 系列等为并行处理而优化的模型相比,GPU 上的推理延迟往往更高。此外,EfficientDet 严格来说是一种物体检测器,在同一代码库中缺乏对其他计算机视觉任务(如实例分割或姿势估计 )的本地支持。
理想用例
- CPU 上的边缘人工智能:内存是硬约束且无法使用GPU 加速的设备。
- 学术研究:研究重点是神经网络效率和缩放规律。
- 低功耗应用:最大限度降低电池消耗(与 FLOP 相关)比原始延迟更重要的应用场景。
Ultralytics YOLO11
Ultralytics YOLO11是广受赞誉的YOLO (只看一次)系列的最新迭代产品。它以传统的实时性能为基础,在保持开发人员所期望的快如闪电的推理速度的同时,引入了架构上的改进,推动了准确性的发展。
技术细节:
- 作者: Glenn Jocher, Jing Qiu
- 组织机构Ultralytics
- 日期: 2024-09-27
- GitHub:ultralytics
- 文档:YOLO11 文档
架构与特性
YOLO11 采用了最先进的无锚点检测头,无需手动配置锚点盒,简化了训练过程。其主干和颈部架构经过优化,可增强特征提取能力,从而提高在小物体检测和杂乱场景等挑战性任务中的性能。
与 EfficientDet 主要关注减少 FLOP 不同,YOLO11 的设计旨在实现硬件感知效率。这意味着其层和操作的选择是为了最大限度地提高 GPU 和NPU加速器的吞吐量。
优势与劣势
YOLO11 的主要优势在于其卓越的速度与精度平衡。它能提供最先进的精确度,可与大型模型相媲美,甚至更胜一筹,而运行延迟仅为大型模型的一小部分。这使它成为实时推理应用的理想选择。此外,Ultralytics 生态系统采用统一的应用程序接口(API),确保了使用的简便性,使培训和部署实现了无缝对接。
其中一个考虑因素是,最小的YOLO11 变体虽然速度快得惊人,但与学术界现有的最大、计算量大的模型相比,可能会牺牲很小的精确度。不过,对于实际部署而言,这种权衡几乎总是有利的。
理想用例
性能对比
在比较 EfficientDet 和YOLO11 时,最显著的区别在于推断速度,尤其是在GPU 硬件上。虽然 EfficientDet 模型(D0-D7)显示出良好的参数效率,但其复杂的操作(如 BiFPN)使其无法充分利用并行处理能力。
如下表所示,YOLO11n实现的mAP (39.5)高于EfficientDet-d0(34.6),同时速度明显更快。更令人印象深刻的是,YOLO11m的精度与更高的EfficientDet-d5相匹配(51.5mAP),但在 T4GPU 上的运行速度却快了约14 倍(4.7 ms vs 67.86 ms)。这一巨大的速度优势使YOLO11 能够实时处理高分辨率视频流,而这对更高级别的 EfficientDet 型号来说是一项挑战。
| 模型 | 尺寸 (像素) | 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Ultralytics 的优势
技术指标固然重要,但开发人员的体验和生态系统支持对于项目的成功同样重要。Ultralytics 提供了一套全面的工具,简化了整个MLOps生命周期,与以研究为中心的 EfficientDet 资源库相比,优势明显。
- 易用性: Ultralytics Python API和 CLI设计简单。只需几行代码,您就可以加载、训练和部署最先进的模型,而 EfficientDet 通常需要在TensorFlow 中进行复杂的配置文件和依赖性管理。
- 维护良好的生态系统: Ultralytics 模型拥有活跃的社区和频繁的更新。从GitHub 存储库到广泛的文档,开发人员可以访问丰富的资源、教程和支持渠道。
- 训练效率: YOLO11 经过优化,可实现快速收敛。它支持高效的数据加载和增强策略,从而缩短了训练时间。此外,与旧架构或transformer模型相比,YOLO11 对内存的要求更低,因此可以在消费级 GPU 上进行训练,而不会耗尽CUDA 内存。
- 部署灵活:该框架本机支持将模型导出为各种格式,包括 ONNX, TensorRT、CoreML 和OpenVINO 等多种格式。这确保了YOLO11 模型可以部署到任何地方,从云服务器到Raspberry Pi 等边缘设备。
亲身体验YOLO11
体验Ultralytics API 的简易性。下面的示例演示了如何加载预训练的YOLO11 模型并在图像上运行推理:
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on an image source
results = model("path/to/image.jpg")
# Display the results
results[0].show()
结论
EfficientDet 和YOLO11 都是计算机视觉领域具有里程碑意义的成就。EfficientDet仍是可扩展架构设计的重要参考,适用于以理论 FLOP 为主要约束条件的利基应用。
然而,对于绝大多数现代计算机视觉应用而言,超光谱分析技术(Ultralytics)并不适用、 Ultralytics YOLO11是更优越的选择。其架构在精度和速度之间实现了更好的平衡,尤其是在大多数生产环境中使用的GPU 硬件上。结合多功能多任务框架、强大的生态系统和无与伦比的易用性,YOLO11 使开发人员能够满怀信心地构建和部署高性能人工智能解决方案。
探索其他比较
要想进一步了解物体检测模型的全貌,可以考虑探索这些额外的比较: