Deep Image Matting实验总结

复现源码@这(源码持续更新中)论文地址@这论文翻译@这

简介

传统抠图算法主要是以色彩为特征分离前景与背景,并在小数据集上完成,而这就造成了传统算法的局限性目前用来求解抠图方程式(matting equation)的方法:
这里写图片描述
其中 Ii 是像素块 i 的 RGB 色彩,已知前景色彩 Fi,背景色彩 Bi,未知蒙版估计(matte estimation)αi。在这个方程式中,抠图问题形式化为两种颜色的线性组合,因此大多数现存的算法很大一部分都是将其近似求解色彩的问题。
另一个局限性就因为小数据集而产生。一般用于抠图的数据真值(ground truth)是很复杂的,而 alphamatting.com 数据集通过提供标记数据集对抠图研究做出了很重要的贡献。不过因为该数据集仅仅只由 27 张训练图像和 8 张测试图像组成,那么这样大小的数据集会带来自然偏差(nature biased),训练出来的算法也会很难进行泛化。
本篇论文提出了一种基于深度学习的新算法,该算法可以解决这两个问题。我们的深度模型分为两个阶段。第一阶段是深度卷积编码-解码网络(deep convolutional encoder-decoder network),该神经网络将图像和相对应的三分图(trimap)作为输入,并预测图像的α蒙版(alpha matte)。第二阶段是一个小型卷积神经网络,该神经网络对第一个网络预测的α蒙版进行精炼从而拥有更准确的α值和锐化边缘。同时文章提供了49300 张训练图像和 1000 张测试图像组成的抠图数据集,将单一背景下的目标进行提取,合成到复杂的新背景下
抠图问题的核心是精确地将图像或视频中的前景估计出来,对图像编辑,影片剪辑等都有很深的意义。输入图像和 trimap 的示意如下图展示,右边两列为closed-form方法和文章结果的对比,其中第一排车为Alpha Matting 比赛中图片,下排来源为文章合成的测试数据集。
Deep Image Matting实验总结_第1张图片

New matting dataset

alphamatting.com 的数据集需要ground truth人工完成,于是只有27张训练影像和8张测试图,为了更好地训练抠图网络,文章通过合成目标到新的背景中方法产生。首先找到背景简单单一的图像,用PS软件小心地获取精准目标蒙板和前景颜色,再随机选取MS COCO数据集或VOC数据集产生N个背景。
训练数据集有493个独特的前景目标,49300张影像(N=100),检测数据集有50个独特目标,1000张图片(N=20)。trimap在ground truth的蒙板上进行随机扩大产生。文章提出的数据集的主要优点有:目标种类多,并且如头发等细节丰富,背景比较复杂等。
下图为数据集产生示意图,a为原图,b为蒙板,c为单独的前景颜色信息,后面三图为添加背景后:简单来说就是找一些背景比较单一的图像,这些图像的真值比较容易得到。将人扣出来,然后再将其放到背景比较复杂的图中去,从而构建一个大型抠图数据集。
Deep Image Matting实验总结_第2张图片

Our method

主要分为两阶段:第一阶段为深度卷积的encoder-decoder network,输入为图像+trimap,输出为预测蒙板产生的loss和联合的loss。第二阶段为小型卷积网络微调获得准确蒙板和尖锐边缘。
Deep Image Matting实验总结_第3张图片

1.Matting encoder-decoder stage:

网络结构

如图左部分,编码-解码网络在图像分割、边界预测等多方面取得了成功(如本博客上一篇 论文笔记:Label Refinement Network for Coarse-to-Fine Semantic Segmentation 也是用的这种网络)。整个阶段是图像patch和trimap作为输入,encoder网络经过一系列卷积层和池化层,得到降采样的特征图,decoder网络紧随其后,反池化过程将特征图上采样,输出蒙板。
这里特别的是,encoder网络采用14个卷积层+5个max-pooling层,decoder网络为了加速进行了一定地缩小,只有6个卷积层和5个反池化层。
loss函数
设计了两个loss函数,一个称为alpha-prediction loss,另一个是compositional loss。
alpha-prediction loss 定义ground truth的蒙板值(alpha value)和预测的蒙板值在每一个像素位置的绝对差异。又由于绝对差不可微分,采用相对近似值模拟,如下:
这里写图片描述
这里 αip α p i 是预测层对于像素位置i的预测值, αig α g i 即为ground truth值。∈为10^(-6)。
compositional loss 是ground truth和预测的RGB之间的loss,c定义RGB通道,类似于前面的alpha-prediction loss,则compositional loss 计算公式为:
这里写图片描述

2.Matting refinement stage:

由于前面网络得到的结果有时候过于平滑,因此添加这个阶段。如前面网络整体结构图,输入是图像和前一阶段预测的4通道的alpha蒙板(每个通道取值范围0-255),网络是全卷积网络,包含4个卷积层,前3个卷积层都跟着一个ReLU层。为了使得尖锐的边缘即准确轮廓产生,该阶段不再进行降采样过程。这里,在4通道输入数据进入网络前,还采用了一个“ skip-model ”使得其值变成0-1。
Matting refinement stage 的效果对比如下图展示:
Deep Image Matting实验总结_第4张图片

最终结果展示

在 Alpha Matting 比赛中前五名的比赛截图,文章的方法排名第一:
Deep Image Matting实验总结_第5张图片
和其他方法的一些对比实验结果:
Deep Image Matting实验总结_第6张图片

训练注意事项:

1.数据准备和预处理。
训练数据的alpha、RGB、background
2.整理数据(先resize,再融合)
把alpha和eps都resize到最长边为640,同时保留长宽比。因为crop的最大size为640*640,所以把background都resize到最短边为1280,同时保留长宽比。把alpha和eps都center padding到背景里。
3.开始训练
接下来就是超参数跟结构优化问题了。。。
good luck!!!

你可能感兴趣的:(Deep Image Matting实验总结)