EfficientDet 与YOLOv9:架构与性能对比
在快速发展的计算机视觉领域,选择合适的物体检测架构至关重要,它将影响从训练成本到部署延迟的方方面面。本技术分析全面对比了Google 开创性的高效扩展架构EfficientDet与YOLOv9YOLO 的现代迭代版本,该版本引入可编程梯度信息以实现卓越的特征学习能力。
执行摘要
尽管EfficientDet在模型缩放和特征融合方面引入了开创性概念,但如今已被视为传统架构。其对复杂BiFPN层的依赖,常导致在现代硬件上的推理速度低于YOLO 的精简设计。
YOLOv9 代表着重大飞跃,在提供更高精度的同时,其推理速度也大幅提升。此外,Ultralytics 的一部分YOLOv9 统一的API、简化的部署流程以及强大的社区支持,使其成为生产环境中的推荐选择。
EfficientDet:可扩展且高效的目标检测
EfficientDet旨在高效解决物体检测器扩展问题。先前模型常通过简单扩大骨干网络实现扩展,却忽略了分辨率、深度与宽度之间的平衡关系。
主要架构特性
- 复合缩放:EfficientDet提出了一种复合缩放方法,该方法对所有骨干网络、特征网络以及边界框/类别预测网络的分辨率、深度和宽度进行统一缩放。
- 双向特征金字塔网络(BiFPN):一项关键创新,可轻松实现多尺度特征融合。与传统特征金字塔网络不同,BiFPN增加了自底向上的路径,并移除了仅有一个输入的节点,同时引入可学习权重来理解不同输入特征的重要性。
- 高效神经网络骨干架构:该架构采用高效神经网络作为骨干,其参数效率经过优化。
作者:谭明兴、庞若明、黎国文
机构:Google
日期:2019-11-20
链接:Arxiv|GitHub
YOLOv9:可编程梯度信息
YOLOv9 解决了深度学习中的一个根本性问题:信息瓶颈。当数据通过深度神经网络的各层时,信息不可避免地会丢失。YOLOv9 通过可编程梯度信息(PGI)和名为GELAN的新架构YOLOv9 这一问题。
主要架构特性
- GELAN(广义高效层聚合网络):该架构融合了CSPNet与ELAN的优势特性。它通过优化梯度下降路径,确保模型能够学习到轻量级但信息丰富的特征。
- PGI(可编程梯度信息):PGI提供辅助监督分支以引导学习过程,确保主分支保留准确检测所需的关键信息。该机制在复杂环境中检测困难目标时尤为有效。
- 简洁性:尽管存在这些内部复杂性,推理结构仍保持精简,避免了EfficientDet中使用的BiFPN相关的沉重计算成本。
作者:王建尧、廖宏远
机构:台湾中央研究院资讯科学研究所
日期:2024-02-21
链接:Arxiv|GitHub
技术性能比较
在比较这些模型时,参数效率与实际运行时延迟之间的权衡关系变得显而易见。尽管EfficientDet在参数效率上表现优异,但其复杂的图结构(BiFPN)YOLOv9使用的标准卷积,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 |
| 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 优于EfficientDet。例如,YOLOv9c在T4GPU 运行速度比EfficientDet-d6快12倍以上GPU 7.16毫秒 vs 89.29毫秒),同时达到与后者相当mAP 53.0% vs 52.6%mAP 。 这使得YOLOv9 成为实时应用场景中的优YOLOv9 。
培训与生态系统体验
这些架构之间的主要区别在于Ultralytics提供的易用性和生态系统支持。
高效检测挑战
训练EfficientDet通常需要TensorFlow API或旧版仓库。这些工具因依赖冲突而难以配置,且常缺乏对现代功能的支持,例如自动混合精度训练或便捷的云端日志集成。
Ultralytics 优势
YOLOv9 Ultralytics 使用YOLOv9 可提供无缝体验。该生态系统能自动处理数据增强、超参数进化及导出操作。
- 易用性:只需几行代码即可开始训练。
- 内存效率: Ultralytics 经过优化,在训练过程中能减少显存使用,相比复杂的多分支网络,可在消费级GPU上支持更大的批量大小。
- 多功能性:除检测功能外,Ultralytics 还支持实例分割和姿势估计 ,这些功能在标准EfficientDet实现中并不原生提供。
from ultralytics import YOLO
# Load a pretrained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
真实世界的应用
模型的选择对不同应用的可行性具有显著影响。
EfficientDet 的理想用例
- 学术研究:适用于研究特征融合技术和复合尺度理论。
- 低功耗/低速场景:在特定边缘案例中,当旧硬件被硬编码为EfficientNet主干网络(例如某些较旧的Coral TPU)时,EfficientDet-Lite变体仍可能适用。
YOLOv9 的理想应用场景
- 自主导航:对于必须在毫秒级处理输入以确保安全的自动驾驶汽车而言,高推理速度至关重要。
- 零售分析:对于库存管理等应用场景,YOLOv9 精准区分相似商品,同时确保结账系统流畅运行。
- 医疗健康: 在医学图像分析中,PGI架构有助于保留检测X光或MRI扫描中微小异常所需的精细细节。
未来:升级至YOLO26
YOLOv9 强大的工具Ultralytics 突破视觉人工智能的边界。对于追求绝对前沿技术的开发者而言,YOLO26相较于EfficientDet和YOLOv9均实现了重大突破。
YOLO26引入了端到端NMS,彻底消除了对非最大抑制后处理的需求。这使得部署流程更简洁,推理速度更快。此外,通过采用融合SGD 的全新MuSGD优化器,YOLO26实现了更稳定的训练过程和更快的收敛速度。
针对边缘部署,YOLO26经过优化可实现最高43%CPU 加速,并采用DFL移除技术以增强与低功耗设备的兼容性。无论您从事机器人技术还是高吞吐量视频分析,YOLO26都代表着全新行业标准。
对于对其他尖端架构感兴趣的用户,我们还推荐探索 YOLO11 和 RT-DETRUltralytics