查看原文
其他

手残党抠图有救了!

Jack Cui Jack Cui 2021-08-19

点击上方“Jack Cui”,选择“为设为星标

第一时间关注技术干货!


1


前言

抠图是个体力活。

抠图最难的,就是处理毛发。

想没想过,有一天,算法直接帮你自动抠图?细致到毛发的那种!


毛发的分割都不是问题

新鲜热乎刚出炉的 Image Matting 算法,你值得拥有。

老规矩,今天,继续手把手教学。

算法原理、环境搭建、效果实现,一条龙服务,尽在下文!

2


Animal Matting
抠图问题的核心是精确地将图像或视频中的前景估计出来,对图像编辑,影片剪辑等都有很深的意义。

最新发表的论文 End-to-end Animal Image Matting ,只需要一张图,无需任何先验知识,即可实现端到端的抠图,效果非常惊艳

论文提出了一个名为 GFM 的抠图模型,该模型可同时生成全局语义分割和局部 alpha mask。

同时,论文也开源了第一个自然动物图像抠像数据集 AM-2k,并设计了基于高分辨率背景数据集 BG-20k 的 RSSN 合成数据方法。

GFM 网络结构如下:



网络结构:是一个编码解码器的结构,编码器由两个平行的解码器共享。

被共享的编码器:以在 ImageNet 上预训练的 ResNet-34 或 DenseNet-121 作为编码器。

Glance Decoder(GD):用于学习高层语义信息。在编码器的第四个模块之后,加入金字塔池化模块(PPM)输出全局上下文,用于GD中。

Focus Decoder (FD):用于在低结构特征中提取细节。在编码器的第四个模块之后,加入桥联模块(BB)收敛不同域中的局部上下文。并结合U-net,将 FD 与编码器的对应模块进行跳跃连接,训练 FD。

最后,以不同的表征域,连接 GD 和 FD 的输出结果。

GFM-TT:以真实 alpha 掩摸膨胀和腐蚀的 3 类 trimap T 作为 GD 监督信号、以未知过渡域的 alpha 掩摸作为 FD 监督信号。

GFM-FT:以 2 类前景分割 mask 作为 GD 的监督信号、以未知过渡域的 alpha 掩膜作为 FD 监督信号。

GFM-BT:以 2 类背景分割 mask 作为 GD 的监督信号、以未知过渡域的 alpha 掩膜作为 FD 监督信号。

最后,通过协同合作抠图(CM),将上述三个不同的表征域的结果,进行合并,获得最终的 alpha 预测。

更详细的内容,可以直接看 paper:
https://arxiv.org/pdf/2010.16188.pdf

3


效果测试
Github 项目地址:
https://github.com/JizhiziLi/animal-matting

第一步:搭建测试环境。

根据 Requirements.txt 安装依赖库即可,很简单。


第二步:下载训练好的模型权重文件。

下载地址(需翻墙):
https://drive.google.com/u/0/uc?export=download&confirm=mOG3&id=1Y8dgOprcPWdUgHUPSdue0lkFAUVvW10Q

第三步:在工程目录,运行程序。

python ./core/test_samples.py --cuda --arch="e2e_resnet34_2b_gfm_tt" --model_path="models/model_r34_2b_gfm_tt.pth" --pred_choice=3 --hybrid

samples 目录下的 original 目录保存原始图片;


samples 目录下的 result_alpha 目录保存分割 mask ;


samples 目录下的 result_color 目录保存提取结果。


我将程序和权重文件都进行了打包,嫌麻烦,可以下载直接使用。

下载地址(提取码:jack):
https://pan.baidu.com/s/1en7EXJGpMGDNkebGKM5C3A

运行效果:


运行速度很快,运行效果展示:


4


最后
算法只针对动物,想对人进行抠图,需要自己制作数据集以及训练模型。
想看更多更有趣的算法,三连走一波,我是 Jack Cui,我们下期见!


·················END·················

推荐阅读

1

AI 隐身术,能让物体在视频中消失的魔法。

2

偷天换日,逼真的天空置换算法

3

个人网站没落了?

4

打工人的薪资倒挂

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存