EfficientDet 与 YOLOv9:技术对比
选择最佳目标检测模型对于计算机视觉任务至关重要,需要在准确性、速度和计算资源之间取得平衡。本页提供了 Google 的 EfficientDet 和 Ultralytics YOLOv9 这两个目标检测领域中的重要模型之间的详细技术比较。我们将深入研究它们的架构设计、性能基准和适用应用,以帮助您为您的项目做出明智的决定。
EfficientDet:可扩展且高效的架构
EfficientDet 由 Google Research 的研究人员于 2019 年推出,并迅速成为高效目标检测的基准。它提出了一系列模型,可以使用系统化的复合缩放方法从轻量级、边缘兼容版本扩展到高度准确的基于云的版本。
- 作者: 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
- 文档: https://github.com/google/automl/tree/master/efficientdet#readme
架构和主要特性
EfficientDet 的架构建立在三个关键组件之上:
- EfficientNet Backbone: 它使用高效的 EfficientNet 作为其特征提取的主干,该主干是使用 神经架构搜索 (NAS) 设计的,以优化准确性和 FLOPs。
- BiFPN (Bi-directional Feature Pyramid Network)(双向特征金字塔网络): EfficientDet 没有使用传统的 FPN,而是使用了 BiFPN,后者允许通过加权连接进行更丰富的多尺度特征融合,从而以最小的计算开销提高准确性。
- 复合缩放: 一种新颖的方法,可以统一缩放骨干网络、特征网络和检测头的深度、宽度和分辨率。这允许创建一系列模型(D0 到 D7),以满足不同的资源约束。
优势
- 可扩展性: EfficientDet 的主要优势在于其模型系列,该系列为不同的部署目标提供了广泛的选择,从移动设备到数据中心。
- 开创性效率: 在发布时,它为效率树立了新标准,以比竞争模型更少的参数和 FLOP 实现了高精度。
弱点
- 发布时间和性能: 虽然该架构是基础性的,但它源于 2019 年。像 YOLOv9 这样的新型号在速度和准确性方面都超过了它,尤其是在像 GPU 这样的现代硬件上。
- 推理速度: 较大的 EfficientDet 模型可能很慢,特别是与 YOLO 模型的高度优化推理速度相比。
- 任务特定性: EfficientDet 专为目标检测而设计,缺乏现代框架中发现的实例分割或姿势估计等其他任务的内置多功能性。
- 生态系统: 官方存储库不太注重用户体验,并且不如全面的 Ultralytics 生态系统 那样积极维护或支持。
应用案例
EfficientDet仍然是以下情况的可行选择:
- 适用于其某个缩放变体(D0-D7)提供的特定权衡点非常适合的应用。
- 需要在 CPU 上部署的项目,其较小的模型显示出具有竞争力的性能。
- 模型已经集成并运行良好的旧系统。
YOLOv9:最先进的准确性和效率
由 Chien-Yao Wang 和 Hong-Yuan Mark Liao 于 2024 年推出的 Ultralytics YOLOv9 代表了实时对象检测领域的重大进展。它通过创新的架构元素解决了深度网络中的信息丢失问题,树立了新的最先进的基准。
- 作者: Chien-Yao Wang, Hong-Yuan Mark Liao
- 组织: 台湾中研院资讯所
- 日期: 2024-02-21
- Arxiv: https://arxiv.org/abs/2402.13616
- GitHub: https://github.com/WongKinYiu/yolov9
- 文档: https://docs.ultralytics.com/models/yolov9/
架构和主要特性
YOLOv9卓越的性能源于两项主要创新:
- 可编程梯度信息 (PGI): 此概念旨在解决深度神经网络中的信息瓶颈问题。PGI 生成可靠的梯度,以确保模型可以学习完整的信息,从而获得更准确的特征表示。
- 广义高效层聚合网络 (GELAN): YOLOv9 引入了 GELAN,这是一种新颖且高效的架构,它建立在 CSPNet 和 ELAN 的原理之上。它优化了参数利用率和计算效率,使模型能够以更少的资源实现更高的准确性。
优势
- 顶尖精度: YOLOv9 在目标检测方面实现了卓越的精度,在相似或更低的参数数量下,性能优于 EfficientDet 等竞争对手,详情请参阅论文“YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information”。
- 卓越的性能平衡: 它在准确性、推理速度和模型大小之间提供了出色的权衡,使其适用于从 边缘 AI 到高性能云服务器的广泛应用。
- 易用性: 在 Ultralytics 框架内使用时,YOLOv9 受益于简化的用户体验、简单的 Python API 和丰富的 文档。
- 完善的生态系统: Ultralytics 生态系统提供积极的开发、大型且支持性的社区、频繁的更新以及与 Ultralytics HUB 等工具的集成,以实现无代码训练和 MLOps。
- 训练效率: 与其他架构相比,YOLO 模型在训练期间通常具有更低的内存需求。该框架提供高效的训练流程和随时可用的预训练权重。
- 多功能性: 虽然最初的论文侧重于检测,但底层的 GELAN 架构具有多种用途。最初的代码仓库暗示支持诸如实例分割和全景分割之类的任务,与其他 Ultralytics 模型(如 YOLOv8)的多任务功能相一致。
弱点
- 新颖性: 作为一个较新的模型,实际部署示例可能不如 EfficientDet 等较旧的成熟模型那么多,尽管 Ultralytics 社区内的采用速度很快。
- 训练资源: 虽然对于其性能水平而言,计算效率很高,但训练最大的 YOLOv9 变体(例如,YOLOv9-E)仍然可能需要大量的计算资源。
应用案例
YOLOv9 特别适合精度和效率至关重要的应用,例如:
性能分析:YOLOv9 vs. EfficientDet
下表提供了 EfficientDet 和 YOLOv9 各种模型尺寸的性能指标的正面比较,这些模型均在 COCO 数据集上进行了基准测试。
模型 | 尺寸 (像素) |
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 |
YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
从数据中,可以得出几个关键的见解:
- 准确性和效率: YOLOv9 始终提供更好的权衡。 例如,YOLOv9-C 以大约一半的参数和 FLOP 实现了比 EfficientDet-D6 (52.6) 更高的 mAP (53.0)。
- 推理速度: 在使用 TensorRT 优化的现代 GPU 上,YOLOv9 模型明显更快。YOLOv9-E 比 EfficientDet-D7 快 7 倍以上,同时也更准确。即使是最小的 YOLOv9t 模型也比最小的 EfficientDet-d0 快得多。
- 资源使用: YOLOv9 模型具有更高的参数效率。YOLOv9-S(710 万参数)超越了 EfficientDet-D3(1200 万参数)的准确性。这种效率对于在资源受限的设备上部署至关重要。
结论与建议
虽然 EfficientDet 是一款突破性的模型,推动了效率的边界,但计算机视觉领域发展迅速。对于今天开始的新项目,YOLOv9 显然是更明智的选择。它提供了最先进的精度、在现代硬件上卓越的推理速度以及更高的计算效率。
YOLOv9 集成到 Ultralytics 生态系统中进一步巩固了其优势,为开发人员提供了一个用户友好、良好支持和通用的框架,加速了从训练到部署的整个工作流程。EfficientDet 仍然是一个具有历史意义的重要模型,可能适用于维护遗留系统,但对于新的高性能应用程序,YOLOv9 提供了决定性的优势。
探索其他模型
如果您正在探索不同的最先进模型,请务必查看我们的其他比较页面: