抠图问题的核心是精确地将图像或视频中的前景估计出来,对图像编辑,影片剪辑等都有很深的意义。最新发表的论文 End-to-end Animal Image Matting ,只需要一张图,无需任何先验知识,即可实现端到端的抠图,效果非常惊艳。论文提出了一个名为 GFM 的抠图模型,该模型可同时生成全局语义分割和局部 alpha mask。同时,论文也开源了第一个自然动物图像抠像数据集 AM-2k,并设计了基于高分辨率背景数据集 BG-20k 的 RSSN 合成数据方法。
网络结构:是一个编码解码器的结构,编码器由两个平行的解码器共享。被共享的编码器:以在 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 预测。https://arxiv.org/pdf/2010.16188.pdfhttps://github.com/JizhiziLi/animal-matting根据 Requirements.txt 安装依赖库即可,很简单。https://drive.google.com/u/0/uc?export=download&confirm=mOG3&id=1Y8dgOprcPWdUgHUPSdue0lkFAUVvW10Qpython ./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 目录保存提取结果。
我将程序和权重文件都进行了打包,嫌麻烦,可以下载直接使用。https://pan.baidu.com/s/1en7EXJGpMGDNkebGKM5C3A算法只针对动物,想对人进行抠图,需要自己制作数据集以及训练模型。想看更多更有趣的算法,三连走一波,我是 Jack Cui,我们下期见!
·················END·················