AI自动P图:maskrcnn+inpaintting消除并修复指定区域图像

        采用昇腾800-3000推理服务器实现基于maskrcnn和imageinpainting的图像区域消除和修复模型推理。mask-rcnn模型主要用于图像语义分割,语义分割后,image-inpaiting模型通过指定的坐标对需要消除的区域进行修复。

         昇腾开源案例:

https://gitee.com/ascend/samples/tree/master/python/level3_multi_model/mask_rcnn_image_inpainting

         另外,昇腾官网在线实验地址:

https://www.hiascend.com/zh/developer/mindx-sdk/imageInpainting

         这里使用源码进行AI多模型图像区域消除推理功能的部署和实现。

一、测试环境

硬件(Atlas800-3000推理服务器)、操作系统(Ubuntu18.04、CANN5.0.3-alpha005)、开发语言(python3.7)

二、部署流程

1.根据要求配置好昇腾环境和依赖;

2.下载源码:git clone https://gitee.com/ascend/samples.git

3.获取模型文件。

maskrcnn模型:

https://modelzoo-train-atc.obs.cn-north-          4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/mask_rcnn/maskrcnn_mindspore.air

AIPP配置文件:

https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/mask_rcnn/aipp_rgb.cfg

单算子文件:

https://c7xcode.obs.myhuaweicloud.com/models/imageinpainting_hifill/matmul_27648.json

inpainting模型:

wget https://c7xcode.obs.myhuaweicloud.com/models/imageinpainting_hifill/hifill.om

4.模型转换。

转换maskrcnn模型:

atc --input_format=NCHW --framework=1 --model="maskrcnn_mindspore.air" --input_shape="x:1, 3, 768, 1280; im_info: 1, 4" --output="maskrcnn_mindspore_rgb" --insert_op_conf="aipp_rgb.cfg" --precision_mode=allow_fp32_to_fp16  --soc_version=Ascend310 --op_select_implmode=high_precision

转换单算子:

atc --singleop=matmul_27648.json --output= 0_BatchMatMul_0_0_1_1_1024_1024_0_0_1_1_1024_27648_0_0_1_1_1024_27648/ --soc_version=Ascend310

5.数据准备

下载测试图像:

https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/mask_rcnn/photo1.jpg

在源代码项目进入项目文件:

cd /sample/python/ level3_multi_model/ mask_rcnn_image_inpainting

新建几个目录:

mkdir data mask model output

将转换后的om模型文件放入model路径下,测试图像存入data文件夹。

6.执行测试

在mask_rcnn_image_inpainting路径下,终端输入命令:python3 src/ mask_rcnn.py 410 664。

执行成功后,分别进入mask和output文件夹查看结果。

效果:

AI自动P图:maskrcnn+inpaintting消除并修复指定区域图像_第1张图片

 

 

你可能感兴趣的:(人工智能,python,深度学习,计算机视觉)