1.2.1 素描人脸合成的国内外研究现状
近些年,素描人脸合成技术的研究受到越来越多的关注。计算机视觉领域中的许多方法[52-53]能够应用在素描人脸合成中,并推动素描人脸合成技术的发展与进步。目前,国内该领域的主要研究团队为香港中文大学汤晓鸥教授带领的团队和西安电子科技大学高新波教授带领的团队。根据研究方法的不同,现有的素描人脸合成方法主要分为两类:传统素描人脸合成方法和基于深度学习的素描人脸合成方法。传统素描人脸合成方法又分为数据驱动类的素描人脸合成方法和模型驱动类的素描人脸合成方法。
数据驱动类的素描人脸合成方法通常由图像分块、最近邻选择、权重计算和图像块拼接四部分组成。汤晓鸥等人提出的基于主成分分析的素描人脸合成方法是数据驱动类的素描人脸合成方法的开山之作,该方法假设测试集面部照片与训练集面部照片具有一种线性关系,通过将图像从高维空间映射到低维空间,来寻找测试集面部照片与训练集面部照片的线性关系。然后利用这种线性关系对训练集中的素描人脸图像进行线性组合拼接,最终得到的素描人脸图像即为测试光学人脸照片对应的素描人脸图像。Liu等人[54]提出基于LLE的素描人脸合成方法,通过对训练集与测试集中的图片进行重叠分块,在训练集中寻找与测试集照片块相似的照片块,然后通过重建系数将训练集中的光学人脸照片块对应的素描人脸图像块进行线性组合,合成最终测试集对应的素描人脸图像。Wang 等人[55]考虑到相似图像块的最近邻约束关系,使用马尔可夫随机场的方法来合成素描人脸图像,通过多尺度 MRF 模型对训练集进行不同尺度的联合训练,提高了合成素描人脸图像的质量。Zhou等人[56]分析了在小样本情况下,基于 MRF 的方法仅选择最相似的单一图像块会导致合成结果出现失真和变形的问题,因此该文献中提出了一种加权马尔可夫随机场的方法,称为马尔可夫权重场(Markov Weight Field,MWF),该方法对K个相似的图像块进行线性加权,引入新的图像块,克服合成素描人脸图像变形的问题。Wang等人[57]采用稀疏编码的方法,对面部照片与素描人脸图像进行稀疏编码,并假设二者之间的稀疏矩阵相似,利用稀疏矩阵中不同数量的非零系数来自适应地选择相似图像块,通过对相似图像块的稀疏矩阵进行线性加权组合,合成最终素描人脸图像。
模型驱动类的素描人脸合成方法主要是通过构建光学人脸照片与素描人脸图像的映射函数,在训练阶段学习光学人脸照片与素描人脸图像的函数分布及映射关系,然后输入待合成的面部照片,经过离线学习的映射函数进行预测,合成对应的素描人脸图像。相比数据驱动类方法,模型驱动类方法不需要在测试阶段遍历训练集,合成效率更高。Wang 等人[58]提出利用线性回归的学习方法来寻找光学人脸照片块与素描人脸图像块之间的映射关系,通过学习训练集中的光学人脸照片块与素描人脸图像块的映射关系,确定不同人脸位置的照片块与素描人脸图像块之间的局部回归关系,从而对每一个测试光学人脸照片块应用这种回归关系,合成对应的素描人脸图像块。Chang 等人[59]使用岭回归和相关向量机(Relevance Vector Machine,RVM)的理论,提出一种多变量输出回归(Multivariate Output Regression,MOR)的素描人脸合成方法,从而更好地寻找光学人脸照片块与素描图像块之间的映射关系,增强了合成素描人脸图像块的结构一致性。Zhu 等人[60]将训练集中不同区域的光学人脸照片块与素描人脸图像块划分为不同的聚类,通过线性回归模型去寻找相同聚类中的映射关系,构成一个回归矩阵,然后将测试集中不同区域的光学人脸照片块乘以对应的回归矩阵,从而合成最终的素描人脸图像。
基于深度学习的素描人脸合成方法通过神经网络来学习光学人脸照片与素描人脸图像的非线性映射关系。Zhang 等人[61]通过卷积层的堆叠,提出一种端到端的全卷积神经网络(Full Convolutional Network,FCN)素描人脸合成方法。Isola 等人[62]使用条件生成对抗网络来学习输入图像与目标合成图像之间的映射关系,从而进行图像的风格转换。Bae 等人[63]通过对目标风格与合成风格进行标签化处理,提出一种基于生成对抗网络的方法来合成拥有多种样式的素描人脸图像。Zhang 等人[64]提出一种基于生成对抗网络的光学人脸照片和素描人脸图像双重转换合成方法,以学习光学人脸照片和素描人脸图像之间的非线性关系。Wang等人[65]提出一种基于多判别器生成对抗网络的素描人脸合成方法,通过输出三个不同分辨率的光学人脸照片来提高最终合成素描人脸图像的质量。Zhang 等人[66]提出一种多域对抗性学习方法,用于解决合成的素描人脸图像模糊和变形问题,但最终合成素描人脸图像丢失了一些面部关键信息。Zhang 等人[67]为了提高合成素描人脸图像的面部细节,在生成对抗网络的基础上增加了概率图模型,虽然该方法可以增加合成素描人脸图像的面部细节,但同时产生了一些无法消除的噪声。
传统数据驱动类的素描人脸合成方法过于依赖训练集,训练集的大小不同对合成素描人脸图像的效果有着不同的影响。因此,该类方法的应用范围受到了限制。传统模型驱动类的素描人脸合成方法虽然不受数据库大小的影响,但很难寻找最优的面部照片与素描人脸图像间的函数分布及映射关系。因此,该类方法合成的素描人脸图像容易出现面部扭曲、清晰度低的问题。基于深度学习的素描人脸合成方法能够解决合成素描人脸图像模糊和变形的问题,但是经常丢失一些面部细节特征。目前比较常用的方法是基于深度学习的方法,常用的素描人脸合成技术主要有以下四类:基于子空间学习的素描人脸合成方法、基于稀疏表示的素描人脸合成方法、基于贝叶斯学习的素描人脸合成方法和基于深度学习的素描人脸合成方法。
1.基于子空间学习的素描人脸合成方法
子空间学习,顾名思义就是通过对训练样本进行训练学习,获得一个低维子空间,然后将图像从高维空间降到这个低维子空间中。基于子空间学习的方法分为线性子空间学习法和非线性子空间学习法。
起初,汤晓鸥等人提出利用主成分分析法(Principal Component Analysis,PCA)对人脸图像进行模态转换,他们认为人脸照片和对应的素描图像之间呈线性关系。首先将待合成的人脸照片Ip利用照片训练集P进行线性表示,得到一组投影系数cp
式中,M是照片训练集P中照片个数,然后通过系数cp与照片训练集P对应的素描图像训练集S进行线性组合,得到一幅素描图像Is,这幅素描图像就被认为是待合成照片的素描图像
后来,Liu 等人意识到画家作画的过程是一个非线性过程,故提出一种非线性子空间学习的方法:局部线性嵌入算法。该算法将每张人脸照片分割成大小相等的N个图像块,在块的基础上,从训练集照片块集合中找到与每个测试照片块距离最近的K个图像块,然后利用这K个图像块线性表示测试图像块,得到一组系数,然后利用这组系数与K个最相近照片块对应的素描块进行组合,得到测试图像块对应的素描图像块,最后通过拼接整合得到整幅素描人脸图像。基于子空间学习的素描人脸合成框架如图1.7所示。
图1.7 基于子空间学习的素描人脸合成框架
2.基于稀疏表示的素描人脸合成方法
稀疏表示是信号处理领域中的重要方法,在图像重建、图像去噪和图像复原等图像处理中被广泛应用。给定一个训练样本集A={x1 , x2 ,…, xn}和一个测试样本y,其中xi∈Rd(∀1≤i≤n), y∈Rd。如果测试样本可以利用训练集样本的线性组合来表示,则
这里A={x1,…, xn}是训练样本集,也被称为过完备字典,w={w1,…,wn}T是稀疏系数。所以线性表达式(1.3)可以写成
为了求解表达式(1.4)中的w,对训练集样本n的基数和维度d之间的关系进行讨论:
如果d >n,式(1.4)是超定的,有唯一解;
如果d <n,式(1.4)是欠定的,有多个解;通常,可以通过最小化l2范数优化问题,来计算式(1.4)的近似解
l2范数最优化的缺点是它的解通常都是密集的,从而丧失了选择最相关训练样本的判别能力。
给定一个测试样本y,如果满足y可以表示为A中列向量的线性组合,且线性组合只与少部分列向量有关,那么y就可以用A进行稀疏表示。为了寻找稀疏解,需要求解以下l0范数
这里,w中的非零项个数用表示,然而,求解l0范数最小化的过程是NP难问题(NP-hard Problem)。最新的压缩感知理论表明,如果稀疏系数w足够稀疏,那么可以通过以下l1范数求解最优解
这里l1范数被定义为,这是一个可以利用线性规划方法来解决的凸优化问题。如果将噪声考虑进去,将变成以下l1范数优化问题
式中,ε是噪声的误差容忍上限,通过拉格朗日乘数法,可以转换成以下问题
这里λ是正则化参数。式(1.9)的求解方法有很多,常见的有匹配追踪(Matching Pursuit,MP)算法、正交匹配追踪(Orthogonal Matching Pursuit,OMP)算法和K-SVD算法。
采用基于子空间学习的方法计算照片块的K个最近邻相似照片块时,每个照片块的近邻数量是固定的。基于稀疏表示的方法认为固定的近邻个数并不一定能够说明这K个照片块就是与测试照片块最相近的图像块,所以引入稀疏表示来解决这一问题。稀疏表示可以针对不同的图像块计算出与之最相近的且数量最优的相似图像块,使得重建的照片块和原始照片块的误差最小。基于稀疏表示的方法其思想是利用训练集中的照片块学习得到具有可以表示全部图像块的字典A,与之对应的素描图像块则为素描图像字典B。利用字典A对测试照片块进行稀疏编码,得到测试图像块的稀疏系数 c,再将稀疏系数 c 与字典 B组合得到测试照片块对应的素描图像块。
基于稀疏表示的素描人脸合成方法首先将训练集中的照片和素描图像对进行重叠分割,然后利用字典学习得到字典D
式中,字典D是训练集照片块字典Dp和训练集素描块字典Ds的组合, Dp中的照片块和Ds中的素描块是一一对应的。E是训练集照片块和训练集素描块对应的矩阵,C是稀疏系数矩阵,每一列代表一张照片块和素描图像块在字典D上的稀疏表示,通过交替求解得到字典D和稀疏系数矩阵C。给定一张测试照片块,利用照片块字典Dp求得稀疏系数,然后利用稀疏系数与素描块字典Ds的线性组合得到待合成的素描图像块,最后将所有照片块按照以上方法求得对应的素描图像块,通过图像融合得到整幅素描人脸图像。
3.基于贝叶斯学习的素描人脸合成方法
众所周知,贝叶斯学习的理论基础是贝叶斯定理
式中,A和B代表两个事件。在人脸合成中,假设I p和Is分别为测试照片块和待合成的素描图像块,为了得到高质量的素描图像,可以利用最大后验概率(Maximum A Posterior,MAP)进行预测
式中,P(Is)为先验概率,一般通过训练样本学习得到。P(Ip|Is)为似然函数,在应用时通常取高斯函数。基于贝叶斯学习的素描人脸合成框架如图1.8所示,主要代表方法有基于嵌入式隐马尔可夫模型的方法和基于马尔可夫随机场的方法。
图1.8 基于贝叶斯学习的素描人脸合成框架
在LLE算法的基础上,Wang等人提出了基于马尔可夫随机场(MRF)模型的素描人脸合成算法。MRF模型将整张人脸划分成许多小块。模型中的每个节点代表照片块或者素描图像块。给定一个测试照片块,首先从训练集中选择候选照片-素描块对。然后通过建立测试照片块与候选照片块间的相似性关系及相邻素描块间的一致性关系合成最终的素描人脸图像。由于 MRF 模型不能合成新的素描块并且模型无法得到最优解。因此,Zhou等人提出了马尔可夫权重场(MWF)模型,用来解决上述问题。MRF 模型在素描图像层中每个节点对应一个单变量(一个候选素描块),而 MWF 模型在素描图像层中每个节点对应一系列变量(多个候选素描块对应的权重)。MWF 模型是个凸二次规划问题,能得到最优解,并且每个合成素描块由多个候选素描块线性组合,因此能合成新的素描块。除此之外,Gao 等人还提出了基于嵌入式隐马尔可夫模型(Embedded Hidden Markov Model,E-HMM)的素描人脸合成算法和基于贝叶斯的素描人脸合成算法。
4.基于深度学习的素描人脸合成方法
近年来,深度学习成为计算机视觉领域的研究热点。其中,深度神经网络能够通过网络层数的增加很好地模拟照片和画像之间复杂的非线性关系。Zhang等人提出了一种端到端的素描人脸合成方法,采用生成损失和判别项来构成损失目标函数,利用全卷积神经网络,生成具有高鉴别性的素描图像。为了更好地合成人脸图像中的细节,Zhang 等又提出了一种基于结构和纹理分解的模型框架,首先将输入的人脸照片通过卷积神经网络分解成不同的分量,即主要结构和纹理特征两部分,然后利用分支完全卷积神经网络(Branched Fully Convolutional Neural Network,BFCN)分别对结构和纹理特征进行学习,损失函数采用排序匹配均方误差(Sorted Matching Mean Square Error,SM-MSE),最后通过概率融合将两部分融合成完整的素描图像。