Natural Image Matting via Guided Contextual Attention

Natural Image Matting via Guided Contextual Attention


1.背景
基于深度学习的方法在自然图像抠图方面取得了显著的进步。许多方法可以生成视觉上可信的alpha估计,但通常会在半透明区域产生模糊的结构或纹理。这是因为透明物体的局部模糊性。
一个可能的解决方案是利用周围的信息来估计局部的不透明度,现有基于affinity和sampling的matting方法它们所采取的策略是具有相似性的:借鉴具有相似外观的图像区域。下面是这两种策略它们的区别:
1)affinity-based:将具有相似外观的已知区域的不透明度迁移到未知区域;
2)sampling-based:在基于某种假设的情况下将前景与背景成对采样去预估未知区域每个像素的α值;
这两类方法也取得了一些效果,但是却不能处理trimap中只存在背景和未知区域的情况(已知区域较少),因为这些方法要同时使用前景和背景信息。并且,传统的affinity-based的方法计算复杂度高,不适合高分辨率的α估计。
2.内容
受affinity-based方法和上下文注意力机制在inpainting中的成功的启发,开发了一种新颖的end-to-end的带GCA(guided contextual attention)模块的自然图像抠图方法。
文章的方法引导网络信息流从图像的上下文直接到未知的像素区域,提出GCA模块用于优化基于affinity在网络中的传播,在GCA模块中低层次的特征被用于alpha特征传到的指引,并将具有相似外观的已知区域特征传导到未知区域上。
在这里插入图片描述
上图中右下两幅图就是文章编解码模块中两个GCA块儿输出的attention图,用于引导不透明度的迁移。我们可以很容易地识别出筛子中的汽车。筛孔中心的浅粉色斑块表明这些特征是从汽车的左侧传播过来的。而蓝色的部分则显示了从右侧道路借用的特征。这些传播的特征将有助于在随后的卷积层中识别前景和背景。
3.网络
(1)网络结构
文章的网络结构大致上是一个U型的网络结构,U型网络结构中通过5次shortcut实现encoder特征抽取,输入包含原始图和trimap组成的6通道图像,以及中间通过GCA引入低层次细节特征,结构见下图:
在这里插入图片描述
(2)损失函数
网络只利用了一个alpha预测损失。α预测损失被定义为在未知区域的预测和ground-truth alpha matte之间的绝对差的平均:
在这里插入图片描述
U表示在trimap中标记为未知的区域,αi^和αi表示i处的α遮罩的预测和ground-truth。
此外,文章也实验了compositional loss、gradient loss、Gabor loss等损失函数:
在这里插入图片描述
在均方误差和梯度误差下,成分损失的使用没有带来任何显著的差异,当考虑梯度损失和α预测损失时,这两种误差都会增加。虽然采用Gabor损失可以在一定程度上降低梯度误差,但也略微增加了均方误差。因此,本文只选择模型中的α预测损失。
(3)数据增强
文章里面对于数据增广采用的策略有:
1)以概率0.5随机选择2个前景区域目标从而获取一个新的前景目标和alpha图,并以0.25的概率将图像resize到640 ∗ 640 分辨率,从而使得具有比crop更大的感受范围;
2)使用随机旋转/缩放/水平和垂直翻转等仿射变换。对于trimap使用不同随机像素数的腐蚀和膨胀形态学操作得到alpha图;
3)随机从前景图像中剪裁出512 ∗ 512 的子图像,并使用HSV颜色空间变换;
同时进行了只有图像裁剪和腐蚀膨胀的对比试验,如上表的结果所示AUG表示进行了数据增强
4.GCA模块
GCA模块实际上由两部分组成:图像低层次特征抽取与信息传递的GCA块。
网络结构中有2处使用了GCA模块目的就是为了充分利用alpha中的信息。
(1)图像低层次的特征抽取
大多数的affinity-based方法都是建立在具有相同外表的区域会具有相同不透明度的设定上的,基于这个假设就可以使得已知区域通过affinity graph实现对具有相似外表的未知区域进行不透明度预测。
文章的方法正是基于这种affinity-based方法的思路对应拥有两条信息流:
1)alpha特征流:这部分是网络整体结构中的蓝色箭头的特征信息流向,代表的是高层次的不透明度信息;
2)低层次外表特征流:这部分是在原始图的基础上使用3个stride=2的卷积进行提取得到的,具有丰富的低层次外表特征,对应的是网络结构图中的黄色箭头;
在上面的两种信息流中就完全获取了低层次的外表信息和高层次的不透明度信息,为基于affinity的不透明度预测提供了基础和指引。
(2)GCA块
文章提出的GCA块见下图所示:
在这里插入图片描述
GCA利用了图像特征和alpha特征
首先,将低层次的图像细节特征划分为两个部分:已知和未知部分。之后在整个图像特征上使用3 ∗ 3 的窗口大小进行切块,之后将其reshape当作卷积核与未知区域进行相似度计算:
在这里插入图片描述
通过上述的公式得到相关性度量矩阵之后接下来就使用softmax得到对应的attention score。但是直接这样并不稳定,特别是当确定区域较多和较少的时候,为此文章提出了根据已知区域多少进行加权的思路(已知区域越多对应的权值系数也就越大):
在这里插入图片描述
当从图像特征中获得引导注意力得分时,本文基于由引导注意力定义的affinity graph 在alpha特征上进行传播。与图像特征类似,从alpha特征中提取 patches并将其reshape为滤波器核。信息传播被实现为引导注意力分数和重新成形的阿尔法特征patches之间的反卷积。这种反卷积在未知区域产生α特征的重建,并且反卷积中重叠像素的值被平均。最后,通过元素求和将输入的阿尔法特征和传播结果结合起来。这种元素式求和作为一种 residual连接,可以稳定训练。
5.结果
(1)1.Composition-1k测试数据集
在这里插入图片描述
在这里插入图片描述
(2)Alphamatting.com基准数据集
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/balabalabiubiu/article/details/115317042