基于LBP-MDCT 和CNN的人脸活体检测算法

2019-11-05 07:37章琬苓项世军
应用科学学报 2019年5期
关键词:活体人脸分类器

刘 伟,章琬苓,项世军

暨南大学信息科学技术学院,广州510632

生物识别技术利用人体固有的生理特性[1](人脸[2-4]、指纹[5-6]、声音[7-8]、虹膜[9]等)或行为特征(打字节奏、步态[10]等)来唯一地识别或认证个体.由于生物识别系统的广泛应用(如移动电话认证、访问控制等),生物识别欺骗攻击已经成为一个日益严重的威胁.欺骗攻击通过向传感器呈现攻击者伪造的合法用户的生物特征,企图使生物认证系统将非法用户认证为合法用户而进入系统.在各种识别技术中,人脸识别具有高安全性、良好的稳定性和便捷性而广泛应用于移动终端的登陆系统、支付系统、重要机密场所的门禁系统和监控系统[11].互联网推动人脸识别技术在众多领域得到广泛应用的同时,也带来了新的挑战,因为相对指纹和虹膜等其他特征,攻击者可以在互联网上轻易获得合法用户的人脸信息.因此,人脸活体检测技术应运而生,通过在人脸识别系统中再嵌入1道关卡,不仅要对目标进行人脸检测,还要进行活体判断.只有在人脸被判断为活体的情况下,识别结果才是真实有效的;否则,将此次识别判定为对认证系统的一次非法攻击[11].通过对目标的双重检测,识别系统的安全性和可靠性大大提升,提高人脸识别系统的防欺骗能力已成为人脸认证中亟待解决的问题[12].由于人脸识别系统往往与网络系统密切相关,一旦识别系统被攻击者攻破,网络系统安全就会遭受到严重威胁.因此,人脸活体检测技术不仅保障着认证系统的安全,而且对保障网络空间安全意义重大,具有广阔应用前景.

人脸欺骗攻击一般分为3 类:照片攻击、重放攻击、面具攻击.照片攻击是指非法用户翻拍合法用户的图片或从视频里截取图像,通过打印或电子屏幕呈现给认证系统的攻击.重放攻击,就是非法用户重放合法用户的视频以欺骗识别系统.面具攻击即非法用户凭借合法用户的面具以攻击识别系统,如此攻击者甚至可以配合系统指令做出一定的动作,这种欺骗攻击更具威胁性.根据目前已有的数据库类型,人脸活体检测算法分为基于照片的算法和基于视频的算法.由于视频包含丰富的动态信息,帧与帧之间存在相对运动,与打印照片相比,视频的内容变化较小[13].因此,基于照片的人脸活体检测算法不能直接应用于检测基于视频的欺骗攻击,当以视频为处理对象时,显著增加了检测难度.

由于局部二值模式-多层离散余弦变换(local binary pattern and multilayer discrete cosine transform,LBP-MDCT)算法[14]在Replay-Attack 数据库的完美性能,基于卷积神经网络(convolutional neural network,CNN)的算法[15]在CASIA-FASD 数据库的优越性能,本文结合两种算法提出一种融合算法来提高检测视频欺骗攻击的性能.实验结果表明,所提出算法的性能得到了很大的提升,本文算法在Replay-Attack 数据库的验证集和测试集上的HTER 值均为0,在CASIA-FASD 数据库测试集上的HTER 值为2.98%.

1 相关算法回顾

根据特征提取方式的不同,可将已有的人脸活体检测算法可分为3类:基于手工提取人脸特征的方法、利用神经网络对图片进行特征提取的方法、传统算法与深度学习相结合的方法.

目前,大部分的传统人脸活体检测算法都是基于手工提取特征然后采用简单的机器学习算法来构建一个防欺骗机制.基于图像的纹理差异,比较常用的局部特征包括局部二值模式(local binary patterns,LBP)[16-17]、方向梯度直方图(histogram of oriented gradient,HoG)[18-19]、高斯差分(difference of Gaussian,DoG)[20]、尺度不变特征转换(scale-invariant feature transform,SIFT)[21]、加速稳健特征(speeded up robust features,SURF)[22]等.文献[17]对人脸区域实施不同模式的LBP 操作并拼接直方图组成新的特征.文献[18]利用HoG获取图像不同块梯度变化的大小和方向,统计每个块的梯度直方图来表征图像特征.文献[20]收集了新的人脸活体检测数据库,并使用多个DoG 滤波器来提取高频信息.基于时空信息的方法在人脸活体检测方面通常具有更好的性能,但相应算法的复杂度也有所提升.文献[23]通过在3个正交平面上计算局部二值模式(local binary patterns from three orthogonal planes,LBP-TOP),用1个多维度的纹理特征描述时空信息.文献[24]通过动态模式分解(dynamic mode decomposition,DMD)来捕获活体与假体微动作间的差异,根据最大运动能量的子空间图进行纹理分析.文献[14]利用LBP 来提取人脸纹理特征,同时引入离散余弦变换(discrete cosine transform,DCT)以提取人脸的动态信息.

随着计算机运算性能的提高和深度学习的不断发展,在人脸活体检测方向,基于深度学习方法的性能正逐渐超越传统方法.文献[15]在人脸活体检测领域引入深度学习,通过对人脸区域加入一定大小的背景来提高算法的识别准确率,检测性能相对于手工提取特征时获得了极大的提升.文献[25]将长短期记忆(long short-term memory,LSTM)单元与CNN相结合,利用LSTM-CNN 提取时间信息.文献[3]通过神经网络来提取相邻帧之间的密集光流信息和剪切波特征,并根据多特征的融合结果来判定是否存在欺骗攻击.文献[26]把人脸深度图作为差异特征来区分活体和假体,通过新的融合方法使得性能得到提升.

研究者一方面通过加深CNN 的层数来提升性能,另一方面把CNN和手工特征提取技术相结合以寻求突破.文献[27]结合CNN 和LBP-TOP 进行特征提取,基于时空信息来区分合法访问和非法攻击.此外,研究者们还收集了更全面且攻击种类更多的数据库,文献[28]建立的数据库包含彩色(RGB)、深度(Depth))、红外线(IR)3 种形式的视频共21 000 组,极大地丰富了人脸活体数据库,还提出一种新颖的多模态融合方法来检测人脸欺骗攻击.

2 本文算法

本文针对视频欺骗攻击提出了一个新的检测算法,主要包括4个步骤:人脸提取、特征提取、SVM 分类、决策融合,流程图如图1所示.首先,对目标视频进行抽帧,并提取人脸图像;接着对人脸进行LBP 和DCT 变换得到LBP-MDCT 特征,通过CNN 得到CNN 特征;然后将两种特征都送入SVM 分类器得到分类结果;最后,将分类结果融合从而判断视频是非法攻击还是合法请求.

图1 本文算法流程图Figure1 Flow chart of the proposed algorithm

2.1 LBP-MDCT 特征提取

LBP-MDCT 特征提取只需要视频中的少数帧[14],因为所有视频都是每隔一定的时间间隔I提取1帧图像.在提取出所有需要的图像后,利用Viola-Jones 算法[29]得到每帧图像中的脸部区域,并且统一为64×64 像素.如果视频共有M帧图像,则提取到帧的人脸图像.

对N×59 的LBP 特征矩阵进行3 层[14]DCT 变换,得到7个59×C大小的LBP-DCT 特征矩阵(C表示DCT 变换后保留的DCT 分量数),连接成1个矩阵得到LBP-MDCT 特征.

2.2 CNN 特征提取

文献[15]表明,CNN 只需用目标视频中的随机抽取的F帧(F取1,2,3)进行检测,实验的帧数增加时检测性能并没有得到明显改善.数据预处理时利用Viola-Jones 算法得到每帧图像中的脸部范围,并将脸部范围扩大为原来的S倍(S ∈{1.01.41.82.22.6}),所有的输入图像统一为128×128 像素.在CNN 中,存在5个卷积层和3个全连接层.在卷积层中,响应归一化层用于第一和第二卷积层的输出,最大池化层用于处理第一、第二和最后一个卷积层的输出.非线性ReLU 用于每个卷积层和全连接层的输出.为了避免过拟合,在前两个全连接层后都使用了随机失活(dropout).将最后一个全连接层作为最终输出层,为了网络的整体性能还添加了一个softmax 层.

CNN 是基于Mxnet 深度学习框架,在Python 3.6.4 和NVIDIA GeForce GTX 1050 的GPU 实现.在训练CNN 时,learning rate、decay rate参数均设为0.001,momentum 参数为0.9.在两个公开数据库的实验结果如表1和2 所示.

2.3 SVM 分类

本节所用的LBP-MDCT 特征和CNN 特征的提取分别如章节2.1 和2.2 所示.基于LBP-MDCT 的算法和基于CNN 的方法都是采用支持向量机(support vector machine,SVM)[30]作为分类器,通过LibSVM工具箱实现,前者采用径向基核函数(radial basis function,RBF),后者采用线性核函数.

2.4 决策融合

由于单个图像特征不能完全表达图像信息,考虑到LBP-MDCT 特征的局部纹理和动态特性以及CNN 特征的全局图像特性,提出一个将基于LBP-MDCT 的算法与基于CNN 的深度学习算法相结合的融合系统.

在实际的分类问题中,如果存在多个特征集,则通常有信息融合、决策融合、特征融合[31]这3 种方法来实现期望的识别性能优化.本文算法的关键步骤是得到每个视频的LBP-MDCT特征和CNN 特征后,将这两个特征分别输入SVM 分类器,然后将SVM 输出融合得到最终的分类结果.

融合目标是两个SVM 的输出,可采用投票方法确定分类器的权重

式中,Ek是第k个分类器的半错误率.

3 实验结果与分析

3.1 数据库

本文实验采用Replay-Attack 数据库和CASIA-FASD 数据库进行测试:

1)Replay-Attack数据库[17]

该数据库由50个对象的1 200 段视频组成,其中每个对象有24段视频,包括4 段合法请求及20 段欺骗攻击,每个视频时长约10 s.视频在3种不同的情景和2种不同的照明条件下录制.数据库包含3 种类型的欺骗攻击:打印攻击、数字照片攻击和视频攻击.数据库分为训练集、验证集和测试集三部分,其中训练集和验证集分别包含360 段视频,而测试集包含480 段视频.

2)CASIA-FASD 数据库[20]

该数据库由50个对象的600 段视频组成,其中每个对象有12 段视频,包括3 段合法请求及9 段欺骗攻击.数据库的视频是在3 种摄影质量下生成的,而且数据库包含3 种欺骗攻击:弯曲照片攻击、剪切照片攻击和视频攻击.数据库只有训练集和测试集二部分,前者包含240段视频,后者包含360 段视频.

3.2 测试协议

为了与最新的相关算法进行比较,本文选择半错误率(half total error rate,HTER)作为性能评价指标.如式(1)所示,半错误率指的是错误接受率(false acceptance rate,FAR)和错误拒绝率(false rejection rate,FRR)总和的一半

Replay-Attack 数据库由训练集、验证集和测试集组成,训练集用来训练SVM 分类器,验证集和测试集则用来报告最终的HTER 值.CASIA-FASD 数据库由训练集和测试集组成,训练集用来训练SVM 分类器,测试集用来得到最终的HTER 值.

3.3 Replay-Attack 数据库的实验结果

当设定I=72 且C=1 时,基于LBP-MDCT 的算法[14]在Replay-Attack 数据库取得最佳性能和最低的复杂度,在验证集和测试集的HTER 值均为0.基于CNN 的算法[15]和本文算法在Replay-Attack 数据库上的部分实验结果如表1所示.

1)当F=3 且S=2.6时,基于CNN 的算法取得最佳性能,在验证集的HTER 值为3.33%,在测试集的HTER 值为2.63%.

2)在本文算法中,LBP-MDCT 部分的实现采用参数I=72 且C=1.无论F和S的取值为多少,本文算法在验证集和测试集上的HTER 值均为0,性能与文献[14]相同且远远好于基于CNN 的算法.F越小,CNN 所需要的人脸图像就越少,检测的速度就越快,算法的复杂度也就越低.对于Replay-Attack 数据库,当I= 72,C= 1,F=1,S=2.6 时,本文算法取得了最佳的性能和最低的复杂度.

3.4 CASIA-FASD 数据库的实验结果

当I= 4 且C= 4时,LBP-MDCT 算法在CASIA-FASD 数据库取得最佳性能,HTER值最小,为18.06%.表2中给出了基于CNN 的算法和本文算法在CASIA-FASD 数据库上的部分实验结果:

表1 本文算法和基于CNN 的算法在Replay-Attack 数据库上HTER 值的比较Table1 Comparison of HTER between the proposed algorithm and the CNN-based algorithm on Replay-Attack dataset

表2 本文算法和基于CNN 的算法在CASIA-FASD 数据库上的HTER 值的比较Table2 Comparison of HTER between the proposed algorithm and the CNN-based algorithm on CASIA-FASD dataset

1)当F=2 且S=1.4 时,基于CNN 的算法取得最佳性能,HTER 值为3.33%.

2)本文算法中LBP-MDCT 部分的实现参数为I= 4 且C= 4.当F= 2 且S= 1.4时,本文算法在CASIA-FASD 数据库上取得最佳性能,HTER 值为2.98%.也就是说,当I=4,C= 4,F=2,S=1.4 时,算法在CASIA-FASD 数据库性能最好,优于基于CNN 的算法性能.

3)本文算法对F和S两个参数的选取较为敏感,不同的参数选取对性能的影响很大,而基于CNN 的算法对F和S两个参数的敏感度低得多.

3.5 与现有算法的比较

表3比较了本文算法与现有的几个典型算法.可以看出,本文算法在两个数据库上的HTER 值都低于其他算法.在Replay-Attack 数据库,本文算法的参数为I=72,C=1,F=1,S=2.6,HTER 值为0,实现了零差错检测;在CASIA-FASD 数据库,本文算法的参数为I=4,C=4,F=2,S=1.4,HTER 值为2.98%,低于所有其他算法且至少低0.35%.

结合表1~3 可以看出,本文算法与文献[14-15]算法在CASIA-FASD 数据库上的性能明显不如Replay-Attack 数据库,这是因为Replay-Attack 数据库包含的欺骗攻击类型更少.而CASIA-FASD 数据库的视频是由3种不同分辨率的设备录制而成,且含有弯曲照片攻击和裁剪照片攻击两种Replay-Attack 数据库没有的攻击类型.特别是裁剪照片攻击,这是针对人脸识别系统添加的眨眼检测的一种攻击类型,攻击者保留眼睛以外的人脸区域,将伪造的人脸照片附着在自己的脸上进行眨眼动作.裁剪照片攻击使得伪造的视频十分逼真,进行检测的难度也随之加大.

表3 本文算法和现有算法的HTER 值比较Table3 Comparison of the proposed algorithm against several existing algorithms in HTER values

本文算法在两个数据库上性能更好主要源于以下3个原因:1)LBP 能够有效提取人脸图像的局部纹理信息,DCT 变换能够有效获取视频中的人脸动态信息;2)CNN 能够有效提取图像的全局特征;3)两者的结合能充分利用LBP、DCT、CNN 各自的优点,从而取得了更好的性能.

4 结 语

本文针对基于视频的人脸欺骗攻击,利用基于LBP-MDCT 和基于CNN 的算法提出了一种新的人脸活体检测算法.考虑到基于CNN 的算法在CASIA-FASD 数据库上的优越性能,本文将LBP-MDCT 算法与之相结合提出一种融合算法.分别提取视频的LBP-MDCT 特征和CNN 特征并分别输入SVM 分类器中,然后对分类器的输出进行决策融合,最后得到最终结果.实验结果证明融合策略可以有效地结合图像的局部和全局信息,在两个公开数据库上都取得较好的效果.

未来将针对CASIA-FASD 数据库进行深入研究,在充分了解各种欺骗攻击的基础上设计有效的检测算法.此外,还将选用其他类型的深度学习网络来代替CNN,比较各自的性能并进行分析.当然,深入研究CNN 来同时检测人脸和虹膜并与已有的方法进行比较也是将来工作的内容之一.

猜你喜欢
活体人脸分类器
有特点的人脸
一起学画人脸
让活体肝移植研究走上世界前沿
活体器官移植,你怎么看?
基于安全加密的人脸活体检测技术
三国漫——人脸解锁
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
“汪星人”要打“飞的”——话说活体空运
基于层次化分类器的遥感图像飞机目标检测