中国科学院大学学报  2023, Vol. 40 Issue (2): 268-279   PDF    
面向识别的人脸三维信息估计
陈汉钦1, 秦进2, 赵彤1,3, 阎瑶1     
1. 中国科学院大学数学科学学院, 北京 100049;
2. 中国科学院大学计算机与控制学院, 北京 101408;
3. 中国科学院大数据挖掘与知识管理重点实验室, 北京 100049
摘要: 三维人脸识别相较当前流行的二维人脸识别具有识别精度高、防伪强度高的优势,代表了人脸识别的发展方向。因三维人脸的采集成本高昂,目前三维人脸识别无法像二维人脸识别方法那样直接借助海量人脸数据建立、优化识别算法。如何准确、高效地获取三维人脸的增广训练数据是推动三维人脸识别应用发展中最为迫切的问题。当前学术界的大量文献主要聚焦在如何得到更好的三维人脸重建可视化效果,而没有对后续的识别任务多加考虑,以至于用这些重建图像训练的三维人脸识别算法难以达到令人满意的效果。针对这一问题,提出一种面向识别的人脸三维信息估计方法。与一般方法不同,该方法直接在信息估计与后续识别之间建立互动桥梁:在人脸三维信息估计的训练过程中直接借助相应的识别网络来督促提高三维人脸信息的估计效果。为此,先构造一种三维人脸信息表示——深度-表面法向量图(DN图),然后通过真实三维数据集训练一个人脸CycleGAN模型,该模型用以学习一种从二维人脸到DN图的保留身份信息的映射并用U-Net网络的形式对其进行表示。在5个数据集上与其他方法进行了比较实验,其中在ND-2006数据集中的提升尤为显著,提高31.8%。此外,进行了数据增广下性能提升的对比实验,在同样条件下做数据增广,基于人脸CycleGAN的增广方法性能上的提升更加明显,在CASIA 3D数据集上的提高幅度达14.9%。
关键词: 人脸三维信息估计    循环生成对抗网络    人脸DN图    身份保留损失    参数预训练    
Recognition-oriented facial 3D information estimation
CHEN Hanqin1, QIN Jin2, ZHAO Tong1,3, YAN Yao1     
1. School of Mathematical Sciences, University of Chinese Academy of Sciences, Beijing 100049, China;
2. School of Computer and Control, University of Chinese Academy of Sciences, Beijing 101408, China;
3. Key Laboratory of Big Data Mining and Knowledge Management, Chinese Academy of Sciences, Beijing 100049, China
Abstract: 3D face recognition has the advantages of recognition accuracy and anti-counterfeiting strength over the popular 2D face recognition, and represents the development direction of face recognition. Due to the high cost of 3D facial acquisition, 3D facial recognition can not establish and optimize face recognition algorithms directly rely on massive face data as 2D facial recognition methods. How to obtain augmented training data for 3D faces accurately and efficiently is the most pressing problem in driving the development of 3D face recognition applications. A large amount of related research focuses on how to get better 3D face reconstruction visualization, but does not give much consideration to the subsequent recognition task, so that the recognition accuracy of 3D face recognition algorithms trained with these reconstructed images is much lower than expected. To address this problem, a recognition-oriented method for estimating facial 3D information is proposed. Different from the general method, this method directly builds an interactive bridge between information estimation and subsequent recognition: during the training process of 3D face information estimation, it directly bases on the corresponding recognition network to supervise and improve the estimation effect of 3D face information. For this purpose, we first construct a 3D face information representation, the depth-surface normal vector map (DN map), and then train a facial CycleGAN model with a real 3D dataset to learn a mapping from 2D face to DN map with preserved identity information and represent it in the form of U-Net network. Experiments are conducted on five datasets to compare with other methods, and the improvement is particularly significant in the ND-2006 dataset, with an improvement of 31.8%. In addition, experiments on performance improvement under data augmentation are conducted, here the performance improvement of the augmentation method based on the facial CycleGAN is more obvious under the same conditions of data augmentation, with a maximum improvement of 14.9% on the CASIA 3D dataset.
Keywords: facial 3D information estimation    cycle generative adversarial networks    facial DN map    identity preserving loss    parameter pre-train    

作为一种高度非接触性的生物识别技术[1],人脸识别在各个领域中都有着广泛的应用前景,如人机交互、访问控制、视频监控等,不一而足。

近年来,随着深度卷积神经网络(CNN)的不断发展,二维人脸识别的性能得到了显著提升[2-5]。究其因由,从大量可适用训练数据中可以学习到不同维度的人脸特征,从而更好地应用于识别。即便如此,二维人脸识别仍然受到光照、姿态和遮挡等因素的限制,在无约束场景下的识别性能并不使人满意。相较而言,引入三维信息的人脸识别则可以很好地应对这些限制。但是,三维人脸数据的获取代价十分高昂,三维人脸识别的深度学习方法常常受限于可用数据的不足而难以对神经网络进行充分的训练。即使是当前最大的公开三维人脸数据集ND-2006[6],也仅仅包含888个身份下的13 450张图片,相对于二维人脸识别网络训练中动辄百万、千万级的数据,无疑杯水车薪。

为应对三维数据稀缺的问题,研究者们提出一系列数据增广的方法,其中三维人脸图像在姿态、表情等方面上的增广已经取得了一些令人满意的进展。与之相反,身份增广方面的研究成果则相对匮乏,然而身份信息相对姿态、表情等信息对于识别任务而言显然更加重要,因此仍然有着十分重要的研究意义。当前关于三维人脸数据的身份增广研究,大体上可以分为两类:一是从二维人脸数据集出发,从二维人脸图像中重建出三维人脸[7-9];二是基于真实三维数据集,通过对三维人脸进行稠密对齐,进而合成虚拟身份[10-11]。第1类采用重建方法生成的三维人脸常常会受限于构造的人脸模型而表现得极为相似,基于这些重建三维人脸训练而成的网络一方面难以收敛,另一方面也难以保证在后续识别任务中得到足够好的识别性能。第2类方法引入非线性,能够给增广的三维人脸带去足够的变化,基于这些增广数据进行训练能够得到较好的识别性能。然而这类方法要求精确的稠密对齐[12-14],需要经过大量的计算以及复杂的算法操作,难以准确实现。此外,其增广数据的规模也受限于原始三维数据的规模。

本文提出一种新方法来应对这一身份增广问题,即通过深度神经网络的方式来学习一种二维到三维的映射关系,进而实现三维数据的增广。考虑到通过深度信息和法向量信息即可很好地对三维人脸进行表示,在本文中,我们训练了一个生成网络来学习从二维人脸图像到深度-表面法向量图(depth-surface normal vector map, DN图)的最优映射关系,以此来从二维人脸中提取出适用于识别的三维信息。如今,许多网络都可以学习这样的图像映射关系,其中,于2017年提出的Pix2Pix[15]就是一种广为人知的方法。但是,在后续识别任务的要求下,我们所估计得到的DN图应当尽可能地保留身份特征信息。而显然,仅仅考虑对抗损失以及逐像素损失的Pix2Pix方法并不足以支撑这样的需求。基于此,在大量化妆-不变人脸数据生成工作[16]的启发下,本文进一步引入循环一致性损失和感知损失[17]以达到这一目的。其中,循环一致性损失包含2个循环再生成误差,一是再生成的二维图像和真实二维图像之间的误差,二是再生成的DN图和真实DN图之间的误差。而感知损失[17]则是通过减少2张图像高维特征间的误差来尽可能保留感知相似性。这里通过一个预训练人脸识别网络中的最后一层隐藏层来表示人脸图像的高维特征。总体上说,采用U-Net结构替换原始CycleGAN[18]中的ResNet结构,并结合上述提及的4种损失,对CycleGAN进行修改,使得估计出的DN图能够更加符合面向识别的需求。

为得到这一人脸CycleGAN模型,直观的想法是利用真实的三维人脸数据集进行训练。然而,实验结果表明,单纯使用ND-2006[6]数据集进行训练所得到最优映射生成的DN图并不足以应对后续的识别要求。这一方面归咎于数据的不足导致得到的最优映射并没有足够的泛化性能;另一方面因ND-2006[6]本身包含的图像仅有-15°~15°的偏转角度,仅用其进行训练得到的最优映射无法覆盖一些较大偏转角的情况。因此,本文通过2种数据增广方式分别应对这两方面的问题。一方面,通过现有的重建方法PRNet[8]基于大量二维数据生成相应的DN图,以此增强模型的泛化性能。其中,由于循环一致性损失和身份保留损失的约束,模型对DN图有着较高的精确度要求以使得模型最终能够收敛。而这些重建的粗糙DN图显然达不到要求。为此,与直接使用数据进行训练的方法所不同,本文通过这些粗糙的DN图及其相应二维图像分别先训练人脸CycleGAN的前向和反向过程(类似于对2个Pix2Pix进行训练),进而将这训练好的模型参数作为人脸CycleGAN的模型初始参数以便于后续的精细化训练。另一方面,直接对ND-2006[6]中的数据做偏转的扰动,通过增加角度偏转的数据增强模型在多角度上的泛化性能,考虑到旋转过程中二维图像信息的丢失,我们仅在-60°~60°的偏转角范围内进行随机扰动。

简而言之,本文的贡献主要有以下3个方面:

1) 提出一种三维人脸的二维图像表示方法:现有的神经网络大多是面向二维图像的,三维图像因为表示方式的不同而难以适用,直接基于三维图像构造的网络则因层数太少以及训练数据的匮乏而难以得到令人满意的效果。本文构造一种DN图对人脸三维信息进行表示,这种DN图兼顾了深度信息和表面法向量的信息,可以通过二维的方式很好地表现出三维信息;

2) 提出一种从单幅二维人脸图像生成三维人脸DN图的深度学习方法:面对三维人脸数据稀缺的问题,本文着眼于最为困难的身份增广问题,提出一种人脸CycleGAN模型有效地从单一的二维人脸图像中估计出相应的DN图像,进而实现身份增广。不同于一般想法,本文利用后续的识别任务反向督促生成过程,在估计DN图的过程中,就同时在像素级(循环一致性损失和逐像素损失)和图像级(身份保留损失)上对模型进行约束,使得估计得到的DN图能够保留足够身份信息以便后续的识别任务;

3) 设计训练方法来应对网络泛化能力不足的问题:基于训练数据不足而导致模型缺乏泛化能力的问题,直接利用大量粗糙数据进行训练会导致模型难以收敛。面对这种情况,本文一方面利用大量粗糙的DN图对模型的生成器(Generator)和判别器(Discriminator)结构进行预训练来初始化网络参数以增强模型的泛化性能,另一方面,通过对真实数据做扰动来应对多角度数据不足的情况。这种数据增广思路有较强的可扩展性,可以扩展到其他的一些数据规模不足的深度学习任务中。

1 人脸CycleGAN模型

为实现面向识别的人脸三维信息估计目标,先对数据进行相应的预处理使之能够更好地适用于后续的DN图估计过程。数据预处理的过程将在1.1中进行详细阐述,而在1.2节中则对二维人脸与DN图之间映射关系的学习过程加以论述。本文提出方法的主体框架如图 1所示。首先,逐一对真实三维数据集中的数据构造相应的DN图像数据。接着,对每幅二维图像及其对应的DN图进行背景去除和对齐处理。然后对每个2D-DN图像对做同样的偏转扰动以用于后续人脸CycleGAN的训练。最后,对人脸CycleGAN进行充分训练后,可以获得合适的最优映射关系(U-Net网络的形式)使之能从二维图像中估计出相应的DN图。

Download:
图 1 提出方法的主体框架 Fig. 1 The main framework of the proposed method
1.1 数据预处理

在这一部分中,对原始数据做相应的预处理,以生成大量适用于后续训练人脸CycleGAN的2D-DN图像对。如图 2所示,预处理的过程主要包含4个步骤:1)从原始三维数据集中构造出相应的DN图,以二维图像的形式对三维信息进行表示,有利于简化估计三维信息的过程;2)为了尽可能避免背景信息的不可预知性在三维信息估计过程中的影响,对原始的二维图像做背景去除处理;3)对齐二维图像和相应的DN图,基于对齐后的2D-DN图像对进行训练有利于加速人脸CycleGAN模型的收敛;4)对处理后的二维图像和相应的DN图做同样的偏转扰动,从而生成多角度图像对用于后续训练,以增强模型在多角度图像上的泛化性能。

Download:
图 2 数据预处理过程的流程图 Fig. 2 The flow chart of data preprocessing

从原始三维数据集中构造出相应DN图的过程中,由于采集设备的不同,采集得到的三维人脸数据格式难以统一。虽说如此,不同格式下的三维数据集总是包含着顶点的坐标信息。考虑到深度信息是三维人脸与二维人脸间的最大区别,而通过表面法向量信息则可以在深度信息基础上进一步判断人脸的朝向,根据深度信息和表面法向量信息已然可以对三维人脸进行很好的表示。为此,本文根据顶点坐标信息提取出对应的深度信息和表面法向量信息,从而对三维人脸进行表示。对于给定的三维人脸数据,一方面,先对其进行投影再归一化来获取相应的深度信息,其可视化结果如图 3(a)所示;另一方面,利用主成分分析(PCA)方法获取每个顶点所对应的表面法向量,以 n=(x, y, z) 的形式表示,然而这种坐标表示的形式存在坐标值不可界定的问题而难以用于神经网络的训练。考虑到球坐标系表示 (r, θ, α) 中,r 必定为正值,θα 可利用角度的周期性关系转化为正值,由此可应用于网络中。所以,本文将其转换成球坐标进行表示:n=(255, θ, α)T,其中θ=arctan($\sqrt{x^2+y^2} / z $) 为俯仰角,α=arctan(y/x) 为方位角,且有 θ∈[0, π/2], α∈[0, 2π] ,进而为了增强这些角度的区分程度以便更好地突出不同角度的信息,将 θα 分别乘以定值 510/π、127.5/π ,使得 θ∈[0, 255], α∈[0, 255] 。而不能直接对 θα 做归一化处理,归一化将导致角度信息失真。其相应的表面法向量图像如图 3(b)所示。通过整合以上两方面的信息,以 dn=(d, θ, α)T的形式表示前文中所定义的DN图(如图 3(c)所示),其中 d, θ, α 分别为深度值、俯仰角和方位角。

Download:
图 3 DN图的构造 Fig. 3 The construction of DN map

经过上述步骤,即可从原始三维数据集中提取出相应的二维图像及DN图。进而,为了便于后续人脸CycleGAN网络的训练,需要将二维图像及DN图像放缩成256×256的图像大小并进行对齐。为此,首先基于MTCNN[19]人脸检测方法检测并将二维人脸图像裁剪成256×256的大小(如图 4(a)所示),同时记忆检测得到的边框坐标,以此提取出相应的DN图(256×256)。紧接着,利用一个预训练好的PRNet[8]网络对二维图像(256×256)进行处理,生成相应的UV位置映射图,进而得到相应的深度图模板(如图 4(b)所示)。这一深度图模板与二维人脸间相互对齐且已经去除了无关的背景信息。由此,直接利用逐像素的AND操作,就可以获得背景信息去除后的“干净”2D人脸图像(如图 4(c)所示)。类似地,利用同样的AND操作可以得到“干净”DN图像。进而可获得适用于后续人脸CycleGAN训练的“干净”2D-DN图像对。

Download:
图 4 “干净”2D人脸的构造 Fig. 4 The construction of clean 2D face

此外,由于ND-2006[6]数据集本身仅包含正面的人脸图像,而其他公开数据集中侧面人脸图像的数据规模也不足以应用于深度学习的训练。因此,通过为现有三维数据添加偏转扰动的方式以对侧面人脸数据做增广,进而可增强生成模型在侧面人脸上的泛化性能,其效果如图 5所示。由于相应二维人脸数据偏转后存在信息缺失,大幅度的偏转将导致较大的失真,为此仅在[-60°, 60°]范围内进行随机偏转。

Download:
从左至右分别为0°、15°、30°、45°、60°、75°、90°偏转 图 5 2D-DN图像作偏转可视化结果 Fig. 5 2D-DN map in different deflections (from left to rights 0°, 15°, 30°, 45°, 60°, 75°, and 90°)
1.2 DN图估计

这一部分旨在获取二维人脸图像及人脸DN图之间的最优映射关系,该映射关系下生成的人脸DN图将适用于后续的识别任务。正如图 6所示,将“干净”的2D人脸图像以及“干净”的人脸DN图成对输入到一个人脸CycleGAN网络中进行训练以便获取上述提及的最优映射关系。与一般CycleGAN[18]相类似,本文提出的人脸CycleGAN同样包含一个前向网络流(如图 6中红色箭头流所示):输入2D图→生成DN图→循环2D图;以及一个后向网络流(如图 6中蓝色箭头流所示):输入DN图→生成2D图→循环DN图。而在生成网络方面,受到Pix2Pix[15]在图像到图像翻译效果的启发,使用能够同时保留高维和低维信息的U-Nets[20]结构替代原始CycleGAN中的ResNets[21]结构。事实上,与ResNet相比,U-Net结构在下采样和上采样过程中的同一维度都建立了跳级连接以尽可能地保留细节信息。为了让生成的DN图尽可能具有面向识别的特性,将感知损失[17]引入到网络的训练过程中以更多地保留身份信息。感知损失在这里被定义为身份保留损失,意为确保生成网络能够获取到足够的内在身份信息,这一损失用于量化生成的DN图与相应真实DN图之间的身份相似程度。

Download:
图 6 DN图估计过程的流程图 Fig. 6 The flow chart of DN map estimation

显然,尽可能多保留原有细节信息的DN图在后续识别任务上有着更优越的区分性能。因此,为尽可能地减少估计过程中细节信息的丢失,本文通过引入逐像素损失和原始的循环一致性损失[18]来强化这些信息。为表述方便,这里定义 X为二维人脸图像, $\boldsymbol{Y}$为人脸$\mathrm{DN}$图, $\boldsymbol{G}: \boldsymbol{X} \rightarrow \boldsymbol{Y}$表示从$\boldsymbol{X}$映射到$\boldsymbol{Y}$的生成器, 而$\boldsymbol{F}: \boldsymbol{Y} \rightarrow \boldsymbol{X}$则表示从$\boldsymbol{Y}$映射到$\boldsymbol{X}$的生成器(如图 6所示)。同时定义训练样本为$\left\{\boldsymbol{x}_\boldsymbol{i}\right\}_{i=1}^N$以及$\left\{\boldsymbol{y}_\boldsymbol{i}\right\}_{i=1}^N$, 其中$\boldsymbol{x}_\boldsymbol{i} \in \boldsymbol{X}, \boldsymbol{y}_\boldsymbol{i} \in$ $\boldsymbol{Y}$, 定义相应的数据分布为$\boldsymbol{x} \sim P_{\text {data }}(\boldsymbol{x})$以及$\boldsymbol{y} \sim P_{\mathrm{data}}(\boldsymbol{y})$

因为CycleGAN[18]中包含一个前向网络和一个后向网络,相对应地,也就需要满足2个对抗损失的约束。在本文中,对于生成器 G: XY 以及对应的判别器 DY ,需要满足约束

$ \begin{array}{c} \mathcal{L}_{\text {GAN }}\left(\boldsymbol{G}, \boldsymbol{D}_\boldsymbol{Y}, \boldsymbol{X}, \boldsymbol{Y}\right)=\mathbb{E}_{\boldsymbol{y} \sim P_{\text {data }}(\boldsymbol{y})}\left[\log \boldsymbol{D}_{\boldsymbol{Y}}(\boldsymbol{y})\right]+ \\ \mathbb{E}_{\boldsymbol{x} \sim P_{\text {data }}(\boldsymbol{x})}\left[\log \left(1-\boldsymbol{D}_{\boldsymbol{Y}}(\boldsymbol{G}(\boldsymbol{x}))\right)\right], \end{array} $ (1)

其中:G 用于生成满足域 Y 中图像分布的图像,而 DY 旨在判别出 G(x) 与 y 的真假性。类似地,生成器 F: YX 以及判别器 DX 所对应的对抗损失为

$ \begin{array}{c} \mathcal{L}_{\text {GAN }}\left(\boldsymbol{F}, \boldsymbol{D}_\boldsymbol{X}, \boldsymbol{Y}, \boldsymbol{X}\right)=\mathbb{E}_{\boldsymbol{x} \sim P_{\text {data }}(\boldsymbol{x})}\left[\log \boldsymbol{D}_\boldsymbol{X}(\boldsymbol{x})\right]+ \\ \mathbb{E}_{\boldsymbol{y} \sim P_{\text {data }}(\boldsymbol{y})}\left[\log \left(1-\boldsymbol{D}_\boldsymbol{X}(\boldsymbol{F}(\boldsymbol{y}))\right)\right] . \end{array} $ (2)

为实现面向识别的目的,需要尽可能地将不同身份下的人脸区分开来。为此,引入1个循环一致性损失,1个身份保留损失和2个逐像素损失。其中循环一致性损失又可以分为前向循环一致性损失和后向循环一致性损失(如图 6所示),具体而言,分别用于前向过程 xG(x)→F(G(x))≈x 以及后向过程 yF(y)→G(F(y))≈y 。所以循环一致性损失可以表示为

$ \begin{array}{c} \mathcal{L}_{\text {cyc }}(\boldsymbol{G}, \boldsymbol{F})=\mathbb{E}_{\boldsymbol{x} \sim P_{\text {data }}(\boldsymbol{x})}\left[|| \boldsymbol{F}(G(x))-\boldsymbol{x}||_1\right]+ \\ \mathbb{E}_{\boldsymbol{y} \sim P_{\mathrm{data}}(\boldsymbol{y})}\left[|| \boldsymbol{G}(\boldsymbol{F}(\boldsymbol{y}))-\boldsymbol{y}||_1\right] . \end{array} $ (3)

同时,用于保持感知相似性的感知损失[17]被视作身份保留损失来提升模型获取身份保持的能力。本文利用一个预先训练好的ResNetFace识别网络的相应特征层来构造这一身份保留损失

$ \mathcal{L}_{\text {identity }}(G)=\mathbb{E}_{\boldsymbol{x}, \boldsymbol{y}}\left[|| \text { fea }(\boldsymbol{G}(\boldsymbol{x}))-\operatorname{fea}(\boldsymbol{y})||_1\right], $ (4)

其中这一识别网络是用扩展后的ND-2006数据集中DN图预训练好的Arcface[2]识别模型中的内置网络。这种身份保留损失能够促使估计得到的DN图与真实DN图在深度特征空间上尽可能地相似。

此外还引入了2个逐像素损失,其通过减少像素间的差异获取更好的生成效果

$ \begin{array}{c} \mathcal{L}_{\text {pixel }}(\boldsymbol{G}, \boldsymbol{F})=\mathbb{E}_{\boldsymbol{x}, \boldsymbol{y}}\left[|| \boldsymbol{G}(\boldsymbol{x})-\boldsymbol{y}||_1\right]+ \\ \mu \mathbb{E}_{\boldsymbol{x}, \boldsymbol{y}}\left[|| \boldsymbol{F}(\boldsymbol{y})-\boldsymbol{x}||_1\right] . \end{array} $ (5)

鉴于识别的目的,生成DN图与真实DN图之间的逐像素损失相较于二维图像间的逐像素损失应占据更大的权重,因此通过参数 μ(>1) 对此进行加权。

至此得到整个目标函数

$ \begin{array}{c} \mathcal{L}\left(\boldsymbol{G}, \boldsymbol{F}, \boldsymbol{D}_\boldsymbol{X}, \boldsymbol{D}_\boldsymbol{Y}\right)=\mathcal{L}_{\mathrm{GAN}}\left(\boldsymbol{G}, \boldsymbol{D}_\boldsymbol{Y}, \boldsymbol{X}, \boldsymbol{Y}\right)+ \\ \mathcal{L}_{\text {GAN }}\left(\boldsymbol{F}, \boldsymbol{D}_\boldsymbol{X}, \boldsymbol{Y}, \boldsymbol{X}\right)+\lambda_1 \mathcal{L}_{\text {cyc }}(\boldsymbol{G}, \boldsymbol{F})+ \\ \lambda_2 \mathcal{L}_{\text {identity }}(\boldsymbol{G})+\lambda_3 \mathcal{L}_{\text {pixel }}(\boldsymbol{G}, \boldsymbol{F}), \end{array} $ (6)

其中: λ1λ2λ3 分别用来控制这3个损失函数在模型训练过程中的重要程度。通过优化这一目标函数,进而获取最优的 G*F*

$ \boldsymbol{G}^*, \boldsymbol{F}^*=\arg\min\limits_{\boldsymbol{G}, \boldsymbol{F}}\max\limits_{\boldsymbol{D}_\boldsymbol{X}, \boldsymbol{D}_\boldsymbol{Y}}\mathcal{L}\left(\boldsymbol{G}, \boldsymbol{F}, \boldsymbol{D}_\boldsymbol{X}, \boldsymbol{D}_{\boldsymbol{Y}}\right). $ (7)

基于前人的工作[18],人脸CycleGAN的优化过程就是在估计2个自编码器:$ \boldsymbol{F} \circ \boldsymbol{G}: \boldsymbol{X} \rightarrow \boldsymbol{X}$以及$\boldsymbol{G} \circ \boldsymbol{F}: \boldsymbol{Y} \rightarrow \boldsymbol{Y} $。然而,不同于一般的CycleGAN[18],人脸CycleGAN以“干净”2D图和“干净”DN图作为成对输入,期望得到一种面向识别的人脸DN图估计方法,而不仅仅只是进行风格迁移。因此,人脸CycleGAN判别器的目标未发生变化,而生成器在保留混淆判别器这一目标的同时还促使着生成的DN图与真实的DN图尽可能接近。实际上,对于给定的训练集 {xi, yi}i=1N ,式(7)的最优解为 G*: G*(xi)=yiF*: F*(yi)=xi 。然而,在深度神经网络的训练中,这种确定性的情况是难以实现的,我们通过4种损失来趋近这一结果以便在可视化性能(对抗损失和逐像素损失)及保留身份特征(循环一致性损失和身份保留损失)上都能取得令人满意的结果。

经过上述的训练过程,即可学习到“干净”2D人脸和人脸DN图之间的最优映射关系。然而,由于训练数据的不足,得到的模型缺乏泛化性能。考虑到二维人脸在数据规模上具有的庞大基础,我们基于现有的重建方法[8]从大量二维人脸图像中生成出粗糙的2D-DN人脸对来训练得到模型的初始化参数,以增强模型的泛化性能。由于这些生成的DN图之间区分度不高,直接利用这些生成的2D-DN图像对进行训练将导致模型难以收敛。是故与一贯的利用这些数据直接进行模型参数预训练不同,我们利用这些粗糙数据分别训练2个Pix2Pix[15]来构造人脸CycleGAN的初始参数。如图 6所示,前向流中包含一个Pix2Pix网络(生成器 G 以及判别器 DY )以及后向流中Pix2Pix的生成器 F ;类似地,后向流中包含一个Pix2Pix网络(生成器 F 以及判别器 DX )以及前向流中Pix2Pix的生成器 G 。因此,通过2个预先训练好的Pix2Pix即可包含人脸CycleGAN中全部参数,使之无需从头学习。通过这种方式可以将从大量数据中学到的泛化特征应用到人脸CycleGAN中,从而极大地增强模型在不同数据集上的泛化能力。

当人脸CycleGAN网络训练完成后,通过提取生成器 G 作为最优映射,即可实现面向识别的三维信息估计。图 7列举了一些“干净”2D图、生成DN图、真实DN图,以便进行综合比较。

Download:
图 7 基于人脸CycleGAN的生成结果 Fig. 7 Generated results based on facial CycleGAN
2 实验

实验主要分成3个部分。在对实验细节进行详细阐述之前,2.1节先对人脸CycleGAN的具体实现做个简要说明。2.2节则主要对本文提出的方法在后续识别任务中的性能进行分析,通过与其他的重建方法进行对比来看本文提出方法是如何面向识别的。在2.3节,进行了腐蚀实验来分析不同的策略单元在本文提出方法上各自所起到的作用。

2.1 人脸CycleGAN的实施细节

人脸CycleGAN网络的训练都是在显卡(GeForce RTX 2080 Super)上进行的。在每次迭代训练中随机输入1个训练样本,学习速率初始设置为0.000 2。对于前100个周期,保持相同的学习速率0.000 2,然后在接下来的100个周期内线性衰减,一共训练200个周期。其中超参数 μ, λ1, λ2, λ3 分别设置为2, 10, 20, 5。

在人脸CycleGAN的训练中需要先满足2个前提条件。其一是对人脸CycleGAN的网络(即2个U-Net结构和2个Discriminator结构)进行参数初始化。为此,先通过一个训练好的PRNet网络从CASIA[22]数据集中生成大量的DN图,并构成相应的2D-DN图像对(其中共生成了1 000个身份下10万幅图像)。紧接着基于这些2D-DN图像对,分别训练2个Pix2Pix[15]网络,一个从2D人脸映射到人脸DN图,而另一个则刚好相反。通过训练2D→DN的Pix2Pix网络,将学习到的参数赋值给生成器 G 以及判别器 DY ,以作为其初始参数。类似地,生成器 F 以及判别器 DX 采用同样的方式进行了参数的预设。

第2个需要满足的前提条件则是对用以提取身份特征的识别网络进行预训练。本文选择ArcFace[2]中使用的18层ResNet的改进版本作为该识别网络。在人脸CycleGAN的训练过程中,这一训练好的网络用以作为身份保留损失中提取身份特征的网络,将最后一层全连接层的输入作为相应的身份特征表示。对于这一识别网络,将前文所说的扩展ND-2006数据集中的大量DN图作为训练样本进行训练,并保存相应参数作为后续人脸CycleGAN训练过程中的一个固有模块。满足这2个先决条件之后,即可利用扩展ND-2006数据集中的“干净”2D人脸以及相应的“干净”人脸DN图对人脸CycleGAN进行训练。需要注意的是,预训练识别网络的训练集与后续应用于人脸CycleGAN的训练集应保持一致以便更好地提取身份信息。在人脸CycleGAN训练完成之后,接下来将通过一系列实验论述所提出的三维信息估计方法是如何面向识别的。

2.2 识别性能

这一小节对基于本文提出方法生成的DN图训练得到的识别网络的性能进行分析。为更好地说明人脸CycleGAN的性能,这里通过与其他的人脸重建方法(如3DDFA[23]、3DMM-CNN[24]、PRNet[8]、3DDFA-V2[25])进行对比。由于这些重建方法生成相应DN图的过程需要较长的时间,为方便起见,仅在公开2D数据集CASIA[22]中的1万幅2D人脸图像上进行实验,分别使用不同方法生成相应的DN图像,并利用这些不同方法生成的图像集训练相应的ArcFace[2]识别网络。进而通过对比这些识别网络应用在三维数据集(ND-2006[6]、3D-TEC[26]、CASIA 3D[27]、Bosphorus[28]、TexasFRD[29])上的识别性能比较不同方法生成的DN图像在面向识别这一任务上的优劣。实验中,使用rank-1识别准确率作为评估标准对此进行比较。

实验结果如表 1所示,从中可以看出,利用人脸CycleGAN生成DN图训练的识别网络性能要优于其他方法,特别是在ND-2006[6]数据集上,与其他方法相比,有着超过30%幅度的提升。同时,图 8对5种方法在5个数据集下的ROC曲线进行对比,其结果也验证了这一结论。

表 1 基于不同方法在5个数据集下的rank-1识别准确率比较 Table 1 Comparison of rank-1 recognition accuracy on five datasets with different methods

Download:
图 8 5个数据集下的ROC曲线图 Fig. 8 The ROC curves on five 3D datasets

为评估训练数据规模增加时识别准确率的提升,在表 1的基础上构造了表 2,用以研究识别性能随着生成DN图数量规模增加而产生的变化。从表 2可以看出,当训练数据规模增加时,可以获得更加准确的识别率,并且随着训练数据规模的不断增加,其识别性能也在不断提升。其中,当训练数据规模增加时,其识别性能总体上呈先快速增加再缓慢增加的趋势。特别是当数据规模从10万提升到15万时,可以看出其提升已经较为平稳,提升的幅度并不多。由此,可以断言,当训练数据规模不断增加时,对识别性能提升的促进作用逐渐减小,性能上的提升会越发缓慢,直到达到一个峰值,其后保持平稳。这一峰值主要受限于DN图估计网络的性能,可以推测,当DN图估计网络的性能越好,利用这一网络生成的DN图像越真实越具有区分度,峰值的达到时间会更晚,其值也会更高。因此,如何在有限的训练数据规模下,通过更好地添加约束策略进一步提升DN图估计网络的性能将会是后续的一个研究方向。

表 2 基于不同生成规模在5个数据集下的rank-1识别准确率比较 Table 2 Comparison of rank-1 recognition accuracy on five datasets with different generation scale

考虑到本文提出方法的应用场景,即三维人脸的数据增广。接下来将通过一些实验来说明在现有三维人脸数据集上做数据增广是如何获得更优识别性能的。选择目前最大的公开数据集ND-2006[6]作为增广的数据基础。同样考虑到重建方法在生成相应DN图的时间复杂度,仅使用了CASIA[22]数据集中300个新ID下的1万张2D图像进行增广实验。为进一步说明,在这一部分中添加了10万幅图像进行增广的实验以作补充。表 3中对增广前后的准确率性能做出了定量的表示。由表 3可见,在添加300个ID的增广数据下,识别准确率在3D-TEC、ND-2006及TexasFRD上只是略有提升,而在CASIA 3D及Bosphorus上提升较大。这是因为作为基的ND-2006数据集中大体都是正面数据集,而CASIA 3D及Bosphorus中都有着相当一部分的侧面数据,增广过程带来的侧面数据给识别模型带来了较大的关于侧面的泛化性能。当增广数据的规模达到10万时,其提升较为显著,尤其在CASIA 3D[27]数据集上有着接近15%的提升幅度。

表 3 基于不同方法进行数据增广的rank-1识别准确率比较 Table 3 Comparison of rank-1 recognition accuracy with different augmentation methods
2.3 算法分析

正如前文所说,本文通过结合不同的策略单元对DN图估计网络进行约束,以使得通过人脸CycleGAN生成的DN图可视化更为合理且更适用于后续的识别任务。因此,对各个策略单元在DN图估计网络的性能提升上能够起到多大作用进行评估显然是十分必要且有意义的。其中,在人脸CycleGAN上主要引入以下4种策略:对人脸CycleGAN模型参数的初始化过程做具有倾向性的预训练、循环一致性损失、身份保留损失以及逐像素损失。为了对各个策略单元在其中带来的贡献进行评估,分别考虑每个策略单元缺失后的效果,这里构造了相应策略单元缺失后的人脸CycleGAN变种网络。进而,识别性能上的不同也就能表示各个策略单元在识别性能提升上所起到的作用。

表 4报告了这4种人脸CycleGAN变种所生成的同样数据来源的1万张DN图像在5个测试数据集上各自的识别性能。从中可以看出,在所有的4种策略中,身份保留损失在其中起到了最为重要的作用,缺少了身份保留损失,其rank-1识别率的下降幅度都超过了10%。其中在ND-2006[6]数据集上表现尤为突出,识别率下降近16%。其后起到作用大小的顺序依次为循环一致性损失、逐像素损失以及模型参数的初始化过程。而其中对于模型参数的初始化过程进行具有倾向性的预训练这一策略,从表 4中可以看出这一策略主要增强的是泛化性能,相较于正面人脸数据集(3D-TEC、ND-2006、TexasFRD),其在侧面人脸数据集(CASIA 3D、Bosphorus)上起到更为重要的作用,缺失了这一部分,其识别率的降低幅度较大。人脸CycleGAN不同变种下生成的DN图可视化结果如图 9所示,缺少了身份保留损失,不同身份下生成的DN图极为相似。

表 4 基于不同腐蚀策略在5个数据集下的rank-1识别准确率比较 Table 4 Comparison of rank-1 recognition accuracy on five datasets with different ablation studies

Download:
图 9 模型比较:人脸CycleGAN及其变种的可视化性能 Fig. 9 Model comparison: performance visualization of Facial CycleGAN and variants
3 结束语

本文介绍了一种基于2D人脸的三维信息估计方法,该方法用DN图对三维人脸进行表示,利用一个保留人脸身份信息的人脸CycleGAN网络合理地对2D人脸进行DN图估计。结合数据分布的先验知识(循环一致性损失以及逐像素损失)和人脸领域知识(身份保留损失)进行DN图估计,使之在可视化合理的同时保留了足够的身份信息以便后续的识别任务。此外,由于这一方法直接从2D图像中估计出相应的DN图而无需其他约束,生成的DN图的数据级将等同于2D人脸。大量实验表明该方法能够获取足够的身份信息用于识别,同时在三维人脸的数据增广上也有着一定的适用性。

本研究得到深圳市魔力信息技术有限公司提供的设备支持,在此表示衷心的感谢!
参考文献
[1]
Bowyer K W, Chang K, Flynn P. A survey of approaches and challenges in 3D and multi-modal 3D + 2D face recognition[J]. Computer Vision and Image Understanding, 2006, 101(1): 1-15.
[2]
Deng J K, Guo J, Xue N N, et al. ArcFace: additive angular margin loss for deep face recognition[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). June 15-20, 2019, Long Beach, CA, USA. IEEE, 2019: 4685-4694.
[3]
Parkhi O M, Vedaldi A, Zisserman A. Deep face recognition[C]//Procedings of the British Machine Vision Conference 2015. Swansea. British Machine Vision Association, 2015: 1-12.
[4]
Schroff F, Kalenichenko D, Philbin J. FaceNet: a unified embedding for face recognition and clustering[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). June 7-12, 2015, Boston, MA, USA. IEEE, 2015: 815-823.
[5]
Taigman Y, Yang M, Ranzato M, et al. DeepFace: closing the gap to human-level performance in face verification[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition. June 23-28, 2014, Columbus, OH, USA. IEEE, 2014: 1701-1708.
[6]
Faltemier T C, Bowyer K W, Flynn P J. Using a multi-instance enrollment representation to improve 3D face recognition[C]//2007 First IEEE International Conference on Biometrics: Theory, Applications, and Systems. September 27-29, 2007, Crystal City, VA, USA. IEEE, 2007: 1-6.
[7]
Dou P F, Shah S K, Kakadiaris I A. End-to-end 3D face reconstruction with deep neural networks[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). July 21-26, 2017, Honolulu, HI. IEEE, 2017: 1503-1512.
[8]
Feng Y, Wu F, Shao X H, et al. Joint 3D face reconstruction and dense alignment with position map regression network[C]//Computer Vision-ECCV 2018, 2018: 557-574. DOI: 10.1007/978-3-030-01264-9_33.
[9]
Richardson E, Sela M T, Kimmel R. 3D face reconstruction by learning from synthetic data[C]//2016 Fourth International Conference on 3D Vision (3DV). October 25-28, 2016, Stanford, CA, USA. IEEE, 2016: 460-469.
[10]
Zulqarnain Gilani S, Mian A. Learning from millions of 3D scans for large-scale 3D face recognition[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. June 18-23, 2018, Salt Lake City, UT, USA. IEEE, 2018: 1896-1905.
[11]
Mu G D, Huang D, Hu G S, et al. Led3D: a lightweight and efficient deep approach to recognizing low-quality 3D faces[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). June 15-20, 2019, Long Beach, CA, USA. IEEE, 2019: 5766-5775.
[12]
Gilani S Z, Mian A, Shafait F, et al. Dense 3D face correspondence[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(7): 1584-1598. Doi:10.1109/TPAMI.2017.2725279
[13]
Gilani S Z, Mian A. Towards large-scale 3D face recognition[C]//2016 International Conference on Digital Image Computing: Techniques and Applications (DICTA). November 30-December 2, 2016, Gold Coast, QLD, Australia. IEEE, 2016: 1-8.
[14]
Gilani S Z, Mian A, Eastwood P. Deep, dense and accurate 3D face correspondence for generating population specific deformable models[J]. Pattern Recognition, 2017, 69: 238-250.
[15]
Isola P, Zhu J Y, Zhou T H, et al. Image-to-image translation with conditional adversarial networks[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). July 21-26, 2017, Honolulu, HI, USA. IEEE, 2017: 5967-5976.
[16]
Wang W X, Fu Y W, Qian X L, et al. FM2u-net: face morphological multi-branch network for makeup-invariant face verification[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). June 13-19, 2020, Seattle, WA, USA. IEEE, 2020: 5729-5739.
[17]
Johnson J, Alahi A, Li F F. Perceptual losses for real-time style transfer and super-resolution[C]//Computer Vision - ECCV 2016, 2016: 694-711. DOI: 10.1007/978-3-319-46475-6_43.
[18]
Zhu J Y, Park T, Isola P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[C]//2017 IEEE International Conference on Computer Vision (ICCV). October 22-29, 2017, Venice, Italy. IEEE, 2017: 2242-2251.
[19]
Zhang K P, Zhang Z P, Li Z F, et al. Joint face detection and alignment using multitask cascaded convolutional networks[J]. IEEE Signal Processing Letters, 2016, 23(10): 1499-1503. Doi:10.1109/LSP.2016.2603342
[20]
Ronneberger O, Fischer P, Brox T. U-net: convolutional networks for biomedical image segmentation[M]//Lecture Notes in Computer Science. Cham: Springer International Publishing, 2015: 234-241.
[21]
He K M, Zhang X Y, Ren S Q, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). June 27-30, 2016, Las Vegas, NV, USA. IEEE, 2016: 770-778.
[22]
Yi D, Lei Z, Liao S C, et al. Learning face representation from scratch[EB/OL]. arXiv: 1411.7923. (2014-11-28)[2021-01-20]. https://arxiv.org/pdf/1411.7923.pdf.
[23]
Zhu X Y, Lei Z, Liu X M, et al. Face alignment across large poses: a 3D solution[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). June 27-30, 2016, Las Vegas, NV, USA. IEEE, 2016: 146-155.
[24]
Tran A T, Hassner T, Masi I, et al. Regressing robust and discriminative 3D morphable models with a very deep neural network[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). July 21-26, 2017, Honolulu, HI, USA. IEEE, 2017: 1493-1502.
[25]
Guo J Z, Zhu X Y, Yang Y, et al. Towards fast, accurate and stable 3D dense face alignment[M]//Computer Vision - ECCV 2020. Cham: Springer International Publishing, 2020: 152-168.
[26]
Vijayan V, Bowyer K W, Flynn P J, et al. Twins 3D face recognition challenge[C]//2011 International Joint Conference on Biometrics (IJCB). October 11-13, 2011, Washington, DC, USA. IEEE, 2011: 1-7.
[27]
Zhong C, Sun Z N, Tan T N. Learning efficient codes for 3D face recognition[C]//2008 15th IEEE International Conference on Image Processing. October 12-15, 2008, San Diego, CA, USA. IEEE, 2008: 1928-1931.
[28]
Savran A, Alyüz N, Dibeklioǧlu H, et al. Bosphorus database for 3D face analysis[M]//Lecture Notes in Computer Science. Berlin, Heidelberg: Springer Berlin Heidelberg, 2008: 47-56.
[29]
Gupta S, Markey M K, Bovik A C. Anthropometric 3D face recognition[J]. International Journal of Computer Vision, 2010, 90(3): 331-349. Doi:10.1007/s11263-010-0360-8