YOLO11 与 EfficientDet:详细的技术比较
本页对Ultralytics YOLO11 和 EfficientDet 这两个著名的物体检测模型进行了详细的技术比较。我们分析了它们的架构、性能基准和对不同应用的适用性,以帮助您根据自己的计算机视觉需求选择最佳模型。虽然这两种模型都以高效、准确的物体检测为目标,但它们源自不同的研究领域Ultralytics 和 Google),并采用了不同的架构理念。
Ultralytics YOLO11
Ultralytics YOLO11YOLO (You Only Look Once)系列是Ultralytics 开发的最新产品,以其卓越的实时物体检测能力而闻名。它是在前代产品(如 YOLOv8等前代产品的基础上,重点提高了准确性和计算效率。
技术细节:
- 作者格伦-约切尔、邱晶
- 组织机构 Ultralytics
- 日期:2024-09-27
- GitHub: https://github.com/ultralytics/ultralytics
- 文件: https://docs.ultralytics.com/models/yolo11/
结构和主要功能
YOLO11 采用单级无锚架构,优化了速度和精度。其主要特点包括完善的特征提取层和精简的网络结构,从而减少了参数数量和计算负荷。这种设计确保了从边缘设备NVIDIA Jetson、树莓派)到云服务器等各种硬件的卓越性能。
YOLO11 的一大优势在于其多功能性以及与Ultralytics 生态系统的集成。除物体检测外,它还支持多种任务,包括实例分割、图像分类、姿态估计和定向边界框 (OBB)。Ultralytics 框架提供了简单的Python API和 CLI与许多其他架构相比,Ultralytics 框架提供了简单的 Python API 和 CLI、丰富的文档、随时可用的预训练权重以及内存要求更低的高效训练流程。该生态系统得益于积极的开发、强大的社区支持以及与Ultralytics HUB等工具的无缝集成,从而简化了MLOps。
优势
- 高速高效: 推理速度极快,非常适合实时应用。
- 高精确度:在各种规模的模型中都能获得最先进的mAP分数。
- 多功能性:在单一框架内支持检测、分割、分类、姿势和 OBB 任务。
- 易用性:简单的应用程序接口、全面的文档和用户友好的生态系统。
- 维护良好的生态系统:积极开发、强大的社区、频繁的更新以及Ultralytics HUB 等工具。
- 训练效率:与许多替代方案相比,训练时间更快,内存使用量更低。
- 部署灵活:针对从边缘到云的各种硬件进行了优化。
弱点
理想的使用案例
YOLO11 在要求实时性能和高精度的应用中表现出色:
Google的 EfficientDet
EfficientDet 是Google 大脑团队推出的一系列物体检测模型。它旨在通过优化精度和计算资源(参数和 FLOPs)之间的权衡来实现高效率。
技术细节:
- 作者: Mingxing Tan、Ruoming Pang、Quoc V. Le谭明星 庞若明 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
结构和主要功能
EfficientDet 的架构基于三大创新技术:
- EfficientNet 主干网:它使用高效的EfficientNet作为特征提取的主干网。
- BiFPN(双向特征金字塔网络):一种新颖的特征网络,通过增加加权连接,改进传统的 FPN,从而实现简单快速的多尺度特征融合。
- 复合缩放:一种对骨干网络、特征网络和方框/类别预测网络的深度、宽度和分辨率进行统一缩放的方法。这使得模型可以从小(D0)到大(D7)的变体进行缩放,以适应不同的资源限制。
优势
- 参数效率高:只需相对较少的参数和 FLOP,即可实现较高的精度。
- 可扩展性:复合缩放方法为针对不同性能目标缩放模型提供了清晰的路径。
- 强大的基准性能:在COCO 数据集上取得了发布时最先进的结果。
弱点
- 推理速度较慢:尽管具有 FLOP 效率,但与YOLO 模型相比,EfficientDet 通常具有更高的推理延迟,尤其是在 GPU 上,因此不太适合许多实时应用。
- 通用性有限:主要设计用于物体检测,缺乏对其他任务(如实例分割、姿态估计或集成到Ultralytics YOLO 框架中的 OBB)的本地支持。
- 少综合生态系统:原始资源库主要是一种研究工具。它缺乏全面的文档、简单的应用程序接口以及Ultralytics HUB 等集成工具,而这些工具可以简化从培训到部署的端到端工作流程。
- 框架依赖性:官方实现是在TensorFlow 中进行的,这可能会限制主要在 PyTorch生态系统中工作的开发人员和研究人员可能会受到限制。
理想的使用案例
EfficientDet 非常适合模型大小和理论计算成本是最关键限制因素的情况:
- 边缘人工智能:在内存和处理能力严重受限的移动或嵌入式设备上部署。
- 学术研究:研究模型缩放规律和建筑效率。
- 云应用:最小化每次推理的计算成本比实现尽可能低的延迟更重要的应用场景。
性能和基准:YOLO11 与 EfficientDet 的对比
在比较性能时,最重要的是不能只看 mAP。虽然这两个型号系列都提供了一系列精度等级,但YOLO11 的设计旨在实现更出色的实际速度。下表显示,对于类似的 mAP,YOLO11 模型的速度明显更快,尤其是在使用 TensorRT在GPU 上加速时尤其如此。
例如,YOLO11m 实现了与 EfficientDet-d5 相同的 51.5 mAP,但在 T4GPU 上却快了 14 倍以上(4.7 毫秒对 67.86 毫秒),使用的参数也减少了 40%。这凸显了YOLO11 在精度、速度和模型大小之间的卓越平衡,使其成为需要实时处理的应用中更为实用的选择。
模型 | 尺寸 (像素) |
mAPval 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4TensorRT10 (ms) |
params (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.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 |
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 |
总结:您应该选择哪种型号?
EfficientDet 在提高模型效率方面迈出了重要一步,而Ultralytics YOLO11 则为绝大多数计算机视觉应用提供了更现代、更实用、更强大的解决方案。
-
如果您的主要约束条件是最大限度地减少理论 FLOPs 或参数数量,并且您愿意在其面向研究的框架内工作,那么请选择 EfficientDet。
-
在几乎所有其他情况下,请选择Ultralytics YOLO11。其卓越的速度-精度权衡、在多种视觉任务中令人难以置信的多功能性和易用性使其成为开发人员和研究人员的不二之选。维护良好的生态系统,包括全面的文档、活跃的社区支持以及Ultralytics HUB 等工具,确保了从最初的实验到大规模生产的顺利开发和部署。
其他机型比较
为了进一步探讨,请考虑这些涉及YOLO11 和其他相关模型的比较:
- YOLO11 vs YOLOv10
- YOLO11 vs YOLOv9
- YOLO11 vsYOLOv8
- YOLO11 vs YOLOv7
- YOLO11 与RT-DETR
- YOLOX 与 EfficientDet
- YOLOv8 vs EfficientDet