论文总结:AlphaNet: An Attention Guided Deep Network for Automatic Image Matting
AlphaNet: An Attention Guided Deep Network for Automatic Image Matting
Abstract:
本文提出了一种端到端的图像抠图方法,即从自然图像中高精度提取前景目标。我们提出的方法有两方面的贡献,一是它可以解释为一种全自动的语义图像抠图方法,二是对现有的语义分割模型的改进。我们提出了一种新的模型结构,将上采样和下采样算子的功能与attention的概念结合起来。如我们的工作所示,注意引导下采样和上采样可以提取高质量的边界细节,不同于其他常规的下采样和上采样技术。为了达到同样的目的,我们使用了一个注意力引导的编解码框架,该框架进行无监督学习,从数据中自适应地生成一个注意力图,以服务和指导上采样和下采样操作。我们还构建了一个fashion e-commerce focused dataset,该数据集具有高质量的alpha-mattes,有助于图像matting的培训和评估。
INTRODUCTION
数字图像抠图(Digital imate matting)是从自然图像中高质量提取前景物体的一种方法,在混合现实、电影制作和智能创作等领域有着广泛的应用。为了追求更流畅、更快的客户体验,对大量数据进行提取和合成的过程必须是自动化的,结果必须是高质量的。
但这项特殊的任务并不像表面上看起来那么简单,而且还有许多潜在的瓶颈,使它变得更加复杂。无论是语义分割还是图像抠图本身都不能提供令人满意的结果。在这个用例中使用语义分割的一个主要缺点是,这种技术侧重于视觉输入的粗糙语义,从而导致精细结构细节的模糊。
图像抠图也是计算机视觉领域中的一个基本问题,与图像分割一样,图像分割产生一个二值前景掩模,图像消光通过估计包含静态图像或视频帧流中每个像素的透明度值的α消光来提取前景。前景像素的alpha值通常为1,而背景像素的alpha值为0。尽管如此,由于视频中的运动模糊,物体边缘的像素可以同时具有前景和背景的贡献,因此在这种情况下,α被定义为α∈[0,1]。α和图像的解释关系见方程1,其中αi表示像素位置处的α值,FG和BG分别表示前景和背景图像。
为了简化α蒙版的估计过程,许多图像蒙版模型依赖于用户以手动标记trimap的形式进行干预。trimap是给定图像中已知和未知区域的密集标记不透明度贴图。其余的还有基于笔划和光谱消光的半自动方法建立特征。用户干预的需要不仅导致了图像抠图工作流的处理延迟和开销,而且严重限制了图像抠图的应用。
我们的方案是一个全自动的图像分割网络,它可以从一般的自然图像(如COCO[1]数据集)中准确地分割出目标前景。我们的模型以一个RGB图像作为输入,在没有附加用户标签的情况下,为目标前景生成一个高精度的alpha蒙版。我们提出的深度学习方法将两个阶段封装在一个单一的网络中,即分割阶段负责生成目标前景的粗略修剪,然后是抠图阶段,该阶段负责将修剪预测和RGB图像转换为前景对象的详细α蒙版。
在分割阶段,RGB图像被送入DeepLabV3+[2]网络,该网络预测目标前景的二值掩码。预测模板用于检索对象的边界框,该边界框作为信息输入,使用Deeplab网络末端的腐蚀扩张层从二值模板估计trimap。与其他类似的工作[3]不同,我们的ED-module是作为网络的一部分,使系统在性质上同质化。同构网络不仅使端到端训练成为可能(第4.1节),而且使系统不易出现代码库错误,推理速度更快。trimap生成阶段之后是一个matting阶段,该阶段使用RGB图像和生成的trimap生成最终的alpha matte。
我们的抠图阶段灵感来自于深度图像抠图网络(DIM)[4]。DIM很大程度上借鉴了SegNet[5]的灵感,SegNet使用无冷却进行上采样。使用SegNet执行此类任务的一个主要优点是恢复边界细节,而这些细节通常被DeepLabv3+和RefineNet[6]等其他架构所忽略。SegNet能够更好地恢复边界细节的主要原因是unooling使用maxpooling的索引指导来进行上采样。另一方面,双线性插值的特征映射不能很好地强调边界细节。为了记录边界位置,网络浅层的响应被用来将特征图上各个索引位置的激励投射到一个注意遮罩中。
本文通过对学习索引的可视化,证明了AlphaNet在自然图像抠图方面的有效性,同时也证明了AlphaNet在学习边界细节质量方面的有效性,表明我们的网络能够成功地捕捉到边界和纹理模式。
RELATED WORKS
之前的基于学习的抠图方法,在前景和背景的视差最小的情况下,上述方法都无法在高深度图像中恢复细节的α-蒙版。
我们的另一个相关工作领域是上采样。上采样是网络解码阶段进行密集预测的重要环节。上采样的初始算子是反卷积,它最初用于可视化卷积**,后来扩展到语义分割。但是反卷积很容易有不均匀的重叠,在一些地方比其他地方放置更多的隐喻性颜料,从而导致棋盘文物。为了避免这种不均匀的工件重叠,建议使用resize+卷积范式。这种模式目前是大多数最先进的语义分割网络的标准配置[2],[6]。除此之外,还建议使用unooling[5]和performate[23]运算符生成稀疏索引映射以指导上采样。然而,这些算子在上采样输出中引入稀疏性,但保留了边界信息。[24]引入了周期洗牌,这是一种内存效率高、速度快的上采样操作,通常用于超分辨率任务。吕等人。[25]在他们的研究中引入了索引学习的概念,通过一个新的索引引导编码器-解码器框架,该框架使用数据自动学习索引来引导上采样和池操作。
在我们的工作中,我们提出了一个matting网络的attention模块,它可以看作是整体和深度索引网络的组合[25]。我们认识到空间信息的重要性,因此在网络的编码阶段将其保存下来。在下采样和上采样期间,网络的编码和解码阶段分别利用存储的空间信息。为了达到同样的目的,我们使用了一个注意力模块,它可以从数据本身学习注意力图。
OUR METHOD
在本节中,我们将介绍所建议方法的模型体系结构(图2)。该模型以RBG图像作为分割网络的输入,为前景对象生成二值分割掩模。二值掩模用于估计边界盒,边界盒与掩模一起作为侵蚀扩张层的输入,生成trimap。该过程生成的trimap是粗糙的,包含许多不确定区域,主要是沿着生成的掩模边缘。然后,该trimap与RGB图像连接,并用作对消光网络的输入。消光网络是一个注意力引导的模型,它从RGB图像和生成的粗糙trimap估计 alpha matte。然后利用不同的损失函数将预测的 alpha matte与地面真实值进行比较,并计算梯度以优化网络参数。
A、 分割和Trimap估计阶段
AlphaNet的初始阶段是分割。我们使用DeepLabV3+和ReseNet18主干网,并在监控数据集上进行了预训练[26]。训练前数据集由5711幅图像和6884个高质量的带注释的人实例组成。
图2。AlphaNet体系结构概述。在给定输入图像的情况下,使用一个带有ED层的DeeplabV3+分割Trimap网络来预测Trimap。然后,将预测的trimap作为第四信道连接到输入图像后面,并馈入消光网以预测原始α-蒙版,该原始α-蒙版用预测的trimap处理以生成最终α-蒙版。整个网络以端到端的方式进行培训。
消光阶段(Matting Phase)
(一)编码器解码器:与深度图像抠图(DIM)不同的是,在我们的工作中,我们构建了一个基于MobileNetV2[27]的编码器解码器,它带有额外的注意模块来指导上采样和下采样操作,从而补偿了细化块在DIM中的效用。与其他heavy backbones相比,使用mobilenetv2可以在CPU上加快推断时间。图2显示了我们的网络体系结构的基本概述。AlphaNet的抠图阶段遵循一个简单的编码器-解码器范例,注意模块连接到所有池和非池层。池层和非池层遵循2 x 2内核大小和2步幅的常见配置。我们网络的核心是注意模块,它接收来自编码器分支的特征映射,并生成一个注意映射来指导下采样和上采样操作员。在本研究中,我们也探讨了情境编码与低阶特徵融合的替代方法,但由于缺乏任何实质性的整合,我们略过分享相同的量度。
2个)注意模块:我们的注意模块将注意映射建模为编码器特征映射
分别为上采样和下采样算子生成两个注意映射。注意图与输入特征图具有相同的空间维数,但对于F,A i∈[0,1]中的每个索引i,只有一个通道包含特定的注意权重Ai。为人工智能选择的范围提供了平滑的优化,并有助于更好地收敛。注意机制由一个预先定义的注意块和两个规范化层组成。注意块的核心是一个完全卷积的神经网络,它将输入的特征映射解释为注意映射。attention块学习下面的attention function:
如attention function所示,特征图的所有通道都被投影到一个注意图中。注意块之后是两个规范化层,它们负责以不同的方式规范化编码器和解码器的注意图。编码器的注意图首先由一个sigmoid函数进行规范化,然后由一个softmax函数进行另一个规范化。编码器注意图的两个归一化保证了下采样后特征图的幅度一致性。然而,解码器的注意图只通过一个sigmoid函数进行规范化。一旦注意图被规范化,它们就分别被输入到编码器和解码器pooling以及unpooling operator中。正常unpooling与我们的方法的主要区别在于,正常操作对所有区域应用一个固定的学习核,而我们的模块根据计算出的注意图对不同区域应用不同的核。注意模块的具体设计如图3所示。
注意模块假设注意图和特征图之间存在非线性关系。假设是自然的,因为一个线性函数甚至不能拟合max函数,所以假设一个非线性关系使得网络在学习特征映射中的抽象关系方面更加灵活。该模块被实现为一个完全卷积的网络。它首先在一个维度为hxwxc的特征图上使用四个平行的4x 4组卷积(带2步、1个填充和2个组),生成一个大小为h2xw2c的注意图,然后是一个组规范化[28]层和一个非线性映射的ReLU**。然后对生成的张量进行两点卷积层处理,实现特征映射池,生成H/2x W/2x 1维的注意图。最后的注意图由四个通过洗牌和重排(像素洗牌上采样)的下采样注意图组成。注意,我们对注意模块的不同网络配置进行了大量的实验,其中大多数都取得了类似的结果,只是略有改进。还需要注意的是,注意模块中四个卷积层的参数是不共享的。
C、 与其他网络的关系
Indices Matter(IndexNet)[25]。IndexNet建议一个插件索引模块应用于任何现成的CNN,使用两种主要类型的索引网络,DIN和HIN。欣和丁各有利弊。IndexNet的一个主要优点是其灵活的网络模块,它可以从数据中自适应地学习索引,以指导下采样和上采样操作。但是,它的缺点包括DIN的过度拟合和HIN的低容量。此外,由于在索引模块中使用了批处理规范化,因此在小批量上调整参数变得困难。另一方面,AlphaNet的注意模块采用了分组规范化和不同的网络结构,利用了HIN和DIN的优势,同时排除了消极的一面。
注意力网络[29]。AlphaNet与现有的注意网络家族有着非常相似的地方,后者在生成的注意地图和特征地图之间进行乘法运算。与其他致力于细化特征映射的注意网络不同,我们的注意机制只强调引导上采样和下采样算子。
可变形卷积网络(DCN)[30]。DCN分别通过预测卷积核和池核的偏移量,提出了可变形卷积和RoI池。DCN还试图通过赋予CNN动态特性来增强卷积网络的变换建模能力。AlphaNet也有着同样的精神,即制作一个动态学习模块,从数据本身学习注意力图。
RESULTS AND DISCUSSION
Measurement:我们使用四个指标来评估输出蒙版的质量:均方误差(MSE)、绝对差和(SAD)、感知驱动连接性(Conn)和梯度(Grad)误差。均方误差和绝对差之和与训练目标直接相关,而连通度误差和梯度误差则评估由人类观察者评估的知觉视觉质量。为了计算这些指标,我们规范化了基本事实,并预测α在0到1之间的范围。此外,与其他类似的工作不同,我们的所有度量都是在整个图像上计算的,而不是在未知区域,然后是像素数的基本平均值。使用了类似于[4]的计算代码。我们还进行了广泛的消融研究,以证明模型设计的选择是正确的。
**Baselines and Comparative Models:**我们通过将AlphaNet与以下几种最新的抠图方法进行比较来评估AlphaNet的能力和有效性:KNN抠图[8]、后期融合抠图(在DIM数据集上预先训练)[21]、深度图像抠图(DIM)[4]、近距离形状抠图(CF)[9]和信息流抠图(IFM)[7]。其中一些抠图方法本质上是交互式的,需要trimap作为RGB旁边的第四个通道输入。因此,为了实现公平的评估和比较,我们将它们与我们的分割和trimap生成阶段的预测trimap(第3.1节)联系起来,并通过提供trimap基本事实对它们分别进行评估。
A. Implementation Details
Following this practice, we first pre-train the segmentation and matting net separately and then the two nets are combined to make AlphaNet and finetuned in an end-to-end manner.
**Segmentation Net Pre-training:**分割网由一个DeeplabV3+模型组成,在模型的末端附加一个侵蚀扩张层。由于ED层是不可微的,因此将分割网络预先训练为一个正常的语义分割模型。为了训练,图像被均匀地调整到496×496的空间分辨率,然后增加样本以避免过度拟合。值得注意的是,该模型是在监控数据集上预先训练的。
Matting Net Pre-training:为了对Matting Net进行预训练,我们采用了与深度图像铺垫中使用的类似的训练配置[4]。对于数据增强,我们使用320 x 320随机裁剪,然后是随机翻转和随机缩放。我们使用ImageNet[35]为编码器预先训练的参数作为初始检查点。为了初始化所有其他参数,我们使用了[36]的更好形式,这是在[37]中提出的。[37]表明“Xavier”对于仅适用于高斯分布的导出方差有一个非常直接的结论。我们使用Adam[38]进行优化,并对网络进行了大约50个阶段的训练。批量设置为16,同时固定主干的BN层。
AlphaNet训练:为了对AlphaNet进行端到端的训练,我们首先用预先训练好的分割和抠图网络初始化AlphaNet。在训练过程中,输入使用随机水平翻转(0.5概率)动态增加样本。如果输入超过1500像素,我们也会重新调整输入的长维度,以将其上限设置为1500,以满足GPU内存限制。然后将预测的阿尔法蒙版重新缩放回其原始大小以进行评估。这种技术使AlphaNet能够在CPU上对高分辨率图像进行测试,而不会造成任何明显的分辨率损失。在端到端的训练中,一个主要的问题是,由于erosion-dilation layer的非参数特性,梯度无法从matting net流向分割网。因此,只有matting net的loss value 作为反馈流回分割网(端到端不可微)。
**Loss:**对于分割网络的预训练,我们主要使用了focal 和 dice 损失的组合。为了对 matting net 进行预训练,我们采用了 compositional 和 alpha prediction 损失。compositional 损失(CL)可以定义为预测的α成分图像和地面真实成分图像之间的绝对差异。然而,alpha prediction 损失(AL)可以定义为预测α和地面真值α之间的绝对差。然后根据以下方程式计算总损失。
B、 性能比较
在本小节中,我们将研究AlphaNet与最先进的图像抠图模型的比较。为了得到一个公平的比较,我们用我们的分割网络生成的trimps来提供交互模型。表1总结了我们评估的定量结果。
考虑到模型要学习的复杂结构细节,由此得到的度量表明,自动模型优于大多数交互式抠图模型。DIM与DeeplabV3+的连接性能优于其他所有模型,这主要是因为它能够有效地学习复杂的上下文,以及额外细化块的附加优势。但是我们可以从结果中看到,AlphaNet不仅比大多数基线性能更好,而且比LFM(一种完全自动的方法)性能更好。主要原因是我们模型的注意力学习能力,使它能够学习精细的细节和粗糙的语义。图4总结了几个视觉评价以及与所有基线的各自比较。从结果可以清楚地看出,我们的模型能够恢复微妙的细节,并产生更清晰的哑光与良好的局部对比度。
1) 数据集瓶颈:在图像抠图数据集中,主要有四类数据。这些类别包括高透明、强透明、中透明和小透明实体[32]。我们工作的一个主要缺点是我们只强调了强、中、小透明对象上的数据集。我们放弃了高度透明对象的类别,因为在我们时尚的电子商务行业中,此类数据的可用性很低。因此,由于我们的网络没有暴露在高度透明的对象中,它无法模拟对象边界内像素的透明度。我们计划在下一个版本中消除这个数据瓶颈,并提出一个更通用的模型,该模型涵盖了高度透明对象的消光,还扩展了我们的数据集领域,而不仅仅是时尚电子商务。
C、 不同成分的烧蚀研究
端到端培训的有效性
通过比较端到端训练的AlphaNet和只包含预训练参数的AlphaNet,计算端到端训练策略的有效性。表1显示了相同的结果。从结果度量可以很容易地看出,端到端训练的AlphaNet优于单独训练的AlphaNet,从而证明了端到端训练的有效性。
attention模块的评价
我们提出的注意模块的有效性和重要性是通过简单的比较AlphaNet和注意模块的版本与另一个没有注意模块的基线版本来验证的。无注意模块也针对与注意版本相同的目标进行训练。通过比较两个版本的评估指标,可以看出带有注意模块的AlphaNet比基线版本的性能更好。值得注意的是,虽然大多数指标在数量上很小,但非注意基线的连通性和梯度误差相对较大。造成这种误差较大的主要原因是编码解码器在没有注意网络外部引导的情况下,导致结构细节的模糊。因此,我们提出的注意模块不仅利用了生成trimap的粗略估计,而且对提高AlphaNet的整体性能起到了关键作用。