PP-YOLOE+ 与 YOLOv9#
实时计算机视觉领域不断变化,研究人员和开发者持续突破精度和推理速度的极限。比较 PP-YOLOE+ 和 YOLOv9,可以看到两者在模型架构和生态系统设计上采用了截然不同的理念。
这篇全面的技术比较分析了它们的架构创新、性能指标、训练方法和理想用例,帮助你为下一次部署选择合适的目标检测模型。
模型沿革与技术基础#
了解这些模型的起源和架构选择,对于判断它们是否适合你的计算机视觉项目至关重要。
PP-YOLOE+ 概述#
PP-YOLOE+ 由百度的 PaddlePaddle 作者开发,于 2022 年 4 月 2 日推出。它基于 PaddleDetection 框架中的早期版本构建,旨在实现高性能目标检测。
- 作者: PaddlePaddle 作者
- 组织: 百度
- 日期: 2022-04-02
- Arxiv: 2203.16250
- GitHub: PaddleDetection 代码库
PP-YOLOE+ 采用稳健的无锚框架构,并针对在 PaddlePaddle 生态系统中的部署进行了深度优化。它使用经过修改的 CSPRepResNet 主干网络和 ET-head,以提升特征提取和边界框回归能力。虽然它取得了较高的平均精度均值(mAP),但依赖 PaddlePaddle 框架,有时会给习惯使用 PyTorch 或 TensorFlow 的开发者带来集成障碍。
YOLOv9 概述#
YOLOv9 由中国台湾中央研究院信息科学研究所的 Chien-Yao Wang 和 Hong-Yuan Mark Liao 推出,在高效处理深度学习信息瓶颈方面实现了重大突破。
- 作者:Chien-Yao Wang 和 Hong-Yuan Mark Liao
- 机构:台湾中央研究院信息科学研究所
- 日期:2024-02-21
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
YOLOv9 的重大突破在于可编程梯度信息(PGI),它能防止特征在通过深度神经网络时发生数据丢失。结合广义高效层聚合网络(GELAN),YOLOv9 最大限度地提高了参数效率和计算流效率。此外,它原生集成于 Ultralytics 生态系统,便于在研究和商业应用中使用。
性能与指标对比#
从原始性能来看,YOLOv9 展现出出色的参数效率。它以更少的参数和 FLOPs 达到相当甚至更高的精度,从而降低了模型训练期间的 VRAM 需求。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
如表中所示,YOLOv9c 以显著少于同级 PP-YOLOE+l(52.2M)的参数量(25.5M),取得了 53.0 mAP 的优异成绩。较低的内存用量使 YOLOv9 成为 GPU 资源受限开发者的更佳选择。
生态系统、通用性与易用性#
YOLOv9 的突出优势在于它与维护良好的 Ultralytics 生态系统无缝集成。PP-YOLOE+ 需要处理复杂的 PaddlePaddle 配置文件,而 YOLOv9 则受益于简洁的 Python API。
Ultralytics Python API 让开发者能够加载预训练权重、管理数据增强,并用极少的样板代码启动训练。
from ultralytics import YOLO
# 加载预训练的 YOLOv9 模型
model = YOLO("yolov9c.pt")
# 使用 COCO8 数据集训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 对图像进行推理
results = model("https://ultralytics.com/images/bus.jpg")
# 将模型导出为 ONNX 格式
model.export(format="onnx")此外,Ultralytics 生态系统提供了无与伦比的通用性。除了边界框检测,该框架还原生支持实例分割、姿态估计和定向边界框(OBB)检测。这让你能极其高效地将模型适配到复杂的真实场景工作流中。
用例与建议#
在 PP-YOLOE+ 和 YOLOv9 之间做出选择,取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 PP-YOLOE+#
PP-YOLOE+ 适用于:
- 集成 PaddlePaddle 生态系统:已有基于百度 PaddlePaddle框架和工具构建基础设施的组织。
- Paddle Lite 边缘部署:部署到专门针对 Paddle Lite 或 Paddle 推理引擎进行了高度优化的推理内核的硬件上。
- 高精度服务端检测:在强大的 GPU 服务器上优先追求最高检测准确率,且不受框架依赖限制的场景。
何时选择 YOLOv9#
以下场景推荐使用 YOLOv9:
- 信息瓶颈研究:研究可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 架构的学术项目。
- 梯度流优化研究:重点研究如何理解并缓解训练期间深层网络层中的信息损失。
- 高准确率检测基准测试:需要将 YOLOv9 在 COCO 基准测试中的出色表现作为架构对比参照的场景。
何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:
- 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
- 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
- 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。
展望未来:YOLO26 的优势#
PP-YOLOE+ 和 YOLOv9 都很强大,而新发布的 YOLO26 则代表了生产环境的明确发展方向。YOLO26 于 2026 年 1 月发布,为边缘计算和云端部署树立了新标准。凭借以下突破性创新,我们强烈建议所有新的计算机视觉项目采用 YOLO26:
- 端到端无 NMS 设计:YOLO26 支持原生端到端推理,与
nms=False配合运行时,无需进行非极大值抑制(NMS)后处理。这大幅简化了部署流程并降低了延迟。 - CPU 推理速度最高提升 43%:通过针对边缘计算专门优化架构,YOLO26 在没有独立 GPU 的硬件上运行速度显著更快。
- 移除 DFL:移除了分布焦点损失,简化了模型导出,并大幅提升了与低功耗边缘设备的兼容性。
- MuSGD 优化器:这一结合 SGD 与 Muon 的混合方案借鉴了大型语言模型训练技术(例如 Moonshot AI 的 Kimi K2),确保训练过程高度稳定并快速收敛。
- ProgLoss + STAL:这些先进的损失函数显著提升了小目标识别能力,对于航空影像和机器人应用来说是一项重要升级。
- 针对特定任务的改进:YOLO26 针对特定任务采用定制架构,例如用于分割的多尺度 proto,以及用于姿态估计的残差对数似然估计(RLE)。
你可以通过 Ultralytics Platform 轻松训练和部署 YOLO26 模型。它是一站式解决方案,提供数据集标注、云端训练和模型监控功能。
实际应用#
在这些架构之间做出选择,通常取决于你的目标部署环境。
PP-YOLOE+ 常部署于工业制造中心,尤其是在 PaddlePaddle 集成和百度硬件栈已深入企业基础设施的地区。它擅长静态图像分析,适用于优先考虑绝对精度而非严格实时要求的场景。
YOLOv9 擅长需要快速实时推理的动态环境。它出色的参数效率使其非常适合自主无人机导航和边缘安全系统。此外,它较低的 VRAM 消耗也降低了研究人员使用消费级 GPU 训练模型的门槛。
在智慧城市交通管理和高速机器人领域追求最佳性能时,更新的 YOLO26 无可匹敌;它支持可选的端到端推理,不受 NMS 瓶颈带来的开销影响。