YOLOv9 vs. PP-YOLOE+:技术比较
对于计算机视觉工程师来说,选择最佳物体检测架构是一项关键决策,需要在高精度需求与计算限制之间取得平衡。本综合指南比较了 YOLOv9和PP-YOLOE+(一种针对PaddlePaddle 框架进行了优化的鲁棒检测器)进行了比较。我们分析了它们的架构创新、基准性能和部署适用性,以帮助您确定最适合您的计算机视觉应用。
YOLOv9:用于增强学习的可编程梯度信息
YOLOv9 代表了实时对象检测器发展中的一次重大飞跃。它于 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 优化了参数利用率,与基于深度卷积的架构相比,使模型能够以更少的计算资源实现更高的 精度。
集成到 Ultralytics 生态系统中,YOLOv9 受益于以用户为中心的设计,简化了复杂的工作流程。开发人员可以利用统一的 Python API 进行训练、验证和部署,从而大幅缩短从原型到生产的时间。这种集成还确保了与各种数据集和导出格式的兼容性。
PP-YOLOE+:PaddlePaddle 生态系统内的高精度
PP-YOLOE+是PP-YOLOE的演进版本,由百度开发,作为PaddleDetection套件的一部分。它经过专门设计,可在PaddlePaddle框架上高效运行,为工业应用提供速度和精度之间的强大平衡。
作者: PaddlePaddle 作者
机构:百度
日期: 2022-04-02
预印本:https://arxiv.org/abs/2203.16250
GitHub:https://github.com/PaddlePaddle/PaddleDetection/
文档:https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
PP-YOLOE+ 采用无anchor机制,无需预定义anchor boxes,从而简化了超参数调优过程。其骨干网络通常使用CSPRepResNet,并具有由任务对齐学习(TAL)驱动的独特头部设计。这种方法对齐了分类和定位任务,以提高 detect 结果的质量。尽管功能强大,PP-YOLOE+ 与 PaddlePaddle 生态系统紧密耦合,这对于已标准化使用 PyTorch 或 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-T模型实现了与大型模型相当的性能,而仅使用2.0M参数,远少于PP-YOLOE+t变体的4.85M。这使得YOLOv9特别适用于存储受限的边缘AI设备。
- 峰值精度:YOLOv9-E 实现了卓越的 55.6% mAP,超越了最大的PP-YOLOE+x模型(54.7% mAP),尽管参数量减少了约40%(57.3M vs. 98.42M)。这凸显了GELAN在最大化特征提取能力方面的架构优势。
- 推理速度:虽然PP-YOLOE+s在T4 GPU上的原始延迟方面略有优势,但YOLOv9模型通常提供更好的权衡,在相似的计算成本下提供显著更高的准确性。例如,YOLOv9-C在准确性方面优于PP-YOLOE+l(53.0% vs 52.9%),同时速度更快(7.16毫秒 vs 8.36毫秒)且更轻。
训练方法与易用性
这两种模型的开发者体验差异显著,主要受其底层框架和生态系统支持的影响。
Ultralytics 生态系统优势
通过 Ultralytics 选择 YOLOv9,可获得一套全面的工具,旨在简化机器学习生命周期。
- 简单API: 训练模型仅需几行代码,抽象化了复杂的样板代码。
- 内存效率:Ultralytics YOLO 模型优化了训练期间的内存使用,与基于 Transformer 的架构相比,允许在消费级硬件上使用更大的批处理大小。
- 多功能性:除了 detect 之外,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-E卓越的mAP提供了必要的可靠性。
- 边缘部署: 轻量级 YOLOv9-T 非常适合部署在 Raspberry Pi 或 NVIDIA Jetson 设备上,用于 人员计数 或智能零售分析等任务。
- 研究与开发:维护良好的生态系统和 PyTorch 支持使其成为研究人员原型化新的计算机视觉解决方案或集成目标 track 功能的理想选择。
- 资源受限环境:在有限显存下需要高性能的应用受益于YOLOv9的高效架构和更低的内存占用。
何时选择 PP-YOLOE+
- PaddlePaddle 用户:对于已使用百度基础设施的组织,PP-YOLOE+ 提供无缝集成和原生优化。
- 工业检测(中国): 鉴于其在亚洲市场的广泛采用,该模型常用于依赖特定 PaddlePaddle 推理硬件的制造流程中。
结论
尽管这两个模型在 object detection 领域都是强大的竞争者,但 YOLOv9 成为全球大多数开发人员和企业的卓越选择。它创新性地使用可编程梯度信息 (PGI),以卓越的效率提供最先进的准确性,在关键指标上优于 PP-YOLOE+,同时使用显著更少的参数。
此外,Ultralytics 生态系统通过提供无与伦比的易用性、详尽的文档和活跃的社区,提升了 YOLOv9。无论您是构建安全警报系统、分析医学图像,还是开发智慧城市基础设施,YOLOv9 都能提供成功所需的性能平衡和多功能性。
其他值得考虑的模型
如果您正在探索最先进的视觉 AI,请考虑 Ultralytics 的这些其他强大模型:
- YOLO11:YOLO 系列的最新演进,为前沿应用提供更快的速度和更高的准确性。
- YOLOv8:一种高度通用的行业标准,支持 detect、segment、姿势估计和 OBB 任务。
- RT-DETR:一种基于 Transformer 的实时检测器,在准确性方面表现出色,为基于 CNN 的架构提供了一种替代方案。