目录
1 引言
- 图像抠图:致力于精确提取图像中感兴趣的前景区域,提供用于图像合成的透明度遮罩。使用给出的透明度遮罩将前景图像和背景图像进行简单线性相加则完成合成。
- 传统的色键抠图:通过人为地将背景预设为单一颜色来便捷地获取高精度的透明度遮罩;
- 自然图像抠图:没有指定图像背景约束,在先验知识减少的情况下进行透明度遮罩的估计,具有更广泛的应用需求;
- 自然图像抠图的应用探索:图像融合、自动前景提取、医学影像处理、目标跟踪在内的中层视觉任务以及在包括目标分类、虚拟现实、增强现实在内的高层视觉任务;
- 分类:针对抠图精度低提出不同的抠图方案,抠图算法可以分为三大类:
- 文章重点讨论基于深度学习的抠图技术以及基于启发式优化的抠图技术。针对近年以来出现的自然图像抠图新方案对算法进行重新分类和总结,分析各类方法的关键问题,整理抠图质量的评价指标,廓清发展情况与趋势。
2 数学模型
将观测的彩色图像中的任意像素z建模为前景颜色与背景颜色的凸组合:
αZ表示像素处的前景颜色与背景颜色凸组合的权值, 取值为[ 0,1] 的任意实数,其物理意义是像素 z 所对应前景物体的不透明程度。
分别在rgb通道应用,它们的求解需要借助增加的先验知识,如三分图(已知的前景和背景区域,未知的区域);
3 基于像素对优化
基于像素对优化的抠图算法假设未知区域的像素可以从已知区域的像素集合中进行凸组合来确定,从而通过优化像素对目标函数确定前景及背景的颜色,从而实现透明度的估计。基于像素对优化的抠图研究围绕着建模合适的像素对目标函数,即复杂的像素对组合优化问题展开。
3.1 基于采样的抠图算法
基于采样的抠图算法通过对决策空间缩减, 实现像素对的优化, 具有计算复杂度较低的优点, 但存在着丢失最优像素对的问题。
- 基于参数化采样的抠图算法:假设前、 背景颜色服从特定分布, 通过对已知区域的像素采样估计颜色分布的参数,进而通过计算未知区域的像素颜色服从该分布的概率来缩减决策空间,估计未知像素透明度;
- 基于局部采样的抠图算法:将决策空间缩减到已知区域的边缘。 常常会丢失最优像素, 导致其抠图精度较低。
- 基于全局采样的抠图算法:基于超像素聚类中心来筛选样本全集,超像素聚类过程可能导致最优像素对丢失的问题。
几种基于全局采样的抠图算法: - 基于综合采样:利用参数化的混合高斯模型对已知区域的颜色及空间坐标分级聚类,并利用聚类中心构建样本的全集。为减少样本集大小增加带来的计算开销,对靠近已知区域的未知像素,该算法仅选择靠近未知区域的样本子集进行最优像素对的选择。
- 基于稀疏编码:假设像素颜色由一个或多个前景像素及背景像素线性组合而成。由于使用已知区域的所有像素组成的字典规模过于庞大,无法在有效时间内实现稀疏编码的求解,该算法通过超像素聚类,并取聚类中心构成稀疏编码的字典,实现字典规模大幅缩减。然而,该算法对半透明物体抠图精度不理想,所估计的透明度往往偏向于 0 或 1。
- 基于 KL 散度:将抠图采样过程建模为对已知区域像素进行稀疏子集选择的问题,利用 KL 散度对样本集的稀疏度进行定量评价,提出基于 KL 散度采样的抠图算法。该算法不仅实现全局采样,提高了已知区域像素样本集的多样性,而且控制了样本集合大小。但由于 KL散度的计算复杂度较高,无法为每一个像素计算散度,所以需要将像素合并为超像素,以超像素为基本元素计算散度。
3.2 基于启发式优化的抠图算法
假设未知区域中像素之间的最优像素对的选择具有关联,可以互相提供快速选择像素对的信息。基于启发式优化的抠图算法将自然图像抠图中所涉及的大量像素对组合优化问题建模为一个大规模的像素对组合优化问题:
大规模像素对组合优化问题具有三大难点:
a) 决策变量 X的维度非常高,对于一幅三十万像素的图像,X 的维度可达 10^5的数量级;
b) 决策变量 X 取值为离散的整数,其物理意义是前景、背景像素的下标;
c) 像素对评价函数 g 是高度非线性的,其通常包含多个子函数,且每个子函数都不可导且包含大量的局部最优值。
优势: 免采样的像素对优化, 在理论上可避免最优像素对丢失的问题。将启发式优化技术应用于该问题的求解,可以将大规模像素对组合优化问题松弛为大规模像素对连续优化问题。
问题1: 直接利用现有的启发式优化算法对大规模像素对组合优化问题的求解存在优化效率低的问题。
解决: 通过研究发现,在多评价准则的像素对优化问题中优化单个评价准则可获得有助于优化多准则评价函数的启发式信息,因此将多准则复杂单目标优化问题分解为多个单目标优化问题, 并使用多目标优化算法对所有的优化问题同时进行优化,从而提高优化的效率。
问题2: 存在计算资源消耗较高的问题。
解决: 设计了金字塔启发式优化抠图框架。通过图像及三分图的缩放将大规模像素对优化问题转换为中、 小规模优化问题, 建立抠图问题金字塔, 并将小规模问题优化过程中获得的像素对最优解作为启发式信息传递到更大规模的问题求解中。
4 基于深度学习
与传统的自然图像抠图算法不同, 该类算法能自动在大量的训练数据中寻找自然图像抠图任务的表征信息, 而无须人工干预。
4.1 端到端深度学习
端到端深度学习的抠图算法利用深度神经网络实现从输入图像及三分图到透明度遮罩的直接计算。
问题1 - 数量: 现有数据集的数据量不足以训练深度神经网络,造成在不同类型图像下抠图性能的鲁棒性不理想;
问题2 - 精度: 利用现有的基于主观评价的自然图像抠图算法所估计的透明度遮罩作为真实透明度遮罩的近似, 训练数据不可避免地存在噪声, 所以训练获得的网络模型的抠图精度受限于生成训练数据的算法。
解决1 - 数据增强和改进网络: 能改善透明度遮罩的精度,降低计算耗时,但不能克服训练数据集标注误差较大的影响。
解决2 - 合成图像: 用提供的 Adobe前景图像数据集通过人工使用ps与不同背景图片合成更大规模的训练数据,但局限于现有小规模数据集中的前景,不能提高前景图像的多样性。遮罩的精度相对抠图数据集提升,但不如色键抠图。
解决3 - 基于自动编码器: 利用深度卷积自动编/解码器对四通道图像块进行自动化编码与解码, 从中自动学习高层视觉特征,并获得初始的透明度遮罩, 并使用一个浅层的卷积神经网络对透明度遮罩进行修正。实现无须现有抠图算法的辅助。进一步使用双路结构的自动编码器,分别用于描述局部信息以及全局的上下文信息, 进一步提高了抠图的性能。
解决4 - AlphaGAN算法: 该算法利用自动编码器网络作为对抗神经网络的生成器, 采用PatchGAN 算法作为判别器, 并利用 Adobe 抠图数据集实现网络的训练。该研究的贡献在于通过在编码器与解码器之间添加残差连接, 使得图像的局部信息获取图像的结构特征得以充分利用。
解决5 - 三分图精细化处理: 针对抠图算法在三分图粗糙的情况下透明度遮罩估计精度低的问题,在透明度遮罩估计前引入了三分图精细化的步骤。该工作把三分图精细化建模为判断每个像素属于前景、 背景或半透明区域的三分类问题, 并设计了一个神经网络模型完成对三分图精细化以及两个问题同时进行求解。该方法的优势在于其能感知图像中的结构特征(如蜘蛛网、 头发等结构) , 并对三分图标注有一定的容错性。
4.2 深度学习与传统抠图混合
将现有的抠图技术与深度学习技术结合, 将深度学习技术嵌入到传统抠图的关键步骤中, 实现对抠图性能的提升。
例如:
- 评估不同算法的适用性: 将两种不同抠图算法计算的透明度遮罩作为深度神经网络的输入, 根据两者与参考的透明度遮罩的差别从大量数据中学习两个算法的适用性, 由此改善透明度遮罩的质量。计算复杂度高, 且抠图性能受限于所依赖的两个抠图算法。
- 改进传播准则: 利用深度神经网络从大量数据中学习抠图特征和亲和度的度量模型, 通过数据驱动的方式实现基于传播的抠图算法中的传播准则的改进。
- 未知区域的图像补全: 假设未知区域中不透明像素的颜色分布与已知区域一致, 使用一个基于深度学习的图像补全算法实现对未知区域前景、背景颜色的估计, 在此基础上利用 AlphaGAN 网络实现透明度遮罩的估计。该算法对不连续的物体(如孔洞)具有较好的抠图效果。然而, 当前景为高度透明物体时, 图像补全算法获得的前景、 背景颜色可能存在较大误差, 导致抠图质量下降。
5 基于传播
基于传播的抠图算法通过设计亲和度的度量模型来度量像素间的相似性将 α 值从已知区域传播到未知区域。
优点:
- 基于像素间亲和度的传播可以建模成二次型目标函数的优化问题, 而二次型函数有成熟的数学优化工具求解, 可通过较低的计算代价获得闭式解。
- 通过将透明度从已知区域向未知区域传播实现抠图透明度遮罩的计算,其基本原理决定了其估计的透明度遮罩具备局部平滑的特性, 因此该算法可避免基于采样的抠图算法所产生的透明度遮罩的不连续性问题。
缺点:
- 估计出的遮罩具备的局部平滑的特性,使得该类型的算法在不连续的物体上的前景提取中性能不佳;
- 由于基于传播的抠图算法需要存储像素间的相关关系, 所以其空间复杂度随图像分辨率的增长而成倍增加, 导致这类算法在高清图像的抠图应用中受到限制。
5.1 基于局部准则的传播抠图算法
假设未知像素对应的前景颜色和背景颜色与相邻像素的前景和背景颜色存在特定关系,如两者相等、 前者是后者的线性组合,并根据相邻像素间的假设传播 α 值。这类抠图算法以泊松抠图算法、基于闭式解的传播抠图算法为代表。基于局部准则的传播抠图算法中, 相邻像素通常使用局部矩形区域定义。局部区域的划分是这类算法讨论的主要问题。
5.2 基于非局部准则的传播抠图算法
基于非局部准则的传播抠图算法突破了局部区域的限制,将透明度传播的范围从相邻像素拓展到相似像素, 使得透明度可以实现远距离传播。这类算法的早期代表工作是 KNN 抠图算法及基于局部与非局部准则的抠图算法。前者利用K 近邻方法实现相似像素的选择, 对非局部准则透明度传播形式的设计具有启发意义。后者提出了将局部与非局部准则结合进行透明度传播的思路。
6 客观评价指标
给定透明度遮罩的参考图像,通过度量估计的透明度遮罩与参考透明度遮罩之间的差异实现抠图质量的定量评价。
单点评价指标: 绝对误差之和、均方误差;未能反映出不同像素透明度差异之间的关系;
多点评价指标: 梯度误差(反映透明度遮罩与参考遮罩在透明度变化上的误差);连通性误差(反映两者在连通度上的误差);
7 小结
目前的自然图像抠图算法研究主要关注在不同图像输入下的抠图质量,较少考虑不同的三分图标注下的抠图质量。因此无法灵活地按需进行稳定高质的前景提取。
面临鲁棒性的挑战:
- 三分图标注信息量的鲁棒性: 如何在有限的三分图已知信息下保证抠图质量。三分图的信息标记主要依赖用户的手工标注,标记信息可能减少、甚至缺失。此时,基于深度学习的抠图算法较之其他算法有较好的性能。
- 三分图标注方式的鲁棒性: 当使用包含的已知信息更丰富的手工标注的三分图作为基于深度学习的抠图算法的输入时,其抠图质量反而不如使用根据形态学自动生成的包含较少已知信息的三分图的抠图结果。这源于实际输入数据与训练数据的差异;