代码地址
Attention-Guided Hierarchical Structure Aggregation for Image Matting
引入空间注意和通道注意来分别聚合高级语义特征和低级的外观线索
low-level appearance cues
Hierarchical Attention Matting Network (HAttMatting)
hierarchical attention mechanism
pyramidal features
Structural SIMilarity (SSIM) 结构相似度损失函数
adaptive semantics
refined boundaries
channel-wise attention
spatial-wise attention
现有的基于深度学习的抠图算法主要依靠高级语义特征来改进alpha抠图的整体结构。然而,我们认为,从cnn提取的高级语义对阿尔法感知的贡献是不平等的,我们应该协调高级语义信息和低级外观线索,以细化前景细节。在本文中,我们提出了一个端到端的分层注意消光网络(HAttMatting),它可以从单一的RGB图像预测更好的阿尔法蒙版结构而不需要额外的输入。
具体来说,我们利用空间和通道的注意,以一种新颖的方式整合外观线索和金字塔特征。这种混合注意机制可以从精细的边界和自适应语义中感知阿尔法蒙版。我们还引入了融合结构相似度(SSIM)、均方误差(MSE)和对抗损失的混合损失函数来指导网络进一步改善整体前景结构。此外,我们还构建了包含59600幅训练图像和1000幅测试图像(共计646幅不同前景alpha蒙版)的结构化大尺度图像拼接数据集,进一步提高了层次结构聚合模型*(hierarchical structure aggregation model.)*的鲁棒性。大量的实验表明,本文提出的HAtt可以捕获复杂的前景结构,并以单个RGB图像作为输入实现最先进的性能。
图像抠图是指从输入图像中精确估计前景不透明度。这个问题以及它的反过程(称为图像合成)已经被学术界和工业界研究得很好。图像抠图是一种基本的图像抠图技术应用。包括在线图像编辑、混合现实和电影制作。
抠图问题是一个病态问题,对于给定rgb图像中的每个像素,需要解决7个值,但只有3个值是已知的。
数字抠图本质上是一种像素化的 F G FG FG回归,我们认为该结构 F G FG FG有两个方面:自适应语义和细化边缘,分别对应Eq. 1中的α= 1和α∈(0,1)。现有的抠图方法通常通过引入用户提供的trimap作为辅助输入来求解Eq. 1。trimap由黑色、灰色和白色组成,分别代表bg、过渡区和绝对背景 F G FG FG。过渡区域表示fg边界,并与fg联合指导抠图算法。
The transition region indicates FG boundaries, combined with FG to jointly guide matting algorithms.
给定一个rgb图像和相应的trimap,传统的抠图方法探索颜色分布来预测阿尔法蒙版。然而,颜色特征不适用于结构表示,当fg和bg具有难以区分的颜色时,可能会造成伪影和细节丢失。
Deep Image Matting (DIM)[37]正式将深度学习引入到抠图中,他们认为抠图对象有一个共同的结构,可以用高级特征来表示。值得注意的是,DIM包含RGB图像在细化阶段结合了高级语义和外观线索。高级语义表示FG类别和轮廓(profile),而外观线索显示纹理和边界细节。随后的抠图网络[3,15,23,34]大多为高级语义提取设计复杂的架构,从输入图像或低级cnn特征中融合外观线索。
然而,它们的外观线索和高级语义都依赖于作为辅助和昂贵输入的trimaps。一个定义良好的trimap涉及繁琐的手工标记工作和时间消耗,这对实际应用中的新手用户来说是很困难的。一些抠图工作[5,7]依靠分割来生成trimaps,这在一定程度上降低了alpha蒙版的精度。Late Fusion[40]从初始化cnn特征的分割网络中混合fg 和bg权重图,以单个rgb图像作为输入预测alpha蒙版。然而,当语义分割遇到困难时,后期融合就会受到影响。上述方法直接向优化或融合阶段提供高级语义和外观线索,但我们认为它们在组合前需要进行适当的过滤(proper filtration)。一方面,自然图像抠图本质上是一个回归问题,并不完全依赖于图像语义,这意味着深度网络提取的语义属性对图像结构的贡献是不均衡的。另一方面,如图3所示,外观线索在保留了复杂的图像纹理的同时,也包含了fg之外的细节。然而,现有的抠图网络忽视了对这种层次性特征的深入挖掘和提炼。
图3:从ResNeXt块中提取的输入图像和相应的外观线索1。为了更好的视觉呈现,我们在256个通道中选择一个。
本文综合研究了高级语义和外观线索,提出了端到端层次注意抠图网络(HAttMatting)实现这种层次结构聚合。高级语义可以提供FG类别和轮廓,而外观线索提供纹理和边界细节。为了深入整合这一层次结构,我们在高级语义上执行通道注意(channel-wise attention)以选择抠图适应(matting-adapted)的特征,并在外观线索上使用空间注意来过滤图像纹理细节,最后聚合它们来预测alpha蒙版。利用均方误差(Mean Square Error, MSE)、结构相似度(Structural SIMilarity, SSIM)[35]和对抗性损失(Adversarial loss,[13])构成的混合损失优化整个网络的训练。大量的实验表明,我们的注意引导的层次结构聚合可以感知高质量的阿尔法蒙版,只有rgb图像作为输入。
本文的主要贡献是:
深度学习使用其高度抽象的fg结构表示为自然图像抠图带来了巨大的发展,我们从传统和深度学习两大类来简要回顾图像抠图方法。
传统抠图:现有的抠图方法大多通过额外的输入来实现FG透明度。trimap由FG、BG和过渡区域组成,用来划分输入RGB图像,而scribbles则通过几个用户指定的scribble来表示这三个标签。过渡区域暗示了前景的边界,这是图像抠图的关键。尽管涂鸦方法[19,20,32,39]对新手用户来说很方便,但由于可参考的信息不足,它们显著地恶化了alpha 蒙版。因此,大多数方法利用trimap作为感知结构的基本协助。传统的抠图方法主要依靠从输入图像中提取的颜色特征来限制过渡区域。根据使用颜色特征的方式不同,可以分为两类:基于采样的方法和基于亲和的方法。
深度学习抠图:与其他计算机视觉任务相似,抠图对象也具有一般的结构,确保可以用高级语义特征来表示。
Cho et al.[8]将[19]和[6]的结果与输入图像连接起来,并利用这个5通道输入来预测alpha蒙版。
xue et al.[37]提出了deep image matting (DIM),该算法将rgb图像与trimaps结合作为联合输入,利用高级语义估计alpha蒙版。
Tang et al.[30]提出了一种基于采样和学习的混合匹配方法。
ca et al.[3]和Houet al.[15]都建立了两个分支来感知alpha蒙版,这两个分支相互加强,从而细化出最终的结果。
hao 等人将上采样算子与索引函数统一起来,改进编码器-解码器网络。
然而,所有这些抠图网络都依赖于trimap来增强其语义提取,而对于普通用户来说,生成trimap是很困难的。一些抠图框架[5,7]利用分割来生成修剪,这通常会导致fg轮廓或边界不完整。
由Eq. 1可知,完整的对象fg应该由两部分组成:1)表示fg类别和轮廓的主体(α= 1), 2)位于过渡区域的内部纹理和边界细节(α∈(0,1))。前者可以由高级语义提出,而后者通常来自输入图像或低级CNN特征,称为外观线索,它们的组合可以实现alpha蒙版。在本文中,我们认为高级语义和外观线索在组合之前需要适当的处理。首先,自然图像抠图应该处理不同类型的前景对象,这表明我们应该提取高级语义加入到fg信息,并适当地抑制它们,以降低它们对对象类别的敏感性。
First, natural image matting is supposed to handle different types ofFGobjects, which suggests that we should distill advanced semantics to attend FG information, and appropriately suppress them to reduce their sensitivity to object classes.
第二,如图3所示,外观线索包含不必要的bg细节,需要在alpha蒙版中消除。
基于上述分析,该方法的核心思想是选择matting-adapted语义信息,消除外观线索中冗余的背景纹理,然后对其进行聚合,预测蒙版。为此,我们采用通道注意提取自Atrous Spatial Pyramid Pooling (ASPP)[4]提取的高级语义,并对外观线索进行空间注意,同时消除图像纹理细节。我们精心设计的层次注意机制可以从自适应语义和精细边界感知结构,它们的聚合可以获得更好的alpha蒙版。此外,我们结合均方误差(Mean Square Error, MSE)、结构相似度(Structural SIMilarity, SSIM)和对抗损耗[13]设计了一种混合损耗来指导网络训练,这三种损耗分别负责像素级精度、结构一致性和视觉质量。
整体网络设计。我们所提议的hattmattingis展开在图2中。
注:图2:我们的hattmatting管道。橙色框(金字塔特征提取)表示从aspp[4]提取的pyramidal information的通道注意。灰色框(Appearance Cues filtering)表示过滤外观线索的空间注意,从特征提取模块的block1中提取。
我们利用ResNeXt[36]作为骨干网络,考虑到其强大的提取高级语义信息的能力。在主干上进行一系列的参数调整以获得更大的感受野。然后将第4块的高级特征图提供给aspp[4]模块进行多尺度语义捕获。相应地,在我们的方法中,我们将block1的特征图平均为外观线索(图3)。hattmatting采用通道注意来提取金字塔特征,并对外观线索执行空间注意来抑制冗余的bg细节。此外,我们利用PatchGAN[16,42]的鉴别器网络来增强alpha蒙版的视觉质量。
金字塔特征提取:提取的金字塔特征对fg结构回归的贡献不相等,因此我们对金字塔特征进行通道注意,以提取自适应语义属性。如图2中橙色框所示,我们用factor =4 对金字塔特征进行上采样,然后利用全局池化对特征图进行泛化。然后使用共享的MLP提取语义属性。我们使用一个sigmoid层来计算通道方向的注意力图,并将其乘以上采样的金字塔特征来实现语义提取。通道注意可以选择适合图像抠图的金字塔特征,并保留fg轮廓和类别属性。金字塔特征是从深度ResNext块中学习的,这是高度抽象的语义信息,因此我们需要外观线索来生成alpha蒙版中的细节。
外观线索过滤:图像抠图需要精确的纹理边界,而高层的金字塔特征无法提供这样的纹理细节。因此,我们在ResNeXt block1和上采样(图2)操作之间设计了一个跳过连接,它可以传输alpha蒙版生成的外观线索。block1可以覆盖输入图像的纹理和细节,与第一次上采样共享相同的空间分辨率线索。这些外观线索可以描述复杂的图像纹理,与alpha哑光蒙版所需的边界精度兼容。提出的hatt matting可以利用外观线索来增强结果中的边界。尽管外观线索显示出足够的图像纹理,但只有fg内部或周围的区域才会产生阿尔法蒙版。因此,我们引入空间注意来过滤位于bg中的外观线索,同时强调fg中的外观线索。
具体来说,我们使用卷积核大小为1∗7和7∗1分别执行水平和垂直方向的注意。图2中的灰色方框显示了我们的空间注意力。通过与上述两个卷积核进行两次并行卷积,进一步处理了附加的金字塔语义。然后它们的连接作为注意机制来处理初始的外观线索,消除属于BG的纹理和细节。在此之后,我们将过滤的外观线索和提取的金字塔特征连接起来,以获得alpha蒙版。通道注意力和空间注意力的聚集共同优化了alpha蒙版生成:一个负责金字塔特征的选择,另一个负责外观线索的过滤。这种精心设计的分层注意机制可以有效地处理低级和语义特征,它们的聚合产生具有细粒度细节的高质量alpha 蒙版。
通常采用像素回归相关损失函数(L1或MSEloss)作为alpha蒙版预测的损失函数[3,37]。他们可以通过像素级的监督生成有能力的阿尔法蒙版。然而,这种回归损失只测量了绝对像素空间的差异,没有考虑到FG的结构。因此,我们引入了SSIM loss ( L S S I M \mathcal{L}_{SSIM} LSSIM)来计算预测alpha蒙版与真实蒙版之间的结构相似性。结构相似性(SSIM)[35]已经证实了在预测图像中增强结构一致性的惊人能力[25,31]。除了上述损失函数外,我们还添加了对抗损失( L a d v \mathcal{L}_{adv} Ladv)[13]来提高预测alpha蒙版的视觉质量。在提出的hatmatting中,我们利用这种混合损失函数来指导网络训练,实现了有效的alpha蒙版优化。我们的损失函数定义如下:
L t o t a l = λ 1 L a d v + λ 2 L M S E + λ 3 L S S I M \mathcal{L}_{total}=\lambda_1 \mathcal{L}_{adv}+\lambda_2 \mathcal{L}_{MSE}+\lambda_3 \mathcal{L}_{SSIM} Ltotal=λ1Ladv+λ2LMSE+λ3LSSIM
L a d v 、 L M S E 、 L S S I M \mathcal{L}_{adv}、\mathcal{L}_{MSE}、\mathcal{L}_{SSIM} Ladv、LMSE、LSSIM可以提高alpha蒙版的像素级精度、结构一致性和视觉质量。 L a d v \mathcal{L}_{adv} Ladv被定义为:
L a d v = E ( I , A ) [ log ( D ( I , A ) ) + log ( 1 − D ( I , G ( I ) ) ) ] \mathcal{L}_{a d v}=E_{(I, A)}[\log (D(I, A))+\log (1-D(I, G(I)))] Ladv=E(I,A)[log(D(I,A))+log(1−D(I,G(I)))]
其中 I I I表示输入图像 A A A 表示预测蒙版。 L M S E \mathcal{L}_{M S E} LMSE 被表达为:
L M S E = 1 ∣ Ω ∣ ∑ i Ω ( α p i − α g i ) 2 , α p i , α g i ∈ [ 0 , 1 ] \mathcal{L}_{M S E}=\frac{1}{|\Omega|} \sum_{i}^{\Omega}\left(\alpha_{p}^{i}-\alpha_{g}^{i}\right)^{2}, \quad \alpha_{p}^{i}, \alpha_{g}^{i} \in[0,1] LMSE=∣Ω∣1i∑Ω(αpi−αgi)2,αpi,αgi∈[0,1]
这里 Ω \Omega Ω表示像素集,并且 ∣ Ω ∣ |\Omega| ∣Ω∣ 是像素的总数(即输入图像的尺寸) α p i \alpha_{p}^{i} αpi 和 α g i \alpha_{g}^{i} αgi 分别表示在像素 i i i处的预测alpha值和真实的alpha值。 L M S E \mathcal{L}_{M S E} LMSE 可以确保alpha蒙版的像素级准确率。我们建立了 F G F G FG 结构优化函数通过 L S S I M \mathcal{L}_{S S I M} LSSIM :
L S S I M = 1 − ( 2 μ p μ g + c 1 ) ( 2 σ p g + c 2 ) ( μ p 2 + μ g 2 + c 1 ) ( σ p 2 + σ g 2 + c 2 ) \mathcal{L}_{S S I M}=1-\frac{\left(2 \mu_{p} \mu_{g}+c_{1}\right)\left(2 \sigma_{p g}+c_{2}\right)}{\left(\mu_{p}^{2}+\mu_{g}^{2}+c_{1}\right)\left(\sigma_{p}^{2}+\sigma_{g}^{2}+c_{2}\right)} LSSIM=1−(μp2+μg2+c1)(σp2+σg2+c2)(2μpμg+c1)(2σpg+c2)
这里 μ p , μ g \mu_{p}, \mu_{g} μp,μg 和 σ p , σ g \sigma_{p}, \sigma_{g} σp,σg 分别是 α p i \alpha_{p}^{i} αpi and α g i \alpha_{g}^{i} αgi 的均值和标准差。在 L S S I M \mathcal{L}_{S S I M} LSSIM 的引导下,我们的方法可以大幅度改进FG结构。
我们使用pytorch实现了HAttMatting。为了进行训练,所有输入图像随机裁剪到512×512、640×640和800×800。然后,它们被调整为512×512的分辨率,并通过水平随机翻转来增强分辨率。为了加快训练过程,防止过拟合,我们使用预训练的ResNeXt101网络[36]作为特征提取网络,其他层按高斯分布随机初始化。对于损失优化,我们使用了动量为0.9、权重衰减为0.0005的随机梯度下降(SGD)优化器。学习率初始化为0.007,由“poly”策略[22]调整,幂为0.9 每 20 epoch。式2中λ1、λ2、λ 3在第1代的平衡系数分别为0.05、1、0.1,其后19代的平衡系数分别为0.05、1、0.025。我们的hatt matting训练在单个GPU与4个小批量大小,它需要大约58小时的网络汇聚到Tesla P100 显卡。
在本节中,我们评估两个数据集:公共Adobe Composition-1k[37]和我们的Distinctions-646。我们首先用最先进的方法进行了定量和定性的比较。然后我们对这两个数据集进行消融研究,以证明几个关键成分的重要性。最后,我们在真实场景执行hattmatting来生成alpha mattes。
数据集:
第一个数据集是公共的Adobe Composition-1k[37]。训练集由431 fg 对象和相应的真实alpha蒙版组成。每个fg图像与来自MS COCO数据集[21]的100bg图像相结合,合成输入图像。对于测试集,Composition-1k包含50fg图像以及对应的alpha蒙版,以及来自PASCAL VOC2012数据集[10]的1000 BG 图像。通过[37]提供的算法合成训练集和测试集。
第二个是我们的Distinctions-646dataset。Adobe Composition-1K包含许多连续的视频帧,以及来自同一图像的裁剪补丁,实际上在他们的训练集中只有250个不同的fg对象。为了在训练过程中提高抠图网络的通用性和鲁棒性,我们构建了由646 个distinct fg图像组成的Distinctions 646 数据集。根据[37]中的合成规则,将fg样本分为596和50两部分,分别生成59600幅训练图像和1000幅测试图像。
评价指标。我们根据四种常见的定量度量来评估阿尔法粒子:绝对差和(SAD)、均方误差(MSE)、梯度(Grad)和[27]提出的连通性(Conn)。一个更好的图像抠图方法应该产生高质量的alpha蒙版,从而降低上述四种度量的值。
对Composition-1k测试集的评估
在这里我们比较了hattmatting与6种传统的matting方法:Shared Matting[12],Learning Based[41],Global Matting [26], closeform [19], KNN matting [6], InformationFlow[1],以及基于8种深度学习的方法:DCNN [8], DIM [37], AlphaGAN [24], SSS [2], SampleNet[30],Context-aware[15],IndexNet [23], Late Fusion[40]。SSS, Late Fusion和我们的hattmatting可以在没有trimap的情况下生成alpha蒙版。对于其他方法,我们提供rgb图像和25像素随机膨胀***(random dilation)***产生的trimap参考[37]。我们使用全分辨率的输入图像来实现均匀的对比度,视觉结果如图4所示。
注:图4:Composition-1k测试集的视觉比较。SSS[2]中的片段是精心挑选的。
定量比较见表1,四项指标均在整个图像上计算。hattmatting相对于传统方法有明显的优势,从图4和表1中可以明显看出。与基于深度学习的方法相比,hattmatting具有比DCNN、DIM、SSS和Late Fusion更复杂的细节,并优于SampleNet,因为我们使用层次注意机制提取高级语义和外观线索,它们的聚合实现了完整的fgprofiles和边界。我们的hattmatting略逊于Context-Aware and IndexNet。前者建立两个分支并借助FG图像监督来预测alpha蒙版,而后者学习索引函数来捕获纹理和边界细节。
注:表1:Composition-1k检验集的定量比较。灰色的方法(Late Fusion和我们的HAttMatting)只将rgb图像作为输入,而其他方法需要trimap作为辅助,以保证alpha蒙版的准确性。“Basic”表示我们的基线网络,对应的“Basic+”表示我们在基线上组装不同的组件来生成alpha蒙版。尽管它们都能产生高质量的alpha蒙版,但在训练和推理阶段强烈需要trimaps,这限制了它们在实际应用中的有效性。我们的hattmatting只需要单个RGB图像作为输入,这对新手用户来说非常方便。
在我们的Distinctions-646上的评估:对于我们的Distinctions-646数据集,我们比较了hattmatting与8种最新的最先进的抠图方法,包括Shared matting [12], Learning Based [41], Global matting [26], closeform [19], KNN matting [6], DCNN [8], Information-Flow[1]和DIM[37]。对于其他基于深度学习的方法,由于我们无法获得它们的训练代码,我们无法在我们的数据集上对它们进行评估。我们还使用随机膨胀产生高质量的trimap[37]和相关的度量在整个图像上计算。
表2:我们的distincs646测试集的定量比较。“Basic”的定义与表1相同。
数量比较如表2所示。与所有传统方法相比,我们的hattmatting在所有四个指标上都显示出明显的优势,在Grad和Conn指标上优于DIM[37],但在SAD指标上略逊于它。值得注意的是,只有我们的方法可以生成没有trimap的alpha蒙版,而所有其他的方法都需要trimap来限制过渡区域,这有效地提高了这些方法的性能。图5为与DIM[37]网络的视觉对比。在这里,我们扩大过渡区域以降低trimap的精度,对应的alpha蒙版与DIM显示在第四列。
图5:Distinctions-646测试集上的视觉比较。“DIM+Large”意味着我们用具有较大过渡区域的trimaps来填充DIM,而我们的方法可以在没有trimaps的情况下生成高质量的alpha蒙版。
随着过渡区域扩展,视觉质量的下降是明显的,可以验证DIM对trimaps质量有很强的依赖性。由hattmatting生成的alpha蒙版展示了复杂的纹理细节,这主要得益于我们模型中自适应语义和有效外观线索的聚合。
我们的hattmattingis的核心思想是提取自适应金字塔特征和过滤低水平的外观线索,然后聚合它们来生成alpha 蒙版。为了实现这一目标,我们利用通道注意(CA)和空间注意(SA)重新分别加权金字塔特征和外观线索
我们还在我们的损失函数中引入了SSIM,以进一步改善fg结构。在这里,我们将这些组件进行不同的组合,并在Composition-1k和Distinctions-646数据集上验证它们的重要性。
基本的:这是我们的基线网络,只使用原始的金字塔特征来生成alpha蒙版,并由 L a d v 、 L M S E \mathcal{L}_{adv}、\mathcal{L}_{MSE} Ladv、LMSE进行了优化。
Basic + SSIM: L S S I M \mathcal{L}_{SSIM} LSSIM被包含在我们的损失函数。
Basic + Low:低层次的外观线索直接与金字塔特征聚合,这可以为alpha蒙版提供复杂的纹理和细节。
Basic + CA:在基线的基础上,我们进行通道注意,提取金字塔特征。CA可以有效地抑制不必要的高级语义,降低训练模型对FG类别的敏感性,这意味着网络可以处理不同的对象,增强了模型的通用性。
Basic + Low + CA:结合以上两个模块的优势,提升性能。
Basic + Low + SA:我们改进的SA可以消除外观线索中的bg纹理,改善后续的聚集过程。
Basic + Low + CA + SA:我们组装CA, Low和SA,以实现胜任的阿尔法蒙版没有SSIM。
定量结果见表1、表2。可以清楚地看到,每个组成部分都可以显著提高我们的结果。视觉对比如图6所示。CA可以提供fg轮廓(图6c),而SA可以显示细粒度的内部纹理和边界细节(图6d),它们的聚集可以生成高质量的α蒙版(图6e)。
图6:不同组件的可视化比较。对于alpha蒙版,每个组件都有显著的改进。
图7显示了我们网络在真实世界图像上的抠图结果。评估模型在Composition-1k 上进行训练,更多的抠图结果请参阅补充材料。图7:真实世界图像的结果,数据集。我们可以看到,hattmattingis能够在没有任何外部输入或用户交互的情况下实现高质量的alpha matting。然而,如果输入图像有一些模糊(狗嘴下面的毛发),hattmatting只能预测模糊的fg边界。输入图像中的模糊会阻碍我们对外观线索的过滤,并影响后续的聚合过程。
在本文中,我们提出了一个层次注意抠图网络(HAttMatting),它可以预测高质量的阿尔法蒙版。hattmatting使用通道注意来提取蒙版适应语义(matting-adapted semantics),并执行空间注意来过滤外观线索。大量的实验表明,我们的分层结构聚合可以有效地从输入图像中提取出高阶和低阶特征,并获得高质量的无外部trimap的alpha蒙版。在未来,我们将探索更有效的策略来改进我们的注意机制,我们相信它可以更有效地聚合高级语义和外观线索,从而进一步提高我们的网络的通用性和鲁棒性。