Background-Matting(CVPR2020)教你证件照不花钱

一、前言

注!!!未经博主许可,请勿随意转载博文,若需转载,底下评论或私信博主。

吹的再好不如直接看结果吧,CVPR最新出炉的开源模型附论文
论文:https://arxiv.org/abs/2004.00626
模型:https://github.com/senguptaumd/Background-Matting
上官方视频(手动狗头.jpg)
在这里插入图片描述
文末贴上自己跑的证件照效果

二、环境

首先真的要提一下这个模型的环境了,因为博主的电脑是window10系统,对于这个模型可能不太友好,光是为了使这个模型能够成功运行,博主估计查过百条博客有余,不断的在tiao bug,真的是难受。。。
最后还要在吐槽一个,tensor的生态是真的乱,各种接口就和下面这张图一样,导模型换模板搞到没脾气。。
在这里插入图片描述
接着说环境,大概是这几个:

  • CUDA=10.0
  • cudnn=7.x(只要是7开头即可)
  • pytorch=1.1.0
  • torchvision=0.3.0
  • tensorflow-gpu==1.14.0
  • numpy==1.17.0(官方是这样,但是我降到了1.16,版本太高会出现bug)
  • opencv-python==3.4.5.20
  • pandas
  • Pillow==6.1
  • scikit-image==0.14.2
  • scipy==1.2.1
  • tqdm
  • tensorboardX

温馨提示!!!尽量按照官方提供的版本进行安装,特别是前五个环境,丝毫不能错。。

三、模型下载

3.1 分割抠图模型下载

首先大家去官网把模型下载下来,如果嫌G社下载太慢,大家可以用我的链接:https://download.csdn.net/download/weixin_45829462/12414302
下来后应该都是这几个文件:
在这里插入图片描述
但这只是目前的,后续还需要添加很多模型和新建一些文件夹。

3.2 DeepLab生态模型下载

因为前面以及下来一个tensor1.14了,但是你发现单纯使用它会不断报bug,所以博主回去看了官方文件,发现还有下载另一个tensor版本,原文注解如下:

Background Matting needs a segmentation mask for the subject. We use tensorflow version of Deeplabv3+

故还需要下载deeplab_model,地址如下:https://github.com/tensorflow/models/tree/master/research/deeplab
依旧附上博主的链接:https://download.csdn.net/download/weixin_45829462/12414074
下载后的deeplab_model根文件夹下,模型里面包含的文件有:
在这里插入图片描述
重头戏来了,点开research文件夹,按照官方要求:

cd models/research/
export PYTHONPATH=$PYTHONPATH:pwd:pwd/slim

将research和research中的slim文件添加到环境变量在,注,用户和本机的都要!

在这里插入图片描述
3.3 下载官方训练模型
一共是四个,下载地址:https://drive.google.com/drive/folders/1WLDBC_Q-cA72QC8bB-Rdj53UB2vSPnXv
需要梯子。。。需要梯子,下载的文件如下:
在这里插入图片描述
附上博主的链接:
https://download.csdn.net/download/weixin_45829462/12414329
https://download.csdn.net/download/weixin_45829462/12414333
https://download.csdn.net/download/weixin_45829462/12414341
https://download.csdn.net/download/weixin_45829462/12414349
接着,就可以开开心心的运行模型了

四、运行结果

首先运行分割的py文件:

python test_segmentation_deeplab.py -i sample_data/input

结果如下:
在这里插入图片描述
效果还可以。。
,接着,运行背景替换的py文件:

python test_background-matting_image.py -m real-hand-held -i sample_data/input/ -o sample_data/output/ -tb sample_data/background/0001.png

命令行很长,讲解一下,

  • -m real-hand-held 是你要选择的权重模型,就是博主之前说的下载的那四个
  • -i sample_data/input/ -i指input ,说的是你要处理的图片,包含之前被分割的中间图,以及有人的图,和没有人的背景图
  • -o sample_data/output/ 指输出后的图片存放的文件夹,所以这里需要新建文件加output,故,一共有这几个文件夹
    在这里插入图片描述
    结果如下:
    切割图:
    在这里插入图片描述
    在这里插入图片描述
    输出图:
    在这里插入图片描述
    效果是真的不错,但也不排除作者自己的模型对自己的数据会比较友好。。。

最后,附上博主自己运行模型扣的切割图:在这里插入图片描述

,最后证件照的轮廓也大致是这样,就不放上来了,只能说,还是挺香的吧。。。

博客这几天会不定时更新,将之前跑模型的坑不断补上,感兴趣的可以点赞关注博主

  • 17
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值