用python实现人像分割与背景替换
【摘要】 最近看到paddle的人像分割与背景替换,看着挺酷的,不由得想做点尝试。首先安装paddle!pip install PaddlePaddle==2.2.1克隆paddle的人像分割项目!git clone https://github.com/PaddlePaddle/PaddleSeg进入项目目录%cd PaddleSeg安装依赖!pip install -r requirements....
最近看到paddle的人像分割与背景替换,看着挺酷的,不由得想做点尝试。
首先安装paddle
!pip install PaddlePaddle==2.2.1
克隆paddle的人像分割项目
!git clone https://github.com/PaddlePaddle/PaddleSeg
进入项目目录
%cd PaddleSeg
安装依赖
!pip install -r requirements.txt
进入人像分割目录
cd contrib/PP-HumanSeg
下载预训练模型
!python src/download_inference_models.py
但出现了报错
SyntaxError: Non-ASCII character '\xef' in file /data/jupyter/root/3samples/grid_search/PaddleSeg/paddleseg/models/backbones/hrnet.py on line 37, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
发现是因为
/data/jupyter/root/3samples/grid_search/PaddleSeg/paddleseg/models/backbones/hrnet.py
不是UTF-8格式,因此在该文件第一行加上
# coding: utf8
但仍然报错
在该文件加上环境的打印
import sysprint(sys.path)
发现它打印的环境是python2
原来是因为我们的服务器上同时有python2和python3,将代码稍做修改就好了
!python3 src/download_inference_models.py
然后下载数据
!python3 src/download_data.py
接下来我们上传了一张人物图片和一个背景图片如下:
进行背景替换
!python3 src/seg_demo.py \
--config inference_models/portrait_pp_humansegv2_lite_256x144_inference_model_with_softmax/deploy.yaml \
--img_path data/images/human.jpg \
--bg_img_path data/images/backgroud.jpg \
--save_dir data/images_result/portrait_heng_v2_withbg5.jpg
这个效果不是很好,有点买家秀跟卖家秀的感觉。可能是人物颜色太素了,我们换个人物再试了一次。
这个貌似还凑合,对于使用场景还是有要求了,需要在特定场景下使用,并且对模型进行微调才有可能满足实际使用的要求。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)