YOLOv9 与 PP-YOLOE+:技术比较
对于计算机视觉工程师来说,选择最佳物体检测架构是一项关键决策,需要在高精度需求与计算限制之间取得平衡。本综合指南比较了 YOLOv9和PP-YOLOE+(一种针对PaddlePaddle 框架进行了优化的鲁棒检测器)进行了比较。我们分析了它们的架构创新、基准性能和部署适用性,以帮助您确定最适合您的计算机视觉应用。
YOLOv9:用于强化学习的可编程梯度信息
YOLOv9YOLOv9 是实时物体检测器发展史上的一次重大飞跃。它于 2024 年初发布,解决了深度神经网络中与信息丢失相关的基本问题,为准确性和参数效率设定了新的基准。
作者:王建尧、廖鸿源Chien-Yao Wang and Hong-Yuan Mark Liao
组织:台湾中央研究院信息科学研究所
日期:2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Documentation:ultralytics
该架构引入了两个突破性概念:可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)。随着网络的深入,计算损失函数所需的数据可能会丢失--这种现象被称为信息瓶颈。PGI 通过辅助可逆分支生成可靠的梯度来解决这一问题,确保深度特征保留关键信息。同时,GELAN 优化了参数利用率,与基于深度卷积的架构相比,该模型能以更少的计算资源实现更高的精度。
YOLOv9 集成到Ultralytics 生态系统中,以用户为中心的设计简化了复杂的工作流程。开发人员可以利用统一的Python API进行培训、验证和部署,大大缩短了从原型到生产的时间。这种集成还确保了与各种数据集和导出格式的兼容性。
PP-YOLOE+:PaddlePaddle 生态系统内的高精度
PP-YOLOE+是 PP-YOLOE 的进化版,由百度开发,是 PaddleDetection 套件的一部分。它专门设计用于在 PaddlePaddle框架上高效运行,为工业应用提供了速度与精度的完美平衡。
作者: PaddlePaddle 作者
机构:百度
日期:2022-04-02
Arxiv:https://arxiv.org/abs/2203.16250
GitHub:https://github.com/PaddlePaddle/PaddleDetection/
文档PaddlePaddlePaddlePaddle
PP-YOLOE+ 采用无锚机制,无需预定义锚框,从而简化了超参数调整过程。PP-YOLOE+ 的骨干网通常采用 CSPRepResNet,其独特的头部设计由任务对齐学习(TAL)驱动。这种方法将分类和定位任务对齐,以提高检测结果的质量。PP-YOLOE+ 虽然功能强大,但与PaddlePaddle 生态系统紧密结合,这可能会给标准化使用 PyTorch或TensorFlow 的团队来说,学习曲线可能会比较TensorFlow。
生态系统依赖性
虽然 PP-YOLOE+ 的性能很有竞争力,但它对PaddlePaddle 框架的依赖可能会限制与西方研究界常用的更广泛的PyTorch工具和库的互操作性。
性能分析:速度、准确性和效率
在比较这两种架构时、 YOLOv9在参数效率和峰值精确度方面都具有明显优势。GELAN 的集成使YOLOv9 能够更有效地处理视觉数据,从而在COCO 数据集上获得更高的平均精度 (mAP)分数,同时通常保持更低的延迟。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
主要内容
- 参数效率: YOLOv9模型只使用了2.0M 参数,性能与大型模型相当,比 PP-YOLOE+t 变体的 4.85M参数少得多。这使得YOLOv9 特别适合存储空间有限的边缘人工智能设备。
- 峰值精确度:YOLOv9实现了55.6% 的显著 mAP,超过了最大的 PP-YOLOE+x 模型(54.7%mAP),尽管使用的参数减少了约 40%(5730 万对 9842 万)。这凸显了 GELAN 在最大化特征提取能力方面的架构优势。
- 推理速度:虽然 PP-YOLOE+s 在 T4 GPU 上的原始延迟方面略胜一筹,但YOLOv9 模型通常能提供更好的权衡,以类似的计算成本提供更高的准确性。例如,YOLOv9在准确度(53.0% 对 52.9%)方面优于 PP-YOLOE+l,同时速度更快(7.16ms 对 8.36ms),重量更轻。
培训方法和易用性
这两种模式的开发者体验大相径庭,主要受其底层框架和生态系统支持的影响。
Ultralytics 生态系统优势
选择 YOLOv9通过Ultralytics 可以访问一整套旨在简化机器学习生命周期的工具。
- 简单的应用程序接口:训练模型只需几行代码,抽象出复杂的模板。
- 内存效率:与transformer架构相比,Ultralytics YOLO 模型经过优化,可在训练过程中降低内存使用率,从而可在消费级硬件上实现更大的批处理量。
- 多功能性:除检测外,Ultralytics 框架还支持实例分割、姿势估计 和分类,为各种任务提供了统一的界面。
- 高效训练:利用先进的数据增强技术和随时可用的预训练权重,开发人员可以更快地实现收敛,从而节省宝贵的GPU 时间。
利用Ultralytics简化工作流程
只需几行Python,您就可以加载、训练和验证YOLOv9 模型,并利用强大的Ultralytics 引擎进行自动超参数调整和实验跟踪。
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
PaddlePaddle 环境
PP-YOLOE+ 需要使用PaddleDetection库。虽然功能强大,但需要熟悉百度生态系统。对于尚未嵌入PaddlePaddle 基础设施的用户来说,设置环境、将数据集转换为所需格式以及导出模型以供部署等工作可能会比较繁琐。
理想用例
了解每种模型的优势有助于为具体的实际应用选择合适的工具。
何时选择YOLOv9
- 自主系统:对于自动驾驶汽车和机器人而言,最大限度地提高精确度对安全至关重要,而YOLOv9 卓越的mAP 可提供必要的可靠性。
- 边缘部署:轻巧的YOLOv9 非常适合部署在 Raspberry Pi 或NVIDIA Jetson 设备上,以执行人员计数或智能零售分析等任务。
- 研究与开发: 维护良好的生态系统和PyTorch 支持使其成为研究人员开发新的计算机视觉解决方案原型或集成物体跟踪功能的理想选择。
- 资源有限的环境: YOLOv9 的高效架构和较低的内存占用率使需要在有限 VRAM 的情况下实现高性能的应用受益匪浅。
何时选择 PP-YOLOE+
- PaddlePaddle 用户:对于已经使用百度基础设施的企业,PP-YOLOE+ 可提供无缝集成和原生优化。
- 工业检测(中国):鉴于其在亚洲市场的广泛应用,它经常出现在依赖特定 Paddle 推理硬件的制造流水线中。
结论
虽然这两种模型都是物体检测领域的有力竞争者、 YOLOv9成为全球大多数开发人员和企业的首选。YOLOv9 创新性地使用了可编程梯度信息 (PGI),在关键指标上优于 PP-YOLOE+,但使用的参数却少得多,从而提供了一流的准确性和显著的效率。
此外,Ultralytics 生态系统通过提供无与伦比的易用性、广泛的文档和充满活力的社区,提升了YOLOv9 的功能。无论您是在构建安全报警系统、分析医疗图像,还是在开发智能城市基础设施,YOLOv9 都能提供成功所需的性能平衡和多功能性。
其他值得考虑的模型
如果您正在探索最先进的视觉人工智能,请考虑Ultralytics 的其他强大模型:
- YOLO11:YOLO 系列的最新发展,为尖端应用提供更快的速度和更高的精度。
- YOLOv8:高度通用的行业标准,支持检测、分割、姿势估计和 旋转框检测任务。
- RT-DETR:transformer实时检测器,精度出众,可替代基于 CNN 的架构。