跳转至内容

YOLOv9 与 EfficientDet:综合技术比较

选择正确的物体检测模型是计算机视觉开发中的关键决策,直接影响到应用的速度、准确性和资源效率。本指南将对以下几种模型进行深入的技术比较 Ultralytics YOLOv9EfficientDet 之间进行了深入的技术比较,分析了它们的架构创新、性能指标以及对现代部署方案的适用性。

性能分析

物体检测技术的发展日新月异,较新的架构明显优于前代架构。下表列出了关键指标的直接比较,突出显示了 YOLOv9 的进步。 YOLOv9在推理速度和参数效率方面的进步。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0

主要收获:

  • 速度优势: YOLOv9 模型在GPU 硬件上的推理速度远远超过其他模型。例如,YOLOv9c(53.0%mAP)比精度相当的 EfficientDet-d6(52.6%mAP)快 12 倍以上。
  • 参数效率: YOLOv9 的架构使其能够以更少的参数实现更高的精度。YOLOv9s仅用 7.1M 参数就达到了 46.8% 的mAP ,而 EfficientDet 需要更大的 D3 变体(12.0M 参数)才能达到 47.5% 的类似精度水平。
  • 最先进的精度:最大的模型YOLOv9e 以 55.6% 的mAP 树立了一个高标准,超过了最重的 EfficientDet-d7 模型,而延迟时间仅为后者的一小部分。

YOLOv9:可编程梯度信息的新时代

2024 年初推出的YOLOv9 代表着YOLO 系列的重大飞跃。它由 Chien-Yao Wang 和 Hong-Yuan Mark Liao 开发,解决了深度学习中与特征传输过程中的信息丢失有关的基本问题。

技术细节:

建筑创新

YOLOv9 引入了两个核心概念来解决 "信息瓶颈 "问题:

  1. 可编程梯度信息 (PGI):一种辅助监督框架,可生成用于更新网络权重的可靠梯度,确保模型在整个深层保留关键信息。
  2. 通用高效层聚合网络(GELAN):一种新颖的轻量级架构,结合了 CSPNet 和 ELAN 的优势。它优先考虑梯度路径规划,在不牺牲准确性的前提下提高参数效率和推理速度。

您知道吗?

GELAN 架构的设计与硬件无关,不仅针对高端 GPU,还针对计算资源有限的边缘设备进行了推理优化。

优势和用例

  • 性能平衡: YOLOv9 在速度和准确性之间实现了出色的平衡,是自动驾驶和视频分析等实时推理应用的理想之选。
  • Ultralytics 生态系统:与Ultralytics 的集成提供了精简的Python API和CLI,简化了培训、验证和部署。
  • 训练效率:得益于其高效的架构,YOLOv9 与transformer替代方案相比,在训练过程中需要的内存通常更少,从而便于在消费级 GPU 上进行定制训练

代码示例:将YOLOv9 与Ultralytics结合使用

您可以使用Ultralytics 软件包轻松运行推理或训练YOLOv9 。

from ultralytics import YOLO

# Load a pre-trained YOLOv9c model
model = YOLO("yolov9c.pt")

# Run inference on an image
results = model.predict("path/to/image.jpg")

# Train the model on a custom dataset (e.g., COCO8)
model.train(data="coco8.yaml", epochs=100, imgsz=640)

了解有关YOLOv9的更多信息

EfficientDet:开创性的可扩展架构

Google 研究院于 2019 年底发布的 EfficientDet 是一个开创性的模型,它引入了一种系统化的方法来扩展物体探测器。它的重点是在广泛的资源限制条件下优化效率。

技术细节:

建筑亮点

EfficientDet 建立在EfficientNet骨干之上,并引入了几个关键功能:

  1. 双向特征金字塔网络(BiFPN):与传统的 FPN 不同,BiFPN 通过为不同的输入特征引入可学习的权重,轻松实现多尺度特征融合。
  2. 复合缩放:这种方法对骨干网络、特征网络和方框/类别预测网络的分辨率、深度和宽度进行统一缩放,可根据不同的资源预算定制一系列模型(D0 至 D7)。

优势与劣势

  • 可扩展性:D0-D7 系列结构允许用户选择适合其特定 FLOPs 预算的型号。
  • 历史意义:它设定了 2020 年的效率标准,对后来的神经架构搜索研究产生了重大影响。
  • 传统性能:虽然在当时效率很高,但就 GPU 上的延迟而言,EfficientDet 现在已经落后于YOLOv9 等现代探测器。它大量使用深度可分离卷积,虽然具有 FLOP 效率,但与YOLO 架构中使用的优化密集卷积相比,在NVIDIA T4 等硬件上的推理速度通常较慢。

了解更多关于 EfficientDet 的信息

详细比较分析

在YOLOv9 和 EfficientDet 之间做出选择时,除了原始mAP 之外,还有几个因素也会发挥作用。以下是它们在实际开发环境中的比较分析。

速度和延迟

最明显的区别在于推理速度。YOLOv9 采用了 GELAN 架构,该架构针对 GPU 上的大规模并行化进行了优化。相比之下,EfficientDet 对复杂特征融合(BiFPN)和深度可分离卷积的依赖会在加速器上造成内存访问瓶颈。从性能表中可以看出,YOLOv9 模型在 TensorRT比精度相似的 EfficientDet 对应模型快 2 到 10 倍。

生态系统和易用性

Ultralytics 生态系统为YOLOv9 提供了显著的优势。EfficientDet 需要一个TensorFlow 环境和复杂的设置脚本,而YOLOv9 则集成在一个用户友好的软件包中,并支持以下功能

  • 单线安装: pip install ultralytics
  • 广泛的出口支持: 无缝导出到 ONNX、TensorRT、CoreML、OpenVINO 等。 model.export() 函数。
  • 积极维护:频繁更新、社区支持,以及关于对象跟踪部署等任务的大量指南。

部署灵活性

使用Ultralytics 训练的YOLOv9 模型可以通过TFLite 或 EdgeTPU 等格式轻松部署到边缘设备上。查看我们的TFLite 集成指南,了解更多详情。

训练效率和记忆力

现代计算机视觉模型的训练需要大量资源。Ultralytics YOLO 模型以高效利用GPU 内存而著称。与老式架构或transformer重型模型相比,这使得开发人员能够在消费级硬件上训练更大的批量。此外,Ultralytics 还提供随时可用的预训练权重,从而实现转移学习,其收敛速度比从头开始训练 EfficientDet 要快得多。

多功能性

虽然 EfficientDet 严格来说是一个对象检测器,但YOLOv9 (以及更广泛的Ultralytics YOLO 系列)背后的架构原则可扩展至多个任务。Ultralytics 框架支持

这种多功能性使开发人员能够使用单一的统一应用程序接口来应对各种计算机视觉挑战。

结论

对于大多数新项目而言,YOLOv9 是最佳选择。它具有最先进的准确性,推理速度明显加快,适合实时应用。它与Ultralytics 生态系统的集成确保了从数据准备到模型部署的流畅开发体验。

EfficientDet 仍是了解复合缩放和特征融合的重要参考资料,但在现代硬件的每瓦性能和延迟指标方面普遍不足。

希望了解最新计算机视觉技术的开发人员还应该了解 YOLO11,它在这些先进技术的基础上提供了更高的效率和性能。

探索其他模型

如果您对进一步的比较感兴趣,可以考虑探索这些相关模型:

  • YOLO11 vs.YOLOv9:了解最新一代产品如何改进YOLOv9。
  • RT-DETR:transformer探测器,可为实时场景提供高精度。
  • YOLOv8:多功能模型系列,支持检测、分割和姿势估计 。

评论