- 人工智能
- 深度学习
- 计算机视觉
- NLP
- 语音
【免费下载链接】models
Officially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.
导读
本文以 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-XS | 320×320 | picodet_xs_320_coco_lcnet.pdparams | train_picodet_xs_320_coco_lcnet.log | picodet_xs_320_coco_lcnet.tar | picodet_xs_320_coco_lcnet_non_postprocess.tar |
| PicoDet-XS | 416×416 | picodet_xs_416_coco_lcnet.pdparams | train_picodet_xs_416_coco_lcnet.log | picodet_xs_416_coco_lcnet.tar | picodet_xs_416_coco_lcnet_non_postprocess.tar |
| PicoDet-S | 320×320 | picodet_s_320_coco_lcnet.pdparams | train_picodet_s_320_coco_lcnet.log | picodet_s_320_coco_lcnet.tar | picodet_s_320_coco_lcnet_non_postprocess.tar |
| PicoDet-S | 416×416 | picodet_s_416_coco_lcnet.pdparams | train_picodet_s_416_coco_lcnet.log | picodet_s_416_coco_lcnet.tar | picodet_s_416_coco_lcnet_non_postprocess.tar |
| PicoDet-M | 320×320 | picodet_m_320_coco_lcnet.pdparams | train_picodet_m_320_coco_lcnet.log | picodet_m_320_coco_lcnet.tar | picodet_m_320_coco_lcnet_non_postprocess.tar |
| PicoDet-M | 416×416 | picodet_m_416_coco_lcnet.pdparams | train_picodet_m_416_coco_lcnet.log | picodet_m_416_coco_lcnet.tar | picodet_m_416_coco_lcnet_non_postprocess.tar |
| PicoDet-L | 320×320 | picodet_l_320_coco_lcnet.pdparams | train_picodet_l_320_coco_lcnet.log | picodet_l_320_coco_lcnet.tar | picodet_l_320_coco_lcnet_non_postprocess.tar |
| PicoDet-L | 416×416 | picodet_l_416_coco_lcnet.pdparams | train_picodet_l_416_coco_lcnet.log | picodet_l_416_coco_lcnet.tar | picodet_l_416_coco_lcnet_non_postprocess.tar |
| PicoDet-L | 640×640 | picodet_l_640_coco_lcnet.pdparams | train_picodet_l_640_coco_lcnet.log | picodet_l_640_coco_lcnet.tar | picodet_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 fp32 | Paddle Lite fp16 |
|---|---|---|---|---|---|
| PicoDet-XS | 320×320 | picodet_xs_320_lcnet_postprocessed.onnx | picodet_xs_320_coco_lcnet.onnx | picodet_xs_320_coco_lcnet.tar | picodet_xs_320_coco_lcnet_fp16.tar |
| PicoDet-XS | 416×416 | picodet_xs_416_lcnet_postprocessed.onnx | picodet_xs_416_coco_lcnet.onnx | picodet_xs_416_coco_lcnet.tar | picodet_xs_416_coco_lcnet_fp16.tar |
| PicoDet-S | 320×320 | picodet_s_320_lcnet_postprocessed.onnx | picodet_s_320_coco_lcnet.onnx | picodet_s_320_coco_lcnet.tar | picodet_s_320_coco_lcnet_fp16.tar |
| PicoDet-S | 416×416 | picodet_s_416_lcnet_postprocessed.onnx | picodet_s_416_coco_lcnet.onnx | picodet_s_416_coco_lcnet.tar | picodet_s_416_coco_lcnet_fp16.tar |
| PicoDet-M | 320×320 | picodet_m_320_lcnet_postprocessed.onnx | picodet_m_320_coco_lcnet.onnx | picodet_m_320_coco_lcnet.tar | picodet_m_320_coco_lcnet_fp16.tar |
| PicoDet-M | 416×416 | picodet_m_416_lcnet_postprocessed.onnx | picodet_m_416_coco_lcnet.onnx | picodet_m_416_coco_lcnet.tar | picodet_m_416_coco_lcnet_fp16.tar |
| PicoDet-L | 320×320 | picodet_l_320_lcnet_postprocessed.onnx | picodet_l_320_coco_lcnet.onnx | picodet_l_320_coco_lcnet.tar | picodet_l_320_coco_lcnet_fp16.tar |
| PicoDet-L | 416×416 | picodet_l_416_lcnet_postprocessed.onnx | picodet_l_416_coco_lcnet.onnx | picodet_l_416_coco_lcnet.tar | picodet_l_416_coco_lcnet_fp16.tar |
| PicoDet-L | 640×640 | picodet_l_640_lcnet_postprocessed.onnx | picodet_l_640_coco_lcnet.onnx | picodet_l_640_coco_lcnet.tar | picodet_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.95 | mAP val 0.5 | 参数量 (M) | FLOPS (G) | CPU 时延 (ms) | Lite 时延 (ms) |
|---|---|---|---|---|---|---|---|
| PicoDet-XS | 320×320 | 23.5 | 36.1 | 0.70 | 0.67 | 3.9 | 7.81 |
| PicoDet-XS | 416×416 | 26.2 | 39.3 | 0.70 | 1.13 | 6.1 | 12.38 |
| PicoDet-S | 320×320 | 29.1 | 43.4 | 1.18 | 0.97 | 4.8 | 9.56 |
| PicoDet-S | 416×416 | 32.5 | 47.6 | 1.18 | 1.65 | 6.6 | 15.20 |
| PicoDet-M | 320×320 | 34.4 | 50.0 | 3.46 | 2.57 | 8.2 | 17.68 |
| PicoDet-M | 416×416 | 37.5 | 53.4 | 3.46 | 4.34 | 12.7 | 28.39 |
| PicoDet-L | 320×320 | 36.1 | 52.0 | 5.80 | 4.20 | 11.5 | 25.21 |
| PicoDet-L | 416×416 | 39.4 | 55.7 | 5.80 | 7.10 | 20.7 | 42.23 |
| PicoDet-L | 640×640 | 42.6 | 59.2 | 5.80 | 16.81 | 62.5 | 108.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类中,其核心流程如下:
- 配置加载:读取 configs/PP-PicoDet.yml,获取模型路径、预处理算子、标签列表等;
- 模型准备:通过
get_model_path获取paddlecv://models/picodet_s_320_coco_lcnet/model.pdiparams与model.pdmodel对应的本地文件(首次使用时自动下载,详见 5.4); - Predictor 构建:基于 Paddle Inference 的
Config创建预测器,支持 CPU/GPU 与 TensorRT(trt_int8/trt_fp32/trt_fp16)多种运行模式(detection.py); - 输入预处理:按配置依次执行 Resize → NormalizeImage → Permute 等算子,并组装
im_shape、scale_factor、image三个输入张量(detection.py); - 推理与过滤:运行预测器,读取检测框输出,按
draw_threshold(默认 0.5)过滤低置信度框,最终绘制可视化结果并返回 JSON(detection.py)。
5.3 推理配置详解
configs/PP-PicoDet.yml 是理解整个推理链的关键,各字段含义如下:
| 配置项 | 值 | 说明 |
|---|---|---|
mode | paddle | 推理运行模式,可为paddle或 TensorRT 模式(trt_fp32/trt_fp16/trt_int8) |
device | 缺省(默认 CPU) | 运行设备,CPU或GPU |
cpu_threads | 缺省(默认 1) | CPU 推理线程数 |
draw_threshold | 0.5 | 可视化与输出结果的置信度阈值 |
metric | COCO | 评测指标 |
use_dynamic_shape | false | 是否启用 TensorRT 动态输入形状 |
arch | GFL | 网络架构(Generalized Focal Loss 检测头) |
min_subgraph_size | 3 | TensorRT 子图融合的最小节点数 |
model_path/param_path | paddlecv://models/... | 推理模型结构文件与参数文件(Paddle 推理模型格式) |
Preprocess | 三组算子 | 见下表 |
label_list | 80 类 | 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 等硬件,通过一行代码即可切换推理后端。
部署流程概括为三步:
- 安装 FastDeploy 预编译包(如
pip install fastdeploy-gpu-python,GPU 场景需预先准备 CUDA ≥ 11.2 环境;具体安装源与最新版本见 FastDeploy 官方发布说明,原文档含完整安装命令); - 获取部署示例代码:克隆 FastDeploy 仓库后进入
examples/vision/detection/paddledetection/python/示例目录; - 下载模型与测试图片并运行推理:
- 下载
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 包)正是此类部署场景直接使用的物料。
七、常见问题与注意事项
含后处理与不含后处理模型选哪个?若部署框架自带 NMS 等后处理算子或需要深度定制,选
non_postprocess/ 不含后处理版;若追求开箱即用,选含后处理版。两者输入输出协议不同,混用会导致推理结果异常。Benchmark 时延如何复现?官方时延数据基于不含后处理的导出模型测得,导出时需设置
-o export.benchmark=True(或修改 PaddleDetectionconfigs/runtime.yml中对应开关),否则测得的时延会包含后处理算子耗时,与官方数据不可比。推理精度为何与官方 mAP 不符?优先检查预处理是否与训练一致:输入尺寸需与模型名一致(320/416/640),归一化需使用与 PP-PicoDet.yml 相同的 mean/std 与
is_scale=True,并完成 HWC→CHW 转置。下载中断或文件损坏怎么办?仓库的下载模块内置 MD5 校验与 3 次重试,本地缓存文件校验失败会自动重新下载;若手动下载
.pdparams权重,请核对官方提供的 MD5 值。运行环境要求: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.
相关推荐
PP-YOLOE+ 模型下载与部署实战指南:Model Zoo 权重获取、推理配置与 Paddle Inference / FastDeploy 落地
PP YOLOE+ 模型下载与部署实战指南:Model Zoo 权重获取、推理配置与 Paddle Inference / FastDeploy 落地 本文以
人工智能深度学习计算机视觉NLP语音PP-PicoDet 下载与部署指南:基于 PaddleDetection 的轻量级目标检测模型清单与多端推理方案
PP PicoDet 下载与部署指南:基于 PaddleDetection 的轻量级目标检测模型清单与多端推理方案 导读 本文基于当前仓库 modelcente
人工智能深度学习计算机视觉NLP语音PaddleSMRT 检测模型选型全流程指南:数据特点分析、推荐配置与 PP-YOLOE/PicoDet 产业部署实战
PaddleSMRT 检测模型选型全流程指南:数据特点分析、推荐配置与 PP YOLOE/PicoDet 产业部署实战 PaddleSMRT(Paddle Se
人工智能深度学习计算机视觉
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考