Salient Image Matting

Salient Image Matting


论文链接:https://arxiv.org/abs/2103.12337
发表出处:2021 CVPR
一.背景
在现实世界的抠图中,前景对象可以出现在与训练数据非常不同的设置中,而且图像内容往往会有很大的变化,因此捕获图像中的高级语义特征始终需要在大量数据上训练模型。目前,大多数的trimap-free方法很大程度上依赖于昂贵的alpha注释来学习这样的变化,但是注释是昂贵且费时的,所以大多数当前的trimap-free方法要么只关注人类,要么在处理看不见的对象类方面也有困难。
所以为了处理图像中大量的语义多样性,通常仍然需要使用trimap,因为它为抠图过程提供了对象语义方面的重要指导
二.内容
针对上面的问题,文章提出了一个框架,该框架可以利用廉价的低质量注释来学习健壮的语义特征,并利用一部分高质量注释来学习低级特征,能够为大范围的前景对象以及前景类出现在与来自RGB输入的训练数据不同的上下文的情况生成准确的alpha mattes
该框架被称为 SIM(Salient Image Matting),它使用一种新颖的 Salient Trimap Network,能够产生图像中最显著对象的trimap。Salient Trimap Network(STN)基于粗标注生成的trimap和简单的trimap生成方案进行训练。这种训练允许trimap网络精确地产生各种前景的trimap,并且对自然图像中的大的语义变化是鲁棒的。
然后,STN的输出被馈送到一个抠图网络,用于细化低层语义。
通过decouple这些特征的学习,能够为需要语义信息的抠图网络提供指导,而无需用户为任意前景对象生成trimap。
此外,对于图像抠图任务,本文提出了一种新的结构,该结构比用于抠图的普通编码器-解码器结构具有更好的多尺度特征表示,以更有效地学习低级特征。
三.方法
1.网络概述
Salient Image Matting
为了分别捕捉高层次和低层次的特征,本文在提出的特征模型框架中使用了两个子网络,一个 Salient Trimap Network (STN)和一个 抠图网络。这种分离允许SIM使用大量的粗注释数据来训练语义特征。STN产生分别代表背景、未知区域和前景的三通道输出。抠图网络随后从STN中获取intrinsic trimap以及原始输入,并预测一个单通道alpha matte image。然后, 融合两个子网络的输出,以产生最终的alpha matte。SIM的工作流程如图所示。同时,本文还引入了一个多尺度块: DensePN,它作用于来自编码器的特征金字塔。
2.自适应trimap生成方案
为了训练STN,本文需要ground truths trimap,由于成本高昂,本文收集粗糙注释的segmentation masks,然后构造一个方案,以最好地从这些粗糙masks中生成trimaps。
由于收集的数量较大,所以图像的大小和前景对象的大小有很大的差异并且前景和背景区域的颜色有时也非常相似,所以常见的trimap生成方案(如腐蚀膨胀和基于颜色信息的方案)会导致不准确的不确定区域。
为此,本文开发了一个简单但健壮的trimap生成方案,该方案考虑了对象的大小和对象的特征,如头发和毛发,以从这种粗糙的Mask生成trimap。为此,本文将粗糙Mask的边界像素分为三类:毛发、毛发和实体,然后分别进行扩张。分类如下:
(1)对于人类的头发等,在图像上先应用最先进的人类解析网络得到头发和身体区域的mask。mask然后被转换为只有2类:头发和非头发
(2)在有动物或毛绒玩具的图像中,所有的边界像素都被标记为皮毛像素
(3)如果一个像素没有被检测为毛发或皮毛,那么它被标记为一个实体像素
在粗糙图像masks上定义一个 度量D作为显著对象大小的度量。hair, fur and solid pixels分别放大D的3.5%、2.5%和1.5%。
生成的效果如下图所示:
Salient Image Matting
3.Salient Trimap Network
用于alpha matting的图像往往含有很大的语义多样性,所以本文利用Salient Trimap Network (STN)来预测最显著前景区域的trimap,而不是依赖于外部输入。
STN的输出是3通道分类输出,是绝对背景、未知区域和绝对前景区域的概率估计,STN可以基于任何显著性对象检测架构。
本文选择使用基于U 2Net 的体系结构,因为它能够有效地捕捉准确的语义。U 2Net 的nested U-structure和residual U-blocks使得网络能够在不显著降低feature map分辨率的情况下获得多尺度特征,这有助于STN更好地对前景、背景和未知区域之间的语义进行分类。
4.抠图网络
(1)网络设计
编码器-解码器架构只有一个自下而上的路径,限制了来自丰富的低层特征和深层语义特征的信息流。所以本文创建了一个可重复的金字塔层,称为DensePN,它具有并行的多分辨率流,并丰富了其他多分辨率特性。
Salient Image Matting
如图所示,每个流都是一个DenseBlock,后面是融合层,融合层使所有流的都达到相同的分辨率,并执行1×1卷积。
重复卷积和融合块允许在每个分辨率级别丰富的多尺度特征。最后,所有的流在最终的prediction head被合并以预测alpha matte。本文使用ResNet34 作为编码器。
(2)融合
抠图网络仅在由intrinsic trimap建议的不确定区域中产生具有精确值的alpha matte,所以利用以下公式将STN和抠图模型的输出进行融合:
Salient Image Matting
其中,F、B和U表示STN和预测的前景、背景和未知区域概率图,α m表示抠图网络输出。
5.损失函数
(1)STN Loss
使用每个像素上的标准交叉熵损耗
(2)Matting Loss
应用alpha预测损失和合成损失的组合,还应用拉普拉斯损失来进一步提高网络的性能:
Salient Image Matting
(3)Joint Loss
Salient Image Matting
其中F S是groundtruth foreground map,而1^是指示函数。这种软L1约束允许联合网络针对两个模型之间微妙的低层次和高层次特征融合进行优化,并且还防止STN忘记其语义丰富的特征。
四.实验结果
1.与基于trimap方法的比较
Salient Image Matting
2.与自动抠图方法的比较
Salient Image Matting
3.视觉效果对比
Salient Image Matting

上一篇:逆向辅助技术-----FPS游戏无后座速射


下一篇:css3 animation 和 html5 canvas 性能比较(转自SO)