Ultralytics YOLO27:
Get Started

YOLOv9 与 PP-YOLOE+ 对比#

实时目标检测领域持续快速发展,为计算机视觉工程师提供了丰富的选择,可将高精度模型部署在边缘和云基础设施上。该领域的两款知名模型是 YOLOv9 和 PP-YOLOE+。两者都在不断突破准确率和速度的极限,但它们源自不同的研究脉络和软件生态系统。

这篇全面的技术对比将深入探讨两者的架构、训练方法、性能指标和理想的实际应用场景。我们还将介绍,更广泛的 Ultralytics 生态系统如何为重视易用性、内存效率和灵活部署的开发者带来显著优势。

模型起源与技术规格#

了解这些模型的背景,有助于理解其架构决策和框架依赖。

YOLOv9:解决信息瓶颈#

YOLOv9 于 2024 年初推出,旨在解决信息在深层神经网络中流动时产生的数据损失问题。它是一种高度优化的卷积神经网络,专为最大限度地提升参数效率而设计。

了解有关 YOLOv9 的更多信息

PP-YOLOE+:推动 Paddle 生态系统发展#

PP-YOLOE+ 由百度于 2022 年发布,是对 PP-YOLOv2 的迭代改进。它采用无锚框范式,并在 PaddlePaddle 框架中引入动态标签分配策略,以提升收敛速度和准确率。

详细了解 PP-YOLOE+

架构对比#

可编程梯度信息与 CSPRepResStage#

YOLOv9 的核心创新是可编程梯度信息 (PGI)。PGI 充当辅助监督框架,确保训练期间保留关键信息梯度,并将其准确传播回浅层。与之配套的是广义高效层聚合网络 (GELAN),它结合了 CSPNet 和 ELAN 的优势,在大幅降低计算成本 (FLOPs) 的同时实现高准确率。

PP-YOLOE+ 依赖一个名为 CSPRepResStage 的专用骨干网络。它采用重参数化技术(与 RepVGG 中的技术类似),在部署期间合并卷积层,以加快推理速度。此外,它还使用高效任务对齐检测头 (ET-head),平衡分类和回归任务。

PP-YOLOE+ 虽然表现稳健,但 YOLOv9 的 GELAN 架构在训练和推理期间通常占用更少的内存,因此特别适合边缘 AI 设备。

性能对比#

在评估用于生产环境的模型时,mAP(平均精度均值)、推理速度和模型大小之间的权衡至关重要。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

分析#

  • 参数效率: YOLOv9 的效率显著更高。例如,YOLOv9c 仅使用 25.5M 个参数便达到 53.0% mAP,而 PP-YOLOE+l 需要超过两倍的参数量 (52.2M),mAP 却略低,为 52.9%。这大幅降低了 YOLOv9 的内存需求。
  • 推理速度: YOLOv9 模型针对 TensorRT 等硬件加速器进行了出色优化,在 NVIDIA T4 GPU 上实现了很有竞争力的推理速度,这对于实时推理至关重要。

训练方法与生态系统#

如何在这些模型之间做出选择,往往取决于软件生态系统。

PP-YOLOE+ 与 PaddlePaddle#

PP-YOLOE+ 与 PaddleDetection 套件紧密结合。它虽然功能强大,但要求用户适应高度依赖配置文件和命令行的环境。对于深度融入 PyTorch 或 TensorFlow 生态系统的团队而言,转向 PaddlePaddle 会带来明显阻碍,也需要更陡峭的学习曲线。

Ultralytics 的优势:简化工作流程#

相比之下,YOLOv9 运行在成熟完善的 Ultralytics 生态系统中。Ultralytics 面向开发者和研究人员打造,优先提供卓越的易用性。Python API 将复杂的样板代码完全封装起来。

from ultralytics import YOLO

# 加载预训练的 YOLOv9 模型
model = YOLO("yolov9c.pt")

# 轻松使用自定义数据集训练
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

# 运行推理并可视化结果
results = model("https://ultralytics.com/images/bus.jpg")

# 导出为 ONNX,以便部署到生产环境
model.export(format="onnx")

这一工作流程体现了 Ultralytics 模型出色的训练效率。原生支持数据增强、分布式训练,以及自动记录到 Weights & Biases 或 MLflow 等平台,这些功能均为标准配置。

探索视觉 AI 的最新进展

YOLOv9 性能出色,但我们强烈建议你在新项目中考虑最新发布的 Ultralytics YOLO26。YOLO26 采用原生的端到端无 NMS 设计(可通过 nms=False 选用),大幅简化部署。通过移除 DFL(移除分布焦点损失,以简化导出并提升对边缘设备和低功耗设备的兼容性),它在边缘计算场景下可将 CPU 推理速度提升 43%。它由 MuSGD 优化器驱动,可确保训练稳定并快速收敛。此外,ProgLoss + STAL 提供了改进的损失函数,显著提升小目标识别能力,这对物联网、机器人和航空影像至关重要。

多功能性与任务支持#

现代计算机视觉项目很少只涉及简单的边界框。

PP-YOLOE+ 主要针对标准目标检测进行设计。要将其架构用于其他任务,需要大量定制工程工作。

相比之下,Ultralytics 框架是一个多任务利器。借助统一的 API,开发者可以轻松地从标准目标检测切换到复杂的实例分割、高精度姿态估计、用于航空影像的有向边界框 (OBB)检测,以及图像分类。凭借这种无与伦比的多功能性,企业团队始终选择 Ultralytics 支持的模型,如 YOLOv9、YOLO11 和 YOLO26。

理想用例与应用#

  • 智慧城市分析与交通管理: YOLOv9(以及后续的 YOLO26)参数效率高、延迟低,非常适合部署在受限的边缘硬件(如 NVIDIA Jetson 设备)上,用于监控交通流量和城市安全。
  • 零售库存系统: 在货架上检测密集排列的小物品时,YOLOv9 的 PGI 能有效保留精细的空间细节,在小目标检测任务上的表现优于 PP-YOLOE+。
  • 传统系统部署: 对于现有传统基础设施中明确要求使用百度/PaddlePaddle 软件栈的团队而言,PP-YOLOE+ 仍然是可行的选择。

对于探索基于 Transformer 架构的研究人员,Ultralytics 还在完全相同的易用 API 中原生支持 RT-DETR,确保你始终能根据具体部署需求使用最合适的模型。

评论