目录
1.Trimap和Strokes
2. 相关数据集
3.论文算法调研
3.1 Deep Image Matting
3.2 Semantic Image Matting
3.3 Background Matting
3.4 Background Matting V2
3.5 Semantic Human Matting
3.6 HAttMatting
3.7 MMNet:Towards Real-Time Automatic Portrait Matting on Mobile Devices
3.8 Fast Deep Matting for Portrait Animation on Mobile Phone
3.9 MODNet: Trimap-Free Portrait Matting in Real Time
Trimap和Strokes都是一种静态图像抠图算法,现有静态图像抠图算法均需对给定图像添加手工标记以增加抠图问题的额外约束。
Trimap是最常用的先验知识,多数抠图算法采用了Trimap作为先验知识,顾名思义Trimap是一个三元图,每个像素取值为{0,128,255}其中之一,分别代表前景、未知与背景,如图
Paper:https://arxiv.org/pdf/1703.03872.pdf
GitHub: https://github.com/Joker316701882/Deep-Image-Matting
Adobe在17年提出了Deep Image Matting,这是首个端到端预测alpha的算法;整个模型分Matting encoder-decoder stage与Matting refinement stage两个部分,Matting encoder-decoder stage是第一部分,根据输入图像与对应的Trimap,得到较为粗略的alpha matte。Matting refinement stage是一个小的卷积网络,用来提升alpha matte的精度与边缘表现。
说明:网络输入是一个patch图像(经过crop)和相应的 trimap, 通过concat, 共4通道输入网络,推理时也要提供trimap图,现实中不太方便
Paper: https://arxiv.org/abs/2104.08201
Github: https://github.com/nowsyn/SIM
与Deep Image Matting类似,需要加入trimap进行抠图
Paper:https://arxiv.org/abs/2004.00626
GitHub: https://github.com/senguptaumd/Background-Matting
这篇文章要介绍的是一篇基于深度学习的无交互的抠图方法。它的特点是不需要Trimap图,但要求用户手动提供一张无前景的纯背景图,如图1所示,这个方法往往比绘制三元图更为简单,尤其是在视频抠图方向 。这个要求虽然不适用于所有场景,但在很多场景中纯背景图还是很容易获得的。
说明: 不需要Trimap图,但需要提供一张无前景的纯背景图
Paper: https://arxiv.org/abs/2012.07810
GitHub: https://github.com/PeterL1n/BackgroundMattingV2
Background Matting得到了不错的效果,但该项目无法实时运行,也无法很好的处理高分辨率输入。所以项目团队又推出了Background Matting V2,该项目可以以30fps的速度在4k输入上得到不错的结果。
说明: 与Background Matting类似,V2不需要Trimap图,但需要提供一张无前景的纯背景图
Paper: https://arxiv.org/pdf/1809.01354.pdf
GitHUb: https://github.com/lizhengwei1992/Semantic_Human_Matting
阿里巴巴提出的Semantic Human Matting:
将网络分成两个部分。
T-Net对像素三分类得到Trimap,与图像concat得到六通道输入送入M-Net,M-Net通过encoder-decoder得到较为粗糙的alpha matte,最后将T-Net与M-Net的输出送入融合模块Fusion Module,最终得到更精确的alpha matte。
Paper: https://wukaoliu.github.io/HAttMatting/
GitHub:https://github.com/wukaoliu/CVPR2020-HAttMatting (仅有效果图,连测试模型都没有,存在很大的质疑)
Attention-Guided Hierarchical Structure Aggregation for Image Matting
这也是一篇不需要提供trimap或者其他交互的抠图方法(可认为是自动化抠图),核心思想是抑制高级特征中的冗余语义,并消除空间线索中无用的背景细节,然后对其进行聚合以预测准确的alpha 通道。
为此,该文使用通道注意力(channel-wise attention)模型来蒸馏金字塔特征,并对空间线索使用空间注意力(spatial attention ),以同时消除前景以外的图像纹理细节。
说明:该文声称可以无trimap或者其他交互辅助的条件下,进行完全自动化抠图!! 实质上,存在很多矛盾,就比如上去,上述效果图,模型怎么知道要抠图是那个球球,而不是那条马呢?
更多质疑:[质疑][CVPR2020]只有强者才能“抠”脚 - 知乎
Paper: https://arxiv.org/abs/1904.03816
Github: https://github.com/hyperconnect/MMNet
Mobile Matting Network (MMNet)采用了标准的编码-解码框架。其中,编码器通过多次下采样,逐步减小输入特征的尺寸,在捕获更高级语义信息的同时,也在丢失空间/位置信息。另一方面,解码器对特征图进行上采样,逐步恢复空间/位置信息,同时使其放大为原先的输入分辨率。另外,作者将来自跳连接的信息与上采样信息相串联,还采用了增强块来改善解码效果。如此,输出的alpha抠图就能与原始图像的尺寸保持一致了。MMNet的具体结构图1所示。
说明:17年的Paper,无需Trimap,在移动设备上实现了实时自动抠图功能,网络的体积较小, 效果有待验证
Paper: https://arxiv.org/abs/1707.08289
GitHub: https://github.com/huochaitiantang/pytorch-fast-matting-portrait
网络由两个阶段组成。
第一阶段是人像分割网络,它以一幅图像为输入,获得一个粗二进制mask。第二阶段是feathering模块(羽化模块),将前景/背景mask细化为最终的alpha matte。第一阶段用轻全卷积网络快速提供粗二进制mask,第二阶段用单个滤波器细化粗二进制mask,大大降低了误差。
说明:无需Trimap,输入RGB图像,输出是matte, 效果有待验证
Paper: https://arxiv.org/pdf/2011.11961.pdf
Github: https://github.com/ZHKKKe/MODNet
在线体验:Portrait Matting
MODNet模型学习分为三个部分,分别为:语义部分(S),细节部分(D)和融合部分(F)。
个人觉得结构设计上较为清晰,监督信息与方式利用合理
说明:无需Trimap, MODNet整体Matting效果,相当不错