EfficientDet 对比 YOLOv10:目标检测效率的演进
在快速发展的计算机视觉领域,对计算效率和 detect 准确性之间最佳平衡的追求是持续的。定义了各自时代的两个架构是 EfficientDet(一个来自Google Research 的可扩展模型家族)和 YOLOv10(清华大学研究人员最新推出的实时端到端检测器)。
本比较探讨了两种模型的技术细微之处,考察了 YOLOv10 的现代设计理念如何改进 EfficientDet 引入的基础概念。我们将分析它们的架构、性能指标以及在实际部署中的适用性。
模型来源与概述
理解这些模型的历史背景有助于我们认识到近年来取得的技术飞跃。
EfficientDet
EfficientDet 于 2019 年末推出,旨在解决目标检测模型缩放效率低下的问题。它提出了一种统一缩放分辨率、深度和宽度的复合缩放方法。
- 作者: Mingxing Tan、Ruoming Pang 和 Quoc V. Le
- 组织:Google Brain
- 日期: 2019-11-20
- Arxiv:EfficientDet: Scalable and Efficient Object Detection
- GitHub:google/automl/efficientdet
YOLOv10
于2024年5月发布,YOLOv10通过消除后处理过程中对非极大值抑制(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 端到端检测
YOLOv10 通过消除对 NMS 的依赖,引入了范式转变。传统的实时检测器会生成大量冗余预测,需要进行过滤,从而造成延迟瓶颈。YOLOv10 在训练过程中采用一致双重分配:一个用于丰富监督信号的一对多头部,以及一个用于精确、免 NMS 推理的一对一头部。
此外,YOLOv10 采用了一种整体效率-精度驱动的模型设计。这包括轻量级分类头、空间-通道解耦下采样和秩引导块设计,确保每个参数都有效地提升模型性能。
免 NMS 推理的优势
非极大值抑制 (NMS) 是一种用于过滤重叠边界框的后处理步骤。它按顺序执行且计算成本高昂,速度通常随检测到的对象数量而变化。通过设计一种自然地为每个对象预测一个边界框(端到端)的架构,YOLOv10 稳定了推理延迟,使其在边缘 AI 应用中具有高度可预测性。
性能分析:速度 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 在 T4 GPU 上运行速度比 EfficientDet-d6 (52.6) 快超过 13 倍 (6.54 毫秒 vs 89.29 毫秒),同时实现了更高的 mAP (52.7)。
- 参数效率:YOLOv10模型通常以更少的参数实现可比的精度。YOLOv10n变体极其轻量化(2.3M参数),使其成为移动部署的理想选择。
- 精度: 在高端,YOLOv10x 实现了 54.4 的最先进的 mAP,超过了最大的 EfficientDet-d7 变体,同时保持了极低的延迟。
训练效率与易用性
对开发者而言,最关键的因素之一是将这些模型轻松集成到现有工作流程中。
Ultralytics 生态系统优势
YOLOv10 已集成到 Ultralytics 生态系统中,这在易用性和维护方面提供了显著优势。用户受益于统一的Python API,该 API 标准化了跨不同模型世代的训练、验证和部署。
- 简单API: 仅需3行代码即可训练模型。
- 文档:全面的指南和示例。
- 社区:一个庞大而活跃的社区,提供支持和更新。
- 内存效率:Ultralytics YOLO 模型优化了训练期间的 CUDA 内存使用,与旧架构或繁重的基于 Transformer 的模型相比。
代码示例
使用 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 的紧凑尺寸使其能够通过 CoreML 或 TFLite 在 iOS 和 Android 设备上平稳部署。
EfficientDet:学术与传统系统
EfficientDet 在特定背景下仍然具有相关性:
- 资源受限的CPU:较小的EfficientDet变体(d0、d1)针对低FLOPs场景进行了高度优化,有时在较旧的纯CPU硬件上也能表现良好。
- 研究基线:它为学术研究中比较神经网络中的缩放定律提供了一个极佳的基线。
- 现有管道:拥有传统TensorFlow管道的组织可能会发现维护现有EfficientDet部署比迁移更容易。
优劣势总结
YOLOv10
- 优势:
- 免NMS:真正的端到端部署简化了集成。
- 性能平衡: 在GPU上无与伦比的速度-精度权衡。
- 多功能性:能够高效处理各种 detect 任务。
- 良好维护:由 Ultralytics 生态系统提供支持,并有频繁的更新。
- 弱点:
- 作为一种较新的架构,与2019年时代的模型相比,它可能缺乏多年的长期稳定性测试,尽管快速采用缓解了这一点。
EfficientDet
- 优势:
- 可扩展性: 复合缩放方法在理论上优雅且有效。
- 参数效率:在当时具有良好的精度与参数比。
- 弱点:
- 推理速度慢: 大量使用深度可分离卷积在GPU上通常比YOLO的标准卷积慢。
- 复杂性: BiFPN 增加了架构复杂性,这使得为自定义硬件加速器进行调试或优化变得更加困难。
结论
尽管EfficientDet是一种开创性的架构,引入了模型缩放的重要概念,但YOLOv10代表了现代对象检测的标准。向无NMS、端到端架构的转变使得YOLOv10能够提供卓越的性能,这对于当今的实时应用至关重要。
对于寻求构建强大、高性能视觉系统的开发人员和研究人员,YOLOv10——以及更广泛的 Ultralytics 生态系统——提供了速度、准确性和开发者体验的引人注目的结合。使用统一平台无缝训练、导出和部署模型的能力显著缩短了产品上市时间。
那些对最新进展感兴趣的人也应该探索Ultralytics YOLO11,它进一步完善了这些功能,以应对更广泛的计算机视觉任务,包括segmentation、姿势估计和定向object detection。
探索其他比较
为了做出最明智的决策,请考虑查阅这些相关的技术比较: