一种利用背景光流特征的虚假人脸检测方法
2021-11-12孔月萍朱旭东
孔月萍,刘 楚,朱旭东
(西安建筑科技大学 信息与控制工程学院,陕西 西安 710055)
随着深度神经网络的发展,人脸识别算法已经达到近乎完美的识别性能,并广泛应用在智能门禁、手机解锁、人脸支付等日常生活中。但这些系统也受到窃取已注册用户照片、视频的恶意攻击,引发系统的安全问题。因此虚假人脸检测成为人脸识别系统应研究的安全性前置技术。
现有的虚假人脸检测方法大多利用真实人脸皮肤与纸质介质和显示设备等攻击的纹理差异来分析人脸面部图像,将提取的面部纹理特征送入分类器进行二分类;常见的提取特征主要有局部二值模式(Local Binary Pattern,LBP)[1-2]、梯度方向直方图(Histogram of Oriented Gradient,HOG)[3-4]等。这些人工特征尽管在测试数据集内性能显著,但对环境照度敏感、采集设备的性能要求较高,不同环境、设备条件下的检测效果不稳定。为了使检测模型的泛化性能更好,一些方法利用与用户交互发出眨眼、张嘴[5]的指令支撑检测,需要被检测对象配合,用户体验不佳。传统方法提取特征有限,深度学习[6]提取特征的方法首次提出,基本思想是采用卷积神经网络(Convolutional Neural Network,CNN)将虚假人脸检测视为二分类问题学习真假人脸面部特征。因其出色的学习能力,文献[7]提出由于屏幕晃动导致视频攻击呈现运动模糊现象,主要表现在视频亮度变化和运动模糊程度上,故可利用一维CNN学习亮度变化,引入局部相似模式作为模糊程度的特征,最后融合这两种特征进行分类。该方法将深度学习特征和传统特征相结合,取得了不错的检测效果。
但上述方法着眼于照片及视频中人脸的面部区域进行特征检测,忽略了人脸周围区域的有效利用。考虑到人脸周围区域存在大量背景信息,真实人脸的背景区运动是独立无规律、不同步的局部运动甚至无运动,而手持照片、视频攻击中的背景区存在有规律全局一致性运动,由此提出一种利用背景光流特征手持照片或视频的虚假人脸检测方法。
1 背景光流特征的虚假人脸检测方法
当攻击者手持照片、视频进行恶意欺骗时,摄像头前容易捕捉到虚假人脸周边的环境背景。手持攻击难免会产生人体抖动现象,所以无论照片还是视频欺骗背景区都会随着手的不稳定性产生有规律的全局一致性抖动现象。而真实人脸的背景处在一个空间中,其运动信息极弱甚至不存在运动信息极弱,即使存在运动也是背景空间中的局部运动,呈现独立、无规律不一致运动,利用这种运动差异可作为虚假人脸检测切入点。
为了区分真实人脸与虚假人脸的背景运动差异,设计了提取背景光流特征进行虚假人脸检测的方法。对输入的视频帧先检测人脸区域,分割出如图1所示的左(L)、右(R)、上(U)3个背景对比区域;再借助光流法计算背景对比区的光流矢量,表征背景运动的差异性。为了克服光流矢量易受背景噪声、尺度变化及运动方向的影响,将对比区的光流矢量转化为光流角度直方图(Histograms of Angle Optical Flow,HAOF)来表征区域运动特征;最后计算各对比区域的HAOF来检测3个提取背景对比区域的运动相似度,判断背景区是否出现全局一致性运动,识别是否为虚假人脸攻击。背景光流特征的处理流程如图1所示。
图1 背景光流特征提取的处理流程
对背景区域的分割是为了检测人脸周围区域的运动是全局性运动还是局部运动。其处理方法如图2所示。先利用人脸检测并分割出人脸区域;考虑到人体部位中肩膀、头发存在对运动的干扰,以人体结构常见比例规律设定“肩宽为两个头宽”,向人脸左、右区域分别扩展一个头宽W,排除人脸两侧肩膀部位的干扰,向人脸上部区域扩展一个人脸的高度H,以排除人脸上部头发的干扰;排除人脸和干扰部后,剩余的背景区划分左(L)、右(R)、上(U)3个背景对比区域(若按上述扩展原则只留下两个背景区域,则只将两个背景区域作为对比区);为了实现各对比区的运动一致性测算,以各区域的高度、宽度最小值作为归一化背景检测区尺度,确定出大小统一的对比区,保证归一化区域下运动信息的可比性。
图2 背景对比区域的划分示例
为了提取背景对比区的运动特征,先借助光流法计算光流矢量表征区域运动信息。设I(x,y,t)为输入视频帧中t时刻像素点(x,y)的灰度值,则该像素点的光流变量u、v如下,
(1)
经dt后该点灰度为I(x+dx,y+dy,t+dt),将该点灰度由Taylor公式展开,得
(2)
假设灰度恒定不变,I(x,y,t)=I(x+dx,y+dy,t+dt),忽略式(2)的二阶无穷小,将式(2)除以dt,得
(3)
令Ix=∂I/∂x、Iy=∂I/∂y、It=∂I/∂t表示该点灰度沿x、y、t方向上的梯度,则式(3)可写成
Ixu+Iyv+It=0 。
(4)
解式(4),得到光流矢量u、v值。考虑到输入欺骗视频中相邻帧背景运动的细微性和隐蔽性,为保证背景运动一致性测算的准确性,采用Farneback[8]的稠密光流法计算背景区域的光流场。稠密光流是一种针对图像进行逐点追踪计算光流场的方法,稠密光流的计算包含了图像各点的偏移量,可以检测出像素级别的图像运动。
图3为稠密光流法计算出的光流场分布,短线表示运动的光流场,真实人脸的背景中不会出现全局一致的运动现象,即一般不存在光流场,即使出现也是如图3(a)所示的局部背景运动;而手持设备播放的欺骗人脸视频往往会存在全局运动现象,产生如图3(b)所示的运动一致光流场。
图3 真实人脸和视频人脸稠密光流场分布
由于光流计算易受背景噪声、尺度变化以及运动方向性的影响,在此将光流场转换成HAOF的形式表达背景的运动统计特征。根据光流场中的光流速度矢量f计算它与水平方向的夹角θ来表示光流方向[9],计算方法如下:
(5)
图4 光流角度分布
图5给出了一对手持攻击视频和真实人脸的左、右背景区HAOF图,图5(a)为手持人脸攻击视频的左、右背景对比区HAOF,可见两条折线的相似度很高,几乎重叠;图5(b)为真实人脸视频的左、右背景对比区HAOF,两条折线在水平、垂直方向上均有很大的位移差,区别较大。由此可见,背景对比区的HAOF可以表征真实人脸与欺骗人脸的运动差异。
(a)手持视频的左右背景区HAOF
(6)
根据相关性的取值范围[11]分析,当相关系数即平均相似度d大于0.5时,表明存在相关关系,大于0.7时则较强相关,值为1时则两个直方图完全匹配。由于手持欺骗照片或视频的背景对比区会产生一致运动,即背景对比区运动相关性较强,所以当d>0.7时,认为背景发生一致性运动,判定为虚假人脸攻击。因此,完整的虚假人脸检测方法处理流程如图6所示。
图6 虚假人脸检测方法处理流程
2 实验与分析
为了验证新方法对虚假人脸检测有效性,分别在公开的Replay-Attack[1]和CASIA-FASD[12]数据集上进行测试。从数据集中筛选出含有两个及以上背景区域的照片与视频进行实验。其中,ReplayAttack中选取了20个人的280个数据,它们包含80个真实人脸和200个虚假人脸,数据有手持视频、打印照片和电子照片3种攻击方式。同时从CASIA-FASD中选取了30个人的240个数据,里面包括了60个真实人脸和180个虚假人脸,数据有手持视频、弯曲照片和剪切照片3种攻击方式。为了与现有方法进行对比,选择通用的半错误率[1]H(Half Total Error Rate)进行性能评价,其计算方法如式(7)。式中,A(False Acceptance Rate)为错误接受率,R(False Rejection Rate)为错误拒绝率,D为测试集,τ为计算等错误率E(Equal Error Rate)而得到的阈值,其中E为A与R在ROC(Receiver Operating Characteristic)曲线上相等时的均值。具体的实验结果如表1、图7所示。可以看出,新方法在数据集上的检测的准确率Z分别为97.87%和90.95%,在CASIA-FASD数据集上的测试效果要差一些,这是因为其两个中存在图8所示的手持照片攻击,这种照片的背景信息极少,可能出现照片以外的背景被当成了检测区域。
表1 新方法的测试结果 %
(a)Replay-Attack数据集上的ROC曲线
图8 手持照片攻击
(7)
作为对比,选择基于纹理的LBP[1]、莫尔条纹[13]Moire Pattern方法,基于深度学习的CNN[6]、3DCNN[14]方法,基于运动[15-16]特征方法与新方法进行对比。各种方法在ReplayAttack和CASIA-FASD数据集上的实验结果如表2所示。可以看出,新方法虽然不是最优,但半错误率H、错误率E都比较低,与同样是基于运动特征的检测方法相比,新方法的效果明显好于文献[15-16]。
表2 新方法与现有方法的对比实验结果 %
最后,从方法的时空复杂度方面进行分析若输入照片、视频的帧数据为m×n(m 针对手持照片、视频的虚假人脸攻击的抖动现象,提出一种虚假人脸检测新方法。该方法落脚于真实人脸与虚假人脸的背景差异性,选择了稠密光流法提取背景运动信息,借助光流角度直方图的相似性度量鉴别真假人脸。实验结果表明,该方法对手持攻击有着不错的检测效果;但在无运动信息、无背景区域时检测存在不足,今后将针对此类问题展开工作,如结合纹理、深度学习的方法去抵御多种环境下的虚假人脸攻击。3 结束语