神奇的 Animal Matting 算法,毛发抠图不是事。

2020年11月10日09:04:29 发表评论 316 °C
摘要

无需先验知识,只需要一张图,即可实现端到端的细致抠图。

神奇的 Animal Matting 算法,毛发抠图不是事。

一、前言

抠图是个体力活。

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

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

神奇的 Animal Matting 算法,毛发抠图不是事。

毛发的分割都不是问题

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

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

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

二、Animal Matting

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

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

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

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

GFM 网络结构如下:

神奇的 Animal Matting 算法,毛发抠图不是事。

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

被共享的编码器:以在 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

三、效果测试

Github 项目地址:https://github.com/JizhiziLi/animal-matting

第一步:搭建测试环境。

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

神奇的 Animal Matting 算法,毛发抠图不是事。

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

下载地址(需翻墙):点击查看

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

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

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

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

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

下载地址(提取码:s6uh ):

https://pan.baidu.com/s/1xjBbj3iptZuPV8nlg9Dthw

运行效果:

神奇的 Animal Matting 算法,毛发抠图不是事。

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

神奇的 Animal Matting 算法,毛发抠图不是事。

四、最后

算法只针对动物,想对人进行抠图,需要自己制作数据集以及训练模型。

文章持续更新,可以微信公众号搜索【JackCui-AI】第一时间阅读,本文 GitHub https://github.com/Jack-Cherish/PythonPark 已经收录,有大厂面试完整考点,欢迎Star。

weinxin
微信公众号
分享技术,乐享生活:微信公众号搜索「JackCui-AI」关注一个在互联网摸爬滚打的潜行者。
Jack Cui

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: