matting系列论文笔记(二):Background Matting: The World is Your Green Screen

matting系列论文笔记(二):Background Matting: The World is Your Green Screen

论文链接: 2017 Background Matting: The World is Your Green Screen
代码:http://github.com/senguptaumd/Background-Matting

Project: https://grail.cs.washington.edu/projects/background-matting/

文章目录

前言

2020CVPR一篇比较惊艳的文章,无需trimap,效果也很棒。

近来Matting领域越来越多的工作在尝试无需输入Trimap的抠图,并取得了一些很惊艳的工作,无需trimap大大提高了matting的易用性。

这篇文章刚出来的时候非常轰动,开发者提供了完整的测试代码,并支持在图像和视频上进行抠图。这篇文章提出了一种新的无需输入trimap的方法,而且要求很低:在日常环境中使用手持摄像机(手机就可以)拍摄照片或者视频来创建matter(每个像素的前景颜色和alpha)。跟目前一些需要绿幕或者手动标注trimap的方法相比,无疑是非常简便的。虽然,这篇文章的方法需要额外拍一张不带人物的照片,但这仍旧比创建trimap节省很多时间。

Abstract

文章提出了一种只需在日常环境中使用手持摄像机拍摄照片或视频来创建matte的方法。大多数现有的方法需要绿幕或者手动创建trimap才能产生较好的蒙版。现有的一些无需trimap的方法,效果都不好。本文的方法需要拍摄一张有人物的照片,还要拍摄一张不包含人物的背景图片,这比创建trimap要省时间多了。研究人员用对抗损失训练了一个深度网络,用来预测蒙版。他们首先利用带有 ground truth 的合成数据训练了一个具有监督损失的蒙版网络。为了在不label的情况下缩小合成图像与真实图像的差距,他们在第一个网络的指导下训练了另一个蒙版网络,并通过一个判别器来判断合成图像的质量。研究人员在诸多图像和视频上测试了他们提出的新方法,发现这一方法显著优于之前的 SOTA。

文章用到了一些GAN的思路。

1. Introduction

想要一个高质量的matte,目前主要的方法是绿幕和手工标注。虽然目前已经出现一些前面两种方法以外的方法,但总体效果都比较一般。本文提出的一种方法,只需要额外再拍一张静态的背景照片。这个方法需要的工作量远远小于手工制作trimap。一张静态背景照片+一张包含人物的照片+一台手持摄像设备,就是这么简单。

图片的合成方程为 I i = α i F i + ( 1 − α i ) B i , α ∈ [ 0 , 1 ] I_i = \alpha_i F_i + (1-\alpha_i)B_i, \alpha \in [0,1] Ii​=αi​Fi​+(1−αi​)Bi​,α∈[0,1], 对于彩色图像和标量 α \alpha α,以及给定的B,我们有四个未知数( F 和 α F和 \alpha F和α),但每个像素只有三个观测值( I I I)。 因此,背景抠图问题是欠约束的。背景/前景差异提供了signal,但是当人的部分与背景颜色相似时,signal较差。此外,通常理想背景的图像比较难获得:subject会投射阴影并导致在没有对象的情况下拍摄的照片中看不到的反射,此外,手持拍摄通常无法获得两张照片的没有重采样伪像的像素级对齐。实际上,因为前面的那些原因,该方法获得的并不是一个真正的背景图 B B B,可以认为是一个近似的背景图 B ′ B' B′。

文章提出了一个深层网络,该网络根据输入的原始图像,背景图片以及帧中人物的自动计算的软分割来估计前景和Alpha值。该网络可以利用多个视频帧,用于突发或性能捕获。需要说明的是这篇文章的方法大多数结果都没有使用时间线索,如果要做视频matting的话,这个地方还是可以继续改进的。研究人员首先在Adobe matting数据集上训练了网络。文章还发现合成图片和真实图片的的差距导致标准网络没有很好的结果。文章通过两种方法来缩小这种差距:增大数据集和改进网络。本文方法的一些限制:

  • 需要两张图:人物前景+无人纯背景
  • 静态背景,固定相机效果最好
  • 主要适合前景为人的

文章的主要贡献:

  • 第一个利用随意拍摄背景图的free-trimap的自动抠图算法,
  • 一种新颖的抠图架构(Context Switching 块),可在输入提示中进行选择,
  • 使用自我监督的对抗训练,来改善真实图像上的mattes,
  • 在大范围的输入(手持,固定相机,室内,室外)上对各种竞争方法的实验比较,证明了该方法的相对成功。

2. Approach

matting系列论文笔记(二):Background Matting: The World is Your Green Screen

系统的输入是人站在静态的自然背景前的一张图像或一个视频,此外还需输入一张纯背景图(就是 B ′ B' B′)。图片处理很简单,只需要让人物在拍摄后走出取景区域,再拍摄背景图片,用曝光、焦距都已固定的相机进行拍摄(如智能手机相机)。对于手持相机,研究者假设相机的移动幅度很小,利用单应性(homography)将背景与给定的输入图像对齐。从输入中,研究者还提取了目标人物的软分割(soft segmentation)。对于视频输入,可以添加临近的帧来辅助生成蒙版(motion prior)。
文章方法的核心是深层抠图网络G,该网络提取给定输入帧的前景颜色和alpha,并通过背景,柔和的分割和(可选地,附近的视频帧)进行增强,以及鉴别器网络D,该网络指导训练以产生逼真的结果。
在3.1节文章提出了一种新型的matting网络----Context-switching block(一种可以有选择的组合输入)。研究人员使用软分割和运动先验M(仅视频)联合估算Alpha matte α \alpha α和前景。在3.2节,文章描述了一种自我监督的方案,以进一步弥合领域差距,并总体上提高matting质量。 该方法采用了对抗性网络,该对抗性网络由深层matting网络 G R e a l G_{Real} GReal​的单独副本组成,该副本试图产生类似于 G A d o b e G_{Adobe} GAdobe​输出的matte和判别器网络D,该判别器对合成到新背景上的结果进行打分,以判断是real还是fake 。

Supervised Training on the Adobe Dataset
研究者首先在 Adobe Matting 数据集(只用不透明物体的图像)上训练了一个深度蒙版网络。该网络将带有人物的图像 I、纯背景图像 B ′ B' B′、人物 S、相邻帧的时间堆栈 M(可选)的软分割作为输入,输出则是一个前景图 F 和一个前景蒙版α。为了生成 S,研究者应用了人物分割、腐蚀(erode)、膨胀(dilate)以及高斯模糊。在处理视频时,他们将 M 设为 I 前后相连的两帧。设两帧间隔为 T,则选取的相邻帧为 {I−2T , I−T , I+T , I+2T }。这些图像被转换为灰度图,以忽略颜色,更加专注于运动信息。如果输入中没有视频,研究者就将 M 设定为 {I, I, I, I},这些图像也转化为灰度图。将输入集合表示为 X = { I , B ′ , S , M } X= \{I,B',S,M \} X={I,B′,S,M},权重参数为 θ \theta θ的网络的运算可表示为:
( F , α ) = G ( X ; θ ) (F,\alpha) = G(X;\theta) (F,α)=G(X;θ)
研究者提出了一个语境转换块(Context Switching block,CS block)网络,以根据输入图像更有效地结合所有输入信息的特征(见上图 2)。举个例子,当人物的一部分背景相似时,网络应该更加关注该区域的分割线索。该网络有四个编码器,分别产生 256 个通道的特征图,然后通过应用 1x1 卷积、BatchNorm 和 ReLU 将来自 I 的图像特征分别与 B '、S 和 M 的结合起来,为这三对中的每一对生成 64 通道特征。最后,他们通过 1x1 卷积、BatchNorm 和 ReLU 将这三组 64 通道特征与最初的 256 通道特征相结合,得到编码后的特征并将其传给网络的其他部分,包括残差块和解码器。研究者观察到,上述 CS 块架构有助于网络从 Adobe 数据集泛化到实际数据。

Context Switching block: 语境切换块。在每个像素处更加偏向选择哪类输入信息,有选择性组合不同的输入线索,有利于从人造的合成图像到真实世界图像的推广,减小domain gap;例如:当前景和背景相似时,网络应该更加倾向于分割信息。

Adversarial Training on Unlabelled Real data
虽然研究者提出的 CS 块在结合了数据增广后,显著缩短了真实图像与使用 Adobe 数据集合成的图像之间的差距。然而,该方法在处理真实图像时仍然存在以下困难:

  • 在手指、手臂、头发附近的背景被复制到蒙版中;
  • 图像分割失败;
  • 前景重要部分的颜色与背景颜色相似;
  • 图像与背景之间没有对齐。

为解决以上问题,研究者提出用一种自监督学习方法从未标注的真实数据中训练模型。

该方法的主要思路是:蒙版估计中的主要误差会导致在新背景下合成的图片失真。例如,不好的蒙版可能会包含一些原始背景图像,当在与新背景合成时会将之前背景的一部分内容复制到新背景下。于是,研究者训练了一个对抗判别器来区分合成图像与真实图像,以此提高蒙版网络的性能。将监督网络输出的alpha matte与新的背景组合,然后判别网络判断是real还是fake,生成网络更新alpha matte,最终合成的图片越来越接近真实图片,最终可以“以假乱真”骗过判别网络。

训练过程主要分为两步:

  • 在Adobe数据集上进行有监督的训练,得到 G A d o b e G_{Adobe} GAdobe​;

  • 在未标注的真实数据上进行自监督的对抗训练,得到 G r e a l G_{real} Greal​;

无监督 GAN 处理的重要性在于,其不需要任何标注的训练数据. 判别网络的训练是在很多 real 图像上进行的,也是非常容易得到的.

PS: 这一部分其实还是主要针对前景object和背景 B ′ B' B′的合成效果较差的问题。因为模型需要的数据量较大,而手工标注的工作量较大,主要还是沿用[1]的方法,通过合成图片来获得大量的数据,然而合成的图片和自然图片往往有很大的不同,文章使用GANs就是为了得到更真实的图片。[2]有部分工作其实也是为了解决这个问题。[3] 就用了GANs的思路来做图片的和谐化。

3. Experimental Evaluation

文章比较了主流的集中算法,下图是在Adobe数据集上的Alpha matte错误。

matting系列论文笔记(二):Background Matting: The World is Your Green Screen
matting系列论文笔记(二):Background Matting: The World is Your Green Screen

4.消融实验

matting系列论文笔记(二):Background Matting: The World is Your Green Screen
matting系列论文笔记(二):Background Matting: The World is Your Green Screen

5. Conclusion

提出了一种背景matting技术,该技术可以在自然环境中随意捕获高质量的前景+alpha matter。该方法需要固定相机拍摄两张图,有目标的+无目标的背景图。不需要绿幕/trimap。引入了GANs使得合成图片更真实,达到了更好的效果。看到这篇文章的demo,真的很惊艳,效果很好,头发边缘清晰,即使视频中的人物甩头也没有影响合成效果。而且文章开源了代码,给出了完整的训练和测试代码。

Reference

[1] Xu N, Price B, Cohen S, et al. Deep image matting[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 2970-2979.

[2] Li J, Zhang J, Maybank S J, et al. End-to-end Animal Image Matting[J]. arXiv preprint arXiv:2010.16188, 2020.

[3] Cong W, Zhang J, Niu L, et al. Deep Image Harmonization via Domain Verification[J]. arXiv preprint arXiv:1911.13239, 2019.

上一篇:matting系列论文笔记(三):Boosting Semantic Human Matting with Coarse Annotations


下一篇:染色质可及性