Hierarchical Opacity Propagation for Image Matting

Hierarchical Opacity Propagation for Image Matting


论文链接:https://arxiv.org/pdf/2004.03249.pdf
发表出处:2020 CVPR
1.概述
本文提出了一种分层不透明度传播hierarchical opacity propagation(HOP)抠图方法,其中不透明度信息在不同语义级别的每个点的邻域中传播。
分层结构基于一个global HOP block和多个local HOP block。HOP块通过attention and aggregation机制执行信息传输,被设计为two-source transformers,更具体地说,注意力图中的节点之间的关系是根据外观特征计算的,并且要传播的信息是不透明特征,这与 self-attention或传统attention形成对比。利用HOP结构,高分辨率feature maps中的每个特征点对将根据输入图像的外观进行连接。网络通过全局HOP块学习预测低分辨率但语义强的特征上的上下文不透明度,并通过局部HOP块细化高分辨率特征上的模糊伪影
本文进一步提出了一种为图像抠图定制的尺度不敏感的位置编码,以处理输入图像的不固定尺寸,并在图像抠图中引入随机插值增强。
2.方法
本文提出了分层不透明度传播的新结构,是为了在高分辨率水平上实现不透明度信息在整个输入图像上的直接传播,其中神经网络可以被视为具有不同图形的多层graph convolutional network,并且不透明度可以在每两个像素之间传播。
网络结构如下图所示:
在这里插入图片描述
为了便于表示,只显示了一个4级解码器和两个本地HOP块。在本文的实现中,有一个5级解码器和3个local HOP block,外观编码器分支只取RGB图像作为输入。
网络有两个编码器分支,一个用于不透明度信息源,另一个用于图像外观源,本文选择在ImageNet上预处理的ResNet-34 的前11个块作为不透明度编码器的主干。至于外观编码器,选择了 a stack of stride convolutional layers来提取更多的低级信息。
网络仅使用alpha matte重建损失函数进行训练,该函数被表述为估计值与ground truth alpha mattes之间的平均绝对差:
在这里插入图片描述
Tu是trimap中的未知像素
3.HOP结构
通常,non-local block [42或transformer能够通过self-attention实现信息的全局传播。然而,直接采用原始的non-local block或image transformer进行自然图像抠图存在两个缺陷:
(1)non-local block在计算上是昂贵的
(2)non-local block 和transformer都在输入feature map上建立一个完整的图,并根据节点的输入特征生成边缘权值,但是在图像抠图任务中,每个节点的特征是不透明度信息
本文提出的分层不透明传播结构涉及到两个不同的传播块,即global HOP和local HOP,在传播中同时利用了外观和不透明度预测。
不同语义层次的feature map上不透明度传播示意图如下图所示:(橙色线表示特征传播,省略了HOP块之间的反卷积块,以显示不透明度信息是如何分层传播的)
在这里插入图片描述
底部的global HOP block将对来自bottleneck的feature maps执行全局不透明度广播,其中feature map包含更多语义但较少纹理信息;随后,在反卷积阶段之间,将local HOP block合并到网络中,其中在高分辨率feature map中表示更多的纹理信息。
4.global HOP block和local HOP block
假设来自不透明度编码器和外观编码器的特征映射分别用F O∈ R HW×C和F A∈ R HW×C表示,并且位置(i,j)处的特征点是f O (i,j)∈ R C和f A (i,j)∈ R C,global HOP block可以定义如下:
在这里插入图片描述
其中,W QK是key和query的线性变换,W out是将传播的信息与输入feature map F O对齐的变换,softmax沿(x,y)维操作。另外,F O是这个注意机制中没有任何变换的值项,我们也可以把v(x,y)= W out*f O (x,y)看作值项。
下图中©展示了global HOP block 的详细结构:
在这里插入图片描述
可以看出,在self-attention机制中,所有的query, key和value都是从同一个feature计算的,而在传统的注意机制中,key和value来自same place。然而,在HOP块中,query和key共享外观源的相同原始特征,并且value具有来自不透明特征的源。类似地,本文制定只关注每个特征点的局部邻域的local HOP block:
在这里插入图片描述
其中N((i,j),s)是窗口大小为s的位置(I,j)的邻域
5.位置编码
本文采用了两种不同的位置编码方法:global HOP block的尺度不敏感位置编码和local HOP block的局部相对位置编码。不同位置编码方法的如图所示:
在这里插入图片描述
(1)尺度不敏感的位置编码
先前位置编码的一个致命障碍是注意力的邻域大小必须是固定的。一旦输入图像的尺寸大于训练图像的尺寸,就会产生一些在训练中没有出现过的新的 positional embeddings。所以,本文提出了一种global HOP block的尺度不敏感位置编码。
文章定义了邻域的半径s,位于半径之外的任何点共享相同的位置编码,对于半径s内的点,使用相对位置编码(参见图中(a)的图示)。那么global HOP block可以写成:
在这里插入图片描述
其中r d是正弦编码;
除了positional embedding,本文还设计了一个trimap embedding来学习前景、背景和未知区域在注意力上是否应该有不同的权重。因此,term (e | i-x |+e | j-y |)被修改为(e | i-x |+e | j-y |+W Tt (x,y)),其中t x,y是调整后的trimap中位置(x,y)处的数据点。
(2)局部位置编码
对于local HOP block,邻域大小在网络中始终是一个常数,这使得不需要对尺度不敏感的位置编码。local HOP block中使用的编码如图中(d)所示,。
与以前的位置编码相比,本文的图像抠图方法中采用的位置编码都是方向不变的,这意味着嵌入只与query和key位置之间沿行或列的绝对距离有关。这一特点是由自然图像抠图是一个语义较少的低级视觉问题,并且应该是旋转不变的这一事实所激发的。
6.随即插值增强
在方法中引入了随机插值增强。
在训练阶段的数据预处理中,随机选择一个等概率的插值算法进行任意的尺寸调整操作。因此,训练小批量中的合成图像可以通过不同的插值生成。此外,前景,背景和阿尔法遮罩图像可以在合成前用不同的算法调整大小。
如下表所示,随机插值训练不仅提高了性能,而且减小了双线性插值和三次插值之间的误差:
在这里插入图片描述
7.实验
(1)Composition-1k Testing Set上的结果
在这里插入图片描述
在这里插入图片描述
(2)Alphamatting.com Dataset上的结果
在这里插入图片描述
(3)消融实验
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值