YOLO11 与 EfficientDet:综合技术比较
在快速发展的计算机视觉领域,选择正确的物体检测模型对于构建成功的人工智能应用至关重要。在这些评估中经常出现的两个著名模型是 Ultralytics YOLO11虽然这两种架构都旨在解决图像中的物体检测问题,但它们在设计理念、架构创新和性能优先级方面却有着本质的不同。
本指南提供了深入的技术比较,帮助开发人员和研究人员了解这两种模型之间的细微差别。我们将探讨它们的架构、性能指标、训练方法和理想用例,重点说明为什么现代开发通常更青睐YOLO 系列的多功能性和速度。
Ultralytics YOLO11:实时视觉的最新技术
2024 年底发布、 YOLO11是Ultralytics 著名的 "只看一次 "架构的最新迭代产品。它的设计在推理延迟和准确性之间实现了终极权衡,使其成为从边缘设备到云服务器等实时应用的首选。
技术细节:
- 作者: Glenn Jocher, Jing Qiu
- 组织机构Ultralytics
- 日期: 2024-09-27
- GitHub:ultralytics
- 文档:Ultralytics YOLO11 文档
架构和主要特性
YOLO11 以优化历史为基础。它采用了经过改进的无锚点检测器设计,无需手动计算锚点框,从而简化了训练过程。该架构集成了先进的特征提取层,减少了总参数数,同时保持了较高的 mAP.
与只专注于检测的前辈或竞争对手不同,YOLO11 是一个多任务框架。单个模型架构可用于以下方面
Ultralytics 的优势
使用YOLO11 的最大优势之一是Ultralytics 生态系统。该模型由强大的Python API 和CLI、活跃的社区维护以及与MLOps 工具的无缝集成提供支持。这确保了开发人员花在代码上的时间更少,而花在部署解决方案上的时间更多。
优势
- 无与伦比的速度:针对 GPU推理,即使在高分辨率数据流上也能实现实时性能。
- 多功能性:本机支持多种计算机视觉任务,无需为分割或姿势估计 切换框架。
- 易用性: 字段
ultralytics该软件包只需几行代码即可完成培训、验证和部署。 - 内存效率:与transformer替代方案或老式架构相比,其设计旨在以更低的CUDA 内存需求加快训练速度。
Google的 EfficientDet:优化效率
EfficientDet Google 大脑团队于 2019 年底推出,旨在提高物体检测模型的效率。它主要侧重于优化实现高精度所需的参数数量和理论计算量(FLOP)。
技术细节:
- 作者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 组织机构Google
- 日期: 2019-11-20
- Arxiv:EfficientDet:可扩展的高效物体检测
- GitHub:google
- 文档EfficientDet README
架构和主要特性
EfficientDet 建立在EfficientNet骨干之上,并引入了两个关键概念:
- BiFPN(双向特征金字塔网络):特征融合层可轻松实现多尺度特征整合,以不同方式权衡输入特征,了解其重要性。
- 复合缩放:统一缩放网络分辨率、深度和宽度的方法,创建从 D0(最小)到 D7(最大)的模型系列。
优势与劣势
EfficientDet 在参数效率方面表现出色,与 YOLOv3 等老式模型相比,它往往只需较少的参数就能达到很高的精度。它具有很强的可扩展性,允许用户选择适合其理论 FLOPs 预算的模型大小。
然而,在现代部署环境中,EfficientDet 有明显的局限性:
- 较慢的GPU 推理速度:虽然在 FLOPs 方面效率很高,但与YOLO 模型中使用的密集卷积相比,EfficientDet 中广泛使用的深度可分离卷积在 GPU 上的优化程度往往较低。这导致推理延迟较高。
- 范围有限:它主要是一个对象检测器,缺乏对复杂任务(如旋转框检测 或姿势估计 )的本地统一支持。
- 复杂的工具:原始资源库以研究为导向TensorFlow),缺乏完善、用户友好的应用程序接口和部署工具,而这些正是Ultralytics 生态系统的特点。
性能对比
在比较YOLO11 与 EfficientDet 时,最显著的区别在于GPU 硬件上的实际推理速度。EfficientDet 最大限度地减少了 FLOPs,而YOLO11 则最大限度地减少了延迟,而延迟正是实时应用最重要的指标。
下表说明了这一差距。例如,YOLO11n在精度(+4.9mAP)和速度(在 T4GPU 上比EfficientDet-d0快 2.6 倍)方面都优于EfficientDet-d0。随着规模的扩大,这种差距变得更加明显;YOLO11x的精度优于EfficientDet-d7,而速度却比EfficientDet-d7 快 11 倍以上。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (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 |
结果分析
- 实时功能: YOLO11 可在GPU 上对所有大小的模型提供真正的实时推理能力,而 EfficientDet 的较大变体(d4-d7)则难以保持实时帧率(30 FPS 或 ~33ms)。
- 精度与速度:在每个可比精度点(例如 47.0mAP)上,YOLO11 变体(YOLO11s)都比 EfficientDet 同等变体(EfficientDet-d3)快得多。
- 训练效率: Ultralytics 模型的收敛速度通常更快,并能更有效地利用硬件加速,从而降低在定制数据集上进行训练所需的成本和时间。
理想用例
何时选择 Ultralytics YOLO11
YOLO11 是绝大多数现代计算机视觉项目的首选,尤其是那些要求兼顾速度、准确性和易开发性的项目。
- 边缘人工智能与机器人技术:在NVIDIA ®)Jetson 或树莓派(Raspberry Pi)等设备上部署,在这些设备上执行导航或避免碰撞等任务时,低延迟是必不可少的。
- 商业应用:零售分析、自动化制造和安全监控,可靠性和速度直接影响投资回报率。
- 多任务系统:不仅仅需要边界框的项目,例如检查工人是否穿戴安全装备(检测)以及工人的姿势是否正确姿势估计 )。
- 快速开发:需要使用用户友好的应用程序接口和大量文件进行快速迭代的团队。
何时选择 EfficientDet
EfficientDet 仍适用于特定的利基方案:
- 学术基准:研究复合扩展或 BiFPN 架构具体效果的研究人员。
- 严重的 FLOPs 限制: CPU 环境极其有限,理论操作数(FLOP)是唯一的限制因素,而不是延迟或内存带宽。
易用性:Ultralytics 代码体验
YOLO11 的显著特点之一是无缝开发体验。传统模型通常需要复杂的配置文件和模板代码,而Ultralytics 将工作流程简化为几行直观的Python 代码。
下面是加载预训练的YOLO11 模型并运行推理的简单过程:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
这种简便性也适用于自定义数据的训练:
# Train the model on a custom dataset (e.g., COCO8)
model.train(data="coco8.yaml", epochs=100, imgsz=640)
结论
而 EfficientDet 则引入了模型扩展和效率方面的重要概念、 Ultralytics YOLO11是满足当今实际计算机视觉需求的最佳选择。它提供了以下令人信服的组合
- 卓越性能:在现代硬件上实现更快的推理速度和更高的准确性。
- 更多功能:用于检测、分割、姿势估计等的统一框架。
- 更好的可用性:维护良好的生态系统,拥有出色的文档和社区支持。
对于希望构建稳健、高性能和可扩展的视觉人工智能应用的开发人员来说,YOLO11 提供了成功所需的强大功能和灵活性。
其他模型对比
探索YOLO11 与其他领先架构的比较: