基于双摄像头下的活体人脸检测方法
2020-12-24张鹤孙瑜
张鹤 孙瑜
摘 要: 为了解决以往身份认证中的人脸识别问题,提出了一种基于可见光与红外摄像头获取人像差异的方式来实现活体人脸检测。首先利用近红外相机成像特性防止假脸攻击问题,然后针对近红外相机获取的图像不能利用现有的大量可见光照片进行人脸匹配问题,利用扩大近红外图像中检测到的活体人脸特征框,放到可见光图像中同坐标位置等比例“裁剪”的方式来确定活体人脸在可见光图像中的位置,最后对“裁剪”后的图像进行人脸检测,获取面积最大的人脸(即活体人脸)。在自建样本库中场景实验分析,所提出的方法能够抵御假脸攻击的同时,又能保证活体人脸检测的准确度。
关键词: 双摄像头;活体人脸检测;近红外
中图分类号: TP391.41 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.07.010
本文著录格式:张鹤,孙瑜. 基于双摄像头下的活体人脸检测方法[J]. 软件,2020,41(07):51-56
Live Face Detection Method Based on Dual Camera
ZHANG He, SUN Yu*
(School of information, Yunnan Normal University, Kunming 650000, China)
【Abstract】: The paper proposed a obtaining human image difference between visible light camera and infrared camera in order to solve the problems of face recognition in the past identity authentication. First, Use of near-infrared camera imaging characteristics to prevent false face attack. Then, for the image acquired by the near-infrared camera, the existing large number of visible light photos cannot be used for face matching, and the feature frame of the living face detected in the near-infrared image is enlarged. Then, we use the Utilizing enlarged live face feature frames detected in near-infrared images. the enlarged face coordinate information was put into the color image to be “clipped” in the same proportion as the coordinate position, and the largest face (i.e. the living face) was obtained according to the "clipped" image. Finally, In the self-built sample database, the method proposed by the scene experiment analysis under different error factors can resist the false face attack and ensure the accuracy of the living face detection.
【Key words】: Dual cameras; Face liveness detection; Near infrared
0 引言
人臉检测[1]是指所有人脸在输入图像中的位姿、大小的过程。人脸检测作为一项重要的人脸信息处理技术,成为模式识别与计算机视觉领域一项热门的研究课题。然而人脸检测技术容易受到外界因素的干扰,比如光照的充足情况、人体的静态与动态情况、是否用伪人像等[2-3]。通过研究分析表明[4],其中是否用伪人像是最常见的干扰因素,所谓伪人像就是利用一些图像或者视频等手段来伪造成真实的活体人像,因而其实施起来比较方便,所以这也是人脸检测所要面对的重要攻击手段。
现阶段活体人脸检测所依赖的硬件设备大多基于传统可见光摄像头,主要通过人机交互方式和非人机交互的方式来进行活体检测。人机交互式主要通过随机动作的检测、用户的声音检测等来抵御假脸攻击。例如,文献[5]中提出的随机面部表情验证活体人脸和文献[6]中提出的视听语音同步的活体
人脸验证。这一类方法虽然能够有效的判别活体人脸,但是需要用户的配合,导致用户体验感差,在实际应用中效果不理想。非人机交互的方式主要通过生命信息特征分析、颜色纹理分析、图像质量分析等。例如,文献[7]提出面部光流估计法,通过计算脸部转动所产生的光流值,然后使用SVM进行训练分类,从而到达对活体人脸的判定。该方法实用起来比较简单,但是对于3D面具模型攻击的抵御率不是很高。文献[8]提出的动态纹理法,通过动态分析人脸的特征来检测活体人脸,容易受到外界环境的影响,比如光照条件差异明显时,人脸特征提取效果就会受到影响,所以鲁棒性不高。对于可见光摄像头在人脸活体检测中存在的不足,近年来一些研究者提出一些新的硬件设备应用到活体人脸检测中,例如,文献[9]利用热成像摄像头能够散发热辐射的特点,从而区分出活体人脸还是假脸。文献[10]人利用多光谱摄像头获取多个波段图像,从而抽取反射特征来抵御假脸攻击。这些方法虽然能很好的抵御假脸攻击,但是其成本比较昂贵,很难广泛应用。文献[11]利用近红外图像的反射差异作为假脸和真脸的分类线索,然而近红外图像在颜色和纹理上又不如可见光图像的丰富,导致很多重要面部信息提取不到。
在以上研究的基础上,提出了一种基于双摄像头的活体人脸检测算法,使用的两个摄像头中,一个摄像头用来采集可见光图像,另一个摄像头为加装滤波片的近红外摄像头,用来获取850 nm波长的近红外光线,然后利用可见光图像和近红外图像中人脸差异的特点来抵御假脸攻击。首先计算相邻两帧间近红外和可见光图像中人脸成像位置误差因子范围,将近红外图像中的人脸扩大一定的倍数,扩大的倍数根据误差分析所得到的误差因子决定。然后利用扩大后的人脸坐标信息放到可见光图像中同坐标位置等比例“裁剪”,从而矫正了相邻两帧近红外和可见光图像中人脸的成像误差,提高了人脸检测的精度;最后,采用最大脸检测原理在可见光图像中筛选出活体人脸,从而提高了假脸的抵御率。在自建数据库下通过不同场景的实验分析表明,在抵御假脸攻击的同时很好的保证了真脸的通过,对于短距离下的動态人脸考勤具有很高的应用价值。
1 方法设计
现有的活体人脸检测方法大多基于假脸攻击研究,在保证真脸通过的情况下从而抵御假脸攻击。如果直接将近红外图像中的人脸位图信息放到可见光图像中等比例进行“裁剪”,然后进行人脸特征比对,虽然可以很好的抵御假脸的攻击,但是由于相邻两帧图像间存在位置误差,就会导致活体人脸的通过率大大的下降。所以,本文实验研究的主要内容是在抵御假脸攻击的同时,又能很好的让活体人脸通过。如图1所示,获取相邻两帧的近红外图像和可见光图像,对近红外图像进行人脸定位;然后分析图像间的误差,计算位置误差因子,利用误差因子对近红外图像中的人脸特征框进行扩大,并将扩大后的人脸放入可见光图像中同坐标位置等比例“裁剪”。最后对“裁剪”后的图像利用最大脸检测原理筛选出活体人脸,放入数据库中进行人脸特征比对。
1.1 人脸图像预处理
对于人脸特征的提取和定位,国内外很多学者提出了很多人脸检测方法,本实验为了快速和准确的对图像中的多张人脸进行定位、特征提取和人脸校准,分别测试了一些比较热门的人脸检测算法openface[12]、dlib库[13]以及开源的虹软ArceFace算法的人脸识别精准率和人脸检测的速度,综合考虑,本文选择采取虹软ArceFace算法对人脸图像预处理,虹软ArceFace人脸检测技术对于强光、弱光等复杂环境具有良好的性能,相比于openface、dlib库,虹软ArceFace更适用于手机端的人脸检测。
1.2 误差因子极限模型
因为两个摄像头的位置不可能相同,并且系统对于每一帧图像的提取也是相互独立的,所以获取的每一帧图像存在一定的位置误差。采用扩大近红外图像中人脸位图信息,然后放到可见光图像中等位图等比例“裁剪”的方式来消除误差。然而扩大的比例既要保证能矫正相邻帧图像间的位置误差,又要保证扩大的比例使得活体人脸面积比假脸面积大,这个比例就是误差因子。
在ArcFace算法下得到的人脸轮廓是一个不规则圆形,如图2所示:出于极限考虑,本实验选择圆形作为误差因子极限模型中的人脸轮廓,其中左上角半径为r的圆形代表活体人脸模型,右下角半径为r0的圆形代表假脸攻击模型,因为扩大人脸特征框时是以中心点等比例扩大,所以让时,此时让正方形能够容纳两个最大面积相等的圆形,从而求出误差因子的最大极限。
根据上文分析:设XNIR1为近红外摄像头下检测到的人脸特征框的左上角X轴坐标;XNIR2为人脸特征框右下角X轴坐标,从而得出:
其中:W为误差因子极限模型的宽,根据式(1)和式(2)的分析,当假脸的面积无限接近于真脸的面积时,可以求出误差因子的极限值:
其中:M为误差因子。为了方便计算,其中约等于1.70,所以确定出误差因子范围为1.00<M <1.70。
1.3 最大脸检测
由于扩大了近红外图像中活体人脸的特征框,此时放到彩色图像中“裁剪”,有可能需要将假脸也裁剪进去,所以需要对彩色图像进行最大脸检测处理。红外摄像头下检测到的人脸特征框坐标,如图3(左)所示:左上角的坐标为:(XNIR1,YNIR1),右下角坐标为:(XNIR2,YNIR2)。其中(XNIR1,YNIR1)大于0,XNIR2小于总图像的宽,YNIR2小于总图像的高,根据误差因子将近红外图像中的人脸区域位图等比例扩大M倍,则得到扩大后的人脸区域坐标,如图3(右)所示:左上角坐标为:(X1 NIR1,Y1 NIR1),右下角的坐标为:(X1 NIR2,Y1 NIR2)。扩大前后的人脸位图信息对比如图3所示。
扩大后的人脸特征框坐标表达式如下:
将扩大后的人脸区域坐标放入可见光图像中同坐标位置等比例“裁剪”,如图4(左)所示,再将“裁剪”后的图像进行人脸检测。然后采用最大脸检测原理筛选出图像中人脸面积最大的那一个,并获取的人脸区域坐标,所谓最大脸原理,就是采用检测到的人脸矩形框的面积来度量人脸面积尺寸的单位,然后根据哪个人脸图像的面积大哪个即是活体人脸,人脸面积S表达式如下:
根据式(6)选出人脸面积最大的人脸位图信息,如图4(右)所示:设左上角为:(X1VIS1,Y1 VIS1),右下角的坐标为:(X1 VIS2,Y1 VIS2),此时再将最大人脸的位图信息放入原有的可见光图像中获取新的人脸区域坐标如图5所示:左上角为:(X VIS1,Y VIS1),右下角的坐标为:(X VIS2,Y VIS2),最后根据获取的人脸区域坐标提取相应的人脸特征值放入人脸检测模型中比对。 最大人脸的位图信息放入原有的可见光图像中获取新的人脸区域坐标表达式如下:
2 实验结果及分析
文中算法实现了一个基于智能手机移动端的“云南师范大学考勤签到系统”的可视化界面。系统硬件平台采用WSD-3131双目视觉相机,可以获取850nm的近近红外图像,帧率为30帧每秒。本地主机采用Intel core i5-6300U、8GB内存和Windows 10操作系统,集成开发环境为Android studio 3.0。
2.1 实验数据库搭建
文中算法需要对相邻两帧间的图像进行处理,在现有的公开数据库中,如NUAA、CASIA-MFSD等数据库很难满足实验的要求。所以选择在自建数据库中进行算法性能测试。实验共有68个测试对象,其中29名测试对象作为活体人脸的样本,39名测试对象提供彩色A4纸质彩色照片作为假脸样本,因为照片、视频等假脸在近红外摄像头下的成像方式一样,所以本文实验的假脸样本皆为A4纸质彩色照片。
2.2 性能评价标准
为了评估算法的性能,采用4个分类有效指标:
(1)真正例(TP),代表输入的是真脸A而输出也是真脸A的次数。
(2)假正例(FP),代表输入的是真脸A而输出不是真脸A的次数。
(3)真反例(TN),代表输入的是假脸B而输出也是假脸B的次数。
(4)假反例(FN),代表输入的是假脸B而输出不是假脸B的次数。
通过上面4个指标组合成下列3个指标来评价算法性能:
指标1 真脸通过率R,R = TP/(TP+FP),代表真脸通过的次数占真脸检测实验总次数的比例。
指标2 假脸通过率F,F = FN/(TN+FN),代表假脸通过的次数占假脸检测实验总次数的比例。
指标3 准确度ACC,ACC=(TP+TN)/(TP+FP+ FN+TN),表示所有正确输出的次数占总实验次数的比例。
2.3 假脸攻击实验
通过位置误差分析,影响相邻两帧图像成像误差的主要因素是人在摄像头前的成像面积和速度。所以本实验选择静止和运动两个场景下来仿真假脸攻击实验,每个场景均在室内环境下进行。
(1)静止活体人脸检测实验及分析
连接好摄像头开启活体人脸检测系统,实验开始前将29个活体人脸信息和39张照片人脸信息同时录入。分别在距摄像头正向0.5 m、1.0 m、1.5 m前采集人脸面部信息来验证人脸在镜头前成像面积对算法性能的影响,每个测试对象每次拿着不同的照片在误差因子(以0.05为步长)进行实验。实验过程如图6(左)所示,活体对象手中拿着A4纸质照片人脸进行人脸验证。如图6(右)所示:从别记录中可以观察出只有活体人脸通过,而照片人脸则通过最大脸检测原理被“裁剪”,最后识别记录中只显示了活体人脸。实验结果如图7和图8所示。
通过实验发现,0.5 m下的采集距离在误差因子之间真脸平均通过率维持在99.01%,ACC平均值为99.50%,1.0 m下的采集距离在误差因子之間真脸平均通过率维持在98.91%,ACC平均值为99.46%,。1.5 m下的采集距离在误差因子之间真脸平均通过率维持在98.68%,ACC平均值为99.34%。三组实验均在误差因子之间假脸通过率从0%升至5%左右,出现“上升”的原因主要是由于误差因子过大,出现了假脸比活体人脸面积大的情况。
(2)运动活体人脸检测实验及分析
通过静止假脸攻击实验的结果分析,在误差因子1.65之前,假脸通过率都为0,所以为了提高该场景下的实验效率,该场景只测试了采集距离0.5 m下的真脸通过率在误差因子(以0.05为步长)下的变化。实验过程中将29名测试对象的人脸信息输入,每个测试对象分别在镜头前0.5 m处匀速横向步行进入摄像头可拍摄的视角内,实验结果如表1所示。
通过实验发现,运动状态下对相邻两帧间近红外和可见光造成的位置误差就比较大了,在误差因子1.0下,真脸通过率值接近为0,在之间缓慢增长,最终在1.25时真脸通过率达到了100%。
通过两组场景的实验对比分析,误差因子在之间时,算法的性能较好。然而误差因子会随着人像采集距离的减小和人在镜头前运动速度的增加而逐渐缩小误差因子范围,通过对双目摄像头的研究对比,文中算法基本上满足市场上所有的双目摄像头。
2.4 与现有方法对比
因为本文算法采用的数据库不是公开的,所以很难跟当下主流算法进行比较。但是为了证明本文算法在双摄像头设备下的有效性,选择了一些近两年来和本文相近硬件设备(VIS+NIR)作为算法性能比较的参考。选择静态活体人脸检测(以位置误差消除后的平均ACC值为准)的实验结果进行ACC值对比,对比结果如表2所示。
其中文献[14]通过计算可见光和红外图像中人像相关信息来抵御假脸,文献[15]利用CNN学习可见光和近红外图像中的面部特征来抵御假脸攻击,文献[16]利用眼睛、鼻子、图像的反射率的不同来抵御假脸。通过对比,在相同硬件设备下,本文算法的性能要优于上述几个算法。
3 结论
本文提出了一种利用可见光和近红外图像获取人像差异的方法来实验活体人脸检测,通过扩大近红外图像中的人脸位图信息,然后放入彩色图像中等比例“裁剪”的方法消除了相邻两帧间近红外和可见光图像的人脸成像误差,从而提高了人脸检测的精度,最后利用最大脸检测原理筛选出活体人脸。通过大量的实验证明解决了相邻两帧间图像位置误差的问题,最终利用可见光和近红外图像差异的特点,很好了抵御假脸攻击的问题。通过不同人像采集距离下的静止和运动的活体人脸检测实验分析,该方法对于短距离的动态人脸考勤有着很大的应用价值。下一步努力的方向是,分析连续两帧图像间的位置误差,并将其关联起来进行人脸追踪,从而实现多对多的动态实时人脸识别。
参考文献
-
梁路宏, 艾海舟, 徐光祐, 等. 人脸检测研究综述[J]. 计算机学报, 2002(05): 449??????458.
-
Souza L, Oliveira L, Pamplona M, et al. How far did we get in face spoofing detection?[J]. Engineering Applications of Artificial Intelligence, 2018, 72(2018): 368-381.
-
蔣方玲, 刘鹏程, 周祥东. 人脸活体检测综述[J/OL]. 自动化学报: 1-24[2019-11-30].https://doi.org/10.16383/j.aas.c180- 829.
-
Ramachandra R, Busch C. Presentation attack detection methods for face recognition systems: A comprehensive survey[J]. ACM Computing Surveys (CSUR), 2017, 50(1): 1?????-8.
-
Ng E S, Chia A Y S. Face verification using temporal affective cues[C]//Proceedings of the 21st International Conference on Pattern Recognition (ICPR2012). IEEE, 2012: 1249-1252.
-
Boutellaa E, Boulkenafet Z, Komulainen J, et al. Audiovisual synchrony assessment for replay attack detection in talking face biometrics[J]. Multimedia Tools and Applications, 2016,75(9): 5329?????-5343.
-
Smiatacz M. Liveness measurements using optical flow for biometric person authentication[J]. Metrology and Measurement Systems, 2012, 19(2): 257-268.
-
Pereira T D F, Komulainen J, Anjos A, et al. Face liveness detection using dynamic texture[J]. EURASIP Journal on Image and Video Processing, 2014(1): 1-2.
-
Kant C, Sharma N. Fake face recognition using fusion of thermal imaging and skin elasticity[J]. IJCSC, 2013, 4: 65-72.
-
Raghavendra R, Raja K B, Venkatesh S, et al. Face presentation attack detection by exploring spectral signatures[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. 2017: 170-177.
-
Sun X, Huang L, Liu C. Context based face spoofing detection using active near-infrared images[C]//2016 23rd International Conference on Pattern Recognition (ICPR). IEEE, 2016: 4262-4267.
-
Baltru?aitis T, Robinson P, Morency L P. Openface: an open source facial behavior analysis toolkit[C]//2016 IEEE Winter Conference on Applications of Computer Vision (WACV). IEEE, 2016: 1-10.
-
KING D E.Dlib-ml:a machine learning toolkit[EB/OL]. [2018- 01-10]. http://www.jmlr.org/papers/volume10/king09a/ king09a.pdf.
-
Sun X, Huang L, Liu C. Multispectral face spoofing detection using VIS–NIR imaging correlation[J]. International Journal of Wavelets, Multiresolution and Information Processing, 2018, 16(02): 1-3.
-
Mohamed S, Ghoneim A, Youssif A. Visible/Infrared face spoofing detection using texture descriptors[C]//MATEC Web of Conferences. EDP Sciences, 2019.
-
Song L, Liu C. Face Liveness Detection Based on Joint Analysis of RGB and Near-Infrared Image of Faces[J]. Electronic Imaging, 2018(10): 373-379.