☰
PP-HumanSegV2 人像分割系列模型下载与使用指南:肖像/通用模型清单、指标解读与部署实践
2026/10/7 2:02:15 网站建设 项目流程
  • 人工智能
  • 深度学习
  • 计算机视觉
  • 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
点击查看免费下载

导读

本文以 PaddleSeg 团队发布的开源人像分割方案 PP-HumanSeg 系列为对象,系统梳理其官方模型清单(下载地址、最佳输入尺寸、精度与耗时指标),并深入解析 Checkpoint、Inference Model (Argmax)、Inference Model (Softmax) 三类模型产物的区别与适用场景。无论你是要在手机视频通话、Web 会议中做实时半身人像分割,还是需要针对自身业务场景对通用人像分割模型进行微调,读完本文即可快速选型、正确下载并完成部署接入。


一、模型总览:肖像分割与通用人像分割两类任务

PP-HumanSeg 系列将"人物与背景的像素级区分"这一经典图像分割任务划分为两种场景:

  • 肖像分割(Portrait Segmentation):面向手机视频通话、Web 视频会议等实时半身人像场景,模型针对性强、可开箱即用,零成本直接集成到产品中;
  • 通用人像分割(Human Segmentation):面向全身与半身人像的通用分割任务,官方先构建大规模人像数据集,再使用 PaddleSeg 的 SOTA 模型训练发布,覆盖场景更广、通用性更强。

两类模型均以 PP-HumanSeg14k 等公开人像数据集为主要训练与测试基准(见 modelcenter/PP-HumanSegV2/info.yaml 中 Datasets 字段 "PP-HumanSeg14K,EG1800"),整体方案具有分割精度高、推理速度快、通用型强的特点。作为参考,PP-HumanSegV2 于 2022 年 7 月由 PaddleSeg 升级发布,其肖像分割方案以 96.63% mIoU、约 63 FPS 的手机端推理速度刷新开源人像分割 SOTA 指标,相比 V1 方案推理速度提升约 87%、分割精度提升约 3%(详见 benchmark_cn.md 中的实测数据)。

二、肖像分割模型清单与指标解读

肖像分割模型针对实时半身人像场景设计,官方发布的模型如下:

模型名最佳输入尺寸精度 mIoU(%)手机端推理耗时(ms)模型体积(MB)配置文件下载连接
PP-HumanSegV1-Lite398x22493.6029.682.3portrait_pp_humansegv1_lite.ymlCheckpoint | Inference Model (Argmax) | Inference Model (Softmax)
PP-HumanSegV2-Lite256x14496.6315.865.4portrait_pp_humansegv2_lite.ymlCheckpoint | Inference Model (Argmax) | Inference Model (Softmax)

对应的训练配置文件(如portrait_pp_humansegv2_lite.yml)位于 PaddleSeg 仓库contrib/PP-HumanSeg/configs/目录下,用于结合 Checkpoint 权重执行微调。

2.1 指标说明(如何读懂这张表)

  • 精度 mIoU:针对 PP-HumanSeg-14k 数据集,使用模型最佳输入尺寸测试,未应用多尺度与 flip 等增强操作,反映模型在标准条件下的真实分割精度;
  • 手机端推理耗时:基于 PaddleLite 预测库,在小米 9 手机(骁龙 855 CPU)上、单线程、大核条件下,以最佳输入尺寸测得;
  • 最佳输入尺寸宽高比为 16:9,与手机、电脑摄像头的拍摄画面比例一致,因此输入画面可直接送入模型而不必大幅裁剪;
  • Checkpoint是模型权重,需结合配置文件使用,适用于 Finetuning 微调场景;
  • Inference Model 为预测模型,可直接用于部署;
  • Inference Model (Argmax):模型末端使用 Argmax 算子,输出单通道 int64预测结果,人像区域为 1、背景区域为 0;
  • Inference Model (Softmax):模型末端使用 Softmax 算子,输出单通道 float32预测结果,每个像素的数值表示该像素属于人像的概率,用于图像融合时边缘更平滑。

2.2 使用说明

  • 肖像分割模型专用性较强、可开箱即用,建议直接使用其最佳输入尺寸(如 256x144);
  • 手机端部署存在横屏与竖屏两种情况:实际使用中可根据设备朝向对图像进行旋转,保持人像始终竖直,再以 256x144(横屏)或 144x256(竖屏)输入模型,即可得到最佳分割效果。

2.3 从 V1 到 V2:精度与速度的提升幅度

在 benchmark_cn.md 中,肖像分割方案的实测对比进一步印证了 V2 的升级幅度(骁龙 855 ARM CPU 测试):

模型输入分辨率精度 mIoU(%)ARM CPU 速度(FPS)
PP-HumanSegV1398x22493.6033.69
PP-HumanSegV2398x22497.5035.23
PP-HumanSegV2256x14496.6363.05

同一份基准文档还提供了 Intel CPU(Xeon Gold 6271C,基于 Paddle Inference)下的实测:PP-HumanSegV1 在 398x224 下为 36.02 FPS,PP-HumanSegV2 在 398x224 下为 60.75 FPS、在 256x144 下为 70.67 FPS。可见 V2 方案通过"轻量化模型结构 + 合理调整输入分辨率",在精度不降(甚至更高)的前提下显著提升了推理速度。

三、通用人像分割模型清单与指标解读

通用人像分割模型面向全身/半身等更泛化的场景,官方发布的模型如下:

模型名最佳输入尺寸精度 mIoU(%)手机端推理耗时(ms)服务器端推理耗时(ms)配置文件下载链接
PP-HumanSegV1-Lite192x19286.0212.3-human_pp_humansegv1_lite.ymlCheckpoint | Inference Model (Argmax) | Inference Model (Softmax)
PP-HumanSegV2-Lite192x19292.5215.3-human_pp_humansegv2_lite.ymlCheckpoint | Inference Model (Argmax) | Inference Model (Softmax)
PP-HumanSegV1-Mobile192x19291.64-2.83human_pp_humansegv1_mobile.ymlCheckpoint | Inference Model (Argmax) | Inference Model (Softmax)
PP-HumanSegV2-Mobile192x19293.13-2.67human_pp_humansegv2_mobile.ymlCheckpoint | Inference Model (Argmax) | Inference Model (Softmax)
PP-HumanSegV1-Server512x51296.47-24.9human_pp_humansegv1_server.ymlCheckpoint | Inference Model (Argmax) | Inference Model (Softmax)

3.1 指标说明(与肖像模型的差异点)

  • 精度 mIoU:通用分割模型在大规模人像数据集上训练完成后,在小规模 Supervisely Person 数据集上进行测试。因此该精度代表模型在跨域场景下的泛化表现,与肖像模型在 PP-HumanSeg-14k 上的测试口径不同,两者不可直接横向比较;
  • 手机端推理耗时:同样基于 PaddleLite(小米 9 / 骁龙 855 / 单线程大核);
  • 服务器端推理耗时:基于 PaddleInference 预测库,在V100 GPU、开启 TensorRT条件下测试;
  • Checkpoint / Inference Model (Argmax) / Inference Model (Softmax)的含义与肖像模型完全一致。

3.2 使用说明

  • 通用人像分割任务的场景变化很大,官方建议先根据实际场景评估模型精度是否达标;
  • 若精度满足业务要求,可直接应用;
  • 若不满足,可收集并标注自有数据,基于开源通用人像分割模型(Checkpoint)进行Finetune,以适配特定场景。

四、三类下载产物深度辨析:Checkpoint、Argmax 与 Softmax 推理模型

下载表中每一行都提供了三种模型产物,理解它们之间的差异是正确选型的前提:

产物文件性质输出通道/类型适用场景
Checkpoint训练权重(需配合 yml 配置文件)训练时的 logits 输出Finetune 微调、评估(val)、自定义导出
Inference Model (Argmax)可直接部署的预测模型单通道 int64,人像=1、背景=0对延迟最敏感、只需硬分割掩码的场景
Inference Model (Softmax)可直接部署的预测模型单通道 float32,0~1 的人像概率需要平滑边缘的图像融合/换背景场景

其中 Argmax 与 Softmax 的区别来自模型导出阶段算子选择。从 introduction_cn.ipynb 的导出示例可以看到,PaddleSeg 的export.py通过参数控制模型末端算子:

python ../../export.py \ --config configs/human_pp_humansegv2_lite.yml \ --model_path pretrained_models/human_pp_humansegv2_lite_192x192_pretrained/model.pdparams \ --save_dir output/human_pp_humansegv2_lite \ --without_argmax \ --with_softmax

使用--without_argmax --with_softmax导出时,模型末端不添加 Argmax 算子而是添加 Softmax 算子,输出为浮点概率,使图像融合的边缘更为平滑;反之,默认导出会添加 Argmax 算子,输出离散的 0/1 掩码,推理更快但边缘为硬边界。

部署选型建议:

  • 仅需把人像抠出来做二值掩码(如背景替换后无需边缘羽化)→ 选 Argmax 版,推理开销最小;
  • 需要人像与背景平滑融合(如视频会议换背景、滤镜叠加)→ 选 Softmax 版,边缘质量更高。

五、使用流程与最佳实践

5.1 开箱即用的部署路径

以本仓库 APP/app.py 中的 Gradio 部署示例为例,其推理流程完整展示了"下载模型 → 预处理 → PaddleInference 推理 → 后处理输出 RGBA"的链路:

  1. 下载推理模型:示例中自动下载portrait_pp_humansegv2_lite_256x144_inference_model_with_softmax.zip(即上表 V2-Lite 肖像模型的 Softmax 推理版)并解压,得到包含deploy.yaml、*.pdmodel、*.pdiparams的推理目录;
  2. 预处理:代码中_preprocess将图像resize到 (256, 144),再执行(img / 255 - 0.5) / 0.5归一化,最后转为 CHW 并增加 batch 维度——这正是肖像模型 16:9 最佳输入尺寸的实际落地;
  3. 推理:基于 Paddle Inference 的Config/create_predictorAPI 加载模型,CPU 下默认开启内存优化(enable_memory_optim)与 IR 优化(switch_ir_optim),线程数设为 10;
  4. 后处理:取输出通道中的人像通道results[0, 1, :, :],resize回原图尺寸后与原始 RGB 图像concatenate为 RGBA,得到可直接用于换背景的透明通道人像。

该示例对应的应用配置见 APP/app.yml(Gradio SDK 3.4.1、CPU 设备、Apache-2.0 协议),运行依赖见 APP/requirement.txt(gradio、paddlepaddle、opencv-python、pyyaml、paddleseg)。

5.2 快速体验命令(PaddleSeg 官方流程)

安装 PaddleSeg(要求 PaddlePaddle >= 2.2.0,教程在 2.3.2 版本下验证)并进入contrib/PP-HumanSeg目录后,可执行:

# 下载推理模型与测试数据 python src/download_inference_models.py python src/download_data.py # 半身人像 + 背景融合(横屏) python src/seg_demo.py \ --config inference_models/portrait_pp_humansegv2_lite_256x144_inference_model_with_softmax/deploy.yaml \ --img_path data/images/portrait_heng.jpg \ --bg_img_path data/images/bg_2.jpg \ --save_dir data/images_result/portrait_heng_v2_withbg.jpg # 竖屏场景(增加 --vertical_screen 参数) python src/seg_demo.py \ --config inference_models/portrait_pp_humansegv2_lite_256x144_inference_model_with_softmax/deploy.yaml \ --img_path data/images/portrait_shu.jpg \ --bg_img_path data/images/bg_1.jpg \ --save_dir data/images_result/portrait_shu_v2_withbg.jpg \ --vertical_screen

5.3 Finetune 微调路径(当通用模型不满足业务要求时)

PaddleSeg 在contrib/PP-HumanSeg/configs/下提供了全部模型的训练配置(human_pp_humansegv1_lite.yml、human_pp_humansegv2_lite.yml、human_pp_humansegv1_mobile.yml、human_pp_humansegv2_mobile.yml、human_pp_humansegv1_server.yml、portrait_pp_humansegv1_lite.yml、portrait_pp_humansegv2_lite.yml),配置中已通过pretrained字段指向预训练权重。典型微调命令:

export CUDA_VISIBLE_DEVICES=0 python ../../train.py \ --config configs/human_pp_humansegv2_lite.yml \ --save_dir output/human_pp_humansegv2_lite \ --save_interval 100 --do_eval --use_vdl

训练完成后可依次执行val.py评估、predict.py单图预测、export.py导出部署模型(导出时按需选择--without_argmax --with_softmax)。

六、源码级佐证:PaddleCV 流水线中的 PP-HumanSegV2

本仓库的 PaddleCV 组件同样内置了 PP-HumanSegV2 的接入配置,可作为"下载模型 → 配置流水线"的另一种落地参考。

在 paddlecv/configs/single_op/PP-HumanSegV2.yml 中,SegmentationOp的预处理与下载文档中的最佳输入尺寸完全对应:

MODEL: - SegmentationOp: name: seg param_path: paddlecv://models/PP_HumanSegV2_256x144_with_Softmax/model.pdiparams model_path: paddlecv://models/PP_HumanSegV2_256x144_with_Softmax/model.pdmodel batch_size: 8 PreProcess: - Resize: target_size: [256, 144] - Normalize: scale: 0.00392157 mean: [0.5, 0.5, 0.5] std: [0.5, 0.5, 0.5] order: '' - ToCHWImage - ExpandDim PostProcess: - SegPostProcess

其中Resize目标尺寸为 [256, 144](与表 1 中 PP-HumanSegV2-Lite 肖像模型的最佳输入尺寸一致),scale: 0.00392157即 1/255,配合 mean/std 0.5 对应(img/255 - 0.5)/0.5的归一化方式。流水线底层实现在 paddlecv/ppcv/ops/models/segmentation/inference.py:SegmentationOp按batch_size分批量执行"预处理 → 模型推理 → 后处理",后处理算子SegPostProcess(见 postprocess.py)将推理输出包装为seg_map结果键,供上层HumanSegOutput输出模块消费。

七、FastDeploy 高性能部署(可选)

如需在 X86 CPU、NVIDIA GPU 等硬件上获得端到端优化加速,可参考本仓库 fastdeploy_cn.md 的 FastDeploy 三步部署流程:

# 1. 安装 FastDeploy 预编译包 pip install fastdeploy-gpu-python==0.0.0 -f https://www.paddlepaddle.org.cn/whl/fastdeploy_nightly_build.html # 2. 下载 PP_HumanSegV2_Lite_192x192 推理模型与测试图片 wget https://bj.bcebos.com/paddle2onnx/libs/PP_HumanSegV2_Lite_192x192_infer.tgz tar -xvf PP_HumanSegV2_Lite_192x192_infer.tgz # 3. CPU / GPU / GPU+TensorRT 推理 python infer.py --model PP_HumanSegV2_Lite_192x192_infer --image cityscapes_demo.png --device cpu python infer.py --model PP_HumanSegV2_Lite_192x192_infer --image cityscapes_demo.png --device gpu python infer.py --model PP_HumanSegV2_Lite_192x192_infer --image cityscapes_demo.png --device gpu --use_trt True

注意:GPU 上首次使用 TensorRT 推理会有序列化模型的操作,需要耐心等待;文档默认已准备好 GPU 环境(如 CUDA >= 11.2)。

八、总结与选型速查

需求场景推荐模型下载选择关键点
手机/Web 实时半身人像分割(横屏或竖屏)PP-HumanSegV2-Lite(256x144)Softmax 推理模型16:9 输入、人像保持竖直、约 15.9ms/帧
通用人像分割,精度优先PP-HumanSegV1/V2-Server(512x512)Argmax 或 Softmax 推理模型V100+TRT 下约 24.9ms
通用人像分割,端侧部署PP-HumanSegV1/V2-Lite 或 Mobile(192x192)推理模型手机端约 12~15ms
针对自有场景微调任一 CheckpointCheckpoint + 对应 yml 配置用train.py微调、export.py按需导出

核心要点回顾:下载时先区分 Checkpoint(用于微调)与 Inference Model(用于部署);部署时按是否需要平滑边缘选择 Argmax 版(int64 硬掩码)或 Softmax 版(float32 概率);肖像模型建议固定最佳输入尺寸开箱即用,通用模型务必在真实业务场景中先评估精度,必要时基于开源权重 Finetune。相关模型的学术引用可参考 PP-HumanSeg 论文(Chu et al.,PP-HumanSeg: Connectivity-Aware Portrait Segmentation With a Large-Scale Teleconferencing Video Dataset, WACV Workshops 2022,见 introduction_cn.ipynb)。

  • 人工智能
  • 深度学习
  • 计算机视觉
  • 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
点击查看免费下载

相关推荐

上一篇:Gen6D训练全攻略:从数据集准备到模型调优的完整工作流(附代码)
下一篇:猫抓浏览器插件:一键下载网页视频的终极免费解决方案

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

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

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

立即咨询