跳转至内容

YOLOv5 对比 PP-YOLOE+:目标检测的技术比较

选择最优的对象detect模型是一个关键决策,它影响着计算机视觉项目的效率、准确性和可扩展性。本综合指南比较了Ultralytics YOLOv5(一款以其可用性和速度而闻名的传奇模型)与PP-YOLOE+(来自百度PaddlePaddle生态系统的高精度模型)。通过分析它们的架构、性能指标和部署工作流程,我们旨在帮助开发人员和研究人员为其特定需求选择最佳解决方案。

Ultralytics YOLOv5:可用性和速度的标准

YOLOv5 于 2020 年由 Ultralytics 发布,从根本上改变了视觉 AI 的格局,通过使最先进的目标检测技术普惠大众。与前代产品不同,它是第一个原生实现在 PyTorch 中的 YOLO 模型,从而简化了全球数据科学社区的训练和部署过程。其设计理念优先考虑实时推理速度和高精度之间的平衡,并封装在一个极其用户友好的生态系统中。

作者: Glenn Jocher
机构:Ultralytics
日期: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
文档:https://docs.ultralytics.com/models/yolov5/

主要优势

  • 易用性: YOLOv5 以其“开箱即用”的体验而闻名。通过简化的 python API 和直观的 CLI 命令,开发者可以在几分钟内开始在自定义数据集上进行训练。
  • 完善的生态系统:在Ultralytics的支持下,它享有频繁更新和庞大活跃的社区。这确保了长期支持以及在GitHub Issues等平台上的丰富共享知识。
  • 性能平衡: 它提供了卓越的实时推理速度,尤其是在树莓派等边缘设备上,同时不牺牲显著的精度。
  • 多功能性:除了标准 detect 之外,YOLOv5 支持实例分割图像分类,使其成为处理各种视觉任务的灵活工具。

了解更多关于 YOLOv5 的信息

PP-YOLOE+:在 Paddle 生态系统中的高精度

PP-YOLOE+ 是百度研究人员开发的 PP-YOLO 系列的演进版本。它于2022年发布,是PaddleDetection工具包中的旗舰模型。它采用无anchor架构和先进的训练策略,以在 COCO 等基准数据集上突破精度极限。

作者: 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+ 利用 CSPRepResNet 主干网络和独特的无原型检测头。作为无锚框检测器,它降低了与锚框相关的超参数调优的复杂性。在以最大化平均精度均值 (mAP)为主要目标的场景中,它表现出色,通常能比同类基于锚框的模型获得略高的分数,但代价是增加了计算复杂度。然而,它对 PaddlePaddle 框架的依赖可能会给那些以 PyTorch 或 TensorFlow 为标准的团队带来学习曲线。

了解更多关于 PP-YOLOE+ 的信息

性能分析:指标与效率

比较 YOLOv5 和 PP-YOLOE+ 时,权衡通常在于原始精度和操作效率(速度和部署便捷性)之间。

速度 vs. 精度

PP-YOLOE+ 模型通常能获得更高的 mAPval 在 COCO 数据集上的得分,展示了它们在纯 detect 能力方面的优势。例如, PP-YOLOE+l 实现了出色的 52.9 mAP。然而,与 YOLOv5 相比,这通常在标准硬件上会带来更高的延迟。

Ultralytics YOLOv5 的亮点 推理速度YOLOv5n (Nano)模型非常轻量级,在使用 T4 GPU 的情况下,实现了 28.0 mAP,推理速度高达 1.12 毫秒。 TensorRT。这使得YOLOv5成为更优越的选择,因为它 边缘AI应用 在毫秒级延迟至关重要的场景中。

计算效率

YOLOv5 模型在设计时考虑了内存限制。与复杂的无锚点架构或基于 Transformer 的模型相比,它们在训练和推理期间通常需要较少的 CUDA 内存。这种效率有助于在资源受限的硬件(例如NVIDIA Jetson模块)上实现更流畅的部署,而无需大量的优化工作。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
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

训练生态系统与可用性

开发者体验的“软”指标往往决定着项目的成功。在这里,两种模型之间的差异最为显著。

Ultralytics 生态系统

YOLOv5 得益于集成的Ultralytics 生态系统,该系统简化了整个MLOps 流水线

  • PyTorch原生:基于PyTorch构建确保了与绝大多数开源工具和库的兼容性。
  • 无缝集成: 内置支持 Weights & BiasesCometClearML,使实验跟踪变得轻松。
  • 训练效率:预训练权重随时可用并自动下载,从而实现快速的迁移学习
  • 部署:导出模式支持一键转换为 ONNXCoreMLTFLite 等格式。

使用 Ultralytics HUB 简化工作流程

您可以使用Ultralytics HUB训练、预览和部署YOLOv5模型,而无需编写任何代码。这个基于网络的平台管理您的数据集和训练运行,使各种技能水平的团队都能使用视觉AI。

PaddlePaddle 生态系统

PP-YOLOE+ 依赖于百度的深度学习框架 PaddlePaddle。虽然它在亚洲功能强大且广受欢迎,但与 PyTorch 相比,在西方研究社区中的影响力较小。采用 PP-YOLOE+ 通常需要设置独立的开发环境并学习 Paddle 特有语法(paddle.io, paddle.nn)。虽然 文档 是全面的,但第三方工具和社区支持的生态系统不如 YOLOv5 广泛。

代码示例:YOLOv5 的简洁性

以下 Python 代码展示了加载预训练的 YOLOv5 模型并使用PyTorch Hub执行推理是多么容易。

import torch

# Load a YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image source
img = "https://ultralytics.com/images/zidane.jpg"

# Run inference
results = model(img)

# Print results to console
results.print()

# Show the image with bounding boxes
results.show()

实际应用案例

YOLOv5 的优势所在

  • 工业自动化:其高速特性使其能够在快速移动的装配线上进行实时缺陷detect。
  • 自动机器人:低内存开销使其非常适合板载计算能力有限的机器人,例如用于物流的机器人。
  • 智慧城市应用:高效的CPU性能支持在现有基础设施上大规模部署用于交通监控

PP-YOLOE+ 的适用场景

  • 高精度研究:学术项目,其中榨取最后 1% 的 mAP 比推理速度更重要。
  • 以 Paddle 为中心的环境:已在百度生态系统基础设施中投入大量资金的企业环境。

结论:哪种模型适合您?

对于绝大多数开发者和商业应用,Ultralytics YOLOv5仍然是推荐的选择。其无与伦比的易用性、强大的社区支持和部署灵活性使其成为低风险、高回报的解决方案。能够以最小的摩擦部署到几乎任何平台——从手机到云服务器——这使其在生产环境中具有决定性的优势。

PP-YOLOE+对于特别需要无锚点架构或已集成到PaddlePaddle工作流的用户来说,是一个强大的替代方案。其高精度值得称赞,但生态系统碎片化可能会减缓习惯于标准PyTorch工作流的用户的开发速度。

探索其他模型

计算机视觉发展迅速。虽然比较这些成熟模型很有价值,但我们鼓励您探索 Ultralytics YOLO 系列的最新进展,它们提供了更强大的性能和功能。

  • YOLO11: 最新的最先进模型,为 detect、segment 和姿势估计提供卓越的准确性和效率。
  • YOLOv8: 是一款非常受欢迎的统一框架,支持旋转框检测和分类任务。
  • RT-DETR: 一种基于 Transformer 的 detector,针对实时性能进行了优化。

要获得更全面的视图,请查看我们的主要 模型比较页面,以根据您的具体要求对不同架构进行基准测试。


评论