融合DQ_CoALBP和LPQ算子的人脸活体检测
2022-07-21董祉怡刘甜甜韩超群胡晶晶
封 筠,董祉怡,刘甜甜,韩超群,胡晶晶
1.石家庄铁道大学 信息科学与技术学院,石家庄 050043
2.北京理工大学 计算机科学与技术学院,北京 100081
生物特征具有每个个体所独有信息,符合人们对于现代科技产品的高效、便捷与安全要求。人脸识别作为目前使用最为普遍的生物特征识别技术之一,被应用于门禁安检、在线支付、智能手机解锁等身份认证场景之中。人脸特征伪造这一安全隐患若被忽视,则会造成客户信息的泄露和财产损失,从而影响整个识别验证系统的安全性。人脸活体检测的目的是防止人脸识别系统受到非法人脸的攻击,保护客户的信息安全及财产安全。
目前常见的人脸欺骗攻击方式主要为照片人脸攻击、视频回放攻击和3D人脸面具攻击。照片人脸攻击是利用目标对象人脸的打印照片或呈现在电子设备屏幕上的照片;视频回放攻击是利用包含目标对象面部的视频;3D人脸面具攻击则指利用构造的3D模型人脸面具,欺骗人脸识别系统以达到非法入侵的目的。前两种类型攻击相较于3D模型攻击具有易获取、成本低的特点,其攻击方式存在较多,因此对照片人脸攻击、视频回放攻击的研究也更为广泛。
1 相关工作
现有的人脸活体检测方法可以分为交互式人脸检测和非交互式人脸检测两大类。交互式人脸活体检测利用动作指令与用户交互,系统通过判断用户是否准确完成了指定动作来辨别摄像头前的人脸是活体人脸还是假体人脸。早期的交互式人脸活体检测动作是固定的,这样就可以通过预先录制好的动作指令来攻破。为了解决该问题则产生了随机动作指令算法,可以随机对测试对象发出摇头、点头、眨眼、张嘴等命令。王先基等人从拍摄的视频序列中检测出面部关键区域并对其进行二值化处理,通过分析二值化图像的变化与指定阈值作比较来判断用户是否完成了若干次的随机指定动作,从而判断是否为活体[1]。Ng等人通过计算图像的尺度不变特征变换(scale-invariant feature transform,SIFT)能量值来判断用户是否完成了指定的随机表情动作,从而判断是否为活体[2]。张进等人将提取的姿态特征与支持向量机(support vector machine,SVM)分类器相结合,来判断被检测对象是否为真人[3]。
交互式人脸活体检测虽然识别效果较好,但是需要用户主动配合,不适用于用户处于自然行为状态的任务,应用范围相对要窄,所以非交互式活体检测应运而生。
非交互式人脸活体检测主要分为基于纹理的方法、基于图像质量的方法、基于生命信息的方法以及基于深度特征的方法等。其中,基于纹理的人脸活体检测一直是研究的热点。Matta等人从灰度图的局部块以及全局图中抽取不同尺度的均匀局部二值模式(local binary patterns,LBP)算子的纹理特征直方图,输入SVM分类器进行活体人脸和假体人脸分辨[4]。由于灰度图的纹理分析在低分辨率的人脸图像中准确率不高,所以Boulkenafet等人将图像从RGB颜色空间转化为YCbCr(luma,chrominance blue,chrominance red)颜色空间并抽取各个通道的LBP纹理特征直方图,结合颜色特征以及纹理特征进行活体人脸检测[5],同时为了提升准确率和泛化能力,还利用加速稳健特征(speeded-up robust features,SURF)从HSV(hue,saturation,value)与YCbCr颜色空间的图像中抽取颜色纹理特征[6]。
大部分假体人脸在二次成像后图像质量都会有所损失,与活体人脸存在一定距离,基于图像质量的方法主要利用图像失真、反射属性方面的差异分辨真假人脸。大部分基于图像质量的方法关注照片类攻击。Wen等人提取四个不同的特征(镜面反射、模糊、色度矩和颜色多样性)以形成特征向量,SVM分类器用于区分活体人脸和假体人脸[7]。但是对于高清彩色打印的纸张或者高清录制视频,质量失真不严重时难以区分。Li等人将图像以质量维度聚类,然后基于每个聚类使用提取的图像质量评估功能训练多个质量指导的分类器,通过将图像质量的评分映射到相应分类器的参数来学习回归函数进行活体与假体人脸的检测[8]。
基于生命信息的方法主要利用活体的生命特征,例如血液流动、脸部肌肉微运动、眨眼及心跳等,而假体人脸难以完美模仿此类生物特征,该类方法主要处理视频序列以及3D面具的攻击。Tiago等人利用视频序列中的人脸转动光流信息,但是光流分析法对光照敏感且鲁棒性低[9]。Li等人利用远程光学体积描记术rPPG信号来检测待测对象心率状态并以此判断是否为活体人脸[10]。此类抽取心率、血流信息的方法多用于三维面具类假体人脸的检测上,在良好光照条件下准确率较高,但是需要提供足够长的高清人脸视频以便能够抽取到足够好的rPPG信号,同时rPPG信号受外界环境光照、待测对象运动的影响大,方法鲁棒性不强。
随着深度学习方法的发展,研究者们开始利用深度学习技术来处理人脸活体检测问题。Yang等人利用卷积神经网络(convolutional neural network,CNN)从RGB人脸图像中抽取深度特征,并使用Softmax进行分类,由于活体检测的数据总量较少,数据间多样性不丰富等问题,致使所用方法的识别准确性较低,跨数据库的通用性不高[11]。Li等人将CNN与LBP相结合,利用人脸活体检测数据微调预训练好的VGG-face[12]模型,从获取的卷积特征图中抽取LBP特征并送入SVM进行检测[13]。虽然目前越来越多的研究者倾向于利用深度学习的方法来解决活体人脸检测问题,也取得了较好的效果,但是深度学习方法对数据的数量和丰富性都有较高的要求。
特征提取一直是人脸活体检测的热点内容,许多学者不断尝试使用较为有效的LBP及其改进的颜色纹理特征提取方法。由于简单的LBP特征只反映了图像局部区域中心点与邻近点像素值间的大小关系而忽略了细节信息,所以需要对LBP算子进行了优化与改进。Nosaka等人提出了相邻局部二值模式(co-occurrence of adjacent local binary pattern,CoALBP)算子[14],与LBP相比该算子包含了更多的空间信息,但是仍只考虑了中心点像素值以及与其相邻像素值之间的大小关系,若具体差值不同时,也可得到完全相同的序列,从而忽略了差值大小包含的纹理信息。束鑫等人提出了差分量化局部二进制模式(different quantization local binary pattern,DQ_LBP)用于人脸活体检测的研究[15]。DQ_LBP特征利用图像局部中心点与周围点之间的差值来细化局部二值模式的纹理信息,考虑了不同的差值包含的纹理信息,但是忽略了空间信息。本文针对以上两个算子的存在问题提出了一种差分量化相邻局部二值模式(different quantization co-occurrence of adjacent local binary pattern,DQ_CoALBP)算子,既包含了不同方向的信息,又量化了中心点与邻近像素之间的差值信息,具有更多的空间信息和细节信息。实验结果表明,DQ_CoALBP与局部相位量化(local phase quantization,LPQ)算子的融合在识别性能上有较大的提升,甚至比一些已有的卷积神经网络模型更加有效,尤其是在Replay-Attack数据集上实现了零错误率检测,可达到最佳性能。
2 差分量化相邻局部二值模式
局部纹理特征能够有效地获取图像的局部细节特征。因此,在人脸活体检测相关技术中,图像纹理特征被广泛使用。
2.1 CoALBP算子
LBP算子的统计方式往往忽略了邻近算子的空间信息,导致不同的LBP算子排列形式有可能会得到相同的LBP统计直方图。CoALBP作为LBP改进算子,对邻近特征算子之间的空间关系进行统计,采用简化LBP算子将原本的8个邻域点缩减为4个,组合两个邻近的简化LBP算子构成8位二进制编码。简化LBP算子分为LBP+和LBP×两类,其中LBP+只计算中心点与其直接相连的四邻域点,LBP×计算中心点与对角邻域点,计算方式如图1所示。
图1 简化LBP算子的两种形式示例Fig.1 Two forms examples of simplified LBP descriptor
将CoALBP算子的计算方向规定为四个方向D={(0,Δa),(Δa,0),(Δa,Δa),(-Δa,Δa)},其中a为邻域半径,图2为CoALBP算子对应的向下、向右、向右下与向左下这四个方向的具体描述。对四个方向的计算结果分别进行直方图统计,再将四个统计直方图依次连接起来,形成最终的CoALBP特征。
2.2 DQ_LBP算子
DQ_LBP算子借鉴LBP的构造过程来量化局部相邻像素之间的差值,即将量化的差值附加在以2为底的指数中,使其在进行编码时能够考虑差值信息。因此,DQ_LBP算子的特征维度与LBP一致且包含更丰富的纹理信息。在运算前构造与中心点像素归一化值为:
图2 CoALBP算子的空间方向Fig.2 Spatial direction of CoALBP descriptor
其中,rc和rn(n=1,2,…,P)分别表示中心点的像素值和位于半径R(R>0)圆上的P个邻域像素值。max表示该算子所能表示的最大值,其大小取决于周围点的选取个数P,可用max=2P-1表示(如果P=8,则max=255)。将A∈(0,1]作为附加信息添加到指数中,构造DQ_LBP算子:
为了使DQ_LBPP,R算子不会因为n值的大小而过多改变当前位的LBP信息,则构造约束函数C:
最终得到的DQ_LBP算子为:
若D Q_LBPP,R>max,则设置DQ_LBPP,R=max。
2.3 DQ_CoALBP算子
CoALBP算子忽略了局部中心点与相邻点像素之间的差异信息,而DQ_LBP则没有考虑邻近算子的空间信息。本文综合考虑上述两种算子,将DQ_LBP思想融入CoALBP描述算子中,提出了DQ_CoALBP描述算子,其量化了CoALBP算子的四个方向局部相邻像素之间的差值,相较于LBP算子既考虑了邻近算子的空间信息,又加入了中心点与相邻点像素之间的差异信息。图3给出了DQ_CoALBP算子的四个方向(右、下、右下、左下)计算示意,由中心点像素(图中对应标星位置)结合其邻位像素组成DQ_CoALBP所需要的八位像素差值。图3中采用LBP+作为简化LBP特征。
如图3所示,当计算右方向时,假设当前观测像素点为r(i,j),第1位像素差值由像素点r(i-1,j)与像素点r(i,j)相减得到,第5位则是由像素点r(i-1,j+1)与像素点r(i,j+1)相减得到,其余位数的差值按照图中框内右上角标号顺序依次计算获取;当计算下方向时,第5位则是由像素点r(i,j)与像素点r(i+1,j)相减得到;右下和左下方向可由此类推得到,最终获取DQ_CoALBP计算所需的全部8位数据。
在获取所需的八位差值数据后,按式(1)做相应位置的差值归一化处理,这里n∈{1,2,…,8}表示图3中的位置标号,rc表示rn对应位置的中心点像素,比如r(i-1,j)对应的中心点像素为r(i,j),r(i-1,j+1)对应的中心点像素为r(i,j+1)。约束因子C由式(3)计算得到,其中P=8。然后按式(5)计算得到右移的8位DQ_CoALBP值:
图3 DQ_CoALBP算子计算示意图Fig.3 Calculation diagram of DQ_CoALBP descriptor
同理,其余三个方向的DQ_CoALBP值可以由式(5)结合相应位置的像素差值进行计算,然后对四个方向的DQ_CoALBP值进行统计,将所获取的四个直方图统计向量拼接在一起,组成分类器所需的输入特征向量。DQ_CoALBP算子提取人脸特征的计算流程如图4所示。
3融合DQ_CoALBP和LPQ算子的活体检测
为了提高人脸活体检测算法的识别能力,本文将提出的DQ_CoALBP算子与LPQ算子相融合进行人脸活体检测研究。
3.1 LPQ算子
LPQ算子具有对图像模糊不敏感的特性,利用离散的短时傅里叶变换来计算像素点局部M×M领域内的相位信息[16],其计算如式(6)所示:
其中,u表示频率。局部傅里叶系数通过4个频点u1=[a,0]T,u2=[0,a]T,u3=[a,a]T,u4=[a,-a]T来计算,a表示很小范围,a=1/M。对于每个像素位置,通过向量表示:
傅里叶系数相位可以通过每个部分的实部和虚部的符号来表示,具体计算如式(8)所示:
其中,gj是向量G(x)=[Re(F(x)),Im(F(x))]的第j个部分,利用qj对其进行二进制编码,获得LPQ算子如式(9)所示:
3.2 颜色空间转换
色彩特征是区分活体人脸和假体人脸的重要特征,人脸在二次成像后会产生许多纹理差异,这种差异在色彩通道上表现更为明显。HSV是一种基于色调(H)、饱和度(S)与亮度(V)的锥状颜色空间模型;YCbCr是一种由亮度(Y)、蓝色分量(Cb)与红色分量(Cr)三种基向量组成的颜色空间模型。与RGB颜色空间相比,这两种颜色空间不仅包含颜色信息,还包含有亮度、饱和度等信息。图5和图6为真实人脸和假体人脸分别在HSV和YCbCr色彩空间的分量直方图。
本文先将图像的色彩空间由RGB分别转换成HSV、YCbCr色彩空间,然后分别从HSV色彩空间的H通道、S通道与V通道,以及YCbCr色彩空间的Y通道、Cb通道与Cr通道提取LPQ与DQ_CoALBP特征。
3.3 系统流程
在人脸活体检测系统设计时,应先对数据集中的视频数据进行视频帧截取和人脸检测的预处理。人脸检测运用了Dlib库中基于方向梯度直方图(histogram of oriented gradient,HOG)[17]的人脸检测器。为了提高检测效率,只选用输入视频中的少数帧进行检测。首先获取每个视频的所有帧并计算帧数,然后根据帧数等差获取N帧图像。之后对单幅图像运用关键点检测算法进行人脸检测及定位得到矩形人脸框,将每幅图像裁剪成只包含人脸信息的图像,忽略除人脸以外的背景信息,尺寸归一化为64×64像素。再将人脸图像转换为HSV、YCbCr颜色空间并进行色彩通道的分离,对分离后的三个通道提取DQ_CoALBP和LPQ纹理特征,将特征直方图按照顺序排列进行特征融合,最后利用高斯核SVM分类器进行是否活体人脸的判别。系统设计流程如图7所示。
图4 DQ_CoALBP算子计算流程图Fig.4 Calculation flow chart of DQ_CoALBP descriptor
图5 HSV色彩空间分量直方图Fig.5 HSV color space component histogram
图7 系统流程图Fig.7 System flow chart
4 实验结果与分析
为评估本文所提出特征算子的性能,对CASIAFASD[18]、Replay-Attack[19]两个公开人脸活体检测数据集进行实验,主要工作:
(1)通过在不同颜色空间提取DQ_CoALBP和LPQ特征,将DQ_CoALBP和DQ_CoALBP+LPQ与其他特征提取方法进行对比。
(2)将本文方法与其他前沿人脸活体检测方法进行比较。
4.1 数据集
CASIA-FASD数据集录制了50个个体的活体人脸与假体人脸,共600个视频,分别为低、中、高三种不同质量的视频数据。假体人脸包括完整的彩色照片假体人脸,去除眼睛部分的彩色照片假体人脸以及视频类假体人脸。照片类假体人脸在录制的过程中也录制了正面平展照片以及弯曲照片的情况。图8是CASIA-FASD数据集中的示例人脸图像,依次是真实人脸、相应的卷曲照片假体人脸(完整)、剪切照片假体人脸(去除眼睛),以及视频回放攻击假体人脸。
图8 CASIA-FASD数据集中的示例人脸Fig.8 Face examples in CASIA-FASD dataset
Replay-Attack数据集由瑞士的IDIAP研究所发布,含有1 300个人脸视频样本,共有50个受试者参与数据的采集,包括训练集、验证集和测试集。Replay-Attack数据集在两种不同的光照条件下分别录制了手持照片、固定照片两种不同照片攻击模式的数据,其中照片是打印在A4纸上的彩色照片。图9是Replay-Attack数据集的示例人脸,依次是真实人脸、手持照片假体人脸以及固定照片假体人脸。
图9 Replay-Attack数据集中的示例人脸Fig.9 Face examples in Replay-Attack dataset
4.2 评价指标
本文以等错误率(equal error rate,EER)和半错误率(half total error rate,HTER)为评价指标[15]。EER为错误接受率(false accept rate,FAR)与错误拒绝率(false reject rate,FRR)的两条曲线相交点的对应值,HTER为FAR与FRR的均值。其中,FAR指算法把假体人脸判断成活体人脸的比率;FRR指算法把活体人脸判断成假体人脸的比率,其定义分别如式(10)与(11)所示:
其中,Ns2l表示假体人脸判为活体人脸的次数,Ns表示假体人脸攻击总次数,Nl2s表示活体人脸判为假体人脸的次数,Nl表示活体人脸检测总次数。
4.3 不同特征提取算子的比较
表1和表2分别给出了CASIA-FASD与Replay-Attack两个数据集下的LBP、LPQ、CoALBP、DQ_LBP、DQ_CoALBP与DQ_CoALBP+LPQ六种特征提取算子选用高斯核SVM分类器的实验结果,其中加粗数据为在同一种颜色空间下纵向比较各种算子的最佳结果,加下划线数据为对于同一种算子横向比较各种颜色空间的最佳结果。这两个数据集均在给出时已划分好训练集和测试集。从CASIA-FASD训练集的人脸视频中选取6 532张人脸照片作训练集,测试集中选取9 720张人脸照片用作测试。从Replay-Attack训练集的人脸视频中选取9 951张人脸照片作训练集,测试集中选取12 796张人脸照片用作测试。
由表1与表2可知,对于所有的算子来说,采用颜色空间特征的两种错误率均低于灰度图像;若比较前五种算子在不同颜色空间的最佳性能,则DQ_CoALBP算子在两个数据集上的表现均优于LBP、LPQ、CoALBP与DQ_LBP四种算子。对于CASIA-FASD数据集,YCbCr颜色空间下的DQ_CoALBP算子的EER和HTER分别为3.8%和4.7%;对于Replay-Attack数据集,HSV颜色空间下的DQ_CoALBP算子的EER和HTER均为0.1%。同时对于这两个数据集,DQ_CoALBP与LPQ特征融合的结果在相同色彩空间条件下均达到了最佳结果(如最后一行的加粗数据所示),尤其是采用YCbCr颜色空间时在CASIA-FASD数据集上的EER和HTER分别降至2.5%和3.7%,在Replay-Attack数据集上的EER和HTER均降至0。另外,对于Replay-Attack数据集在采用DQ_CoALBP与LPQ特征融合时,RGB、HSV与YCbCr三种颜色模型均获得了最低EER和HTER,即降至0,实现无差错检测。
图10给出六种特征提取算子在CASIA-FASD与Replay-Attack数据集上的ROC曲线,横坐标为假正率(false positive rate,FPR),纵坐标为真正率(true positive rate,TPR),其中每条曲线均为相应特征下取得的最好结果。由图10可见,对于两个不同的数据集DQ_CoALBP算子曲线均位于其他单特征算子上方,且融合特征DQ_CoALBP+LPQ具有最佳的识别性能。
图10 不同特征提取算子的ROC曲线Fig.10 ROC curves of different feature extraction descriptors
表1 不同特征提取算子在CASIA-FASD数据集上性能Table 1 Performance of different feature extraction descriptors on CASIA-FASD dataset %
表2 不同特征提取算子在Replay-Attack数据集上性能Table 2 Performance of different feature extraction descriptors on Replay-Attack dataset %
4.4 与其他前沿方法比较
为了进一步说明所提出的DQ_CoALBP+LPQ融合特征的有效性,本文采用YCbCr颜色空间下的DQ_CoALBP+LPQ融合特征,与其他先进的人脸活体检测方法进行比较,实验结果如表3所示。由表3可知,本文所提出的方法在两种数据集上均显示出较为优异的结果,尤其是在Replay-Attack数据集上实现了无差错检测,达到最佳性能;在CASIA-FASD数据集上的性能要好于其他不采用卷积神经网络的特征提取方法[6,20],较SURF特征的EER指标降低0.3个百分点,较LBP+DCT特征的HTER指标降低14.36个百分点,甚至超过了部分基于深度卷积神经网络所构建模型的性能[22-23],较3D CNN的HTER指标降低7.636个百分点,较LiveNet的EER指标降低2.09个百分点。同时,从实验结果可以看出CASIA-FASD数据集的检测难度要比Replay-Attack数据集大,这是因为Replay-Attack包含的欺骗攻击类型要少一些。
表3 与其他前沿方法的性能对比Table 3 Performance comparison with other frontier methods %
5 结束语
本文在研究CoALBP和DQ_LBP基础上提出了一种差分量化相邻局部二值模式DQ_CoALBP算子,可综合考虑空间信息,增加了更多的纹理信息。面向图片与视频攻击下的人脸活体检测任务,本文在对人脸检测及归一化后,针对YCbCr颜色空间通道将DQ_CoALBP与LPQ算子所提取的直方图特征相融合,利用SVM分类器实现是否活体人脸的判别。在CASIA-FASD与Replay-Attack数据集上的实验结果表明,本文所提出的人脸活体检测方法具有较为优异的识别性能。
现实生活中存在各种各样的假体攻击,这是人脸活体检测算法无法回避的问题,而目前的人脸活体检测算法在跨数据集检测的精度还有待提高。如何将本文所提出的局部纹理模式算子与深度学习相结合,以提高算法的跨数据集检测的精度是值得进一步深入研究的。