YOLOv5 与 PP-YOLOE+#
为现代计算机视觉项目选择合适的神经网络架构至关重要。开发者和研究人员评估实时目标检测模型时,往往需要在准确率、推理速度和部署便利性之间权衡。本技术对比将深入探讨 YOLOv5 和 PP-YOLOE+ 的架构、性能指标和训练方法,帮助你为应用选择最佳方案。
了解架构#
这两种模型都对视觉 AI 领域产生了深远影响,但它们通过不同的结构方法和框架依赖来应对目标检测挑战。
Ultralytics YOLOv5:行业标准#
Ultralytics YOLOv5 于 2020 年年中发布,彻底改变了尖端视觉模型的易用性。它原生基于 PyTorch 构建,大幅降低了全球 Python 开发者和 ML 工程师的入门门槛。
YOLOv5 详情:
- 作者: Glenn Jocher
- 组织: Ultralytics
- 日期: 2020-06-26
- GitHub: ultralytics/yolov5
- 文档: YOLOv5 文档
YOLOv5 使用改进的 CSPDarknet 主干网络,高效提取丰富的特征表示,同时保持较少的参数量。它引入了自动学习锚框功能,可在训练开始前自动为自定义数据集计算最佳锚框尺寸。此外,它采用马赛克数据增强,显著提升模型检测较小目标以及在复杂空间环境中泛化的能力。
YOLOv5 最大的优势之一是极强的通用性。与标准目标检测器不同,YOLOv5 系列通过统一 API 无缝支持图像分类、实例分割和边界框检测。与大型 Transformer 网络相比,其高度优化的架构还能显著降低训练和推理时的内存占用。
PP-YOLOE+:PaddlePaddle 阵营的有力竞争者#
PP-YOLOE+ 大约两年后推出,是在此前 PP-YOLO 系列基础上的进一步发展。它由百度团队开发,旨在展示百度深度学习框架的能力,并通过多项架构改进提升平均精度。
PP-YOLOE+ 详情:
- 作者: PaddlePaddle 作者
- 组织: 百度
- 日期: 2022-04-02
- Arxiv: 2203.16250
- GitHub: PaddlePaddle/PaddleDetection
- 文档:PP-YOLOE+ README
PP-YOLOE+ 采用无锚框范式,并使用 CSPRepResNet 主干网络。它结合了强大的任务对齐学习技术和高效的任务对齐头,以提升精度。虽然 PP-YOLOE+ 的准确率表现出色,但其主要弱点是严格依赖 PaddlePaddle 框架。对于已深度投入 PyTorch 或 TensorFlow 环境的研究团队和企业而言,这通常会带来较高的学习成本和生态系统整合障碍。
性能与基准测试#
在评估这些模型是否适合生产环境时,理解精度、推理速度和参数量之间的权衡至关重要。下表列出了不同尺寸变体的关键性能指标。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| 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 |
虽然 PP-YOLOE+ 能达到很高的准确率上限,但 YOLOv5 在各种模型规模下的 TensorRT 推理速度始终更快。对于内存有限的边缘部署,YOLOv5n 速度无可匹敌,而且占用空间极小。
Ultralytics 模型专为高效训练而设计。与 RT-DETR 等大型视觉 Transformer 相比,YOLOv5 使用的 CUDA 内存显著更少,因此你可以使用更大的批次,或在消费级硬件上训练。
Ultralytics 的优势:生态与易用性#
机器学习架构的真正价值不止于原始数字,还包括完整的开发者体验。Ultralytics Platform 及其配套开源工具提供了完善、维护良好的生态系统,可显著加快开发周期。
- 易用性:Ultralytics 抽象封装了复杂的样板代码。你可以通过直观的 Python API 或 CLI 训练、验证和测试模型。
- 部署灵活性:模型导出极其简单。只需一条命令,你就能将训练好的 YOLOv5 权重转换为 ONNX、TensorRT 或 OpenVINO 等格式,确保模型广泛兼容边缘和云端环境。
- 活跃的社区:充满活力的社区确保频繁更新、详尽文档,并为常见计算机视觉难题提供可靠解决方案。
相比之下,PP-YOLOE+ 严重依赖 PaddleDetection 专用的复杂配置文件,这会拖慢快速原型开发,并增加集成到现代 MLOps 流水线中的难度。
实用实现和代码示例#
使用 Ultralytics 入门非常简单。下面是一个完整、可运行的示例,展示如何加载预训练的 YOLOv5 模型、在自定义数据集上训练模型并导出结果:
from ultralytics import YOLO
# 加载预训练的 YOLOv5 小型模型
model = YOLO("yolov5su.pt") # YOLOv5u:适用于 ultralytics 软件包的无锚框 YOLOv5 权重
# 使用 COCO8 数据集训练模型 50 个周期
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# 对示例图像运行推理
predict_results = model("https://ultralytics.com/images/bus.jpg")
# 将优化后的模型导出为 ONNX 格式
path = model.export(format="onnx")用例与建议#
选择 YOLOv5 还是 PP-YOLOE+,取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLOv5#
YOLOv5 适合以下场景:
- 经过验证的生产系统: 现有部署重视 YOLOv5 长期积累的稳定记录、详尽文档和庞大社区支持。
- 资源受限的训练: GPU 资源有限的环境中,YOLOv5 高效的训练流水线和较低的内存需求具有优势。
- 广泛支持导出格式: 需要跨多种格式部署的项目,包括 ONNX、TensorRT、CoreML和 LiteRT。
何时选择 PP-YOLOE+#
以下情况推荐使用 PP-YOLOE+:
- 集成 PaddlePaddle 生态系统:已有基于百度 PaddlePaddle框架和工具构建基础设施的组织。
- Paddle Lite 边缘部署:部署到专门针对 Paddle Lite 或 Paddle 推理引擎进行了高度优化的推理内核的硬件上。
- 高精度服务端检测:在强大的 GPU 服务器上优先追求最高检测准确率,且不受框架依赖限制的场景。
何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:
- 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
- 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
- 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。
值得考虑的其他尖端模型#
YOLOv5 是一种稳健且久经验证的标准方案,但计算机视觉领域发展迅速。对于启动新项目的团队,我们强烈建议你了解更新的架构。
Ultralytics YOLO26#
YOLO26 于 2026 年 1 月发布,代表了我们研究成果的巅峰。它在准确率和速度方面都实现了大幅提升。主要创新包括:
- 端到端无 NMS 设计:基于 YOLOv10 的理念,YOLO26 的可选一对一检测头(
nms=False)跳过非极大值抑制(NMS)后处理,从而降低延迟并简化部署逻辑。 - 移除 DFL:通过去除 Distribution Focal Loss,YOLO26 的 CPU 推理速度最高可提升 43%,使其非常适合低功耗边缘设备。
- MuSGD 优化器:受先进 LLM 训练技术启发,这种结合 SGD 和 Muon 的混合优化器能够确保训练过程格外稳定,并加快收敛速度。
- ProgLoss + STAL:这些先进的损失函数显著提升小目标识别能力,这对无人机图像和智慧农业至关重要。
此外,你还可以考虑 YOLO11,它性能出色,是连接传统系统与 YOLO26 尖端能力的可靠桥梁。
实际应用场景#
最终,选择 YOLOv5 还是 PP-YOLOE+,取决于你的部署环境和项目限制。
YOLOv5 的理想应用: YOLOv5 对资源的需求极低且非常易用,因此是边缘 AI的首选。它擅长在有限硬件上实现高帧率的应用,例如实时机器人、移动应用集成和多摄像头交通监控系统。它还能在同一框架中处理实例分割和图像分类,因此适应性很强。
PP-YOLOE+ 的理想应用: PP-YOLOE+ 最适合优先追求静态图像最高准确率、而不受实时处理限制的场景。它主要用于一些特定领域的应用,例如工业检测流水线,尤其是亚洲制造业中那些已预先建立技术栈、并深度投入百度和 PaddlePaddle 生态系统的企业。
总而言之,PP-YOLOE+ 虽然在精度基准测试中表现出色,但 Ultralytics YOLO 模型兼具均衡性能、无缝部署和开发者友好设计,优势无可匹敌,可推动计算机视觉项目从构想到生产成功落地。