☰
PP-PicoDet 模型下载与部署资源全指南:权重、导出模型与推理配置详解
2026/10/8 8:09:42 网站建设 项目流程
  • 人工智能
  • 深度学习
  • 计算机视觉
  • NLP
  • 语音

【免费下载链接】models

Officially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.

项目地址:https://gitcode.com/gh_mirrors/mo/models
点击查看免费下载

导读

本文以 PaddlePaddle 官方模型库中 PP-PicoDet 下载指南 为核心,系统梳理 PP-PicoDet 轻量级目标检测系列模型(XS/S/M/L 四个规格、320/416/640 三种输入尺寸)的权重文件、训练日志、推理导出模型(含/不含后处理)、ONNX 与 Paddle Lite(fp32/fp16)部署产物的完整清单,并结合本仓库 modelcenter/PP-PicoDet 目录下的 APP 推理实现、配置文件、Benchmark 数据与 FastDeploy 部署文档进行源码级纵深讲解。读完本文,你将能够:为不同算力场景(CPU 服务器、移动端、边缘设备)准确选择并下载合适的 PP-PicoDet 模型资源,理解"含后处理/不含后处理"导出模型的本质区别,掌握基于 Paddle Inference 的完整推理调用链,并了解 ONNX、Paddle Lite 等第三方引擎的部署物料组织方式。

一、PP-PicoDet 模型概述

PP-PicoDet 是 PaddleDetection 提出的轻量级目标检测系列模型,其 info.yaml 中将其定位为"轻量级系列模型,在移动端具有卓越的性能",适用于移动端与 CPU 场景的部署(description_en 中明确说明very suitable for deployment on mobile or CPU)。模型由百度发布,许可协议为 Apache 2.0,对应的论文为PP-PicoDet: A Better Real-Time Object Detector on Mobile Devices(arXiv 2111.00902,见 info.yaml)。

从 introduction_cn.ipynb 中的模型简介可知,其核心特性包括:

  • 高精度:第一个在 1M 参数量级内使 mAP(0.5:0.95) 超过 30+ 的模型(416 输入时);
  • 快速度:网络预测在 ARM CPU 下可达 150 FPS;
  • 部署友好:支持 PaddleLite / MNN / NCNN / OpenVINO 等预测库,支持导出 ONNX;
  • 先进算法:在检测框架中引入了 ESNet(高效主干网络)、CSP-PAN(特征融合)、SimOTA(标签分配)等模块。

在目标检测任务分类上,它属于计算机视觉 / 目标检测(见 info.yaml),训练与评测数据集为 COCO train2017 / val2017 / test-dev2017 与 Pascal VOC。

二、基础模型库:权重与推理模型下载清单

download_cn.md 首先给出了"基础模型库"清单,覆盖 PicoDet-XS、PicoDet-S、PicoDet-M、PicoDet-L 四个规格,每个规格分别提供 320×320、416×416 输入版本(PicoDet-L 另有 640×640 版本),共 9 个模型。每个模型对应四类资源:训练权重(.pdparams)、训练日志(.log)、训练配置文件(.yml)与导出推理模型(.tar)。

其中导出推理模型分为两种形态:

导出形态说明
w/ 后处理(含后处理)推理网络中已包含 NMS 等后处理算子,推理输出直接是最终检测框结果,部署端无需再实现后处理逻辑
w/o 后处理(不含后处理)网络仅输出原始预测(如框、类别得分、分布等),后处理需在部署端自行实现,适合与第三方引擎深度定制集成

完整清单如下(所有产物托管于 PaddleDetection 官方模型文件服务器,下载地址入口见仓库内 download_cn.md 原文表格):

模型输入尺寸权重文件训练日志导出模型(含后处理)导出模型(不含后处理)
PicoDet-XS320×320picodet_xs_320_coco_lcnet.pdparamstrain_picodet_xs_320_coco_lcnet.logpicodet_xs_320_coco_lcnet.tarpicodet_xs_320_coco_lcnet_non_postprocess.tar
PicoDet-XS416×416picodet_xs_416_coco_lcnet.pdparamstrain_picodet_xs_416_coco_lcnet.logpicodet_xs_416_coco_lcnet.tarpicodet_xs_416_coco_lcnet_non_postprocess.tar
PicoDet-S320×320picodet_s_320_coco_lcnet.pdparamstrain_picodet_s_320_coco_lcnet.logpicodet_s_320_coco_lcnet.tarpicodet_s_320_coco_lcnet_non_postprocess.tar
PicoDet-S416×416picodet_s_416_coco_lcnet.pdparamstrain_picodet_s_416_coco_lcnet.logpicodet_s_416_coco_lcnet.tarpicodet_s_416_coco_lcnet_non_postprocess.tar
PicoDet-M320×320picodet_m_320_coco_lcnet.pdparamstrain_picodet_m_320_coco_lcnet.logpicodet_m_320_coco_lcnet.tarpicodet_m_320_coco_lcnet_non_postprocess.tar
PicoDet-M416×416picodet_m_416_coco_lcnet.pdparamstrain_picodet_m_416_coco_lcnet.logpicodet_m_416_coco_lcnet.tarpicodet_m_416_coco_lcnet_non_postprocess.tar
PicoDet-L320×320picodet_l_320_coco_lcnet.pdparamstrain_picodet_l_320_coco_lcnet.logpicodet_l_320_coco_lcnet.tarpicodet_l_320_coco_lcnet_non_postprocess.tar
PicoDet-L416×416picodet_l_416_coco_lcnet.pdparamstrain_picodet_l_416_coco_lcnet.logpicodet_l_416_coco_lcnet.tarpicodet_l_416_coco_lcnet_non_postprocess.tar
PicoDet-L640×640picodet_l_640_coco_lcnet.pdparamstrain_picodet_l_640_coco_lcnet.logpicodet_l_640_coco_lcnet.tarpicodet_l_640_coco_lcnet_non_postprocess.tar

命名规律解读:文件名picodet_{规格}_{输入尺寸}_coco_lcnet中coco表示在 COCO 数据集上训练,lcnet表示主干网络采用 LCNet(轻量级卷积网络),non_postprocess后缀即"不含后处理"版本。输入尺寸直接嵌入文件名,便于按部署算力挑选。

各模型的训练配置文件位于 PaddleDetection 仓库configs/picodet/目录(如picodet_s_320_coco_lcnet.yml),负责定义网络结构、数据集路径、训练超参与后处理参数。本仓库中 APP/configs/PP-PicoDet.yml 提供了面向推理的等效配置(详见本文第五节)。

三、部署模型库:ONNX 与 Paddle Lite 产物清单

针对第三方推理引擎与移动端部署,download_cn.md 的第二张表提供了"部署模型库"清单,覆盖 ONNX(同样区分含/不含后处理)与 Paddle Lite(fp32 / fp16)两类产物:

模型输入尺寸ONNX(含后处理)ONNX(不含后处理)Paddle Lite fp32Paddle Lite fp16
PicoDet-XS320×320picodet_xs_320_lcnet_postprocessed.onnxpicodet_xs_320_coco_lcnet.onnxpicodet_xs_320_coco_lcnet.tarpicodet_xs_320_coco_lcnet_fp16.tar
PicoDet-XS416×416picodet_xs_416_lcnet_postprocessed.onnxpicodet_xs_416_coco_lcnet.onnxpicodet_xs_416_coco_lcnet.tarpicodet_xs_416_coco_lcnet_fp16.tar
PicoDet-S320×320picodet_s_320_lcnet_postprocessed.onnxpicodet_s_320_coco_lcnet.onnxpicodet_s_320_coco_lcnet.tarpicodet_s_320_coco_lcnet_fp16.tar
PicoDet-S416×416picodet_s_416_lcnet_postprocessed.onnxpicodet_s_416_coco_lcnet.onnxpicodet_s_416_coco_lcnet.tarpicodet_s_416_coco_lcnet_fp16.tar
PicoDet-M320×320picodet_m_320_lcnet_postprocessed.onnxpicodet_m_320_coco_lcnet.onnxpicodet_m_320_coco_lcnet.tarpicodet_m_320_coco_lcnet_fp16.tar
PicoDet-M416×416picodet_m_416_lcnet_postprocessed.onnxpicodet_m_416_coco_lcnet.onnxpicodet_m_416_coco_lcnet.tarpicodet_m_416_coco_lcnet_fp16.tar
PicoDet-L320×320picodet_l_320_lcnet_postprocessed.onnxpicodet_l_320_coco_lcnet.onnxpicodet_l_320_coco_lcnet.tarpicodet_l_320_coco_lcnet_fp16.tar
PicoDet-L416×416picodet_l_416_lcnet_postprocessed.onnxpicodet_l_416_coco_lcnet.onnxpicodet_l_416_coco_lcnet.tarpicodet_l_416_coco_lcnet_fp16.tar
PicoDet-L640×640picodet_l_640_lcnet_postprocessed.onnxpicodet_l_640_coco_lcnet.onnxpicodet_l_640_coco_lcnet.tarpicodet_l_640_coco_lcnet_fp16.tar

选用建议:

  • ONNX 含后处理版(*_postprocessed.onnx)适合直接接入 MNN、NCNN、OpenVINO 等成熟推理框架,开箱即用;
  • ONNX 不含后处理版(*_coco_lcnet.onnx)适合需要自定义后处理(如自定义 NMS 策略、与业务逻辑融合)或二次量化的场景;
  • Paddle Lite fp16 版(*_fp16.tar)专为 ARM 移动端优化,在支持 fp16 计算的终端上可获得显著加速,对应 benchmark_cn.md 中"Lite(FP16 预测)"一栏的时延数据。

注意 ONNX 命名中"含后处理"用postprocessed标识,而基础模型库中用non_postprocess标识"不含后处理",两者命名约定不同,下载时需仔细区分。

四、精度与速度 Benchmark 参考

benchmark_cn.md 给出了全部 9 个模型的精度(COCO mAP)与算力需求(参数量、FLOPS)及预测时延(CPU 与 Paddle Lite 双平台),是选择模型规格的重要依据:

模型输入尺寸mAP val 0.5:0.95mAP val 0.5参数量 (M)FLOPS (G)CPU 时延 (ms)Lite 时延 (ms)
PicoDet-XS320×32023.536.10.700.673.97.81
PicoDet-XS416×41626.239.30.701.136.112.38
PicoDet-S320×32029.143.41.180.974.89.56
PicoDet-S416×41632.547.61.181.656.615.20
PicoDet-M320×32034.450.03.462.578.217.68
PicoDet-M416×41637.553.43.464.3412.728.39
PicoDet-L320×32036.152.05.804.2011.525.21
PicoDet-L416×41639.455.75.807.1020.742.23
PicoDet-L640×64042.659.25.8016.8162.5108.1

测试条件(摘自原文档说明):

  • 所有模型在Intel Core i7 10750H CPU(OpenVINO 测试)与骁龙 865(4xA77+4xA55)ARM CPU(4 线程,FP16 预测,Paddle Lite 测试)上测速;
  • 模型在 COCO train2017 上训练、COCO val2017 上验证,使用 4 卡 GPU 训练,上表预训练模型均由发布的默认配置训练得到;
  • 测速时导出模型不含后处理(后处理不包含在网络中),需在导出时设置-o export.benchmark=True或手动修改 PaddleDetection 的 runtime.yml 中对应开关。

选型参考:从 0.70M 参数的 XS(320 输入,CPU 仅 3.9ms)到 5.80M 参数的 L(640 输入,mAP 42.6),精度与时延呈清晰梯度。追求极致轻量与低时延选 XS/S,追求精度上限选 L(640×640)。

五、仓库内快速体验:基于 Paddle Inference 的推理实现

本仓库在 modelcenter/PP-PicoDet/APP 目录下提供了开箱即用的 PP-PicoDet 推理 Demo(Gradio Web 应用),可直接复现"下载模型 → 推理 → 可视化"的完整链路,代码量小且高度可读。

5.1 运行环境与依赖

requirements.txt 列出了所需依赖:gradio(Web 界面)、opencv-python(图像解码与缩放)、paddlepaddle(推理框架)、PyYAML(配置解析)、shapely/scipy/Cython/numpy/pillow等。安装后即可运行。

app.yml 声明了应用元信息:SDK 为 Gradio(版本 3.9.1),入口文件为app.py,默认运行在 CPU 设备,许可证 Apache-2.0。

5.2 推理入口与流程

app.py 的推理入口非常简洁:

def model_inference(image): image, json_out = Detector('PP-PicoDet')(image) return image, json_out

传入图片后返回标注了检测框的结果图与 JSON 格式的检测结果(含各框坐标与置信度)。真正的推理逻辑封装在 src/detection.py 的Detector类中,其核心流程如下:

  1. 配置加载:读取 configs/PP-PicoDet.yml,获取模型路径、预处理算子、标签列表等;
  2. 模型准备:通过get_model_path获取paddlecv://models/picodet_s_320_coco_lcnet/model.pdiparams与model.pdmodel对应的本地文件(首次使用时自动下载,详见 5.4);
  3. Predictor 构建:基于 Paddle Inference 的Config创建预测器,支持 CPU/GPU 与 TensorRT(trt_int8/trt_fp32/trt_fp16)多种运行模式(detection.py);
  4. 输入预处理:按配置依次执行 Resize → NormalizeImage → Permute 等算子,并组装im_shape、scale_factor、image三个输入张量(detection.py);
  5. 推理与过滤:运行预测器,读取检测框输出,按draw_threshold(默认 0.5)过滤低置信度框,最终绘制可视化结果并返回 JSON(detection.py)。

5.3 推理配置详解

configs/PP-PicoDet.yml 是理解整个推理链的关键,各字段含义如下:

配置项值说明
modepaddle推理运行模式,可为paddle或 TensorRT 模式(trt_fp32/trt_fp16/trt_int8)
device缺省(默认 CPU)运行设备,CPU或GPU
cpu_threads缺省(默认 1)CPU 推理线程数
draw_threshold0.5可视化与输出结果的置信度阈值
metricCOCO评测指标
use_dynamic_shapefalse是否启用 TensorRT 动态输入形状
archGFL网络架构(Generalized Focal Loss 检测头)
min_subgraph_size3TensorRT 子图融合的最小节点数
model_path/param_pathpaddlecv://models/...推理模型结构文件与参数文件(Paddle 推理模型格式)
Preprocess三组算子见下表
label_list80 类COCO 80 类目标名称,用于可视化标注

Preprocess预处理链与各算子参数:

Preprocess: - interp: 2 # 插值方式:2 即 cv2.INTER_LINEAR 双线性插值 keep_ratio: false # 不保持宽高比,直接缩放到 target_size target_size: [320, 320] # 与模型输入尺寸一致 type: Resize - is_scale: true # 像素值除以 255 归一化 mean: [0.485, 0.456, 0.406] # ImageNet 统计均值 std: [0.229, 0.224, 0.225] # ImageNet 统计标准差 type: NormalizeImage - type: Permute # HWC → CHW 维度变换

对应的底层实现在 src/preprocess.py:Resize计算缩放比例并执行cv2.resize,NormalizeImage先im *= 1/255再按 mean/std 做标准化,Permute将(H, W, C)转置为(C, H, W)。需要注意的是:推理预处理必须与模型训练时的预处理保持一致(本配置即对应 PaddleDetection 中picodet_s_320_coco_lcnet.yml的标准预处理),否则精度会明显下降。

5.4 模型自动下载机制

src/download.py 实现了paddlecv://协议到实际下载地址的映射与缓存逻辑,其要点包括:

  • 缓存目录:模型权重缓存在~/.cache/paddlecv/models,配置缓存在~/.cache/paddlecv/configs;
  • paddlecv://前缀会被替换为PMP_DOWNLOAD_URL_PREFIX指定的下载服务前缀(download.py);
  • 下载带MD5 完整性校验:对.pdparams权重文件,会从响应头content-md5读取校验值比对(download.py);
  • 下载失败自动重试,重试上限为 3 次(DOWNLOAD_RETRY_LIMIT);
  • 采用"先写临时文件、完成后原子改名"的策略,避免下载中断产生半成品文件(download.py);
  • 本地已存在且 MD5 校验通过的文件会直接复用,不重复下载。

运行方式:在 modelcenter/PP-PicoDet/APP 目录下安装依赖后执行python app.py,即可启动 Gradio 界面,上传图片实时体验 PP-PicoDet 的检测效果(默认示例图片可在app.py中看到其入口 URL,本仓库 paddlecv/demo 目录也提供了可直接测试的示例图片)。

六、基于 FastDeploy 的高性能云边端部署

除 Paddle Inference 外,本仓库还提供了基于 FastDeploy 的部署方案说明(见 fastdeploy_cn.md)。FastDeploy 是面向全场景的 AI 推理部署工具,支持 X86 CPU、NVIDIA GPU、ARM CPU、XPU、NPU、IPU 等硬件,通过一行代码即可切换推理后端。

部署流程概括为三步:

  1. 安装 FastDeploy 预编译包(如pip install fastdeploy-gpu-python,GPU 场景需预先准备 CUDA ≥ 11.2 环境;具体安装源与最新版本见 FastDeploy 官方发布说明,原文档含完整安装命令);
  2. 获取部署示例代码:克隆 FastDeploy 仓库后进入examples/vision/detection/paddledetection/python/示例目录;
  3. 下载模型与测试图片并运行推理:
    • 下载picodet_l_320_coco_lcnet.tgz(对应本文第二节表中的 PicoDet-L 320 导出模型)并解压;
    • 分别执行 CPU、GPU、GPU+TensorRT 推理:
python infer_picodet.py --model_dir picodet_l_320_coco_lcnet --image 000000014439.jpg --device cpu python infer_picodet.py --model_dir picodet_l_320_coco_lcnet --image 000000014439.jpg --device gpu python infer_picodet.py --model_dir picodet_l_320_coco_lcnet --image 000000014439.jpg --device gpu --use_trt True

注意:TensorRT 推理首次运行时需要进行引擎序列化,耗时较长属正常现象。该示例路径与本仓库的模型下载表相互印证——下载表中提供的导出模型(.tar 包)正是此类部署场景直接使用的物料。

七、常见问题与注意事项

  1. 含后处理与不含后处理模型选哪个?若部署框架自带 NMS 等后处理算子或需要深度定制,选non_postprocess/ 不含后处理版;若追求开箱即用,选含后处理版。两者输入输出协议不同,混用会导致推理结果异常。

  2. Benchmark 时延如何复现?官方时延数据基于不含后处理的导出模型测得,导出时需设置-o export.benchmark=True(或修改 PaddleDetectionconfigs/runtime.yml中对应开关),否则测得的时延会包含后处理算子耗时,与官方数据不可比。

  3. 推理精度为何与官方 mAP 不符?优先检查预处理是否与训练一致:输入尺寸需与模型名一致(320/416/640),归一化需使用与 PP-PicoDet.yml 相同的 mean/std 与is_scale=True,并完成 HWC→CHW 转置。

  4. 下载中断或文件损坏怎么办?仓库的下载模块内置 MD5 校验与 3 次重试,本地缓存文件校验失败会自动重新下载;若手动下载.pdparams权重,请核对官方提供的 MD5 值。

  5. 运行环境要求:Paddle Inference 推理需安装paddlepaddle;FastDeploy GPU 部署需 CUDA ≥ 11.2;Paddle Lite fp16 模型需目标 ARM 设备支持 fp16 计算。

结语

本文以 download_cn.md 的模型下载清单为主线,完整梳理了 PP-PicoDet 全系列基础模型与部署模型的产物形态与选型方法,并通过 APP 目录下的源码剖析了从配置解析、预处理到推理输出的完整调用链,结合 benchmark_cn.md 的实测数据与 fastdeploy_cn.md 的部署示例,构成了"选模型 → 下权重 → 本地推理 → 云端/边缘部署"的全链路参考。读者可进一步阅读 introduction_cn.ipynb 了解算法细节与训练方法,或在本仓库 paddlecv 目录中探索其作为统一视觉推理框架内单算子/系统级配置的实际应用。

  • 人工智能
  • 深度学习
  • 计算机视觉
  • NLP
  • 语音

【免费下载链接】models

Officially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.

项目地址:https://gitcode.com/gh_mirrors/mo/models
点击查看免费下载

相关推荐

上一篇:十分钟下载一条视频号视频:res-downloader 资源嗅探上手指南
下一篇:AI-For-Beginners 课程之自然语言处理(NLP)学习路线:从文本表示到大型语言模型

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询