基于3D模型的人脸矫正算法设计与实现

发布于:2025-06-27 ⋅ 阅读:(20) ⋅ 点赞:(0)

                                 

                        

基于3D模型的人脸矫正算法设计与实现

摘  要目前的人脸识别技术只能在比较理想的情况下实现高准确率的识别,而人脸矫正提供了有效和高效的人脸数据增强方法,并进一步提高了极端姿势情况下的人脸识别性能。虽然近年来在以深度学习为基础的人脸识别技术上有所进步,但是人脸及其复杂且不齐的三维结构是人脸识别面临的最大的问题。传统方法是使用面部特征检测方法,提取面部特征。但在大多数情况下,人脸处于遮挡状态,被遮挡的区域只能被“猜测”,在看不见的地方,它会变得模糊不清,难以形成一个统一的人脸对齐模型。过去学者一般通过对称性编辑不可见区域填充来处理这个问题,但这类填充的方法会引进瑕疵,导致不真实的结果。为了解决这些问题,本文使用单幅图像,应用一个通用的3DMM模型构建三维人脸,采用3DDFA拟合人脸,直接获取图像的三维信息,用三维密度较高的人脸图像来代替传统的稀疏特征点,这样提高了二维特征点的定位准确率。在三维图像中添加三维信息,将该模型在三维空间旋转并重新渲染为二维图像,得到该人脸在任意角度的图像。然后重新对三维模型获取人脸纹理,将图像旋转回原角度并渲染到二维平面,得到一个原角度的渲染图像,但是具有瑕疵。这时使用一个图像到图像的转换网络来填充可见部分,并将渲染的图像映射到真实图像,当GAN负责固定被遮挡的部分时,可以保留现有的局部纹理信息。经过两次旋转与渲染,就可以生成正面人脸图像。利用这种算法可以得到的正面人脸图像非常自然。通过大量实验证明,将实验生成的正面图像用于训练人脸识别模型,可以大大提高人脸识别的性能。

关键词:人脸矫正;3DMM;3DDFA;旋转;渲染

Design and implementation of face correction algorithm based on 3D model

AbstractThe current face recognition technology can only achieve high-accuracy recognition under ideal conditions, while face correction provides an effective and efficient face data enhancement method, and further improves the face recognition performance in extreme pose situations . Although there has been progress in face recognition technology based on deep learning in recent years, the face and its complex and uneven three-dimensional structure are the biggest problems faced by face recognition. The traditional method is to use facial feature detection methods to extract facial features. But in most cases, the face is occluded, the occluded area can only be "guessed", and in the unseen place, it will become blurred, and it is difficult to form a unified face alignment model. In the past, scholars have generally dealt with this problem through symmetry editing and invisible area filling, but such filling methods can introduce artifacts and lead to unrealistic results. In order to solve these problems, this paper uses a single image, applies a general 3DMM model to construct a three-dimensional face, uses 3DDFA to fit the face, directly obtains the three-dimensional information of the image, and replaces the traditional sparse face image with a face image with high three-dimensional density. feature points, which improves the positioning accuracy of two-dimensional feature points. Three-dimensional information is added to the three-dimensional image, the model is rotated in three-dimensional space and re-rendered into a two-dimensional image, and an image of the face at any angle is obtained. Then re-acquire the face texture from the 3D model, rotate the image back to the original angle and render it to the 2D plane, and get a rendered image with the original angle, but with flaws. At this time, an image-to-image translation network is used to fill in the visible parts and map the rendered image to the real image, and the existing local texture information can be preserved while the GAN is responsible for fixing the occluded parts. After two rotations and renderings, a frontal face image can be generated. The frontal face images that can be obtained using this algorithm are very natural. Through a large number of experiments, it is proved that the performance of face recognition can be greatly improved by using the frontal images generated by the experiments to train the face recognition model.

Key wordsface correction; 3DMM; 3DDFA; rotation; projection


目录

摘  要

目录

1 绪论

1.1 研究背景和意义

1.2 国内外研究现状

1.3 本文主要内容

1.4 本文结构安排

2 人脸矫正相关技术介绍

2.1 人脸识别算法基础知识

2.1.1 人脸检测

2.1.2 人脸对齐

2.1.3 人脸特征提取

2.1.4 人脸匹配

2.2 卷积神经网络

2.3 生成对抗网络

2.4 3DDFA

2.5 三维人脸重建

2.6 常用人脸数据库

2.6.1 LFW人脸数据库

2.6.2 IJB-A人脸数据库

2.6.3 Multi-PIE人脸数据库

2.6.4 MegaFace人脸数据库

2.7 本章小结

3 基于3D模型的人脸校正算法

3.1 引言

3.2 算法原理

3.2.1 三维人脸重建模块

3.2.2 训练策略

3.2.3 生成模块

3.3 本章小结

4 实验结果及分析

4.1 实验设置

4.1.1 实现细节

4.1.2 数据集

4.1.3 评估指标

4.2 人脸矫正实验结果及分析

4.2.1 人脸矫正实验结果

4.2.2 生成图像的质量比照

4.2.3 数值结果

4.3 人脸识别实验结果及分析

4.3.1 人脸识别设置

4.3.2 定量结果

4.4 消融研究

4.4.1 定性结果

4.4.2 定量结果

4.5 本章小结

5 总结与展望

5.1 研究工作

5.2 工作展望

参 考 文 献

致 谢

附 录

1 绪论 

1.1 研究背景和意义

进入21世纪,各行各业都在快速发展,而信息技术更是掀起了一场新的变革。大数据,人工智能和云计算等技术已深入到我们的日常生活中。他们让我们的学习、工作和生活变得更加舒适和简单。随着社会经济的快速发展,人们越来越重视信息的安全性和隐私性。尤其是在通信公司、网络代理商等大公司。

现有的数字密码的弱点是容易被遗忘,尤其容易被黑客破解,在信息安全保护方面无能为力。随着指纹、人脸、声音、虹膜等生物验证技术的出现,个体差异越来越受到重视。现代技术与生物测定技术相结合,具有方便、直接、简单的特点。其中,人脸识别因其非强制性和非接触特性而得到了广泛的研究和应用。除了非强制性和非接触性,人脸识别的另一个优势是提供被动识别。换句话说,在进行人脸识别时,人们不需要合作或执行特殊的行动。这些优点使得人脸识别技术在实现过程中不易被用户检测到,或者说它也可以在用户不知情的情况下被检测到,且因无心理障碍而被用户所接受。因此,在身份识别和信息安全领域被广泛应用。人脸识别技术是指通过将人脸图像作为输入信息,在人脸数据库中寻找具有较高相似性的人脸,通过这种方法,可以进行图像比对、鉴别或验证,是一种简便、高效的方法。在许多领域都得到了广泛的应用。例如:

(1)安全方面。当前,许多公司、小区、学校的保安管理日益普遍。人脸识别技术是当前比较受欢迎的一种安全技术。目前,人脸识别技术已经成为金融行业中最常用的一种技术,我国金融行业对其进行了严格的监管,对其进行了实名认证,对其安全性也有很高的要求。各种银行的人脸识别、银行卡指纹识别、身份证指纹识别、指纹比对等都有。金融软件,保险软件,都是必不可少的一部分。

(2)大众娱乐方面。目前市面上流行的美颜照相机、网络直播、短视频等,都是基于人脸识别技术,对面部进行了美化和特效处理。

(3)出行方面。在许多城市,车站都会安装人脸识别系统,用来验证身份,而在一些城市,地铁站也会使用人脸识别系统。

(4)工作方面。例如:工作出勤,参加会议的面墙等。现在,在人脸识别市场上,主要是大型购物中心,也有一些规模较小的企业,由大型企业进行投资。

(5)警察和司法部门。在抓捕逃犯的过程中,警方还会使用面部识别技术来锁定罪犯,而监狱系统则采用了人脸识别技术,实现了对罪犯的安全和预警。

人脸是人类用于辨别个体差异的最基础的生物特性之一。它拥有容易辨认和固有的特性。通过人脸特征来辨认个人,对于我们人而言是一个十分常见和容易的事物,但是对机器或电脑而言,辨认二个不同的面孔却是一个非常复杂和麻烦的事。直至今天,自动人脸识别技术依然是一项还没有解决的重要课题,但物理学家们也并未终止过对其的深入研究。在现实生活中,非正面脸无处不在,因此获取非正面脸的图片也是十分普遍的现象。但科学研究证明,目前的人脸识别技术只能在比较理想的情况下实现高准确率。然而,在自然条件下,由于光线、表情和面部姿势的变化以及被遮挡等情况,人脸识别的准确性会下降。尤其是在不改变其他条件的情况下,如果只改变人脸的姿态,即在光线强度均匀的情况下,人脸没有任何东西遮挡,并且采集到的人脸图像的姿态没有发生任何变化,人脸识别的准确性将大大降低。因此,在人脸识别技术中,如何以较高的识别精度识别非正面脸成为研究课题,不仅理论研究的意义很高,而且识别率也很高。

1.2 国内外研究现状

近年来,人脸矫正技术引起了国内以及国外许多学者的研究和探索,还取得了许多良好的效果。人脸矫正在运用方法上大体上可以分为以下四大类:

(1)基于数学计算的人脸矫正

基于数学计算的人脸矫正主要是对各种姿势的人脸使用几何代数进行转换来获得矫正的正面人脸。这种方法非常适合一些角度幅度较小的人脸矫正,而且矫正速度快、调整方便、方法简单。

丁立军等人[1]提出了一种基于非经典几何代数的旋转算子和特殊点定位的快速补偿方法。曲面中关键区域的曲率是用离散高斯曲率值为度量来估计的。最小曲率所在的上半面的左、右外角是很特殊的。然后,可以利用和人脸相同的对称性来定位上下颚的中心点,并以此判断正面人脸与正面人脸之间的法向量,并通过几何代数旋转算子实现人脸矫正。实验结果证明,这种方法易于实现,几何意义比较直观,而且估计精度非常高。李海彦等人[2]提出了一种结合成像原理和仿射变换的正面人脸生成方法,该方法不需要采集多个轮廓点参数,而是通过仿射变化法,将姿态变化程度达到一定变化的测试样本矫正为相似的正面人脸。该方法能有效地调整正面人脸图像与其他姿态的人脸面部图像在45°范围内的位置,但矫正后的人脸在某些区域会发生形变。Beymer等人[3]提出了一种方法,就是将数字学习思想引入人脸矫正,与人脸特征相匹配,然后将研究对象看作为线性空间中的样本。在这之后,Vetter等人[4]又提出了线性物体类的相关理论,可以物化线性空间。Fontaine等人[5]提出了一种基于仿射变换和三角剖分的人脸校正方法。提供输入图片和匹配的面部特征点,这种方法是使用二维变形来调整输入图片与参考图,最后图像被对齐,并产生输入图像的正面图像。

基于传统方法的人脸矫正速度相对较快,但矫正效果不理想,会出现局部失真问题,而且有较大的限制性,只能用于解决较小姿态的人脸矫正。

(2)基于三维模型的人脸矫正

基于三维模型建立正面人脸的思想是构造一个通用三维人脸模型,再匹配特定人脸图像的相关模型参数,一个完备的三维人脸数据就被我们得到,最后生成正面人脸图像。

张海燕等人[6]提出了基于3DMM的自适应匹配方法。该方法利用三维变形模型3 DMM来模拟2D人脸。在由非正向人脸到正向人脸的过渡过程中,往往会产生变换前后意义不统一的现象,也就是局部的变形。他们提出了一种基于Delaunay三角分割的算法,目的是在拟合过程中局部纹理发生畸变。利用Delaunay三角分割,将该面分成若干个三角形,并对像素畸变的各部分进行校正。通过对LFW的人脸特征进行的仿真试验,证明了这种算法对人脸的辨识效果有很好的提高。Seung-Hyuk Jeon等人[7]提出了一种利用3DMM模型从单张图像中的非正面人脸转换为正面人脸图像的方法。该方法的前瞻3DMM是通过非前瞻旋转3DMM生成的。3DMM曲面的可见性是通过可见区域与对应于3DMM前视图的非前视图的比率来衡量的。前视图3DMM的可见区域是通过分割人脸图像的仿射失真来绘制的,而不可见区域是利用人脸的对称属性绘制的。Asthana等人[8]提出了一种新的3D姿势归一化方法,该算法将非正向人脸图像与对齐三维人脸模型进行了映射,并调整3D模型的姿势以获得正面人脸图像。这种方法无需任何人工干预,可以自动、鲁棒的将3D人脸模型拟合到2D输入图像。另外,这种方法可以处理连续范围的姿势,因此可以很好地应用于标准面部识别测试,并且不限于离散的预定姿势角度以获得优异的结果。

采用3D模型的方法方式一般使用了高密度的三维数据,从而能够组合出最理想的人脸形态和纹理,而基于3D模型的人脸补偿方式则一般使用了3DMM模型来实现人脸的拟合。由于采用对称操作或者其他操作来弥补轮廓像自身闭合所造成的信息丢失,所以在修改大角度面时,就会产生比较明显的人为对称的痕迹。此外,3DMM的主要弊端是扫描人脸模型数量过多,运算工作量也比较大,并且生成速率也较慢。

(3)基于深度学习的人脸矫正

深度学习作为机器学习中正在研究与探讨中的一种崭新的方向,通过模拟大脑的机制来理解数据,从而具备了自动机器学习的功能,也减少了人工选择的步骤。于采用三维建模的算法比较,采用深度学习的算法不但减少了算法复杂程度,同时还提高了人脸的产生速率,并克服了一些因人工对称而导致的照片产生质量问题。

Jackson A S等人[9]针对适当的数据集(包括二维图像和三维人脸模型)进行了CNN培训,解决了人脸重建中光照分布不均匀、大尺度面部表情与姿态之间建立密切对应关系的局限性。该方法只需对二维人脸图像进行处理,无需对图像进行精确排序和密集对应。它可以用来产生任意的面部姿势和表情,也可以用来绕行操作。通过构建一个三维变形模型,重新建立整个三维面部的几何形状,其中包括面部看不见的部分。Jiaxin Ma等人[10]提出了一个加权的姿态生成网络,它增加了一个训练前的位姿验证模块来学习人脸的位姿信息。完全利用姿态信息创建一个网络,更好地了解面部特征,实现更好的创建效果。Xin Yu等人[11]提出了一种变换分布式神经网络(MTND),它可以同时实现图像前端和超分辨率。MTND由多尺度转换采样网络、最大池化层和全连接层两部分组成。多尺度变换采样网络的目标是接收不同分辨率的LR图像,实现超分辨率图像,而鉴别网络的目标是提供超分辨率人脸的真实感。MIND能够有效地分类和提取各种大姿态下的低分辨率图像,而且采样图像与高分辨率图像相似。Rui Huang等人[12]在GAN网络的基础上提出了一个双通道生成对抗网络,该网络能同时识别局部细节和全局结构,然后实现人脸控制。为了适当地限制不良问题的综合问题,TP-GAN网络在训练过程中进一步引入了对称损失,对抗损失和身份损失。该方法不仅实现了令人折服的效果,而且还在大姿态的人脸识别中也能获得良好的识别效果。

基于深度学习的人脸矫正方法是使用深度学习的强力拟合功能,从虚拟视点合成脸部,生成正面的脸部图像。

(4)基于混合模型的人脸矫正

在许多情况下,单个网络模型只能提取单一的功能类别,并且不能涉及所有的功能信息。运用多种模型的融合,充分发挥各种模型的特征,展示了不同模型在人脸正面图像生成方面的优势。同时,对不同模型的相关性和约束条件进行了比较,并考虑了不同模型的优化目的,得到了相对不错的生成效果。

Baris Gecer等人[13]提出了一种无监督的一次性3D人脸纹理补全方法。这种方法利用了二维人脸生成器中存储的知识,而不需要大量纹理数据集。此方法通过对输入图像进行三维旋转,并利用基于可见部分的二维人脸生成器重建旋转图像,从而绘制出一个不可见区域。Hang Zhou等人[14]提供了一个新颖的无监督框架,使用了单张图片和三维人脸建模,渲染从任意视角翻转至当前视角的带遮挡伪影和瑕疵的人脸,并通过和原图构建训练数据比对。其构建过程使用了二次的人脸纹理获取,三维空间旋转和渲染。该框架可以不依赖一个人的多视角图像,也能够在其他视角得到高精度的图像,并且应用在了不受限制的各个场合。并且经过了大量的试验证实,性能非常好。

基于混合模型的现有方法通过两个或多个模型的组合实现不同模型的优点相互补充,克服了单一模型数据源规模和范围受限的问题,如生成的图像细节的丢失,图像有伪影等。

1.3 本文主要内容

人脸正面化图像生成是指将非正面图像生成正面化的人脸图像。正面化的人脸图像在人脸识别,视频监控,身份验证等方面有较广泛的应用,尤其是人脸识别领域。近年来,人脸识别技术得到了广泛的发展如人脸考勤,人脸侦察,人脸支付,随着机器学习和深度学习技术热潮,人脸识别的应用和准确率更是达到了一个较高的水准。然而由于非正面的面部识别纹理信息通常比正面面部识别性差、正面和侧面的共同特征非常有限、姿态变化会导致面部实质变形等原因,现有的许多人脸识别算法在大姿态的非正面人脸图像中识别人脸仍然是具有挑战性的问题,姿态问题也成了限制非受限环境下人脸识别效果的主要因素,因此如何从大姿态的非正面人脸图像中恢复出正面人脸图像是一项很有价值的研究。

传统方法是使用面部特征检测方法,提取面部特征,将查询点与渲染的模型正面视图上的点进行匹配。但在大多数情况下,人脸处于被遮挡状态,被遮蔽的地标就需要重新被“猜测”,但这对于一般人而言是不可能的。很少有像AFLW这样的大姿态数据库,只包括可见的地标。在不可见的地标上可能是模糊的,这就导致了很难训练出一致的人脸对齐模型。三维可变形人脸模型  三维密集人脸对齐

为了解决这些问题,本文使用了一种无监督的基于3D模型的人脸矫正算法,能将人脸的姿态与3D中人脸的姿态显式匹配。首先应用一个通用的3DMM模型实现三维人脸重建,采用3DDFA方法对三维人脸进行拟合,获取图像的三维信息,用三维密度较高的人脸图像来代替传统的稀疏特征点,这样提高了特征点的定位准确率。在三维图像中添加三维信息,可以很好地克服由于三维图像的改变而产生的图像的自掩蔽等问题。接下来,将该模型在三维空间旋转并重新渲染为二维图像,得到该人脸在任意角度的图像。然后重新对三维模型获取人脸纹理,将任意角度的图像旋转回原来角度并渲染到二维平面,得到一个原来角度的渲染图像,但是具有面部伪影。这时使用一个图像到图像的转换网络来填充可见部分,并将渲染的图像映射到真实图像这样,当GAN负责固定被遮挡的部分时,可以保留现有的局部纹理信息。经过两次旋转与渲染,就可以生成正面人脸图像。利用这种算法可以得到的正面人脸图像非常自然。

1.4 本文结构安排

本文主要研究了基于3D模型的人脸矫正相关算法,文章结构安排如下:

第一章 绪论

首先对本文提出的研究现状和意义进行了简要说明,并指出了当前的一些问题。然后,对目前国内和国际上针对上述问题所进行的研究成果和相关的理论进行了分析,并对论文的主要内容进行了简单的介绍。

第二章 人脸矫正相关技术介绍

简单地介绍了人脸矫正技术的一些基础知识。包括:人脸识别算法的一些基础知识,卷积神经网络,生成对抗网络,三维人脸重建技术以及常用的人脸数据库。

第三章 基于3D模型的人脸校正算法

第三章介绍了一种基于三维模型的人脸校正算法。利用这种算法可以得到一张非常自然的正向人脸图片。具体而言,该算法是通过利用一个人脸数据库,建立一个平均的面部形状变化模型,然后再对该模型进行匹配。通过对模型的相关参数进行修正,使其变形至与脸部的差别最少,并对其纹理进行优化调节,这就实现了面部模型的建立。然后,采用3DDFA方法对三维人脸进行拟合,获取图像的三维信息。接下来,将该模型在三维空间旋转并重新渲染为二维图像,得到该人脸在任意角度的图像。然后重新对三维模型获取人脸纹理,将任意角度的图像旋转回原来角度并渲染到二维平面,得到一个原角度的渲染图像,但是具有面部伪影。这时使用一个图像到图像的转换网络来填充可见部分,并将渲染的图像映射到真实图像这样,当GAN(生成对抗网络)负责固定被遮挡的部分时,可以保留现有的局部纹理信息。经过两次旋转与渲染,就可以生成正面人脸图像。

第四章 实验结果与分析

第四章首先介绍相关实验设置和数据集,然后介绍了本文的实验结果,将结果与其他方法进行比较,对模型的几种评价指标进行了实验。并且在不同的人脸数据库上进行了多次实验证明,将生成的图像用于训练人脸识别模型,在本文提出的方法可以提高人脸识别的性能,证明了本文在定性结果和定量结果上的优点。最后,还做了一些消融实验来证明网络结构设计和损失函数设计的有效性。

第五章 总结与展望

首先,总结了全文的研究内容,提出了存在的问题及解决办法,并对论文的内容及问题作了简单的阐述。最后,对未来的研究工作进行了展望。


2 人脸矫正相关技术介绍

2.1 人脸识别算法基础知识

人脸识别的关键步骤包括:初始人脸的输入、检测人脸、定位人脸、人脸面部的特征抽取以及人脸匹配。首先,要判断一幅人脸图片中有没有一副面孔。当一个人的面孔出现时,它会不断地辨认出他的面部的位置和尺寸,然后利用这个数据得到一个具体的面孔。无需后台数据,即可直接获取面部图像。接着对获取的面部特征进行提取,并将其输出到所采集到的特征点,实现对位。其次,对采集到的人脸进行了特征提取。该特征可以用作“凭证”来进行面部的辨认。最后,根据分类规则对特征向量进行分类和识别。

图2.1 人脸识别的流程图

2.1.1 人脸检测

人脸检测在人脸矫正、人脸识别、人脸跟踪等工作中是至关重要的初始步骤,是模式识别和计算机视觉相关领域的一个非常经典问题,性能直接影响到这些工作的效率。在过去的这段时间里,在无控制的人脸检测领域取得了很大的进展,但在野外准确高效的人脸检测仍然是一个未解之谜。

人脸检测是一项复杂且困难的研究课题,有两个主要的难点:

一是由人类面部的内部变化导致的,内在结构发生了很大的改变,面部的形状、皮肤的颜色以及面部各种各样的表情,如眼睛和嘴巴的开闭等。

二是由外部条件的变化导致的,如眼镜、发型、头饰及其他外部物体遮挡人脸;或者由于拍摄角度不同,人脸会有多个姿势;或者是由于光线的强弱,比如改变了亮度,造成了阴影等等。以上种种难题,使人脸识别成为一个难题,所以找到或者建立能够处理相关问题的算法成为重中之重的问题。

在早期,大部分的人脸识别工作都是采用传统的方法,即从图像中抽取一些人为生成的特征,然后通过分类器进行识别。近年来,随着计算机视觉技术的不断发展,取得了一些成果,设计了一种新的卷积神经网络。

图2.2 人脸检测效果图

2.1.2 人脸对齐

人脸对齐也又称为人脸关键点检测,即从人脸图像中搜索到预定的特征点。该方法基于人脸检测,通过对输入的人脸进行检测,能够对人脸的各个重要的特征进行自动的识别,如嘴、眼和人脸各部位的面部特征等。输入是一张人脸图片,输出是一系列的面部特征点。除了在面部识别系统中使用之外,还在其他方面具有较高的商业价值和学术研究价值。在商业应用中,人脸对齐技术是许多应用程序的基础,涉及面部图像处理。我们日常使用的许多应用软件,如直播软件、短视频软件和美容相机等等,都包含了人脸对齐技术。几十年来,它已经在国内外研究人员的推广中发展。

学术领域共享的数据集数量越来越多,而且算法也越来越完善。依照是否采用了深度学习的相关技术,通常将人脸的关键点检测分为两类。其中,使用传统技术的方法统称为第一类,一般需要通过人工的设计以及提取特征。第二类可以被称为基于深度学习的方法,它可以自动从原始数据集中提取特征。

图2.3 人脸对齐效果图

2.1.3 人脸特征提取

人脸特征提取是人脸识别相关方面的主要问题之一,是以计算机的方式来描述人脸特征的过程。所以,提取的人脸特征既要反映出不同的人脸图像之间存在的差异,又要确保同一人的人脸图像具有稳定性。包含在人脸图像中的视觉特征,代数特征和像素被统称为特征信息,因为它们可以唯一地表示人脸。计算机提取一个或多个特征信息作为特征向量,为后续的分类和识别提供基础。人脸识别的准确性和鲁棒性不只是取决于所使用的分类器的类型,而在大体上在于使用哪种特征来描述人脸。具有优秀的面部特征,即使是最简单的分类器也能获得优异的性能。随着研究的发展,特征提取的研究逐渐从手工转向数据驱动学习。此后,研究主要集中于特征提取和分类,形成端到端网络。当前的特征提取技术主要有两种:一种是全局的,一种是局部的。

图2.4 人脸特征提取效果图

(1)基于局部二值模式LBP的特征提取

局部二值模型(LBP)是一种在计算机视觉中应用的可视化算子。LBP技术在面部识别中得到了广泛应用,LBP于1994年由Ojala T等人[15]首次提出,此后被认为是具有纹理分类的强大功能。同时,将LBP与定向梯度算子(HOG)的直方图相结合,可以大大提高检测性能。在一些数据集中,LBP首先用于比较图像的局部特征。一般的LBP方法是使用阈值来标记中心点的像素和它相邻像素之间的差值。从结构的角度分析,一个像素的纹理特征在大部分的情况下是指各个像素之间和周围像素存在某种关系,即邻近的点和像素之间的关系可以提取不同的特征与特征,我们可以根据纹理进行分类,LBP构建了一种度量像素及其周围像素之间关系的方法。

 如果中间的像素数值低于其周围的像素,则将该像素的位置标注为1,否则为0。这样就可以将3 * 3窗口附近的八个点进行比较,从而生成八个二进制数(通常转换为小数,即LBP码,共256种),便能够得到窗口中央像素的LBP,而这个数值也可用来反映这一位置的纹理信息。在一个窗口内,每一个“数字”都要用一个直方图来表示。然后对直方图进行选择性整合,连接所有窗口直方图,形成整个窗口的特征向量。即LBP的定义如下:

                          (2.1)

其中,

代表的是窗口的中心像素位置

处的灰度值,

表示分布在中心点

附近的以

为邻域内相近点的像素值。

为符号函数:

                                  (2.2)

图2.5 LBP 编码原理图

原始LBP算子较大的不足之处是只会掩盖相对固定半径内的小区域,显而易见没有考虑到不一样频率纹理和尺寸的规定。为了满足旋转和灰度的不变性要求,以及对不同的纹理特性的适应,Ojala等人[16]对LBP算子操作进行了改进,将LBP操作范围从最初的3*3扩展到任意的范围,同时将原有的矩形替换成了圆形。通过这种方法,可以在R半径的圆周上产生任意像素,从而可以在R半径范围内获得P个取样的LBP运算符。

图2.6 LBP圆形邻域算子

(2)基于Gabor的局部人脸特征提取

1946年,Dennis Gabor等人发现了一维数据信号的不确定性原理,并提供了Gabor函数的原始形式[17],他指出任何由用高斯函数调节的复杂正弦信号在时域和频域上都能达到耦合的不确定关系下界。1980年,Daugman提出了二维Gabor滤波函数,并将其用于图像表征[18]。近年来,研究人员将二维Gabor滤波器用于人脸图像描述和人脸识别,从而取得了许多新的研究成果。

应用不一样限度和方向的二维Gabor滤波器从图像滤波中获得的新图像描述可以合理减少光照、脸部情绪和动作对人脸识别准确度的影响。二维Gabor滤波器定义如下:

                      (2.3)

其中,

反映了高斯窗口的大小,

是给定的坐标位置的图像像素,

是滤波器的中心频率,

是最大频率,

确定二维Gabor 小波的波长,

是二维Gabor小波函数的方向。二维Gabor滤波器的实部和虚部如图2.7a,b所显示。图2.7c则显示了一组二维Gabor滤波器函数的振幅值,其中偏好为:

图2.7 二维 Gabor滤波器的实部、虚部和幅度

图2.8显示了人脸图像的二维Gabor滤波器的实部和虚部的滤波器输出和振幅输出。可见,利用二维伽伯滤波器对新的图像进行滤波,所获得的新图像能够实现高效的整体描述,而且可以有效地提取图像的细节特征。相对于单个原始灰度图像,利用二维Gabor滤波器可以对图像的各个层面进行特征提取,并且可以将这些层次的特征用于脸部的分类。

图2.8 二维Gabor滤波器的滤波输出

Gabor的主要特征,是一个可以作为描绘图像信息的一种特征。此外,Gabor的小波变换技术对图形的边缘变化也十分灵敏,能够提供良好的尺寸选取和方向选择特性。通过Gabor的滤光器还可以获得各个方位的纹理信号,同时Gabor的滤光器对亮度和对比度的改变也有着出色的适应性,可以承受各种图形的翻转和变化,对姿势和光线都具有良好的鲁棒性。

(3)主成分分析

主成分分析是一种既简便,又高效的算法。主成分分析的目标是将多个变量转化为多个符号化的统计学分析。其主要思路是通过一组新的特性来进行运算,并将其排序。它们都是原有的特性的一种线性结合,不存在新的特性。对最初的函数进行运算。这种新的特征是一个新的降维模型。也就是说,主元分析就是通过对原有特征进行正交变换,从而获得新的特征,这些新的特征往往是由原先特征的线性组合而成。在人脸识别中,首先,我们需要从训练样本中提取尽量多的提取出人脸图像信息。可以使用这些信息提示来相对于面部数据库的面部信息对测试样本进行分类。伴随着时间的变化,人脸受到情绪、光照、拍摄的角度等各种主客观条件的影响,图像因这些差异而发生扭曲。研究表明,基于主成分的识别方法是一种很好地模拟人脸图像的方法,并具有良好的防失真识别能力。首先,假设训练用的数据集为

,则特征提取的算法为:

1)通过对人脸的平均值的分析,得出“平均人脸”:

                                 (2.4)

2)计算人脸向量与平均脸的差值:

                           (2.5)

3)构造协方差矩阵:

                            (2.6)

4)求出矩阵

的本征值

及其相对应的本征矢量,然后,再对这个本征矢量进行了归一化处理

5)对本征值进行排序之后,选取一些能够代表主要成分的前几个最大本征值,再找出对应的本征向量;

6)归一化C,然后找到特征向量:

                           (2.7)

7)把每个人的脸部同平均人脸之间的差向量渲染到“特征人脸”空间中:

                            (2.8)

2.1.4 人脸匹配

人脸匹配在大多数情况下可以分为人脸识别、人脸搜索和人脸验证三类。

人脸识别:如果给出了一个人脸图像,需要决定这个人脸对应于谁。判断的方法是计算输入表面与数据库中已经存在的N个人脸之间的相似度,并找出最高程度的相似度。可以通过确定两个面是同一个人的最小阈值来确定输入的人脸是不是数据库中的人脸。如果相似度最高的部分超过了阈值,则相似度最高的脸可以视为是与输入脸对应的人的脸。显然,人脸识别是1:n的问题。

图2.9 人脸识别效果图

人脸搜索:本质上类似于人脸识别,但在人脸搜索中,可以返回与数据库中输入人脸相似度最高的上面n个人脸,然后对上面n个人脸从高到低进行相似度处理。只是排序后的n张人脸图像构成人脸数据集,是由人脸识别返回的结果。然而,这个结果可能是对的,也可能是错的。

图2.10 人脸搜索效果图

人脸验证:就是判断两张面孔图片是不是一个人的一种方法。在此基础上,将两个人脸的相似性进行对比,并与预先设定的门限进行对比,以确定二者的相似性(相同程度高于临界点,为同一个人;低于临界点,则为不同)。人脸登录和面部滑动登录是一种常见的面部认证应用程序。

图2.11 人脸验证效果图

2.2 卷积神经网络

卷积神经网络是一种多层次的神经网络,它包括若干层网络。它能很好地解决机器学习问题,例如图像和声音。在该网络中,每一卷积都有一个或更多的卷积核。每一个卷积核都能够被算作一个特征提取算子。将一层的所有提取特征组合起来,也可以看作是上层的特征映射或上层的特征变换。

卷积神经网络也因为可以持续降低大规模型图像识别问题的维数,而被广泛应用于图像识别。在1998年,Lecun等人[19]首先明确提出了卷积计算的神经网络(CNN)。Lecun是第一个使用CNN进行手写数字识别的技术,并且在这方面一直处于世界领先地位。此外,CNN还被广泛地用于语义分析、主题分类等方面。卷积神经网络在许多工业领域发挥了重要作用,在面部识别、语音识别技术和一般物体识别等领域都获得了非凡的成果。在脑电图的分析研究与高级自然语言的处理研究方面也做出取得了一些重大进展。卷积型计算层神经网络与其他传统的神经网络不同,该方法仅由一个简单的卷积操作取样层和一个次取样层组成的特征提取。在卷积神经网络中,神经元也可以直接连接到相邻神经元。CNN架构包括卷积层、池化层和完整的连接层等多个组件。一个典型的架构由堆叠的堆叠和堆叠的池化层和一个或多个完整的连通层构成。

输入层

卷积计算网的输入层通常能够处理多维度数据信号。而一维卷积网的输入层通常使用一维或二维阵列,一维阵列通常是由时钟或频谱的取样构成。而一个平面阵列通常能够包含几个频道。二维卷积网络的输入输出层次主要是二维和三维阵列。在三维卷积计算神经网络中,输入与输出层次都接受了四维阵列。虽然卷积计算神经网络在电脑视觉中已经有了广泛地使用,但是许多研究者在介绍它的基本结构时,通常都会假设它是一个三维的输入,同时也是一个二维像素点和一条RGB通道。

图2.12 卷积神经网络架构

卷积层

卷积层也是执行特征提取的CNN框架的基础组成部分,主要训练数据集上的前向传递,被训练的参数(即内核和权重)通过梯度的优化算法的反向传递,根据损失值进行优化。整流线性单元由线性计算与非线性算法的集合构成,包括了卷积算法与激活函数。卷积神经网络是一种复合性的用以特征提取的线性运算,其中一种叫做核的较小数字数组可以适用于所有系统,它也是一种叫做张量的大数字数组。

非线性激活函数

线性运算的输出是通过一个非线性的激活函数来完成的。有多种类型的非线性活化功能,比如:sigmoid,或者是双曲线的正切函数(tanh),这是由于这些函数都是用来表达生物神经元的特性的。当前最常用的非线性激活函数是整流线性单元(ReLU)。它可以简单地计算函数表示:

图2.13 神经网络的激活函数

其中,a是整流线性单元(ReLU)、b是S形函数(sigmold)和c是双曲正切函数(tanh)。

池化层

提供了一种降低特征图的平面内维数、将平行运动不变性引入小位移和畸变中、降低后续可学习参数的数量的典型采样操作。需要指出的是,每一个池化层都没有可学习的参数,过滤器的尺寸、步长和填充都是一个超级参数,就像是一个量化运算。

全连接层

最后的卷积或者池化的输出特性曲线往往是平坦的,也就是说,它被转化成一维的数值矢量,并且与一个或更多的完全连通,也就是所谓的稠密层,在这个级联上,每一个输入端都由可学习的加权与各输出端相连。当一个从卷积中抽取并且在池中取样的特性被建立时,它们就会从全部的连接层次中的一个子集合到最后的结果,比如对一个工作类型进行归类的可能性。最终的所有连接层通常具有与类数相同的输出节点数。每个连接层后面都有非线性函数,例如ReLU,如上所述。

训练网络

训练网络是一种在卷积层中处理核心与整个连接层的权值的方法,它能最大限度的降低输出预测与已知的实际地表标记的差别。在神经网络的训练中,逆向传播是一种常见的学习方法,而梯度下降优化和损耗函数是关键。在具体的核心和加权情况下,模型的性能是通过对训练数据集合向前传播的损耗函数来计算的,而可学习的参数(也就是核心和加权)则由所谓的逆向扩散(reverse)和梯度(dependent)的最优算法等来更新。

损失函数

该方法利用前向传播测量网络的输出结果和已知的真实标记的相容性。许多分类中常用的损失函数就是互熵,而均值方差则是对连续值的回归。同时,由于损耗函数是一个超参量,因此它必须按照特定的工作来确定。

梯度下降

总的来说,梯度下降是一种能够持续更新可学习参数(核心值和权重)的优化算法,使得系统性能最小。这种损耗函数的坡度使得函数的增长速度达到最大,并且每个可习得的参数都是由这个超级参数(沿着这个坡道的负方向称为学习率)来校正的。

2.3 生成对抗网络

生成对抗网络又称之为GAN,最早是由被Ian J. Goodfellow等人提出。GAN的概念是一种二人联合博弈的思想,竞争双方的收益总和是一个常量,通过博弈分到个人的利益可能是你多我少或者你少我多,但总的利益是固定不变的。该方法由两部分组成:一种是用于采集数据的生成模型 G,另一种用于估算原始数据中的采样和G产生的概率的判别模型D。生成模型则致力于生成尽可能逼真的图像,判别模型则尽可能地把假图像剔除出来,二者则相互博弈,共同训练提高。即使G能完全还原出原始数据,和判别器D的识别成功率也只有一半。

图2.14 对抗网络结构

GAN网络的训练过程:每次迭代都要对判别器的网络参数进行更新,就是给出了一张虚假图片、一个虚假图片的标签、一张真实图片和一个真实图片的标签,这样的话,它就可以将一张图片和另一张图片区分开来,这就相当于一种非常精确的二分类器。调整判别器的网络参数,并对发生器网络进行更新。这就是给出一张虚假的图片和一张虚假的标签,让它相信这张图片是真实的,然后通过错误的传播来更新它的发生器,使它产生出更真实的照片。GAN训练的目标函数如下所示:

         (2.9)

该判别程序希望使目标函数的值

尽可能地接近1,对于假数据

接近0。发生器希望将目标函数

最小化,使其接近1,即通过欺骗判断程序,使其判断错误的数据是正确的。

CycleGAN

CycleGAN是一个由两个发生器和两个分类器组成的环形体系结构。X代表X区域, Y代表Y区域。X区域内的影像由生成器G产生Y区域的影像,然后由生成器F重建到X域的原始影像;Y区域内的影像由生成器F产生X区域影像,然后由生成器G重建到Y区域的原始影像。Dx和Dy作为区分工具,保证了图片的样式转移。

图2.15 CycleGAN结构

2.4 3DDFA

通常的脸部特征点位置是建立在可视化的基础上进行的,因此不能用于侧面面部的特征点的位置。从正面到侧面的大幅改变使脸部的外形发生了很大的改变要想用较大的姿势来标记不明显的面部特征是一个很大的难题。基于这一点,Xiangyu Zhu等人[20]设计了一种新的3DDFA对齐框架,它主要是利用CNN建立一个密集的3D面部图像。针对大角度下的面部特征点不能被观察到的问题,采用三维密度较高的人脸图像来代替传统的稀疏特征点。在三维图像中添加三维信息,可以很好地克服由于三维图像的改变而产生的图像的自掩蔽等问题。针对3DDFA的拟合法,采用一种分级的线性回归方法,利用CNN对大角度的图像进行提取。此外,还特别针对CNN的特点成本函数进行了特殊的PNCC特性优化。将建立一组人脸形状和三维人脸模型,以便更好地进行3DDFA的训练。

图2.16  3DDFA概述

在第k次迭代时,

以一个中等参数

作为输入,构造渲染归一化坐标码(PNCC),将其与输入图像叠加,并将其发送到CNN以预测参数更新

图2.17 PAF的构造

一般流程:首先将3DMM的参数P进行初始化,随后用公式计算重新构建3D人脸模型。对该三维面部模型进行上采样,得到64×64的feature anchor(图2.11 a);将该三维面部模型渲染到二维平面图中,得到64×64的feature anchor(图2.11 b)。此时,将两个feature anchor设置为一个可视化,并设置为一个非可视化。将各feature anchor尺寸分别剪切成d×d。连接到原始图片和扩展的二维图片(图2.11 c);对该图像进行PAC卷积处理,得到64×64的PAF结果图(图2.11 d)。

图2.18  归一化坐标码(NCC)渲染归一化坐标码(PNCC)

首先对3DMM进行初始化,再根据该方程重构出3DMM的立体轮廓,其中第1行为x轴的表示;根据以下的方程式对此3D面部建模进行标准化处理,获得NCC(图2.12 a);这时,以NCC为3D面部图像的纹理色彩映射;

                    (2.10)

依据下列公式计算,将3D人脸模型投射到2D平面图上,用Z-BUFF优化算法3D渲染p2d,用NCC做为color_map,获得PNCC(图2.12 b);

                            

                                       

                           (2.11)

                                 

2.5 三维人脸重建

图2.19 三维人脸重建方法

(1)基于传统方法的人脸重建

三维人脸重建一般都是基于图像自身的特征来实现,比如:图像的相对高度、图像自身的视差等。比较通用的方法是进行两个眼睛的三维重建,难点在于在多个角度上,如何将两个特征点进行匹配。

(2)基于模型的人脸重建

CANDIDE:包含168个平面,113个顶点。将会修正这些顶点和切割表面,使之与要重构的图片相吻合。有对齐面部的基本特点,如面部的总体调整。在此基础上,对面部进行部分的局部修正,并对其进行顶点插补,最终获得了该面部的重构结果。

3DMM是由Blanz等人首先提出的一种比较基础的人脸特征建模方法。要得到最逼真的三维面部数据,必须要先构建一个三维的脸部资料库。通过对100个男人和100个女人的头部进行了激光扫描仪,获取了脸部 RGB色彩和脸部的立体结构信息,并进行了一对一的分类和运算。最后得到的人脸具有同样的拓扑,它包含了70000个顶点和不同色彩的数值。在这一理论基础上,运用了主成分分析的技术,对200个3D面孔进行了降维,从而对其进行了数据的压缩。在此基础上,对三维面部建模进行了初步的研究。利用该方法,利用该特征矢量集的直线结合,能够描述出全部的3D面部模型,并将其与该特征矢量一一相匹配的加权因子称之为“参量”,由此构成了一个具有较高维度的面部参数化模型。3DMM是利用脸部的形态和皮肤的质地来描述一个立体的面部,它包含了一个形态和一个与之对应的特征参数的模型。通过调节各参量,得到各种直线的结合,得到的立体曲面越靠近脸部。

3DMM可以重构出较为逼真的3D面部,但需使用高精度的3D激光扫描仪,且费用昂贵,依赖程度高。在进行密度对齐和PCA的降维运算时,由于数据量大,其实施过程也比较繁琐。

(3)基于CNN端到端的人脸重建

采用CNN技术对面部进行三维建模。为了解决实际应用中的人脸识别问题,本文采用了一种基于三维人脸的形状和纹理特性的方法,实现了大角度的人脸识别。通过对3DMM数据进行3DMM数据的相似度的计算,来判定该系统是否为一个人,并将该系统用于人脸识别中,并对该系统进行了仿真。在网络中,每一层的卷积层都具有一个或多个卷积核心,而每一卷积核心都可以被视为一个特征抽取算子,将一层的所有特征集合在一起,就可以将其视为上层的特征映射,或者说是上层的特征转换。

2.6 常用人脸数据库

2.6.1 LFW人脸数据库

LFW人脸数据库是现阶段人脸鉴别常见的检测集,在其中的人脸照片所有来源于生活中的普通情景,因而鉴识别难度系数会提升,尤其是因为各种姿势、阳光照射强度、神情、年纪等因素影响,即使是同一个人的照片也出现很大差别。并且有一些照片里很有可能不仅一张脸。针对这种多人脸图像,只选择正中间人脸作为总体目标,别的区域视作环境影响。LFW数据信息集中有13233张人脸图像,每份图像都提供了对应的人的名字。一共5749人,绝大多数只有一张照片。每份照片的尺寸为250*250。绝大多数是彩图,但也是有极少数是黑白图。LFW人脸识别数据库主要应用于科学领域研究无约束性标准条件下复杂的人脸特征识别问题。LFW数据关键是检测人脸面部识别信息的准确性。数据库中随机选取了六千多对人脸照片组成的人脸照片作为识别的对象,在这其中的三千个对象照片中的每二十张人脸照片都属于某一个人,其他的三千个对象照片每人只有一个照片。测试全过程LFW得到了一对图片,并知道了被测试系统的这十二张图片都是一个人。系统软件给出是或否的回答。人脸识别的命中率可以根据6000对人脸检测效果的系统软件回答与真正回答的比率获得。这一结合被普遍用以评定人脸认证优化算法的性能。可以看得出,LFW数据库中人脸的直射规范和情况多种多样,一部分人脸被部分挡住,无法识别。现阶段,LFW数据库的性能点评早已变成人脸鉴别优化算法性能的一个关键指标。

图2.20 LFW人脸数据库中的部分样本

2.6.2 IJB-A人脸数据库

IJB-A数据库是美国NIST公布的人脸检测与识别数据库,包含11754张照片,1845个对象,7011个视频帧,55026个视频帧,10044个非人脸面部面部。

图2.21 IJB-A人脸数据库中的部分样本

2.6.3 Multi-PIE人脸数据库

CMU的Multi-PIE人脸数据库包括了750,000多幅337个受试者的照片,历时5个月,总共4次。受试者们在15个观察场所和19种光照条件下,采集了一组脸部表情图片,并得到了高清晰度的正面图像。这个资料库共有305 G以上的脸部资料。该目录页面对该数据库进行了更多的细节说明。Multi-PIE在推动姿势和光照的人脸识别研究具有很大的影响力,虽然 PIE数据库已经获得了成功,但是其不足之处在于拍摄主题数量有限,而且所捕捉到的表达式数量很小。

图2.22 Multi-PIE人脸数据库中的部分样本

2.6.4 MegaFace人脸数据库

MegaFace的数据包括1,000,000幅照片,涉及690,000个人,这些资料均由华盛顿大学 Flickr机构搜集。特点:针对普通人,而非名人。不受约束的姿势,表情,照明和曝光。范围广,包含许多不同的人,而不是少数人的许多照片。测试集图像中混合了100 万个干扰物。对于每张脸,人脸约占照片的75%。

图2.23 MegaFace人脸数据库

2.7 本章小结

本章对人脸矫正技术进行了简要的阐述。首先,对人脸识别的基本原理进行了介绍。接着,简要地介绍了本论文所涉及的有关理论和技术,如:卷积神经网络,生成对抗网络,3DDFA技术,三维人脸重建以及常见的人脸数据库。


3 基于3D模型的人脸校正算法

3.1 引言 

人脸矫正问题的实质是修复人脸被挡住一部分的结构特征和纹理。可是,目前的方法大多数是根据同一人脸的多角度数据信息训练来同时转化成新的角度,进而导致各种各样问题。传统式方法都选用3DMM模型,但难题取决于3D人脸模型旋转时的不可见区域。过去学者一般通过对称性编写和不可见区域填充来处理这个问题。这类填充的方法会引进伪像,导致不真实的结果。近些年,因为GAN的诞生,人脸矫正的任务获得了迅速的发展,但目前的主要方式是取决于同一个人的多视角数据。一个简便的案例便是根据GAN的经典人脸矫正论文TP-GAN[12]的训练架构。将侧边人脸图像作为网络输入,正脸人脸图像作为生成模型的监督。这类训练法的首要阻碍之一是对多视角高品质训练数据的依靠。这种方法会遗失部分关键点,如人脸形状和纹理,导致身份信息搞混。最明显的不足之处是需要给予同一个人的多张视图数据信息作为监督。这一缺陷导致的结果便是会造成一定数据的过拟合,图片分辨率往往小于128×128,训练结果不可以广泛使用。

图3.1 传统人脸矫正

为了克服这些挑战,本文提出了一种新颖的无监督框架,它可以在野外仅使用单视图图像来合成逼真的旋转人脸,并且可以实现任意角度的人脸旋转。本篇文章的核心是根据单幅图像和三维人脸建模,与初始图像创建训练数据信息对,3D渲染出具备挡住伪影和缺陷的人脸,这种人脸可以从随意视角旋转到当前视角。在创建流程中,首先,给定一个姿势

的人脸,将3D图像旋转到任意位置

,然后将其渲染到2D空间以获得2D渲染图像

。然后将其旋转回原来

的位置并使用从

中提取的纹理将其渲染为

。最后,使用渲染模块来填充不可见部分并将渲染图像映射到真实图像域。通过这种方式,可以保留现有的局部纹理信息。这个过程中使用了两次人脸纹理获取,3D空间旋转和渲染。

图3.2 无监督人脸旋转框架

3.2 算法原理 

3.2.1 三维人脸重建模块 

本文使用的是3DMM模型,作为叙述人脸形状的平均模型,3DMM是一种比较基础的人脸特征建模方法,是实现三维人脸重建的常见模型之一。人脸模型矩阵V可以用

表示。可以使用公式3.1来描述三维形变模型:

                         (3.1)

这里

是平均形状,

分别是标识和表达式的主轴。采用开放源码的程序与3DDFA来预训练模型进行人脸三维拟合。该方法是一种从单一二维人脸图像

中进行回归的深度学习模型。由此,能够准确地预测出面部的立体形态和在二维平面{V,P}中的相对位置。

(1)三维人脸拟合

给出了一种三维人脸模型的顶点定义,通过对三维人脸的形状进行预测

,得到了该人脸的顶点在三维空间中的归一化位置,其中

。3D模型在2D图像上的渲染可以写成:

                    (3.2)

是一个渲染函数,它把一个模型的顶点映射到它的二维平面上。用“

”来表示矩阵乘法,

来表示比例系数,

来表示正交渲染矩阵,

来表示旋转矩阵,

表示2D位移。以上所定义的与渲染有关的参数在此被认为是脸部的相对姿态

的综合表达。

(2)获取相应的纹理

在从一个完整的三维表示到两个平面的过程中,纹理同样起着关键的作用。在不同的颜色平面中,每个顶点

都有相应的纹理

。通过最简易的纵向绘制来获取初始图片

的顶点颜色。可以将每一个顶点的色彩写为:

                          (3.3) 

其中

是垂直

的渲染2D坐标。通过这种方式得到所有相应的纹理

。该过程可以在图3.3中容易地描述,将获得均匀纹理的整个过程称为:

                        (3.4)

其中正交矩阵

,渲染结果

与顶点的z坐标无关。对于2D空间上的每个位置

,在3D空间中的线

上可能存在多个旋转顶点,然后将为它们中的每一个指定相同的纹理。所有

,只有z轴的值最大的最外层的纹理才能获得正确的纹理。其指数为

                      (3.5)

由于二维空间中的遮挡,其余实际上是不可见的顶点。保留错误获取的纹理,并将其视为要处理的伪影。

(3)渲染

给定一组面

的三维表示,渲染就是将其映射到二维空间并生成图像。如图3.3(b)所示。与等式3.4相同,已知

是给定2D点

的最外顶点的索引。渲染后的彩色图像

可以计算为:

                     (3.6)

使用开源的Neural Mesh Renderer[21]无需任何训练即可执行渲染。位于相同直线上的3D点将对应于2D空间中的相同纹理。下标a和b与图3.3中的姿势a和b相关联。最后,将整个渲染过程表示为:

                         (3.7)

图3.3 获取纹理和渲染的过程

3.2.2 训练策略 

可以发现,使用精确拟合的3D模型,目标是为不可见的顶点填充正确的纹理,以获得另一张脸的视图。然而,现有的具有类似想法的作品需要从难以获得的多视角图像进行地面真实性监督。在这里,提出了一个简单的策略来创建称为旋转和渲染的训练对,它由两个旋转和渲染操作组成。关键的想法是创建由将被遮挡的面部表面旋转到前面引起的伪影,并消除它们。因此,只能利用无监督来训练网络。整个流程和每个步骤的可视化都如图3.4所示。

图3.4 无监督真实照片人脸旋转框架

主要的想法是在三维空间中来回旋转面,并将其重新渲染到二维平面,可以作为一种强大的自我监控。经过两次旋转和渲染过程后,可以创建一个渲染图像

,它具有从任意位置b旋转到位置a的面部伪影。这样,输入图像

本身就可以作为训练的基本事实。在整个过程中,只有渲染模块需要训练。

主要流程如下:首先,给定一张输入图像

,通过3DDFA来获取3D模型参数:

                         (3.8)

其中a表示该面在2D空间中的当前视图,

。其顶点的纹理可以通过以下方式获取:

                       (3.9)

然后,通过将

与另一个旋转矩阵

相乘,将人脸的三维表示旋转到另一个随机二维视图b,得到

。将当前的三维表示表示渲染为

。这将完成第一次旋转和渲染操作。在这种情况下,可以获取另一组纹理:

                      (3.10)

通过观察发现,在视图b下纹理正确的vertice集是在视图a下纹理正确的vertice集的子集。因此,与以前的工作不同,在给定视图a的情况下,恢复

,将

作为输入。具体地说,就是将三维模型

旋转回

,并使用

                    (3.11)

将其渲染回其原始二维位置,

本质上是一幅渲染图像,它的瑕疵是由在二维空间中将人脸从视图b旋转到视图a而引起的,从而得到用于训练的输入\真实对

3.2.3 生成模块 

通过渲染到图像的生成模块,消除伪影并将渲染图像

从渲染图像域映射到真实图像域,使用生成器G创建

,如图3.5所示。

3.5 消除伪影

使用CycleGAN的ResBlock生成器渲染图像

获得结果

。它可以很好地处理大部分的数据集。在VGG网络中,经过识别和预训练,可以减少所生成的信息

与实际信息

的损失。从Pix2PixHD中直接借用多个层次的识别和感知损耗。判别方法中的损失函数主要有对抗性和特征匹配两种。

        (3.12)

特征匹配损失是指在识别系统的多个层次上进行特征提取,并对所产生的图像进行规则化处理。利用

表示从鉴别器的第i层为输入

提取的特征。对于总的第

层,特征匹配损失可以写成:

            (3.13)

利用ImageNet对VGG网络进行预训练,从而实现了感知损失。它被用来对产生的结果和所产生的识别进行规范化。感知损失与

是类似的,它的特性用

来表达,并且损失函数是:

            (3.14)

全部目标函数可以写成:

                    (3.15)

在测试过程中,可以通过将目标视图

指定为

,并将渲染的

发送到经过训练的生成器G中,直接生成所需的输出。

由于3D拟合方法的不准确性,错误拟合的顶点的渲染有时位于人脸的真实边缘之外。当这种三维未对齐情况发生时,背景像素将被分配给这些顶点。在预渲染和侵蚀过程中,那些错误获取的纹理将被渲染到旋转的

上(见图3.6左栏)。然而,此类工件很难通过旋转和渲染过程直接在

上创建,这意味着它们不存在于训练输入输出对中。因此它们不能被生成器处理。解决的方法是将拟合好的3D表示

预渲染到

,并且用特定的像素侵蚀渲染图片。侵蚀是基于V的渲染边缘和所有顶点的平均颜色进行的。然后,纹理

被更新为

                   (3.16)

因此,

只能包含存在于

中的瑕疵。侵蚀预处理结果如图3.6所示。

3.6 未对准效应和侵蚀预处理结果的图示

3.3 本章小结

本章介绍了一种基于三维模型的人脸校正算法。利用这种算法可以得到一张非常自然的正向人脸图片。简单介绍了算法实现的原理以及流程。


4 实验结果及分析

4.1 实验设置

4.1.1 实现细节

在运行程序之前,要进行预处理。首先在所有数据集上运行3DDFA,以获取所有图像的参数{V,P}。通过已知的V,能够知道面部关键点,并根据他们的眼中心和鼻子对面部进行对齐,实现步骤如图4.1所示。

图4.1 获取三维信息

具体运行结果如下图所示,图4.2是对应人脸的部分人脸特征点数据。

图4.2 部分人脸特征点数据

4.1.2 数据集

使用旋转和渲染策略时,不依赖任何成对的多视图数据或监控,因此在评估中不存在过度拟合的问题。理论上,可以有无限数量的数据来训练系统。由于受控环境中的数据集并不总是适用于现实世界的场景,所以更关注大规模的野外问题。

为了评估本文方法对人脸识别系统的性能的大大提升,在标准LFW、IJB-A(包含视频中的人脸)和MegaFac上进行了测试。

4.1.3 评估指标

为了能够更加准确的衡量模型的性能,本文将采用以下评估指标对模型进行评估。

(1)峰值信噪比(PSNR),是一种客观的影像评估指标。PSNR通常是一种在最大值信号与背景噪声之间进行的工程应用。一般来说,压缩后的图像都会和原来的图像有一定的区别。经常参照PSNR来测量图像质量,以判断一个处理程序是否满意。该方法是原始图像和待处理的图像间的均方误差

(n是每个采样数值的位数量),单位用dB表示的。公式如下:

                     (4.1)

                          (4.2)

其中,MSE就是指现阶段图像X与参照图像Y的平均偏差,H和W分别是图像的高度和总宽;n是每一个像素的数量,通常是8,也就是像素灰阶为256。

PSNR是目前应用最广、应用最广的一种客观评估方法,但PSNR建立在相应像素点间的错误上,也就是对其进行了精度评估。因为没有将人类的视力特征纳入考虑范围(人类的眼睛对于较小的空间频率的差别具有更高的敏感性,对于不同的亮度差别,人类的眼睛对于不同的亮度差别的敏感程度要高于其他颜色,因此,人们的眼睛对于某一地区的感知会被附近的环境所左右)。

(2)混淆矩阵:混淆矩阵的列代表的是一个预测类别,而每一列的总数量则是一个预测类数据的数量;每一行代表的是真正属于这个分类的数据,每一行的数据总数量代表这个分类的个体数目。

根据抽样的预测数据与实际数据的一致性比较,可以得出以下四个结论:1)TP:数据的预测值与实际的数据一致,并且都为正数,也就是真阳性。2)FP:当实际数据为负数时,该模型的预测结果是正数,也就是假阳性。3)FN:当实际数据为正数时,该模型的预测结果是负数,也就是假阴性。4)TN:该模型的实际结果与实际情况一致,并且都是负数,也就是真阴性。

图4.3 混淆矩阵

(3)准确度(Accuracy):正确的次数除以总次数。公式如下:

                         (4.3)

(4)ROC是一条沿二维平面画出的曲线。此平面的横轴为FPR和纵轴为TPR,而一个分类器会依据其在检测样值上的性能,可以得到一对TPR和FPR。通过这种方式,该分类器能在ROC平面上的一点上进行地图绘制。该分类器所采用的门限经过(0,0)与(1,1)之间的一条曲线,即该分类器所采用的ROC曲线。

图4.4 混淆矩阵

(5)曲线下总面积(AUC),被理解为ROC曲线下的总面积。显而易见,这一范围的值不可能超过1。由于ROC曲线一般在平行线y=x以上,因此AUC值的范畴在0.5-1中间。用AUC值做为评判规范是由于ROC曲线在许多情形下不可以表明哪个支持向量机的功效更好。AUC的数值是一种可能的数值,假设随机选取了一个正、负两个样本,则当前的分类算法根据结果将正样本放在负数之前的概率称为 AUC值。可以说,AUC值越大,目前的分类算法将呈阳性样本排在呈阴性样本前面的概率就越大,也就是说可以能够更好地对它开展分类。

(6)Rank-1,就是第一次命中。Rank-1的整体运算步骤是:第一步,在数据集的基础上,对各输入图像进行分类标记的概率进行了求解。第二步:将初始标记与相应的最有可能的标记进行对比,如果结果一模一样,就是真的,否则相反。第三步:将 True的数量作为统计。Rank-1精确性,也就是相应于最大的预测机率的标记数量和实际标记数量的比例,也就是标记一模一样的数量/总的数据数量。

(7)FID也是最常用的一种方法,可以准确地测量真实的图片与产生的图片之间的特性。FID是一种度量曲线图中间同质性的方式,在其中考虑到了点沿曲线图的具体位置和次序,它还可以用于精确测量2个分布之间的距离。同时,可以使用FID评估GAN。在数学上,FID用于测算2个“多元化”正态分布中间的距离。针对“单自变量”正态分布,FID为

               (4.4)

其中X和Y分别是真实的图像和生成的图像,被假定为两个多元正态分布。

是向量X和Y的均值大小。Tr是矩阵的迹。FID越小,说明两种分配的关系就会更紧密,这就意味着所产生的图像具有更高的质量和更好的多样性。

4.2 人脸矫正实验结果及分析

在简要介绍了这种方法的基本原理后,本文将利用CASIA-WebFace人脸数据库、 LFW人脸数据库、IJB-A人脸数据库以及Multi-PIE数据库等多种数据集进行不同的实验。并对本文的研究结果进行了定量和定性的对比,结果表明,本文所提出的方法具有较好的实用性。实验设计如下:首先,在CASIA-WebFace和MS-Celeb-1M的人脸数据库上,将本文方法与FFGAN、TP-GAN、HF-PIM等进行了比较。然后,利用LFW的人脸数据库与IJB-A的人脸数据库进行了定量实验,并且在Multi-PIE不同的人脸角度对本文算法进行了人脸识别。在定性的实验中,我们先将LFW的脸部资料库与其它方法进行比较,以评价该方法在无约束条件下的效果。另外,在LFW和MegaFace中,通过一个类似的人脸识别实验,证明了本文提出的算法在一定条件下是有效的。

4.2.1 人脸矫正实验结果

下面的图是基于3D模型的人脸矫正系统的主界面,界面非常的简洁,清晰。左上角是操作按钮,点击按钮会执行相应功能。左下角有两个文本框,第一个文本框是显示当前正在执行的功能,第二个文本框是显示历史执行的功能。

图4.6 主界面

在主界面点击返回,列表就会收起来,然后再点击人脸矫正,列表展开。具体如图4.7所示。

图4.7 显示界面

首先,点击打开图片按钮可以选择想要矫正的人脸图像。在文件夹中选择照片并确定。主界面如图4.8所示。

图4.8 打开图片

点击查看原图,可以查看刚才选择的图片,具体如图4.9所示。

图4.9 查看原图

点击三维人脸,可以查看到原图的三维人脸。具体效果如图4.10所示。

图4.10 三维人脸

点击矫正图像,可以查看到矫正后的人脸,具体如图4.11所示。

图4.11 矫正人脸

点击查看效果,同时显示原图,三维人脸以及矫正后的人脸,具体如图4.12所示。

图4.12 查看效果

点击退出可以退出程序,具体如图4.13所示。

图4.13 退出程序

4.2.2 生成图像的质量比照

下面的图是本文方法的矫正结果,可以发现使用数据集中的图片去除了背景,矫正效果比较好,而使用带有背景的照片实矫正效果较差,生成的人脸也比较模糊。

图4.14 多张图片对比

下面的图是与其他基于3D重建的方法和基于GAN的方法的结果进行比较。可以看得出,无论较为哪一种方法,本文提到的方法生成的图像品质都更强,而且合理地保存了身份证信息。

图4.15 与基于3D重建的方法比较

从图4.15中可以看出,尽管其它的一些方法都尝试用对称的先验来填补缺失的区域,但是当在大的姿态转动时,这些结果会造成大量的伪像。该图摘自FFGAN[22]。然而,FFGAN未能将人脸完全旋转到正面,从而严重丢失了细节。可以观察到,本文方法不仅可以很好地保留整体面部结构,而且可以以身份一致的方式恢复看不见的耳朵和脸颊。生成的正面和侧面都具有良好的品质。与他们的结果相比,本文的结果似乎更加真实。

图4.16 与基于GAN的方法比较

图4.16描述了本文与基于GAN的方法的比较。TP-GAN[12]、CAPG-GAN[23]和FNM[24]这些都是以重建为基础的方法,在受约束的数据集上进行训练。所以,所产生的结果只在其所受训练的网络的域中。这限制了它们在其他领域的应用。此外,TP-GAN改变了面部形状的结果,CAPG-GAN识别的身份改变。而且,本文的网络结构比TP-GAN简单。与以前的方法不同,本文可以将输入人脸旋转到任何姿势。HF-PIM[25]是以前最先进的方法,然而,照片上的结果显示改变了比本文更多的身份细节。例如,第一人称(Keanu Reeves)的鼻子和下颚都发生了变化。FNM是一种既能接收限制又能接收野外数据的 GAN方法。他们的研究结果倾向于在相同的背景下产生一个具有中性表情的标准正面脸。

4.2.3 数值结果

另外,我们还在VidTIMIT的数据集进行了数值试验,对像素层次的正脸化效果进行了对比。使用多视角框架,以超过45度的偏航角为输入,正面作为真实对照。将标度统一为128×128,以计算PSNR。将本文的方法与FNM[24]和CR-GAN[26]的结果进行比较,因为人脸矫正的结果几乎不可能与事实相符,所以仅使用开源方法进行比较。然而,仍然可以发现本文的结果优于其他人。

表4.1 VidTIMIT数据集的性能验证

Method

PSNR(dB)

FNM[24]

27.9

CR-GAN[26]

28.2

Ours

28.8

4.3 人脸识别实验结果及分析

4.3.1 人脸识别设置 

通常,以前的工作报告人脸识别结果来验证成功正面化后他们的身份保持质量。 然而,很少给出关于它们的设置的清晰描述。此外,他们报告结果的基线LightCNN[27]具有不同结构和基准分数,这是不可比的。因此,本文只会采用他们的最终结果作为参考。为了提出一个现实世界的适用系统,本文使用了最先进的损失函数ArcFace和标准ResNet18主干,其参数大小略小于LightCNN29[27]用于人脸识别。提供了在CASIA和MS1MV2上训练的结果,提出了一种使用正面数据的不同方法,通过使用本文生成的3D 数据集来增强原始数据集来提高人脸识别的性能。 然后在我们的增强数据集上训练网络。为了公平比较,为基线提供了最佳结果。而且,本文的方法在强基线上仍然可以提高性能。

4.3.2 定量结果 

在人脸识别中,一般采用辨识准确度来量化各种辨识方式的身份保留能力。原始的脸部图片不一定包括对象的全部像素水平的信息。本文算法虽然能够产生像素级别的缺失信息,但是也会导致部分识别信息的丢失。如果生成的图像可以提高识别精度,则在生成过程中会保留更多的身份信息。因此,在本小节中,本文在识别精度方面将所提出的方法与其他方法进行了定量比较。

本文对LFW数据集进行了全面研究。报告了1:1的人脸验证精度和曲线下面积(AUC)结果。可以发现,无论是弱(CAISA)还是强(MS1M)基线,用本文的正面结果来增加训练集都可以提高性能。特别是,与本文提出的方法相比,HF-PIM在其基线上的改进较少。

表4.2 LFW数据集的性能验证

Training Data

Method

ACC(%)

AUC(%)

CASIA

TP-GAN[12]

96.13

99.42

CASIA

FF-GAN[22]

96.42

99.45

-

CAPG-GAN[23]

99.37

99.9

-

LightCNN[27]

99.39

99.87

-

HF-PIM[25]

99.41

99.92

CASIA

Res18

98.77

99.9

CASIA+rot.

Res18(ours)

98.95

99.91

MSIMV2

Res18

99.63

99.91

MSIMV2+rot.

Res18(ours)

99.68

99.92

从表4.2中可以看出,本文方法明显优于其他方法。特别是,与TP-GAN[12]和FF-GAN[22]相比,本文结果的准确度大大提高。如预期的那样,本文方法在精度上达到了99.68% 和在AUC上达到了99.92%,这也可与其他最先进的方法相媲美。尽管未在LFW数据库上对本文方法进行训练,但其生成的人脸图像也可以进一步提高识别精度,从而表明本文方法可以保留在野外的身份特征。

通过在ResNet18上进行的验证实验,可以在表4.3中列出的IJB-A上找到改进。

表4.3 IJB-A数据集的性能验证

Training Data

Method

@FAR=.01

@FAR=.001

CASIA

FF-GAN[22]

85.2±1.0

66.3±3.3

CASIA

DR-GAN

87.2±1.4

78.1±3.5

CASIA

FNM[24]

93.4±0.9

83.8±2.6

-

HF-PIM[25]

95.2±0.7

89.7±1.4

CASIA

Res18

90.57±1.2

80.0±4.1

表4.3(续)

CASIA+rot.

Res18(ours)

91.98±0.7

82.48±2.5

MSIMV2

Res18

97.28±0.6

95.39±0.9

MSIMV2+rot.

Res18(ours)

97.30±0.6

95.63±0.7

Multi-PIE也使用相同的方法进行评估设置为和表4.4中列出的所有工作。如前所述,受约束的数据集并不是关注的重点。然而,有了本文的强基线,也可以提高对Multi-PIE的识别结果。表4.4显示了Multi-PIE设置下不同方法的Rank-1精度。所有方法的精度都随着姿态度的增加而下降。这是因为当姿态度增加时,更多的面部外观信息丢失,合成任务变得更加困难。本文比较了TP-GAN[12]FF-GAN[22]CAPG-GAN[23]HF-PIM[25]并观察到,本文方法不仅在具有挑战性的±90°下明显优于竞争对手,而且在其他角度上也取得了最佳的性能。似乎头部角度越大,本文方法获得的改进就越大。这些定量结果表明,本文方法在人脸矫正过程中丢失的身份信息较少。

表4.4 Multi-PIE数据集上跨视图的Rank-1识别率 (%)

Angle

±30°

±45°

±60°

±75°

±90°

Res18

100

99.7

96

76.4

39

FF-GAN[22]

92.5

89.7

85.2

77.2

61.2

TP-GAN[12]

98.1

95.4

87.7

77.4

64.6

CAPG-GAN[23]

99.6

97.3

90.3

76.4

66

HF-PIM[25]

100

99.9

99.1

96.4

92.3

Res18(ours)

100

100

99.7

99.3

94.4

最后,在人脸识别领域广泛应用的MegaFace数据集上进行了实验。然而,没有面部正面化论文报告了该数据集的结果。对100万个干扰物的1级人脸识别准确性进行了评估。使用了由ArcFace引入的18层和50层ResNet的修改版本,并与他们在R100上的最先进的结果进行了比较。通过本文的数据增强,可以提高R50的性能,以超过ArcFaceR100模型,达到98.44%。“Id”是指1M干扰项的rank-1人脸识别精度。

表4.5 MegaFace数据集的评估

Training Data

Method

Id%

MSIMV2

R100(ArcFace)

98.35

MSIMV2

R18

97

MSIMV2+rot.

R18

97.48

MSIMV2

R50

98.26

MSIMV2+rot.

R50

98.44

4.4 消融研究

在本小节中,在本文提出的3D模型的基础上(1)去掉VGG网络;(2)去掉多尺度鉴别器和特征匹配损失。为了深入了解它们各自的作用。本文用相同的参数集和训练策略训练相同的网络,报告定性可视化结果和定量识别结果,以进行全面比较。此外,为了正则化,增加了图像级的额外L1损失。

4.4.1 定性结果

在LFW数据集上展示了两组人脸矫正结果。可以看出,在没有MuitiD的情况下,网络难以分辨真正的区域,所以结果会出现特定的GAN伪像,生成的面孔往往会模糊。如果没有VGG损失,结果往往是平滑的,生成的轮廓面上眼睛周围的局部纹理很少,并且面部轮廓会失真。这些实验结果表明,本文中的每个组件对于获得逼真的面部图像至关重要。

图4.17 正面化结果的消融研究

4.4.2 定量结果

Frechet Inception Distance (FID)[28]被广泛用于测量生成的图像域和真实图像域之间的距离。FID分数的结果列于表4.6。可以观察到,使用本文的完整模型,性能达到了最佳FID分数。

表4.6 FID度量损失函数的消融研究

Approach\Dataset

LFW

IJB-A

Ours w/o {VGG}

93.1

126.5

Ours w/o {MuitiD}

83.9

132.3

Ours

83.1

70.9

从表中可以看出无论是缺少VGG网络还是MuitiD鉴别器,最终的结果的准确度都会显著下降。这些结果表明,在人脸矫正过程中,本文的每个成分都是保持身份准确的关键。

4.5 本章小结

本章主要介绍了实验环境和相关评价指标,通过将本文的实验结果与其它方法的比较,得出了本文方法的优越性。然后,本文还在多个人脸数据库上进行了实验,验证了本文方法的准确性。此外,将生成的正面图像用于训练人脸识别模型,可以发现本文提出的方法大大提高了人脸识别的性能。最后,做了一些消融实验来证明网络结构设计和损失函数设计的有效性。


5 总结与展望

5.1 研究工作

在本篇论文中,利用3D人脸模型先验的优势,提出了一种新的策略,称为旋转和渲染,用于无监督人脸旋转。关键见解是通过将粗略预测的3D表示旋转并渲染为随机姿势并返回其原始位置来创建自我监督信号。因此,可以利用自我监督通过将渲染图像转换为真实图像域来创建照片般逼真的结果。通过全面的实验,本文的优势得到了验证:

(1)不需要多视图或配对数据,也不需要任何类型的标签,包括身份就可以进行训练,这是大部分现有方法无法实现的。

(2)可以将单视图面旋转到任何所需的角度,而不仅仅是将人脸旋转到正面。

(3)大量的实验结果证明,本文可以生成保留细节和光照条件的接近照片级的人脸旋转结果,表明本文方法的优越性。

(4)将生成的图像用于训练人脸识别模型,可以提高人脸识别的性能。

5.2 工作展望

在本文中,给出的算法在某些条件下能够很好地解决现有算法的缺点,但是也存在着一定的局限性。例如,用于3D人脸拟合的3DDFA模型非常不准确,使用检测到的边界框而不是地面实况框会导致性能略有下降。由于自遮挡等原因,不可见区域的纹理失真,因此不可见的面部区域可能看起来很奇怪,因此可以用任何最先进的模型代替。

此外,本文的渲染模块的网络模型选择比较随意,所以无法处理较高分辨率的图像。可以替换为Pix2pix HD[29]中的网络,或修改为渐进式增长风格[30]。升级的鉴别器结构和训练损失也适用。


   

  1. 李海彦. 基于仿射变换的多姿态人脸矫正与识别[D]. 苏州大学.
  2. 丁立军. 基于几何代数理论3D人脸姿态计算与识别研究. 浙江工业大学, 2014.
  3. Beymer, David, Poggio, et al. Image representations for visual learning.[J]. Science, 1996:1905-1907.
  4. Vetter T . Linear object classes and image synthesis from a single example image[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1997, 19:1,2.
  5. Fontaine X ,  Achanta R ,  Susstrunk S . Face recognition in real-world images[C]// IEEE International Conference on Acoustics. IEEE, 2017:2,4.
  6. 张海燕, 文翔, 臧怀娟,等. 基于3DMM的人脸姿态校正算法[J]. 电子测量与仪器学报, 2019(7):7.
  7. Jeon S H ,  Yoon H S ,  Kim J H . Frontal face reconstruction with symmetric constraints[C]// 2016 13th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI). IEEE, 2016.
  8. Asthana A, Marks TK, Jones MJ, et al. Fully automatic pose-invariant face recognition via 3D pose normalization. Paper presented at: Proceedings of the International Conference on Computer Vision; 2011; Barcelona:937–944.
  9. Jackson A S ,  Bulat A ,  Argyriou V , et al. Large Pose 3D Face Reconstruction from a Single Image via Direct Volumetric CNN Regression[J]. IEEE Computer Society, 2017:117,118.
  10. Zhang S ,  Miao Q ,  Huang M , et al. Pose-Weighted Gan for Photorealistic Face Frontalization[C]// 2019 IEEE International Conference on Image Processing (ICIP). IEEE, 2019.
  11. Yu X ,  Porikli F ,  Fernando B , et al. Hallucinating Unaligned Face Images by Multiscale Transformative Discriminative Networks[J]. International Journal of Computer Vision, 2019(8):500-526.
  12. Huang R ,  Zhang S ,  Li T , et al. Beyond Face Rotation: Global and Local Perception GAN for Photorealistic and Identity Preserving Frontal View Synthesis[J]. IEEE Computer Society, 2017.7,8
  13. Gecer B ,  Deng J ,  Zafeiriou S . OSTeC: One-Shot Texture Completion[J].  2020:1,2,3.
  14. Zhou H ,  J  Liu,  Liu Z , et al. Rotate-and-Render: Unsupervised Photorealistic Face Rotation from Single-View Images[J].  2020:10-12.
  15. Ojala T ,  Pietikainen M ,  Harwood D . Performance evaluation of texture measures with classification based on Kullback discrimination of distributions[J]. IEEE, 1994:3,4.
  16. Ojala T ,  Pietikainen M ,  Maenpaa T . Multiresolution Gray-Scale and Rotation Invariant Texture Classification with Local Binary Patterns[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(7):971-987.
  17. Jiwen L ,  Liong V E ,  Zhou X , et al. Learning Compact Binary Face Descriptor for Face Recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015:2.
  18. Li Y ,  Lu Z ,  Li J , et al. Improving Deep Learning Feature with Facial Texture Feature for Face Recognition[J]. Wireless Personal Communications, 2018:4,5,7.
  19. Lecun Y ,  Bottou L . Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
  20. Zhu X ,  Zhen L ,  Liu X , et al. Face Alignment Across Large Poses: A 3D Solution[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2016:3,4.
  21. Kato H ,  Ushiku Y ,  Harada T . Neural 3D Mesh Renderer[J].  2017:2,3,4.
  22. Yin X ,  Yu X ,  Sohn K , et al. Towards Large-Pose Face Frontalization in the Wild[J].  2017:6-8.
  23. Hu Y ,  Xiang W ,  Bing Y , et al. Pose-Guided Photorealistic Face Rotation[C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. IEEE, 2018:2,7,8.
  24. Qian Y ,  Deng W ,  Hu J . Unsupervised Face Normalization With Extreme Pose and Expression in the Wild[C]// 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019:2,3,7.
  25. Cao J ,  Hu Y ,  Zhang H , et al. Learning a High Fidelity Pose Invariant Model for High-resolution Face Frontalization[J].  2018:3,7,8.
  26. Yu T ,  Xi P ,  Long Z , et al. CR-GAN: Learning Complete Representations for Multi-view Generation (IJCAI 2018)[C]// International Joint Conference on Artificial Intelligence (IJCAI 2018). 2018:2,7.
  27. Wu X ,  He R ,  Sun Z , et al. A Light CNN for Deep Face Representation with Noisy Labels[J]. IEEE Transactions on Information Forensics & Security, 2015:1-1.
  28. Heusel M ,  Ramsauer H ,  Unterthiner T , et al. GANs Trained by a Two Time-Scale Update Rule Converge to a Nash Equilibrium[J].  2017:8,9.
  29. Wang T C ,  Liu M Y ,  Zhu J Y , et al. High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs[J].  2017:3,5.
  30. Karras T ,  Aila T ,  Laine S , et al. Progressive Growing of GANs for Improved Quality, Stability, and Variation[J].  2017:7,8,10.

附 录 

  1. 运行参数

python -u test_multipose.py  \

        --names rs_model \

        --dataset example \    #数据集

        --list_start 0 \       #从列表中的哪个数字开始

        --list_end  8 \       #从列表中的哪个数字结束

        --dataset_mode allface \  #数据集风格

        --gpu_ids 1,3 \           #选择哪个gpu

        --netG rotatespade \     #选择用于 netG 的模型(生成器)

        --norm_G spectralsyncbatch \

        --model rotatespade \    #使用哪个模型

        --label_nc 5 \        # 没有未知类的输入标签类。 如果有未知类作为类标签

        --nThreads 3 \          #加载数据的线程

        --heatmap_size 2.5 \     #图的大小

        --chunk_size 1\         #指定每个训练gpu的批量大小

        --no_gaussian_landmark \

        --multi_gpu \           #是否使用多gpu

        --device_count 2 \      #要使用的gpu总数

        --render_thread 1 \     #用于渲染的gpu数量

        --label_mask \

        --align \               #是否保存align

        --erode_kernel 21 \   #侵蚀内核大小,用于渲染器

        --yaw_poses 0 30 \      #测试期间的偏航角范围

  1. 测试结果图


网站公告

今日签到

点亮在社区的每一天
去签到