EfficientDet 与YOLOv10:物体检测效率的演变
在快速发展的计算机视觉领域,人们一直在寻求计算效率和检测精度之间的最佳平衡。Google 研究院的可扩展模型系列EfficientDet 和 YOLOv10 是两个定义了各自时代的架构。 YOLOv10是清华大学研究人员最新推出的实时端到端检测器。
本比较将探讨这两种模型在技术上的细微差别,研究YOLOv10 的现代设计理念是如何改进 EfficientDet 引入的基本概念的。 我们将分析它们的架构、性能指标以及在实际部署中的适用性。
模型起源与概述
了解这些模型的历史背景有助于理解近年来的技术飞跃。
EfficientDet
EfficientDet 于 2019 年底推出,旨在解决物体检测模型缩放效率低下的问题。它提出了一种复合缩放方法,可统一缩放分辨率、深度和宽度。
- 作者: Mingxing Tan、Ruoming Pang 和 Quoc V. Le
- 组织机构Google 大脑
- 日期: 2019-11-20
- Arxiv:EfficientDet:可扩展的高效物体检测
- GitHub:google
YOLOv10
YOLOv10 于 2024 年 5 月发布,在后处理过程中无需使用非最大抑制NMS),从而降低了延迟并简化了部署,推动了实时检测的发展。
- 作者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 组织机构: 清华大学清华大学
- 日期: 2024-05-23
- Arxiv:YOLOv10:实时端到端物体检测
- GitHub:THU-MIG/yolov10
架构深度解析
这些模型的核心区别在于它们的特征融合和后处理方法。
EfficientDet:复合扩展和 BiFPN
EfficientDet 建立在EfficientNet骨干之上。它的最大特点是双向特征金字塔网络(BiFPN)。与将不同尺度的特征相加的传统 FPN 不同,BiFPN 引入了可学习的权重,以在融合过程中强调更重要的特征。它还增加了自上而下和自下而上的路径,以促进更好的信息流。
尽管从 FLOPs(每秒浮点运算次数)的角度看,它的理论效率很高,但与更简单的架构相比,大量使用深度可分离卷积和复杂的 BiFPN 结构有时会导致GPU 硬件的吞吐量降低。
YOLOv10:NMS 端到端检测
通过消除对NMS 的依赖,YOLOv10 实现了模式转变。传统的实时检测器会产生大量必须过滤的冗余预测,从而造成延迟瓶颈。YOLOv10 在训练过程中采用一致的双重分配:一对多头用于丰富的监督信号,一对一头用于精确的、NMS 的推理。
此外,YOLOv10 采用了以效率和精度为导向的整体模型设计。这包括轻量级分类头、空间信道解耦下采样和等级引导块设计,确保每个参数都能有效提高模型的性能。
NMS 推断的优势
非最大值抑制NMS)是一个用于过滤重叠边界框的后处理步骤。它是一个顺序性步骤,计算成本高,速度往往因检测到的物体数量而异。YOLOv10 通过设计一种能自然预测每个对象一个边框(端到端)的架构,稳定了推理延迟,使其对边缘人工智能应用具有很高的可预测性。
性能分析:速度 vs. 准确性
在比较性能时,YOLOv10 在现代硬件(尤其是 GPU)上表现出明显的优势。EfficientDet 针对 FLOPs 进行了优化,而YOLOv10 则针对实际延迟和吞吐量进行了优化。
| 模型 | 尺寸 (像素) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
主要内容
- GPU 延迟: YOLOv10 大幅缩短了推理时间。例如,YOLOv10b实现的mAP (52.7)高于EfficientDet-d6(52.6),而在 T4GPU 上的速度则超过13 倍(6.54ms vs 89.29ms)。
- 参数效率: YOLOv10 型号通常需要较少的参数就能获得相当的精度。YOLOv10n变体非常轻巧(2.3M 参数),非常适合移动部署。
- 精确度:在高端,YOLOv10x 实现了最先进的 54.4mAP ,超过了最大的 EfficientDet-d7 变体,而延迟时间仅为后者的一小部分。
培训效率和易用性
对于开发人员来说,最关键的因素之一是将这些模型集成到现有工作流程中的难易程度。
Ultralytics 生态系统的优势
YOLOv10 已集成到Ultralytics 生态系统中,在易用性和维护方面具有显著优势。用户可以从统一的Python 应用程序接口中获益,该程序接口可以在不同的模型世代中实现训练、验证和部署的标准化。
- 简单的应用程序接口:只需 3 行代码即可训练一个模型。
- 文档:全面的指南和示例。
- 社区:一个庞大而活跃的社区,提供支持和更新。
- 内存效率: Ultralytics YOLO 模型经过优化,与老式架构或transformer重型transformer的模型相比,可在训练过程中降低CUDA 内存使用率。
代码示例
使用Ultralytics 训练YOLOv10 非常简单。该框架可自动处理数据扩充、超参数调整和日志记录。
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on your custom dataset
# efficiently using available GPU resources
model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16)
# Run inference on an image
results = model("path/to/image.jpg")
相比之下,重现 EfficientDet 的结果往往需要复杂的TensorFlow 配置或特定版本的 AutoML 库,这对于快速原型开发来说可能不太方便。
理想用例
这两种模式各有优点,但它们的理想应用领域因其架构特点而有所不同。
YOLOv10:实时和边缘应用
由于其NMS 设计和低延迟,YOLOv10 是时间敏感型任务的最佳选择。
- 自主系统:对自动驾驶汽车和无人机至关重要,因为毫秒级的延迟决策可防止事故发生。
- 制造业:在物体快速移动的传送带上进行高速质量控制。
- 智能零售:利用边缘设备进行实时库存管理和客户分析。
- 移动应用程序:YOLOv10n 体积小巧,可通过以下方式在iOS 和Android 设备上顺利部署 CoreML或TFLite 在 iOS 和 Android 设备上顺利部署。
EfficientDet:学术和传统系统
EfficientDet 在特定情况下仍具有相关性:
- 资源有限的 CPU:较小的 EfficientDet 变体(d0、d1)针对低 FLOP 状态进行了高度优化,有时在CPU老式硬件上也能表现出色。
- 研究基准:它是学术研究比较神经网络缩放规律的绝佳基准。
- 现有管道:拥有传统TensorFlow 管线的企业可能会发现,与其迁移,不如维护现有的 EfficientDet 部署。
优缺点总结
YOLOv10
- 优势:
- NMS:真正的端到端部署简化了集成。
- 性能平衡:在 GPU 上实现无与伦比的速度-精度权衡。
- 多功能性:能够高效处理各种检测任务。
- 维护良好:由Ultralytics 生态系统提供支持,更新频繁。
- 弱点:
- 作为一种较新的架构,它的长期稳定性测试年数可能少于 2019 年的机型,不过快速采用可以缓解这一问题。
EfficientDet
- 优势:
- 可扩展性:复合缩放法在理论上优雅而有效。
- 参数效率:在当时具有良好的精度参数比。
- 弱点:
- 推理速度慢:在 GPU 上大量使用深度卷积通常比YOLO 的标准卷积更慢。
- 复杂性:BiFPN 增加了架构复杂性,可能更难调试或优化定制硬件加速器。
结论
EfficientDet是一个开创性的架构,引入了模型扩展的重要概念、 YOLOv10代表了对象检测的现代标准。向NMS、端到端架构的转变使YOLOv10 能够提供对当今实时应用至关重要的卓越性能。
适用于希望构建稳健、高性能视觉系统的开发人员和研究人员、 YOLOv10-以及更广泛的Ultralytics 生态系统提供了速度、准确性和开发人员体验的完美结合。使用统一平台无缝训练、输出和部署模型的能力大大缩短了产品上市时间。
对绝对最新进展感兴趣的人还应了解 Ultralytics YOLO11,它进一步完善了这些功能,可用于更广泛的计算机视觉任务,包括分割、姿势估计 和定向物体检测。
探索其他比较
为了做出最明智的决定,请考虑查看这些相关的技术比较: