EfficientDet 与 DAMO-YOLO:技术对比
在快速发展的计算机视觉领域,选择正确的物体检测架构对于应用的成功至关重要。Google 研究院开发的EfficientDet 和阿里巴巴DAMO 学院开发的YOLO 是影响该领域的两个著名架构。虽然这两种架构都以最大限度地提高性能为目标,但它们在设计理念上却有很大的不同:一种侧重于参数效率和可扩展性,而另一种则以在工业硬件上实现低延迟推理为目标。
本指南对这两种模型进行了深入的技术分析,比较了它们的架构、性能指标和理想用例,以帮助开发人员做出明智的决定。
性能分析:效率与延迟
以下基准测试说明了 EfficientDet 和YOLO 之间截然不同的权衡。EfficientDet 以低参数数和 FLOPs 著称,因此理论上效率很高,而YOLO 则针对 GPU 上的实际推理速度进行了优化。
| 模型 | 尺寸 (像素) | 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
主要基准要点
从上述数据中可以看出几个重要的区别:
- GPU 延迟优势: YOLO 在GPU 硬件上的推理速度明显更快。例如,DAMO-YOLOm在 T4GPU 上实现了 49.2mAP ,延迟仅为 5.09ms。相比之下,同类的EfficientDet-d4(49.7mAP)需要 33.55 毫秒,慢了近6 倍。
- 参数效率:EfficientDet 在模型压缩指标方面表现出色。EfficientDet-d0模型仅使用 390 万个参数和 25.4B FLOPs,体积轻巧,是存储受限设备的理想选择。
- CPU 性能:EfficientDet 为CPU 性能提供了成熟的基准,使其成为非加速边缘设备的首选。不过,与更简单的架构相比,其复杂的特征融合层通常会导致实际吞吐量较慢。
EfficientDet:可扩展且高效
EfficientDet 通过引入缩放模型尺寸的原则性方法,彻底改变了物体检测。它建立在 EfficientNet 骨干之上,旨在实现高精度的同时最大限度地降低理论计算成本(FLOPs)。
EfficientDet 详情:
- 作者: Mingxing Tan、Ruoming Pang 和 Quoc V. Le
- 组织机构Google
- 日期: 2019-11-20
- Arxiv:https://arxiv.org/abs/1911.09070
- GitHub:https://github.com/google/automl/tree/master/efficientdet
建筑亮点
EfficientDet 的核心创新在于两个主要组成部分:
- 双向特征金字塔网络(BiFPN):与将不同尺度的特征相加的传统 FPN 不同,BiFPN 为不同的输入特征引入了可学习的权重,并允许信息自上而下和自下而上反复流动。这改进了特征融合,但增加了计算复杂度。
- 复合缩放:EfficientDet 提出了一种复合系数,可联合扩展骨干网、BiFPN、类/框网络和输入分辨率。这确保了网络的所有部分都能平衡增长,而不是任意缩放一个维度(如深度或宽度)。
优势与劣势
EfficientDet 的主要优势在于其理论效率。与之前的检测器(如 YOLOv3 或 RetinaNet)相比,它能以更少的参数达到最先进的精度。然而,EfficientDet 对深度可分离卷积的大量使用以及 BiFPN 复杂的内存访问模式可能会降低现代 GPU 的利用率,从而导致尽管 FLOPs 较低,但延迟却更高。
部署考虑因素
虽然 EfficientDet 的 FLOPs 很低,但 "FLOPs 低 "并不总是意味着 "推理速度快"。在 GPU 或 TPU 等硬件上,内存带宽和内核启动开销往往更为重要。在实时推理场景中,EfficientDet 复杂的图形结构有时会成为瓶颈。
DAMO-YOLO:以速度为导向的创新
YOLO 的设计目标很明确:缩小工业硬件上高性能和低延迟之间的差距。它采用了最先进的神经结构搜索(NAS)技术,为检测任务寻找最佳结构。
YOLO 详情:
- 作者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang 和 Xiuyu Sun
- 组织机构阿里巴巴集团
- 日期: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
建筑亮点
YOLO 为YOLO 系列引入了多个 "新技术 "组件:
- MAE-NAS 主干网:它利用最大熵驱动的神经架构搜索(NAS)来发现能有效处理不同输入分辨率的高效骨干网。
- RepGFPN:这是对标准通用 FPN 的改进,通过重新参数化来简化融合模块,最大限度地提高硬件利用率。
- ZeroHead 和 AlignedOTA:"ZeroHead "设计大大降低了检测头的复杂性,而 AlignedOTA(最优传输分配)则在训练过程中提供了一种稳健的标签分配策略,以解决分类和回归之间的错位问题。
优势与劣势
YOLO 在原始速度方面表现出色。通过优先使用对硬件加速友好的结构(如TensorRT),它实现了显著的吞吐量。不过,与更简单的手工创建的架构相比,它对复杂的 NAS 生成架构的依赖会使其更难修改或微调以满足定制研究的目的。此外,它缺乏更主流的YOLO 版本所具有的广泛社区支持和多平台易用性。
Ultralytics YOLO11:全面的选择
EfficientDet 提供参数效率,而YOLO 则提供GPU 速度、 Ultralytics YOLO11在开发人员友好的生态系统中实现了两者的完美平衡。对于大多数实际应用(从边缘人工智能到云YOLO11 )而言,YOLO11 是最佳选择。
为什么选择Ultralytics 模型?
- 无与伦比的多功能性:与 EfficientDet 和YOLO 这些主要的对象检测器不同,Ultralytics YOLO11 本机支持广泛的计算机视觉任务,包括实例分割、姿势估计 、定向边界框(旋转框检测)和图像分类。这样,您就可以使用单一框架来满足不同的项目要求。
- 性能平衡: YOLO11 在精度-延迟边界上不断推陈出新。它在保持推理速度与专门的实时模型相媲美的同时,通常还能达到或超过更高精度的模型。
- 易用性和生态系统: Ultralytics API 设计简单。有了大量的文档和社区支持,开发人员从安装到培训只需几分钟。生态系统包括数据注释、实验跟踪和一键导出至ONNX、TensorRT、CoreML 和TFLite 等格式的无缝集成。
- 训练效率: Ultralytics 模型经过优化,可快速收敛。它们采用先进的数据增强策略和高效的数据加载器,减少了与训练高性能模型相关的时间和成本。
- 内存效率:与Transformer模型或旧架构相比,YOLO11 在训练时所需的CUDA 内存大大减少,因此可以在消费级 GPU 上使用。
代码示例:开始使用YOLO11
使用Ultralytics 实现最先进的检测技术非常简单。下面的代码片段演示了如何加载预训练的YOLO11 模型并在图像上运行推理:
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on a local image or URL
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
# Export the model to ONNX format for deployment
path = model.export(format="onnx")
结论
在 EfficientDet 和YOLO 的比较中,选择主要取决于具体的硬件限制。对于理论效率和参数数量是主要瓶颈的应用场景,EfficientDet仍然是强有力的候选者。对于在现代 GPU 上运行的高吞吐量应用来说,YOLO-YOLO显然是赢家,因为在这些应用中,延迟是最重要的。
然而,要想获得兼具高性能、易用性和多任务处理能力等优点的解决方案Ultralytics YOLO11作为行业标准脱颖而出。其强大的生态系统和持续的改进确保开发人员拥有最可靠的工具来构建可扩展的计算机视觉解决方案。
探索其他比较
要想进一步了解物体检测模型的全貌,请探索这些额外的比较:
- YOLO11 vs EfficientDet
- YOLOv8 vs. DAMO-YOLO
- RT-DETR vs. DAMO-YOLO
- YOLO11 vs. RT-DETR
- YOLOX 与 EfficientDet 对比