PaddleSeg是基于飞桨PaddlePaddle开源的端到端图像分割套件,提供语义分割、交互式分割、Matting、全景分割四大分割能力。源代码地址:https://github.com/PaddlePaddle/PaddleSeg,license为Apache-2.0,最新发布版本为2.8。
Windows上通过Anaconda安装:
1.安装cuda 11.6和cuDNN 8.4.0:
(1).从https://developer.nvidia.com/cuda-11-6-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local 下载cuda_11.6.0_511.23_windows.exe并安装;
(2).从https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-windows 下载zlib123dllx64.zip并解压缩,将zlibwapi.dll所在的路径添加到系统环境变量;
(3).从https://developer.nvidia.com/rdp/cudnn-archive 下载cudnn-windows-x86_64-8.4.0.27_cuda11.6-archive.zip并解压缩:
1).在C:\Program Files\NVIDIA GPU Computing Toolkit目录下,新建CUDNN\8.4.0目录即C:\Program Files\NVIDIA GPU Computing Toolkit\CUDNN\8.4.0;
2).将解压缩后产生的三个文件夹bin, include, lib拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDNN\8.4.0目录下;
3).将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDNN\8.4.0\bin添加到系统环境变量
2.创建PaddleSeg虚拟环境:
conda create -n PaddleSeg python=3.9
conda activate PaddleSeg
3.安装PaddlePaddle:
conda install paddlepaddle-gpu==2.4.2 cudatoolkit=11.6 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge
验证:
(1).输入python进入python解释器;
(2).输入:import paddle
(3).输入:paddle.utils.run_check() ,结果如下图所示:出现PaddlePaddle is installed successfully!,说明已成功安装
4.安装PaddleSeg:
pip install paddleseg
验证,执行如下命令:输出结果如下,没有报错,安装成功
python tools/predict.py --config configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml --model_path https://paddleseg.bj.bcebos.com/dygraph/optic_disc/pp_liteseg_optic_disc_512x512_1k/model.pdparams --image_path docs/images/optic_test_image.jpg --save_dir output/result
人像分割的使用:
1.将Anaconda Powershell Prompt定位到contrib/PP-HumanSeg,执行以下命令下载Inference Model,保存Model在当前inference_models目录下:2个肖像分隔模型和4个通用人像分隔模型
python src/download_inference_models.py
2.执行以下命令下载测试数据,保存在data目录下:
python src/download_data.py
3.肖像分隔,执行以下命令:
python src/seg_demo.py --config inference_models/portrait_pp_humansegv2_lite_256x144_inference_model_with_softmax/deploy.yaml --img_path data/images/portrait_girl.jpg --save_dir data/images_result/portrait_v2_lite_girl.jpg
分隔结果如下所示:左图为原图,右图为分隔的结果
4.通用人像分隔,执行以下命令:
python src/seg_demo.py --config inference_models/human_pp_humansegv2_lite_192x192_inference_model_with_softmax/deploy.yaml --img_path data/images/human_girl.jpg --save_dir data/images_result/human_v2_lite_girl.jpg
分隔结果如下所示:左图为原图,右图为分隔的结果
5.也可以通过https://paddlejs.baidu.com/humanseg 直接上传图像,然后下载分隔后的结果