PaddleSeg快速开始:
通过本实例可以学习使用预训练好的图像分割模型进行预测(以常见的人像分割任务为例)
人像分割:
人像分割任务旨在识别图像中的人体轮廓,与背景进行分离,返回分割后的二值图、灰度图、前景人像图,适应多个人体、复杂背景、各类人体姿态。可应用于人像扣图、人体特效和影视后期处理等场景。
下面是结果图,左边是输入图像,右边是使用训练模型进行测试得到的人体分割图
下面进行具体演示:
Step1:PaddleSeg安装
PaddleSeg是基于PaddlePaddle生态下的语义分割库,可结合丰富的预训练模型更便捷高效地进行语义分割。
本实例已经挂载了paddleseg的安装包,可以直接解压即可。
#解压从https://github.com/PaddlePaddle/PaddleSeg下载好的压缩包
!unzip PaddleSeg-release-v0.1.0.zip
#将PaddleSeg代码上移至当前目录
!mv PaddleSeg-release-v0.1.0/* ~
#安装所依赖项
!pip install -r requirements.txt
结果如图所示
Step2:模型简介(这里使用的是DeepLabv3+xception网络检测人像)
DeepLabv3+介绍:它是DeepLab语义分割系列网络的最新作,通过encoder-decoder进行多尺度信息的融合,同时保留了原来的空洞卷积和ASSP层,其骨干网络使用了Xception模型,提高了语义分割的健壮性和运行速率。
Xception介绍:是DeepLabv3+原始实现的backbone网络,兼顾精度和性能,适用于服务端部署。
Step3:预训练模型下载:
下载预训练好的DeepLabv3+xception65模型
#下载预训练模型并放入./pretrained_model目录下
%cd /home/aistudio/pretrained_model/
!wget https://paddleseg.bj.bcebos.com/models/deeplabv3p_xception65_humanseg.tgz
!tar -xvf deeplabv3p_xception65_humanseg.tgz
Step4:数据准备
这里用少量数据集做模型测试。
# 将测试数据集放入./dataset目录下,其中data/data10908/humanseg.zip是测试数据集的位置
%cd ~
!cp data/data10908/humanseg.zip dataset/
!unzip -o dataset/humanseg.zip -d dataset/
结果如下所示