Towards Enhancing Fine-grained Details for Image Matting
论文链接:https://arxiv.org/pdf/2101.09095.pdf
发表出处:被WACV 2021接收
1.背景
(1)深度自然图像抠图技术通过提取高级别contextual features到模型中得到了快速发展。然而,大多数目前的方法仍然难以处理微小的细节。
在本文中,作者认为,恢复这些微观细节依赖于低级但高清晰度的纹理特征。然而,在目前基于编码器-解码器的模型中,这些特征在非常早期的阶段就被下采样,导致微观细节的丢失。
(2)与此同时,注释不足的trimaps严重影响了模型的性能。这是因为用户提供的trimap可能非常粗糙,因为注释trimap是一个非常麻烦的过程,尤其是对非专业用户来说。
作者观察到,对于Composition-1k测试集中的一些图像,几乎所有的trimaps都被标注为“未知区域”,这意味着trimap非常粗糙,几乎不能提供任何有用的交互信息。相比之下,对于训练集,模型生成的trimap通常基于ground-truth alpha map,因此质量非常高。这就导致了训练和测试之间的不一致。
2.内容
针对背景当中提出的问题,本文设计了一种深度图像抠图模型来增强细粒度细节。
模型由两个并行路径组成:一个传统的编码器-解码器
语义路径
和一个独立的无下采样的
Textural Compensate Path(TCP)
。
基于TCP可以在原始图像大小上提取细粒度细节,如线条、边缘等,大大提高了预测的精细度。同时,为了充分利用高级context的优势,本文提出了一个
Feature Fusion Unit(FFU)
来融合语义路径中的多尺度特征,并将其注入到TCP中。
此外,由于观察到,注释不足的trimaps严重影响了模型的性能。因此,本文进一步提出了
新的损失函数项和trimap生成方法
,以提高模型对trimaps的鲁棒性。
3.网络概述
网络由两部分组成,即TCP和语义路径。如图所示,所提出的网络采用6通道图作为输入,由3通道RGB图像和相应的一个3通道trimap拼接而成。输入被同时发送到语义路径和TCP,其中每个路径生成一个单通道输出。然后,两个输出之和的tanh值是网络的输出,即预测的alpha matte。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2918731b51a5dc5c87781ac136fa5245.png#pic_center)
4.Semantic Path
语义路径用于提取高级上下文表示,采用编码器-解码器结构,使用了改进的UNet架构,具体而言,在每个shotcut中放置了两个卷积层,以提供从低级特征到高级特征的适应。编码器部分是在renet - 34[12]的基础上构建的,解码器部分是作为编码器的镜像结构构建的。(使用独立的语义路径作为本文的基线模型)
5.Textural Compensate Path(TCP)
如图模拟所示,携带纹理细节的低水平但高分辨率的特征由于在许多现有的基于编码器-解码器的方法中的早期下采样而被严重破坏。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ffa7d346eda221eca8012864c06c51c5.png#pic_center)
因此,本文设计了一种专用的无下采样纹理补偿路径(TCP),用于从尺寸与原始图像相同的特征中提取pixel-to-pixel的高清晰度信息,旨在补偿由语义路径中的编码器-解码器架构中的早期下采样导致的pixel-to-pixel的特征的损失。除了高分辨率之外,另一个好处是纹理补偿路径低学习低层次结构特征,它提供了低层次的纹理线索(例如,边缘、拐角等),并有助于估计微观细节中的alpha matte。该路径的体系结构如图所示:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/767afec5d9a21e4f6c532638840f9656.png#pic_center)
它由三部分组成:
第一部分是空间特征提取单元,由一个卷积层和两个residue blocks组成,旨在提取丰富的像素级结构特征。该模块是无下采样的,导致输出大小为H ×W
同时,从语义路径中提取中间特征,并将其大小调整为H×W,与空间特征提取单元的输出相同。
接下来,这两组特征被发送到特征融合单元(FFU)。除了像素级空间特征之外,该步骤还提供多尺度和预处理信息。
然后,融合后的特征被发送到由两个卷积层组成的特征细化单元,生成TCP的输出。
6.Feature Fusion Unit (FFU):
多尺度和预处理特征也有利于产生鲁棒的输出。为了在保持参数大小可控的同时引入多尺度特征,本文借用语义路径中的中间特征作为多尺度特征。
同时,为了确保纹理补偿路径集中于低层特征,特征取自非常浅的层:U-Net语义路径中的第二层,用于融合。
首先使用最近插值将特征尺寸调整到原始图像尺寸。由于两个路径中的特征表示也可能非常不同,简单地添加来自不同路径的特征可能对训练有害。因此,如图所示,本文将来自语义路径的特征乘以一个可学习的权重wc以控制其影响。
7.提高模型对trimaps的鲁棒性
(1)新的trimap生成方法:
目前,大多数方法都是根据相应的ground truth alpha map生成训练trimap,即点p的trimap首先由其对应的alpha值αp决定:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/89fc8c4b38464104f39732bb49d22c69.png#pic_center)
然后通过腐蚀前景和背景区域来扩大未知区域。然而,面临的困境是,一个大的erosion kernel将有害于网络学习上下文信息;然而,一个小的erosion kernel将使训练和测试trimaps之间的不一致性更大。
所以本文提出了新的trimap生成方法:
本文对语义路径trimap的未知区域应用额外的n步随机形态学操作来模拟用户提供的噪声trimap中的随机性。每一步都是从p-迭代腐蚀和p-迭代膨胀中随机选择的,其中n和p是0到3之间的随机数。对于每一步,内核大小从1 × 1到30 × 30随机选择用于膨胀,从1 × 1到10 × 10用于腐蚀。该噪声较大的trimap被用作纹理补偿路径的输入。
然后,在推断时,用户提供的trimap是同时用于两条路径的。
可视化结果,如下图所示:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e9b892a89b5176bf5006fe3c133b5e0a.png#pic_center)
(2)新的损失函数
网络中使用的主要损失函数是alpha预测损失:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f6dfd53f951bfe9db8d9a6a5ceb4b7f9.png#pic_center)
这里需要注意的一点是,alpha预测损失只考虑trimap中的未知区域,而忽略了绝对前景和背景区域中的内容。这一特点使得网络易于训练,因为它通过根据预测后的trimap将绝对背景和前景填充为0或1的值来减少解空间。然而,这带来了一个显著的缺点:大量的上下文信息丢失,导致网络难以处理未知区域内的“纯”背景,如下图所示:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d0115a0b20d47d50bba968538f67bd40.png#pic_center)
所以本文提出了另一种辅助损失,
背景增强损失
。这个损失识别未知区域内的“纯”背景,并利用这些区域为网络提供上下文指导。
背景增强损失定义如下:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/497ef6d79caa7d919c187f1532b804e3.png#pic_center)
其中R bg为未知区域内的“绝对”背景部分;N bg是R bg的像素数,θ是控制R bg大小的背景阈值。
网络的full loss是两个loss项的加权和:L = w1·La+ w2·Lbg。
在本文中设置了固定值w1= 0.9, w2= 0.1和θ = 0.1。
8.实验结果
(1)消融研究
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/08799ddd1e9f1c93646e19c880187c9b.png#pic_center)
(2)对比试验
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3b573c21f3412eea5d6ddeafe9fd6594.png#pic_center)
(3)可视化结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5cd7d8034228173bb9fbfbe4f464bf40.png#pic_center)