YOLOv5 与 PP-YOLOE+:物体检测技术比较
选择最佳物体检测模型是一项关键决策,会影响计算机视觉项目的效率、准确性和可扩展性。本综合指南比较了 Ultralytics YOLOv5与来自百度PaddlePaddle 生态系统的高精度模型PP-YOLOE+ 进行了比较。通过分析它们的架构、性能指标和部署工作流程,我们旨在帮助开发人员和研究人员选择最适合其特定需求的解决方案。
Ultralytics YOLOv5:可用性和速度的标准
2020 年,Ultralytics 发布了YOLOv5,从根本上改变了视觉人工智能的面貌,让每个人都能使用最先进的物体检测技术。与前代产品不同的YOLO ,它是第一个在 PyTorch为全球数据科学界简化了训练和部署流程。它的设计理念优先考虑实时推理速度和高准确度之间的平衡,并将其打包在一个用户友好的生态系统中。
作者: Glenn JocherGlenn Jocher
组织:Ultralytics
日期:2020-06-26
GitHubyolov5
文档yolov5
主要优势
- 易用性: YOLOv5 以其 "开箱即用 "的体验而著称。通过精简的Python API和直观的CLI 命令,开发人员可以在几分钟内开始对自定义数据集进行培训。
- 维护良好的生态系统:在Ultralytics 的支持下,它享有频繁的更新和庞大活跃的社区。这确保了在GitHub Issues 等平台上的长期支持和丰富的知识共享。
- 性能平衡:它能提供卓越的实时推理速度,尤其是在Raspberry Pi 等边缘设备上,同时又不会牺牲高精度。
- 多功能性:除标准检测外,YOLOv5 还支持实例分割和图像分类,使其成为执行各种视觉任务的灵活工具。
PP-YOLOE+:桨叶生态系统的高精确度
PP-YOLOE+ 是YOLO 系列的进化版,由百度研究人员开发。它于 2022 年发布,是PaddleDetection工具包中的旗舰模型。它采用无锚架构和先进的训练策略,在基准数据集(如 COCO.
作者: PaddlePaddle 作者:
组织:百度
日期:2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
Docs:PaddlePaddle
架构与特性
PP-YOLOE+ 采用 CSPRepResNet 骨干网和独特的无原型检测头。作为一种无锚检测器,它降低了与锚框相关的超参数调整的复杂性。它在以最大化平均精度(mAP)为主要目标的场景中表现出色,通常能获得比基于锚点的同类模型略高的分数,但代价是计算复杂度的增加。不过,它对PaddlePaddle 框架的依赖可能会给使用PyTorch 或TensorFlow 的团队带来学习曲线。
性能分析:指标和效率
在对YOLOv5 和 PP-YOLOE+ 进行比较时,通常需要在原始精度和运行效率(速度和部署便利性)之间进行权衡。
速度与精度
PP-YOLOE+ 型号的mAP值通常较高val 在COCO 数据集上的得分,证明了它们在纯检测能力方面的优势。例如 PP-YOLOE+l 达到了 52.9mAP。不过,与YOLOv5 相比,标准硬件的延迟往往更高。
Ultralytics YOLOv5 在以下方面大放异彩 推理速度。 YOLOv5n (Nano) 模型的轻量级程度令人难以置信,它在 T4GPU 上实现了 28.0mAP ,推理时间仅为 1.12 毫秒。 TensorRT.这使得YOLOv5 成为以下情况的最佳选择 边缘人工智能应用 毫秒级的延迟至关重要。
计算效率
YOLOv5 模型的设计考虑到了内存限制。与复杂的无锚架构或transformer模型相比,它们在训练和推理过程中需要的CUDA 内存通常更少。这种效率有助于在资源受限的硬件(如NVIDIA Jetson模块)上更顺利地部署,而无需进行大量优化工作。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
培训生态系统和可用性
开发人员经验的 "软 "指标往往决定着项目的成败。在这方面,两种模式之间的差异最为明显。
Ultralytics 生态系统
YOLOv5 受益于集成的Ultralytics 生态系统,该系统简化了整个MLOps 流程。
- PyTorch 原生:基于PyTorch 构建,确保与绝大多数开源工具和库兼容。
- 无缝集成:内置支持 Weights & Biases, Comet和 ClearML使实验跟踪变得毫不费力。
- 训练效率:预先训练的权重随时可用并可自动下载,从而实现快速迁移学习。
- 部署:导出模式支持一键转换为 ONNX, CoreML, TFLite等等。
利用Ultralytics HUB 简化工作流程
使用Ultralytics HUB,您无需编写任何代码即可训练、预览和部署YOLOv5 模型。这个基于网络的平台可以管理您的数据集和训练运行,让各种技能水平的团队都能使用视觉人工智能。
PaddlePaddle 生态系统
PP-YOLOE+ 依赖于百度的深度学习框架PaddlePaddle。与PyTorch相比,PyTorch虽然功能强大,在亚洲很受欢迎,但在西方研究界的影响力较小。采用PP-YOLOE+通常需要建立一个单独的环境,并学习Paddle的特定语法(例如:"Paddle")。paddle.io, paddle.nn).虽然 文档 虽然YOLOv5 是全面的,但第三方工具生态系统和社区支持不如YOLOv5 广泛。
代码示例:YOLOv5的简洁性
下面的Python 代码演示了如何使用PyTorch Hub 轻松加载预训练的YOLOv5 模型并执行推理。
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 的卓越之处
- 工业自动化:其高速度可在快速移动的装配线上进行实时缺陷检测。
- 自主机器人:内存开销低,非常适合机载计算能力有限的机器人,如物流机器人。
- 智能城市应用:高效的CPU 性能可在现有基础设施上进行大范围的交通监控部署。
PP-YOLOE+ 的适用范围
- 高精度研究:在学术项目中,压缩最后 1%的mAP 比推理速度更重要。
- 以 Paddle 为中心的环境:已在百度生态系统基础架构中投入大量资金的企业环境。
结论:哪种模型适合您?
对于绝大多数开发人员和商业应用来说 Ultralytics YOLOv5仍然是值得推荐的选择。它无与伦比的易用性、强大的社区支持和部署灵活性使其成为一个低风险、高回报的解决方案。从手机到云服务器,YOLOv5 几乎可以在任何平台上部署,而且摩擦极少,因此在生产环境中具有决定性的优势。
PP-YOLOE+对于特别需要无锚架构的用户或已经融入PaddlePaddle 工作流程的用户来说,是一个强有力的替代方案。PP-YOLOE+ 的高精确度值得称赞,但对于那些习惯于标准PyTorch 工作流程的人来说,生态系统的分散可能会减慢开发速度。
探索其他模型
计算机视觉发展迅速。虽然比较这些成熟的型号很有价值,但我们鼓励您探索Ultralytics YOLO 系列的最新进展,它们能提供更强大的性能和功能。
- YOLO11:最新的先进模型,在检测、分割和姿势估计 方面具有极高的准确性和效率。
- YOLOv8:支持旋转框检测 和分类任务的非常受欢迎的统一框架。
- RT-DETR: transformer探测器,针对实时性能进行了优化。
要了解更广泛的信息,请查看我们的主型号比较页面,根据您的具体要求对不同的架构进行基准测试。