功能:使用Portrait模型对输入图片中人像进行分割,然后与背景图像融合,实现背景替换。
样例输入:带有人像的jpg图片和一张背景图像
样例输出:背景替换后的图像。
请检查以下条件要求是否满足,如不满足请按照备注进行相应处理。如果CANN版本升级,请同步检查第三方依赖是否需要重新安装(5.0.4及以上版本第三方依赖和5.0.4以下版本有差异,需要重新安装)。
条件 | 要求 | 备注 |
---|---|---|
CANN版本 | >=5.0.4 | 请参考CANN样例仓介绍中的安装步骤完成CANN安装,如果CANN低于要求版本请根据版本说明切换samples仓到对应CANN版本 |
硬件要求 | Atlas200DK/Atlas300(ai1s) | 当前已在Atlas200DK和Atlas300测试通过,产品说明请参考硬件平台 ,其他产品可能需要另做适配 |
第三方依赖 | opencv,python-acllite | 请参考第三方依赖安装指导(python样例)选择需要的依赖完成安装 |
获取源码包。
可以使用以下两种方式下载,请选择其中一种进行源码准备。
# 开发环境,非root用户命令行中执行以下命令下载源码仓。
cd ${HOME}
git clone https://gitee.com/ascend/samples.git
git checkout v0.5.0
# 1. samples仓右上角选择 【克隆/下载】 下拉框并选择 【下载ZIP】。
# 2. 将ZIP包上传到开发环境中的普通用户家目录中,【例如:${HOME}/ascend-samples-master.zip】。
# 3. 开发环境中,执行以下命令,解压zip包。
cd ${HOME}
unzip ascend-samples-master.zip
获取此应用中所需要的模型
模型名称 | 模型说明 | 模型下载路径 |
---|---|---|
Portrait | 基于TensorFlow的人像分割模型。 | 请参考https://gitee.com/ascend /ModelZoo-TensorFlow/tree/master /TensorFlow/contrib/cv/portraitnet /ATC_PortraitNet_tf_AE 中README.md原始模型章节, 下载原始模型及对应的cfg文件。 |
# 为了方便下载,在这里直接给出原始模型下载及模型转换命令,可以直接拷贝执行。也可以参照上表在modelzoo中下载并手工转换,以了解更多细节。
cd $HOME/samples/python/contrib/portrait_picture/model
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/PortraitNet%20/portrait.pb
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/PortraitNet%20/insert_op.cfg
atc --model=./portrait.pb --insert_op_conf=./insert_op.cfg --output="./portrait" --output_type=FP32 --input_shape="Inputs/x_input:1,224,224,3" --framework=3 --soc_version=Ascend310
# 执行以下命令,进入样例的data文件夹中,下载对应的测试图片。
cd $HOME/samples/python/contrib/portrait_picture/model
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/Portrait/background.jpg
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/Portrait/ori.jpg
注:开发环境与运行环境合一部署,请跳过步骤1,直接执行步骤2即可。
# 【xxx.xxx.xxx.xxx】为运行环境ip,200DK在USB连接时一般为192.168.1.2,300(ai1s)为对应的公网ip。
scp -r $HOME/samples/python/contrib/portrait_pictureHwHiAiUser@xxx.xxx.xxx.xxx:/home/HwHiAiUser
ssh HwHiAiUser@xxx.xxx.xxx.xxx
cd ${HOME}/portrait_picture/src
python3.6 main.py
运行完成后,会在out/result目录下生成带推理结果的jpg图片。
请参考常见问题定位对遇到的错误进行排查。如果wiki中不包含,请在samples仓提issue反馈。