基于生成对抗网络的偏转人脸转正
Face frontalization based on generative adversarial network
通讯作者:
收稿日期: 2020-01-3
Received: 2020-01-3
作者简介 About authors
胡惠雅(1996—),女,硕士生,从事计算机视觉的研究.orcid.org/0000-0003-1529-5166.E-mail:
为了提高偏转人脸转正的效果,借鉴双通道生成对抗网络(TP-GAN)双通道生成的思想,将原始网络中的深度卷积生成对抗网络(DCGAN)替换成边界均衡生成对抗网络(BEGAN). 在传统两者对抗的网络结构中加入判别人脸身份的分类器,形成三者对抗的网络结构. 经实验对比可知,与在生成器损失函数中添加约束相比,结构上加入分类器对人脸身份一致性的保持更加有效. TP-GAN存在训练复杂、模式崩溃等难题,使用BEGAN的网络结构,可以避免这些问题,提高训练效率. 在Multi-PIE数据集及LFW上的实验结果表明,利用提出的方法能够高效地生成高质量的正面人脸图片,且保留人脸的身份特征.
关键词:
The original deep convolutional generative adversarial network (DCGAN) structure was replaced with boundary equilibrium generative adversarial network (BEGAN) by drawing on the experience of two-pathway generative adversarial network (TP-GAN) in order to improve the effect of frontalizing the rotated faces. The classifier used for discriminating face identity was added to the traditional two player network in order to form the three-player structure. Adding classifier is more effective for maintaining the consistency of face identity compared with adding constraints in the generator loss function. The adopted BEGAN can improve the training efficiency aiming at the problem that TP-GAN are complex to train and prone to the mode collapse. The experimental results on the multiple images across pose, illumination and expression (Multi-PIE) and labeled faces in the wild (LFW) dataset show that the proposed method can generate high-quality frontal face images with retaining the identity information.
Keywords:
本文引用格式
胡惠雅, 盖绍彦, 达飞鹏.
HU Hui-ya, GAI Shao-yan, DA Fei-peng.
随着深度学习的不断发展,对人脸识别的研究取得了许多突破性的进展. 基于深度学习[1-2]的识别算法甚至超过了人类肉眼的水平,然而这些研究大多是在正面人脸或者近似正面人脸的前提下,在大角度偏转的情况下,即使是表现最优异的正面人脸识别算法,识别率也会大大下降[3]. 现有解决多姿态人脸识别难题的方法大致可以分为以下3类:基于姿态鲁棒的特征提取方法[4-9]、基于正面人脸生成的方法以及基于子空间分析的方法. 其中基于特征提取的方法及基于子空间分析的方法都无法有效地处理姿态偏转较大的情形,因此本文采用生成正面人脸的思路来解决这一难题. 早期的研究通过建立三维人脸模型[10-12]得到对应的正面人脸,但这对特征点的要求较高;当人脸偏转角度稍大时,二维人脸图片中有些特征点不可见,因此该方法存在局限性.
近两年来,利用生成对抗网络(generative adversarial network,GAN)进行人脸转正是解决这个难题的新思路. Huang等[13]提出分别在人脸轮廓和人脸细节进行生成的双路径生成对抗网络结构(two-pathway GAN,TP-GAN),增加的特征提取模块Light-CNN[8]使得人脸在转正的同时,能够保持身份信息. Zhao等[14]提出在姿态鲁棒模型(pose invariant model,PIM)中采用双通道的生成方法. 这两种方法涉及的都是二维人脸,Yin等[15-17]将三维人脸形变模型[11](3D morphable model,3DMM)应用到生成对抗网络中,得到形状和纹理参数,为人脸结构的精准恢复提供先验.
1. 研究背景
1.1. 双通道人脸生成的思想
Huang等[13-15]开展了双通道人脸生成的相关工作,在生成对抗网络的基础上,利用双通道同时感知人脸图片中整体信息和细节信息方法的有效性得到了证实. Yin等[15]提出的FF-GAN(face frontalization GAN)将3DMM系数及原始人脸输入到网络中,其中的3DMM系数提示了原始人脸的整体姿态信息,但缺失人脸的细节信息,原始人脸中包含了人脸的细节信息,补充输入可以消除3DMM模型的局限性. TP-GAN[13]和PIM[14]都利用了双通道人脸生成的思想,提取的人脸局部区域作为细节信息,原始人脸图片提供轮廓信息,二者配合达到人脸转正的目的. 本文采用双通道的人脸生成结构.
1.2. 条件生成对抗网络(conditional GAN,cGAN)[19]
与最初的GAN相比,在cGAN中,生成器和判别器都加入了额外信息y作为条件输入,传统的生成网络中通过学习随机变量
条件生成对抗网络的学习模型可由下式表达:
式中:D为判别器。其中生成器和判别器都加入了额外信息
为了证明双路径人脸生成的合理性,采用条件生成网络模型对人脸进行转正研究,结果对比见2.1节.
1.3. BEGAN[18]
在GAN的发展历程中,DCGAN将卷积神经网络应用在生成对抗网络中,实现了对网络的改进. DCGAN不能解决GAN中存在的一些训练难题:训练复杂、生成器与判别器训练时的不平衡(在网络刚开始训练的时候,往往判别器呈压倒性优势)、生成器生成的样本多样性不足(即产生模式崩溃,生成器倾向于生成同一种样本)、缺乏对网络训练程度的可视化参数等.
BEGAN采用Wasserstein距离度量的思想设计损失函数,解决了原始GAN的训练难题。BEGAN与原始GAN的优化目标略有不同,原始GAN要求生成器生成的数据分布尽可能地拟合真实数据分布,BEGAN要求二者经自编码器(判别器)后的重建误差分布尽可能拟合。重建误差的计算公式为
式中: v表示判别器的输入数据; D(v)表示判别器 D的输出;η为范数选择参数,
BEGAN在训练时采用比例控制理论,保持生成器和判别器在训练时的平衡,即
式中:
为了松弛这一条件,BEGAN加入超参数
综上所述,BEGAN为了最小化2个误差分布的Wasserstein距离,将优化目标转化为求2个误差分布距离的下界. 经推导可知,最终优化目标为最小化
式中: z表示输入服从高斯分布的随机噪声,L(x)为真实数据的重建误差,L(G(z))为生成数据的重建误差。对于生成器来说,优化目标是使生成人脸图片的重建误差L(G(z))尽可能小,而判别器与之相反,在保证L(x)尽可能小的情况下,最大化生成图片的重建误差L(G(z))。
2. 网络结构
基于BEGAN的双路径人脸转正示意图如图1所示. 整个网络结构由生成器G、分类器C、判别器D 3部分组成,其中生成器G是分别对人脸细节部分、人脸整体两部分进行偏转的双通道结构,
图 1
2.1. 双路径的人脸合成
2.1.1. 单路径合成人脸效果对比
当利用传统的生成对抗网络生成人脸图片时,往往是将姿态偏转人脸图片和随机噪声z一同作为生成器的输入(即前述cGAN的网络结构). 其中姿态偏转图片为条件输入,在这种情况下,生成的正面人脸往往存在细节模糊、变形严重的问题。这是由于人脸是高度复杂的三维立体结构,单独输入偏转人脸整体会由于约束条件的缺乏而难以恢复出正脸图片. 将整体偏转人脸作为条件输入,在Multi-PIE(multiple images across pose,illumination and expression)数据集上得到偏转人脸转正结果,如图2所示.
图 2
从图2可以看出,单独输入偏转人脸会导致人脸中的细节信息丢失,生成人脸的质量大大下降. 这一点可以从中间和右侧图片对比可以看出,人脸的边缘轮廓不清晰,存在重影的问题,眼部和嘴部细节信息丢失严重.
2.1.2. 双路径人脸生成结构
考虑到单路径人脸合成时细节丢失严重的问题,在转正偏转人脸整体的基础上,通过加入局部细节信息,增加对人脸结构的约束条件,实现人脸结构的精准恢复.
采用双路径的人脸合成结构(结构示意图如图3所示),将偏转人脸以及对其提取的局部区域分别输入网络中,得到转正后的人脸轮廓及眼部、鼻部、嘴部等局部信息. 将两部分进行融合,得到最终的生成人脸图片. 双通道的网络结构都采用类似的编码-解码网络结构. 在将双通道的提取结果进行融合的过程中,将4部分局部区域的信息进行整合,将分辨率提高到与整体人脸图片一样(其中重叠区域部分取其中的最大值). 于是有了在同一分辨率下的双通道合成人脸图片,将这两部分同样大小的人脸一同输入到后续的卷积层中进行进一步的融合,得到最终的生成人脸图片
图 3
图 3 双路径生成正面人脸结构示意图
Fig.3 Diagram of two-pathway generator for generating frontalized faces
2.2. 对抗器及分类器介绍
2.2.1. 对抗器结构及损失函数设计
如图4所示为判别器结构示意图. 图中,
图 4
与DCGAN不同的是,本文将判别器设计为自编码器,得到
式中:
2.2.2. 分类器结构及损失函数设计
在进行人脸转正的过程中,保持人脸身份的一致性是其中最重要的部分. 在其他研究中,这一目标都通过在生成器中添加对应的损失函数来实现. 本文将分类器单独作为一个结构与生成器进行对抗,在生成器的训练过程中,进行不断地调整训练,与仅作为监督损失相比,该方法可以更好地保持人脸身份一致性并加速网络的收敛.
分类器C和判别器D联合起来与生成器G进行对抗,其中分类器C起到保持人脸身份的作用,判别器D保证生成人脸的质量. 分类器的结构示意图如图5所示. 图中,
图 5
式中:
3. 生成器损失函数设计
3.1. 对抗损失、逐像素级损失和人脸对称损失
设置生成器,分别与判别器及分类器进行对抗生成. 针对生成图片质量及保持身份的一致性,分别建立损失函数,即
生成器的对抗损失设计为这两部分的加权和,权重分别设为
在双路径网络结构中,建立合成的正面人脸与真实人脸之间的逐像素损失函数:
对双路径结构中的整体偏转人脸及局部人脸区域分别建立逐像素间损失,随后对二者融合后的输出建立逐像素间损失. TP-GAN在该过程中,在不同尺度上均建立了逐像素损失,由于采用了BEGAN结构,即使仅在一个尺度上建立逐像素损失函数,也能够生成高分辨率人脸图片,因此与TP-GAN相比,省去了繁琐的计算.
在默认情况下,人脸都是左右对称的,可以利用这一点对人脸建立对称性损失. 在人脸存在部分遮挡的时候,该损失可以显著提高图片质量.
3.2. 生成模型损失函数
生成器最终的损失函数可以表示为上述各损失的加权和,如下所示:
式中:
4. 结果与分析
4.1. 实验设置
该实验训练数据集为Multi-PIE数据集. 该数据集包含337个人、15种姿态在20种不同光照条件下的图片,图片数目超过了750 000张. 每张图片都有对应的身份信息标签. 选用同一种光照条件下的13种不同姿态图片,划分训练集及测试集. 在训练前对图片提取特征点,尺寸大小统一归一化为128×128并进行对齐,局部生成路径中的人脸各区域(双眼、鼻部、嘴部)的大小分别固定为40×40、40×40、32×40和32×48.
在Multi-PIE数据集中进行训练时,分别在Setting-1和Setting-2下开展.
1)Setting-1针对姿态、光照和微小表情的变化,只包含序列1(Multi-PIE中一共有4个序列)中的图片,包括这249人在20种光照变化下的11种姿态的图片. 其中149人用作训练,余下的100人用于测试,测试时无偏转角度的中性脸作为标准人脸.
2)Setting-2包含人脸姿态、光照和序列的变化情况,它包含了所有4个序列下的所有337个个体的无表情变化人脸. 包含13种姿态及20种光照条件下的不同人脸,其中前200人作为训练集,在137人组成的测试集中,将正面中性人脸作为标准人脸,其余均为实验样本.
对抗网络结构中的基本参数设置如下:batchsize、学习率分别设置为8、10−4,生成器中输入的随机噪声为100维,来自于(−1,1)的标准正态分布,参数
4.2. 结果分析
对偏转人脸进行转正的同时,保留了对应人脸的身份特征,因此对人脸转正和人脸识别2个方面进行实验分析. 人脸转正在Multi-PIE数据集及LFW(labeled faces in wild)数据集上进行,人脸识别效果通过在Multi-PIE上利用Light-CNN进行特征提取,计算人脸相似度来定量分析,将实验结果与其他方法进行对比.
4.2.1. 人脸转正
为了反映人脸转正的效果,截取Multi-PIE数据集中的部分人脸偏转结果,如图6所示. 图中,奇数列为真实人脸,偏转角度分别为90°、75°、60°、45°、30°和15°;偶数列为生成的正面人脸;最后一列为真实正面人脸. 如TP-GAN所述,当训练数据足够时,辅以特定的网络结构及精心的网络设计,即使偏转人脸角度达到±90°时,也可以得到转正后的人脸.
图 6
图 6 Multi-PIE人脸集不同角度下的人脸偏转结果
Fig.6 Synthesis results of face frontalization under varied poses on Multi-PIE dataset
4.2.2. 人脸识别
表 1 Multi-PIE人脸数据集在Setting-1下的人脸Rank-1识别率
Tab.1
表 2 Multi-PIE人脸数据集在Setting-2下的人脸Rank-1识别率
Tab.2
从实验结果可以看出,在各个角度下的生成人脸均已达到与TP-GAN相近的效果,其中本文在大角度偏转时人脸识别率更高;在±75°时,本文达到了93.2%的识别率,高于同角度下TP-GAN中的识别效果(84.1%),提高了近9.1%. 在Setting-1下,低于±30°下的实验结果略微低于TP-GAN,这可能是因为在±30°下,人脸识别近似为对正面人脸的识别,在近似正面人脸的识别中,现有的人脸识别率都达到了95%以上的效果,此时人脸识别率的细微差异意义不大. 本文的实验结果说明对TP-GAN网络结构的改进是有效的.
从表1可以看出,本文的方法相比于DR-GAN、TP-GAN、FF-GAN,基本都达到了相同角度下的最佳值;本文方法在大角度下的人脸识别效果得到了大幅度提高,说明本文对侧面人脸进行转正的方法对传统中人脸识别是非常有意义的尝试,对解决目前人脸识别难题中的姿态问题具有重要意义.
4.2.3. 鲁棒性测试
为了证明利用本文方法可以更加精准地对人脸进行转正,在LFW数据集上来验证本文方法对人脸验证的有效性(本文在Multi-PIE数据集上进行训练). 应用本文方法对LFW进行人脸转正的结果如图7所示. 从实验结果可知,本文方法能够很好地应用在其他数据集上,即本文方法有一定的鲁棒性.
图 7
图 7 不同方法在LFW数据集上的生成效果对比图
Fig.7 Synthesis results of different methods on LFW dataset
与其他结果对比可知,本文方法可以更好地对未受限场景下的人脸图片进行人脸转正.
4.3. 其余对比实验
4.3.1. 损失函数分析
表 3 不同结构模型在Setting-2下的Rank-1识别率对比
Tab.3
方法 | R/% | |||||
±90° | ±75° | ±60° | ±45° | ±30° | ±15° | |
w/o | 46.28 | 53.44 | 55.65 | 57.59 | 60.10 | 67.62 |
w/o | 54.65 | 65.45 | 80.39 | 87.05 | 92.89 | 94.49 |
w/o | 68.93 | 78.32 | 85.20 | 93.96 | 95.37 | 97.58 |
w/o | 67.06 | 76.83 | 86.73 | 93.78 | 96.35 | 97.06 |
本文方法 | 70.02 | 80.60 | 89.70 | 95.98 | 98.72 | 98.90 |
图 8
图 8 不同结构模型(损失函数不同)的生成效果对比图
Fig.8 Model comparison:synthesis results using different loss function
在缺失判别器D时,人脸图片的生成效果大大下降,图片模糊的同时有大量高频信息. 在没有对人脸进行对称生成(缺失
4.3.2. 训练时间对比分析
本文方法在配备有Nvidia GeForce GTX 1080显卡的电脑上运行,由于本文方法与TP-GAN结构相比,增添了单独的分类器结构,从而会增添网络的训练时间,降低网络训练的效率. 采用的BEGAN结构相比于原方法中的DCGAN结构,训练更简捷方便(详见文献[18]),可以加速网络收敛. 记录本文方法与TP-GAN方法的训练时长T并进行比较(训练时长T即两者到达网络收敛时所历经时长). 为了便于比较,假设在Multi-PIE数据集上的人脸Rank-1识别率无提升时可以认定为网络收敛. 在同一台电脑上分别运行2种方法,将两者的batchsize都设为8,epoch设为150,得到本文方法所需的训练时长约为61.5 h,TP-GAN的训练时长约为54 h。这表明本文方法相较于TP-GAN方法的计算耗时略有增加,约增加了14%. 可以看出,两者的计算效率总体差别不大,在可接受范围之内. 从表1、2可以看出,本文方法对大角度偏转人脸而言,转正效果更好,且本文的BEGAN网络结构更加简洁高效,对生成对抗网络的结构进行了有意义的探索. 在计算效率大致相同的条件下,本文方法对偏转人脸转正的效果更好,表明本文方法具有更高的精度.
5. 结 语
本文针对双路径人脸生成模型生成正面人脸,作出结构上的改进,能够在保证生成图片质量、保持人脸身份特征的同时使得网络能够快速收敛. 采用基于BEGAN的网络结构,同时采用双通道人脸生成的方法,相比Huang等[13-14]的双路径网络结构训练更加稳定高效,实现生成样本的多样性及网络收敛程度的可视化. 添加Light- CNN分类器作为生成对抗网络中的第3个结构与生成器对抗,与将身份一致性损失仅作为监督损失相比,从结构上添加身份约束能够在更好地保持身份的同时,加速网络收敛. 通过实验证明,单独将分类器作为一个结构,可以更好地保留人脸身份. 实验结果表明,本文方法对提高生成正面人脸的质量有着重要意义,可以更好地解决非受限情境下的人脸识别问题. 本文提出的对GAN结构的修改对其他应用GAN的情况是一种新的尝试.
参考文献
Maximal likelihood correspondence estimation for face recognition across pose
[J].DOI:10.1109/TIP.2014.2351265 [本文引用: 1]
Face recognition by elastic bunch graph matching
[J].
Pose-robust recognition of low-resolution face images
[J].
A light CNN for deep face representation with noisy labels
[J].DOI:10.1109/TIFS.2018.2833032 [本文引用: 1]
Unconstrained pose-invariant face recognition using 3D generic elastic models
[J].DOI:10.1109/TPAMI.2011.123 [本文引用: 1]
Inverse] rendering of faces with a 3D morphable model
[J].DOI:10.1109/TPAMI.2012.206 [本文引用: 1]
/
〈 |
|
〉 |
