ARTICLE DETAIL

资讯详情

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

PP-HumanSegV2 人像分割系列模型下载与使用指南:肖像/通用模型清单、指标解读与部署实践

PP-HumanSegV2 人像分割系列模型下载与使用指南:肖像/通用模型清单、指标解读与部署实践 人工智能深度学习计算机视觉NLP语音【免费下载链接】modelsOfficially 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、背景区域为 0Inference 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.69PP-HumanSegV2398x22497.5035.23PP-HumanSegV2256x14496.6363.05同一份基准文档还提供了 Intel CPUXeon Gold 6271C基于 Paddle Inference下的实测PP-HumanSegV1 在 398x224 下为 36.02 FPSPP-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)可直接部署的预测模型单通道 float320~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的链路下载推理模型示例中自动下载portrait_pp_humansegv2_lite_256x144_inference_model_with_softmax.zip即上表 V2-Lite 肖像模型的 Softmax 推理版并解压得到包含deploy.yaml、*.pdmodel、*.pdiparams的推理目录预处理代码中_preprocess将图像resize到 (256, 144)再执行(img / 255 - 0.5) / 0.5归一化最后转为 CHW 并增加 batch 维度——这正是肖像模型 16:9 最佳输入尺寸的实际落地推理基于 Paddle Inference 的Config/create_predictorAPI 加载模型CPU 下默认开启内存优化enable_memory_optim与 IR 优化switch_ir_optim线程数设为 10后处理取输出通道中的人像通道results[0, 1, :, :]resize回原图尺寸后与原始 RGB 图像concatenate为 RGBA得到可直接用于换背景的透明通道人像。该示例对应的应用配置见 APP/app.ymlGradio SDK 3.4.1、CPU 设备、Apache-2.0 协议运行依赖见 APP/requirement.txtgradio、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_screen5.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_DEVICES0 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.pySegmentationOp按batch_size分批量执行预处理 → 模型推理 → 后处理后处理算子SegPostProcess见 postprocess.py将推理输出包装为seg_map结果键供上层HumanSegOutput输出模块消费。七、FastDeploy 高性能部署可选如需在 X86 CPU、NVIDIA GPU 等硬件上获得端到端优化加速可参考本仓库 fastdeploy_cn.md 的 FastDeploy 三步部署流程# 1. 安装 FastDeploy 预编译包 pip install fastdeploy-gpu-python0.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 / GPUTensorRT 推理 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-Lite256x144Softmax 推理模型16:9 输入、人像保持竖直、约 15.9ms/帧通用人像分割精度优先PP-HumanSegV1/V2-Server512x512Argmax 或 Softmax 推理模型V100TRT 下约 24.9ms通用人像分割端侧部署PP-HumanSegV1/V2-Lite 或 Mobile192x192推理模型手机端约 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语音【免费下载链接】modelsOfficially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.项目地址https://gitcode.com/gh_mirrors/mo/models点击查看免费下载相关推荐PP-HumanSegV2 实时人像分割 Benchmark 全解析精度指标、推理速度与多端部署实践PP HumanSegV2 实时人像分割 Benchmark 全解析精度指标、推理速度与多端部署实践 本文以 models 仓库中 PP HumanSegV2人工智能深度学习计算机视觉NLP语音PP-HumanSeg人像分割实战指南模型选型、快速推理与微调部署全流程PP HumanSeg人像分割实战指南模型选型、快速推理与微调部署全流程 PP HumanSeg 是 PaddleSeg 开源自研的人像分割系列模型覆盖 肖人工智能计算机视觉预训练PaddleSeg Web 前端部署PP-HumanSeg v1 人像分割模型与 Paddle.js humanseg JS 接口实战指南PaddleSeg Web 前端部署PP HumanSeg v1 人像分割模型与 Paddle.js humanseg JS 接口实战指南 本篇指南围绕 Pa人工智能计算机视觉预训练上一篇Gen6D训练全攻略从数据集准备到模型调优的完整工作流附代码下一篇猫抓浏览器插件一键下载网页视频的终极免费解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表