文献标识码:A
DOI:10.16157/j.issn.0258-7998.190041
中文引用格式:黄海新,张东. 基于深度学习的人脸活体检测算法[J].电子技术应用,2019,45(8):44-47.
英文引用格式:Huang Haixin,Zhang Dong. Face liveness detection algorithm based on deep learning[J]. Application of Electronic Technique,2019,45(8):44-47.
0 引言
随着时间的推移,生物特征识别技术在不断地发展,并且已经广泛使用到诸如指纹识别和虹膜识别的身份认证技术等领域。其中,人的面部都有很大的差异,具有不容易丢失、不容易窃取、对用户友好等广泛优点,容易被大众所接受。人脸识别技术应用较广泛,很好地帮助了人们的生活和工作,如:案件侦破、上班打卡。但是人脸识别系统仍然容易受到攻击,由于社交媒体的普及,面部图像和视频很容易获得[1],例如演示攻击可以记录一个人的面部信息,在屏幕上重放,甚至通过3D人脸[2]或者VR[3]伪造来记录人的面部信息,这带来了极具挑战性的安全问题。身份信息真实性的验证十分重要,因此活体检测技术也是研究的重中之重。活体检测是一种防止欺骗手段欺骗摄像头的技术,是捕获人的特征信息来判断信息的来源是不是来自真实活体上。随着生物识别技术不断的发展,在工作和生活中活体检测被重视程度也逐渐增加,这一领域的研究成果也取得了很大的进步,更多的研究人员致力于活体检测。
现实的生活场景中,身份信息欺诈方式主要有3种:
(1)人脸照片:在生活中获取一个人的图片是很便捷的,在微信和微博等社交媒体便可获得。欺骗的手段就是利用照片以模仿成人脸部的3D效果。
(2)人脸视频:面部视频能充分地模仿人脸,是最具欺诈性的,因为高清摄像头拍摄的视频会清晰完整记录人脸的面部信息,最重要的是视频将包含面部动作、面部表情和眨眼等功能,能很好地模仿真实人脸。
(3)面部三维模型欺骗:通过对人脸的三维建模,可以模仿人脸的运动特征,头部的基本运动、讲话、眨眼睛等动作都可以很好地模仿出来。因此,人脸照片和人脸视频是主要的欺骗手段。
国内外研究成果有很多,国内外学者也慢慢注意到活体检测这一领域,在这个领域的研究也是投入了大量的精力,国内和国际期刊和国际会议上涉及的生物识别论文数量也在增加,并且提出了许多算法。如今,区分活体人脸检测的方法有:
(1)基于面部运动信息:对于静态人脸图片,人脸的面部照片是二维结构,真实人脸的面部是三维结构,本质上有着很大的区别,运动信息也是有着天差地别。CHOUDHARY T[4]等人根据人脸的运动信息区别做了活体检测实验,首先,检测面部器官(眼睛、鼻子、嘴等)作为检测的特征点,然后,基于运动的面部估算出这些特征点的三维坐标,真实人脸的结构是3D结构,欺骗人脸是2D结构。
(2)基于纹理信息分析:研究人员根据真实人脸的虚拟成像形成了虚假人脸这一线索,对区分照片的纹理性差异这一方向展开了研究。TAN T[5]区分活体人脸和虚假人脸的方法是基于傅里叶频谱。ANJOS A[6]、MAATTA J[7]等人对LBP对面部特征提取的有效性进行了分析;MAATTA J通过应用LBP提取和使用SVM进行分类训练来提取面部特征。2012年MAATTA J等人提出了改进算法,将LBP、Gabor wavelet和HOG 3种特征进行融合。这3种方式需要计算空间较大,提取特征较多,增加了计算难度。
(3)基于多模态特征分析:通过人脸照片实现活体检测,欺骗手段种类较多且复杂,具有很大威胁性,隐患较大,如果结合多模态特征,如:眼睛、鼻子、耳朵、语音、指纹或虹膜等,活体检测的准确率也会随之增加。PAN G[8]等人结合人的面部动作眨眼和现实场景线索进行判别。为增加人脸活体判别的准确率,各种方法层出不穷,研究人员提出将虹膜和人脸相结合、人脸结合语音等多种结合方式的检测方法,虽然这种方法可以提高识别精度,但对设备要求较高,成本较高。
本文提出的基于深度学习的活体检测方法对活体人脸照片进行预处理,人脸照片的特征提取应用的是卷积神经网络,并且将这些特征进行训练,然后经过Sofmax分类器进行真假判别,并在公开的数据集上进行验证。该方法无需用户的主动配合,训练过程简单,验证准确率高,降低了算法的难度。
1 基于深度学习的活体检测方案
对于真实人脸和人脸成像,肉眼很难分辨出来,如图1所示。事实上活体人脸是一个很复杂的三维结构,每个角度的面部光的反射都是不同的,因此会产生不同的反射和阴影;真实的人脸是三维结构,照片人脸是平面结构,因此面部特征有明显的不同;因为每个像素点会有不同,经过卷积神经网络提取的特征会有很大的差异性,这一差异可以用来判别是真实人脸还是照片人脸。因此本文提出基于深度学习的活体检测方法来解决人脸活体照片判别这一问题。
首先,对数据集进行分类。一种是真实的人脸,另一种是照片人脸。在Keras深度学习框架之下,使用Tensor-Flow作为后端,采用Python语言编程对真实人脸和照片人脸这两类图片进行切割,切割成RGB格式的图片,大小为64×64,并将数据集划分为验证集、训练集、测试集。基于深度学习的人脸活体检测算法流程图如图2所示。
将训练集样本进行预处理,将训练集图片进行随机的水平旋转,调整图片水平旋转的偏移幅度,使图片的数目和种类增多,达到对数据增强的效果,能更好地提取人脸图片的特征。
2 CNN卷积神经网络
卷积神经网络(Convolutional Neural Networks,CNN)属于前馈网络,能从二维结构的图片中提取面部特征,反向传播算法用于优化网络结构并解决网络中的未知参数。卷积神经网络的基本结构包括输入层(Inputlayer)、卷积层(Convolytional layer)、最大池化层(Pooling layer)以及全连接层(Dense layer)。CNN通常应用到图像处理,本文所用的卷积神经网络模型如图3所示。该模型由4个卷积层、2个抽样层(池化层)、1个全连接层组成。
2.1 卷积层
卷积层是进行平滑卷积,由一个可调参数的卷积核和上一层的卷积之后得到的特征图进行平滑计算,加上偏置项得到一个输出,然后用激活函数进行激活得到最终的卷积输出结果,对整张图片的卷积计算输出新的特征图[9],如式(1)~式(2)所示:
2.2 抽样层
将图像送入卷积神经网络之后,神经网络会将照片的特征进行提取,这些特征是具有很多信息的,由神经网络提取的特征用于分类。提取的特征可以用分类器训练,但通常产生大量的计算。因此,在卷积之后,最大合并方法用于降维操作。这些特征区域被划分为n×n个小块,并且这些小区域的最大值被用作卷积特征,并且这些特征在维数减少操作之后更容易分类。输出函数和最大值法、均值法如式(3)~式(5)所示:
2.3 全连接层
全连接层:使用Softmax完全连接,获得的激活函数值是由卷积神经网络提取的图像特征。应用较多的分类方法如式(6)所示:
3 实验结果
对本文中的算法进行测试,应用的是南京大学公开的数据集NUAA[10],该公开的数据集在人脸活体检测领域应用较广,测试文本中的算法对于真实面部和虚假面部之间的区分是有效的。数据库中有正反两种图片实例,正例是由高清摄像头采集的15个人真人人脸图像,反例是对这15个人的照片在摄像头前进行拍摄的。反例样本由两种方式拍摄:一种是使用传统方法将它们印刷在相纸上,其普通尺寸分别为6.8 cm×10.2 cm(小)和8.9 cm×12.7 cm(较大);另一种使用普通的彩色HP打印机在70 g A4纸上打印每张照片。数据集中的所有照片经过人眼定位处理,使得图片的大小一样。15人正例样本为5 708张照片,反例样本为6 906张照片。正反样例共计12 614张照片。从12 614张照片中随机选取6 000张照片作为训练集,使用3 000张照片作为测试集,并使用3 000张照片作为验证集。训练集、测试集、验证集的图片都是随机选取的,里面包含正例和反例,这样训练起来样本特征具有多样性,对特征的提取更有利,并且能够提高识别的准确率。将训练集和测试集进行数据分配,如表1所示。
对于算法的有效性测试,本文将结果和传统的算法LBP和GLCM应用SVM进行分类的算法进行比较,另外还与GLCM加上小波分析的改进算法进行比较,如表2所示。表中TP是真实人脸检测的准确率,TN代表虚假人脸检测正确率。
根据表2模型预测结果可知,CNN模型在NUAA数据集上对真实人脸的识别准确率达到了98.90%,识别率最高。GLCM准确率相比基于LBP特征由93.87%上升到94.27%,GLCM及小波特征准确率相比GLCM由94.27%上升到96.97%。CNN准确率相比GLCM及小波特征由96.97%上升到98.90%。
结合图4和图5可知,基于CNN模型在NUAA数据集上可以准确识别出真实人脸和假冒人脸。由图4模型损失可知,训练损失下降,测试损失下降,证明训练过程没有过拟合。根据图5所示,模型的训练准确率和测试准确率都很高,这表明本文的算法在NUAA数据集上有很好的识别率和稳定性。
4 结论
本文结合深度学习对活体人脸的识别提出基于深度学习的人脸活体检测方法,该方法很好地提取人脸特征,提高了识别的准确性。在实际应用中考虑到有更多的干扰因素,例如:拍摄光照、面部表情、相机像素等,这将是后续研究的重点。
参考文献
[1] MARCEL S,NIXON M S,LI S Z.Handbook of biometric anti-spoofing[M].Springer,2014.
[2] MANJANI I,TARIYAL S,VATSA M,et al.Detecting silicone mask-based presentation attack via deep dictionary learning[J].IEEE Transactions on Information Forensics and Security,2017,12(7):1713-1723.
[3] XU Y,PRICE T,FRAHM M.Virtual U:defeating face live-ness detection by building virtual models from your public photos[C].Usenix Security Symposium,2016:497-512.
[4] CHOUDHURY T,CLARKSON B,JEBARA T,et al.Multimodal person recognition using unconstrained audio and video[C].AVBPA 99,Washington DC,1999:176-181.
[5] LI J,WANG Y,TAN T,et al.Live face detection based on the analysis of Fourier spectra[C].Biometric Technology for Human Identification.International Society for Optics and Photonics,2004.
[6] CHINGOVSKA I,ANJOS A,MARCEL S.On the effectiveness of local binary patterns in face anti-spoofing[C].Biometrics Special Interest Group,2012.
[7] MAATTA J,HADID A,PIETIKAINEN M.Face spoofing detection from single images using micro-texture analysis[C].International Joint Conference on Biometrics.IEEE,2011.
[8] PAN G,SUN L,WU Z,et al.Eyeblink-based anti-spoofing in face recognition from a generic webcamera[C].IEEE 11th International Conference on Computer Vision(ICCV),2007:1-7.
[9] 黄睿,陆许明,邬依林.基于TensorFlow深度学习手写体数字识别及应用[J].电子技术应用,2018,44(10):6-10.
[10] TAN X,LI Y,LIU J,et al.Face liveness detection from a single image with sparse low rank bilinear discriminative model[C].European Conference on Computer Vision.Springer,Berlin,Heidelberg,2010.
作者信息:
黄海新,张 东
(沈阳理工大学 自动化与电器工程学院,辽宁 沈阳110159)