用python实现人像分割与背景替换

最近看到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

                        图片

                        这个效果不是很好,有点买家秀跟卖家秀的感觉。可能是人物颜色太素了,我们换个人物再试了一次。

                        图片图片

                        这个貌似还凑合,对于使用场景还是有要求了,需要在特定场景下使用,并且对模型进行微调才有可能满足实际使用的要求。

                        © 版权声明
                        THE END
                        喜欢就支持一下吧
                        点赞0 分享