ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

PP-YOLO 模型下载与使用指南:基于 PaddleDetection 的目标检测模型库全景解析

PP-YOLO 模型下载与使用指南:基于 PaddleDetection 的目标检测模型库全景解析 人工智能深度学习计算机视觉NLP语音【免费下载链接】modelsOfficially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.项目地址https://gitcode.com/gh_mirrors/mo/models点击查看免费下载PP-YOLO 是 PaddlePaddle 官方在 PaddleDetection 中针对 YOLOv3 优化改进的目标检测模型本指南以模型中心modelcenter中 PP-YOLO 的模型下载文档为核心系统梳理 PP-YOLO 各版本ResNet50vd/ResNet18vd/MobileNetV3 骨干与 PP-YOLO tiny 轻量量化模型的下载方式、配置文件、精度与速度指标并结合仓库内配套的推理配置、源码实现与 FastDeploy 部署示例帮助读者完成从模型获取、环境搭建到实际推理部署的完整链路。模型概览根据 info.yaml 中的元信息PP-YOLO 定位为PaddleDetection 优化和改进的 YOLOv3 模型PP-YOLO is an optimized model based on YOLOv3 in PaddleDetection属于计算机视觉Computer Vision子领域下的目标检测Object Detection任务由百度Baidu发布采用 Apache 2.0 开源协议支持训练IfTraining: 1与在线演示IfOnlineDemo: 1。其对应的论文为《PP-YOLO: An Effective and Efficient Implementation of Object Detector》arXiv: 2007.12099。模型在 COCOtrain2017/val2017/test-dev2017与 Pascal VOC 数据集上进行训练与评估。模型下载清单本节完整继承 download_cn.md 的模型库清单并补充各模型在仓库配套配置中的实际引用情况。PP-YOLO 标准模型模型骨干网络模型下载配置文件PP-YOLOResNet50vdppyolo_r50vd_dcn_1x_coco.pdparamsppyolo_r50vd_dcn_1x_coco.ymlPP-YOLO_2xResNet50vdppyolo_r50vd_dcn_2x_coco.pdparamsppyolo_r50vd_dcn_2x_coco.ymlPP-YOLOResNet18vdppyolo_r18vd_coco.pdparamsppyolo_r18vd_coco.ymlPP-YOLOMobileNet3 Largeppyolo_mbv3_large_coco.pdparamsppyolo_mbv3_large_coco.ymlPP-YOLOMobileNet3 Smallppyolo_mbv3_small_coco.pdparamsppyolo_mbv3_small_coco.yml模型权重均由 PaddleDetection 官方在paddledet.bj.bcebos.com提供下载*.pdparams为训练参数权重文件配置文件对应 PaddleDetection release/2.5 分支configs/ppyolo/目录下的同名 yml。其中_2x表示采用两倍训练迭代2x 学习率调度通常能获得更高精度。仓库配套的 APP 推理配置 中param_path: paddlecv://models/ppyolo_r50vd_dcn_2x_coco/model.pdiparams与model_path: paddlecv://models/ppyolo_r50vd_dcn_2x_coco/model.pdmodel正是以PP-YOLO_2x ResNet50vd作为默认推理模型印证了该版本在生产推理中的首选地位。PP-YOLO tiny 轻量模型模型模型体积后量化模型体积模型下载配置文件量化后模型PP-YOLO tiny4.2MB1.3Mppyolo_tiny_650e_coco.pdparamsppyolo_tiny_650e_coco.ymlppyolo_tiny_quant.tarPP-YOLO tiny 以 650 epoch 在 COCO 上训练体积仅 4.2MB经后量化post-training quantization后进一步压缩至 1.3MB适合移动端与嵌入式部署。量化后的ppyolo_tiny_quant.tar为可直接用于 Paddle Lite 等推理框架的预测模型包。精度与推理速度指标结合 benchmark_cn.md 可对上述下载模型的性能建立量化认知标准模型V100 单卡基准模型GPU 个数每 GPU 图片数骨干网络输入尺寸Box APvalBox APtestV100 FP32(FPS)V100 TensorRT FP16(FPS)PP-YOLO824ResNet50vd60844.845.272.9155.6PP-YOLO824ResNet50vd51243.944.489.9188.4PP-YOLO824ResNet50vd41642.142.5109.1215.4PP-YOLO824ResNet50vd32038.939.3132.2242.2PP-YOLO_2x824ResNet50vd60845.345.972.9155.6PP-YOLO_2x824ResNet50vd51244.445.089.9188.4PP-YOLO_2x824ResNet50vd41642.743.2109.1215.4PP-YOLO_2x824ResNet50vd32039.540.1132.2242.2PP-YOLO432ResNet18vd51229.229.5357.1657.9PP-YOLO432ResNet18vd41628.628.9409.8719.4PP-YOLO432ResNet18vd32026.226.4480.7763.4轻量级模型移动端基准模型GPU 个数每 GPU 图片数模型体积输入尺寸Box APvalBox AP50valKirin 990 1xCore (FPS)PP-YOLO_MobileNetV3_large43228MB32023.242.614.1PP-YOLO_MobileNetV3_small43216MB32017.233.821.5PP-YOLO tiny8324.2MB32020.692.3-PP-YOLO tiny8324.2MB41622.765.4-指标口径说明务必留意AP 均以 COCO train2017 训练、val2017 与 test-dev2017 测试Box APtest为mAP(IoU0.5:0.95)轻量级模型部分 Box AP50val为mAP(IoU0.5)。若训练时的 GPU 数或 batch size 与上表不一致需参考 PaddleDetection FAQ 相应调整学习率与迭代次数。FP32 推理速度为单卡 V100、batch size1、CUDA 10.2/CUDNN 7.5.1 环境通过tools/export_model.py导出模型后使用deploy/python/infer.py --run_benchnark测得且不含数据预处理与 NMS 后处理与 YOLOv4(AlexyAB) 测试口径一致TensorRT FP16 测试TensorRT 5.1.2.2额外去除yolo_boxbbox 解码耗时。MobileNetV3 系推理速度环境为麒麟 990 芯片单线程PP-YOLO tiny 为麒麟 990 芯片 4 线程、arm8 架构。推理配置详解APP 配置仓库 APP/configs/PP-YOLO.yml 提供了可直接运行的推理配置是理解 PP-YOLO 部署参数的最佳示例mode: paddle draw_threshold: 0.5 metric: COCO use_dynamic_shape: false arch: YOLO min_subgraph_size: 3 param_path: paddlecv://models/ppyolo_r50vd_dcn_2x_coco/model.pdiparams model_path: paddlecv://models/ppyolo_r50vd_dcn_2x_coco/model.pdmodel Preprocess: - interp: 2 keep_ratio: false target_size: [608, 608] type: Resize - is_scale: true mean: [0.485, 0.456, 0.406] std: [0.229, 0.224, 0.225] type: NormalizeImage - type: Permute label_list: [person, bicycle, car, ...]关键参数解读model_path/param_path采用paddlecv://协议标识模型资源底层由 download.py 的parse_url将其映射为https://bj.bcebos.com/v1/paddle-model-ecology/paddlecv/前缀的真实下载地址并缓存在~/.cache/paddlecv/models下重复运行不再重复下载。Preprocess预处理链依次执行Resize插值方式interp: 2即线性插值、keep_ratio: false时直接拉伸到 608×608、NormalizeImage先除以 255再按 ImageNet 风格 mean/std 做标准化、PermuteHWC 转 CHW。draw_threshold: 0.5可视化与结果过滤时的置信度阈值低于该值的框会被过滤。use_dynamic_shape: false与min_subgraph_size: 3与 TensorRT 引擎配置相关动态 shape 关闭时使用固定输入。推理调用链源码剖析推理主逻辑位于 detection.py 的Detector类模型加载get_model_path解析paddlecv://地址并下载到本地随后以Config(infer_model, infer_params)构建 Paddle Inference 配置CPU 模式下disable_gpu()并可通过cpu_threads设置线程数GPU 模式下enable_use_gpu(200, 0)初始化 200MB 显存并开启 IR 图优化。TensorRT 支持mode支持trt_int8/trt_fp32/trt_fp16三种精度通过enable_tensorrt_engine开启use_dynamic_shape: true时可设置image如 640/1280/1024 三档与scale_factor的动态 shape 信息。预处理preprocess.py 中preprocess依据 YAML 配置逐个实例化算子Resize同时维护im_shape与scale_factor元信息PadStride算子则用于 FPN 类模型要求输入尺寸对齐到 stride 倍数的场景YOLO 配置中未启用。推理与后处理__call__中通过零拷贝接口copy_from_cpu喂入image、im_shape、scale_factor三个输入推理后取第一个输出 tensor 作为检测框格式为[cls_id, score, xmin, ymin, xmax, ymax]按draw_threshold过滤后由 visualize.py 的draw_det绘制彩色边框与类别标签。快速启动与运行方式方式一直接运行 Gradio 演示 APPapp.yml声明了基于 Gradiosdk_version 3.9.1的 Web 演示应用入口为app.pycd modelcenter/PP-YOLO/APP pip install -r requirements.txt python app.py依赖清单见 requirements.txtgradio、opencv-python、paddlepaddle、PyYAML、numpy、pillow 等。app.py 中model_inference调用Detector(PP-YOLO)(image)完成推理输出为标注后的图片与 JSON 格式的bboxes列表默认输入示例图为 PaddleDetection 官方 demo 图片。首次运行会自动下载模型权重至本地缓存。方式二命令行推理仓库 paddlecv/tools/predict.py 提供了命令行推理入口对应paddlecv包可结合上述配置一键执行目标检测更通用的做法是直接使用 PaddleDetection 的deploy/python/infer.py配合--model_dir加载从tools/export_model.py导出的预测模型--run_benchnark可复现上表的 FP32 推理速度。方式三FastDeploy 高性能部署模型下载文档对应的 fastdeploy_cn.md 提供了全场景推理部署工具 FastDeploy 的完整流程支持 X86 CPU、NVIDIA GPU、ARM CPU、XPU、NPU、IPU 等 10 类云边端硬件一行代码切换推理后端# 1. 安装预编译包GPU 版需 CUDA 11.2 pip install fastdeploy-gpu-python0.0.0 -f https://www.paddlepaddle.org.cn/whl/fastdeploy_nightly_build.html # 2. 拉取部署示例代码并下载模型与测试图片 git clone https://github.com/PaddlePaddle/FastDeploy.git cd FastDeploy/examples/vision/detection/paddledetection/python/ wget https://bj.bcebos.com/paddlehub/fastdeploy/ppyolo_r50vd_dcn_1x_coco.tgz wget https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg tar xvf ppyolo_r50vd_dcn_1x_coco.tgz # 3. 分别执行 CPU / GPU / GPUTensorRT 推理 python infer_ppyolo.py --model_dir ppyolo_r50vd_dcn_1x_coco --image 000000014439.jpg --device cpu python infer_ppyolo.py --model_dir ppyolo_r50vd_dcn_1x_coco --image 000000014439.jpg --device gpu python infer_ppyolo.py --model_dir ppyolo_r50vd_dcn_1x_coco --image 000000014439.jpg --device gpu --use_trt True注意TensorRT 推理首次运行存在模型序列化耗时属正常现象需耐心等待。配套学习资源模型背景与架构查看 introduction_cn.ipynb包含基于 OpenVINO 的工业指针型表计读数应用案例见 info.yaml 的 Example 字段。精度与速度详细基准benchmark_cn.md。FastDeploy 部署方案fastdeploy_cn.md。演示图片与参考仓库 paddlecv/demo 目录提供多张可用于测试检测效果的示例图片。结语PP-YOLO 系列覆盖从高精度ResNet50vd 骨干、608 输入下 AP 44.8到轻量级PP-YOLO tiny 仅 4.2MB 且可量化至 1.3MB的完整谱系。通过本文的模型下载清单、性能指标与仓库源码级推理链路解析开发者可以快速选定适合自身算力与精度要求的模型版本并借助 Paddle Inference 或 FastDeploy 完成从权重获取到生产部署的闭环。选择建议追求极致精度选 PP-YOLO_2xResNet50vd追求速度与精度平衡选 ResNet18vd 或 MobileNetV3 系列边缘端或移动端部署优先考虑 PP-YOLO tiny 及其量化版本。赞分享人工智能深度学习计算机视觉NLP语音【免费下载链接】modelsOfficially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.项目地址https://gitcode.com/gh_mirrors/mo/models点击查看免费下载相关推荐PaddleDetection 主体检测模型实战基于 PP-PicoDet 的 PP-ShiTu 前置检测任务全解析PaddleDetection 主体检测模型实战基于 PP PicoDet 的 PP ShiTu 前置检测任务全解析 主体检测Mainbody Detect人工智能深度学习计算机视觉PaddleDetection PP-YOLO 与 PP-YOLOv2 实战指南配置解析、模型库与训练部署全流程PaddleDetection PP YOLO 与 PP YOLOv2 实战指南配置解析、模型库与训练部署全流程 PP YOLO 是 PaddleDetect人工智能深度学习计算机视觉PP-PicoDet 下载与部署指南基于 PaddleDetection 的轻量级目标检测模型清单与多端推理方案PP PicoDet 下载与部署指南基于 PaddleDetection 的轻量级目标检测模型清单与多端推理方案 导读 本文基于当前仓库 modelcente人工智能深度学习计算机视觉NLP语音上一篇如何永久保存微信聊天记录WeChatMsg完整使用指南下一篇完整指南如何构建基于深度强化学习的AI斗地主助手创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表