史屹琛,封 筠+,肖立轩,贺晶晶,胡晶晶
1.石家庄铁道大学 信息科学与技术学院,石家庄050043
2.北京理工大学 计算机科学与技术学院,北京100081
人脸识别因其低成本、易采集及特异性强等特点被广泛应用于智能安防、公安刑侦、智能家居、电子商务及金融服务等领域。但其极易受到各种形式的恶意攻击,如呈现攻击、对抗攻击与合成攻击,这三种攻击方式共同之处是不攻击人脸识别系统的后端,而是尝试通过对用户人脸的再次呈现、生成来欺骗人脸识别系统。呈现攻击通过使用照片、视频、3D面具等在摄像头前再次呈现进行攻击;对抗攻击则通过佩戴专门设计的眼镜、帽子来欺骗人脸识别模型[1];合成攻击则通过DeepFake[2]等工具生成伪造的人脸图片直接攻击人脸识别系统,与前两种攻击方式不同的是,进行识别的图片并未通过摄像头进行拍摄。以上三种对人脸识别系统的恶意攻击如图1所示。相较于对抗攻击和合成攻击,呈现攻击更加容易实施,攻击者可以轻易地获取到目标用户的人脸信息,在系统前再次重现人脸进行攻击。为了保护人脸识别系统不被这种假体呈现攻击所破坏,人脸活体检测或称人脸反欺诈(face anti-spoofing,FAS)技术应运而生。静默型人脸活体检测模型无需用户做出特定的动作进行配合,相较于交互式活体检测速度更快,用户体验也更好,但同时对算法的要求更高,因此吸引了大量的研究人员关注。
图1 针对人脸识别系统的不同攻击方式Fig.1 Several attack modes against face recognition system
对于静默型人脸活体检测的研究可以分为手工提取特征的方法和基于深度学习的方法。手工提取特征的方法通常基于研究人员的先验知识,从纹理如局部二值模式(local binary patterns,LBP)[3-4]、方向梯度直方图(histogram of oriented gradients,HOG)[5]、尺度不变特征变换(scale-invariant feature transform,SIFT)[6]、SURF(speeded-up robust features)[7]、图像质量以及辅助信息远程光电体积描记术(remote photoplethysmography,rPPG)[8-9]等角度进行人脸活体检测。基于深度学习的方法则使用神经网络提取图像的特征进行分类,除训练一个端到端的神经网络进行检测之外[10],研究人员也通过各种方式将先验知识融合到网络模型之中:将传统的手工算子与神经网络结合[11-13],提取图片的辅助信息如深度图[9,14-15]、反射图[16-17]、rPPG[18]及光流信号[19-21]等。神经网络强大的表征能力也使得这些方法的测评结果大幅度优于基于传统方法的活体检测模型。
虽然当前基于深度学习方法的人脸活体检测模型在各个数据集的测评上取得了令人满意的结果,但这些模型都是基于训练数据与测试数据服从独立同分布(independent identically distributed,i.i.d)的假设[22],往往会使得训练得到的模型采用大量领域特有的特征进行分类,如背景、光照等,而无法学习到可以真正判别真实人脸和假体攻击的特征,易使得模型在各个数据集上过拟合。在真实世界中,进行推理测试时的样本和算法训练时使用的数据存在着大量差异,例如环境、攻击方式等。因此,在训练集上过拟合的算法无法泛化到真实的使用场景中,即模型需要面对领域外场景下泛化能力弱的问题。
目前,针对人脸活体检测的综述文献大都从传统机器学习算法和深度学习两个角度进行介绍。谢晓华等人从手工设计特征、深度学习方法以多种机器学习范式(神经网络搜索、元学习等)对模型方法进行总结[23]。马玉琨等人从基于手工设计的特征和基于深度学习方法的角度介绍人脸活体检测任务[24],包括:基于静态特征和动态特征、基于辅助信息、域自适应与解耦等。卢子谦等人总结了多种传统方法和深度学习方法的活体检测模型,并对活体检测竞赛的各参赛方法及结果进行介绍[25]。邓雄等人着重阐述了基于手工设计特征方法和基于模型融合策略的人脸活体检测模型[26]。当前关于人脸活体检测的综述大都总结的是基于i.i.d假设下的深度学习方法,只有部分文献提到关于域自适应、域泛化的活体检测模型[27]。因此,根据已有研究成果,有必要从人脸活体检测任务在真实世界的过程中遇到的实际问题出发,从迁移学习的角度讨论不同场景下出现的分布差异以及问题的难度。
本文系统地总结分析了近期针对领域外场景下深度学习人脸活体检测模型相关的研究进展。从人脸活体检测方法在现实场景遇到的难点和挑战出发,将问题分为两类:遇到未知环境和遇到未知攻击方式。针对每种问题的不同方法进行总结,继而将解决遇到未知环境的方法分为领域自适应、领域泛化两类,将解决遇到未知攻击方式的方法分为零样本/小样本、异常检测两类,详述了代表性方法的原理、优势和不足。之后对领域外人脸活体检测方法使用的常用数据集进行整理,对算法评估常用的性能指标和测评协议进行了介绍,最后对领域外人脸活体检测技术的未来发展趋势进行展望。
人脸活体检测是一个开集检测问题,在实际使用中会遇到大量与训练数据分布不同的样本,模型将要面对跨域迁移和分布外(out of distribution,OOD)泛化的问题,主要为遇到未知的领域(光照、背景、人脸外观与相机的质量等)以及遇到未知的攻击方式(照片人脸攻击、视频回放攻击与3D人脸面具攻击等)。对于各种问题有着不同的解决方式,领域自适应和领域泛化等技术被用于减少不同领域之间的数据分布差异,零样本/小样本以及异常检测技术则用于识别出训练集中未曾出现过的攻击方式。
领域领域D主要由数据和生成这些数据的概率分布组成,领域上的一个样本包含输入x∈X和输出y∈Y,联合分布记为P(x,y),即(x,y)~P(x,y),其中X和Y为数据所处的特征空间和标签空间,则一个领域为D={X,Y,P(x,y)}。在迁移学习中,将有大量数据标注,用于训练模型的领域称为源域(source domain),将待学习且只有少量有标注或无标注数据的领域称为目标域(target domain),即要最终赋予知识,赋予标注的领域[8]。
分布差异一般来讲,传统的统计机器学习算法是基于i.i.d假设,而真实应用中该假设并不容易被满足,即Ps(x,y)≠Pt(x,y),这使得在训练集上获得的模型无法在测试集上得到理想的结果[28]。
通常来说,在人脸活体检测任务中,最主要的分布差异是协变量偏移(covariate shift)[29],符合Ps(y|x)=Pt(y|x)且Ps(x)≠Pt(x),也就是训练数据和测试的边缘分布不同,但是生成最终标签的机制是不变的,其条件分布相同[27]。
如图2 所示,不同数据集的采集环境各不相同,这些环境差异会在领域的分布上体现出来。领域自适应技术目的在于通过使用所给的目标域知识来使得在源域上训练的模型在目标域上表现尽可能得好[30],而领域泛化技术则无需目标域的知识,通过挖掘多个源域之间的内在联系,使得源域上训练的模型泛化性尽可能得高[31]。
图2 不同数据集中的人脸图像Fig.2 Face images in different datasets
1.1.1 领域自适应
给定一个有标记的源域Ds={xi,yi}和一个目标域Dt={xi,yi},假设其特征空间和类别空间相同,但其联合分布不同,即Xs=Xt,Ys=Yt,Ps(x,y)≠Pt(x,y)。领域自适应的任务是利用源域数据去学习一个目标域上的预测函数f:xt→yt,使得f在目标域上拥有最小的预测误差。
领域自适应技术通过尝试减小源域和目标域之间的差异来使得模型在目标域上得到的结果更好。通常来说,目标域都是无标签的数据,如图3所示,因此无法使用一般的预训练-微调的策略。针对人脸活体检测中的领域自适应问题,研究人员主要从领域分布差异、对抗迁移学习等方向进行探索。
图3 领域自适应框架Fig.3 Domain adaptation framework
(1)领域分布差异
Li等人通过最小化源域和目标域特征空间之间的最大均值差异(maximum mean discrepancy,MMD)[32]学习到一个泛化性更强的分类器[33]。Tu等人通过减小源域和目标域之间基于核方法的MMD 距离来提高模型的泛化性[34]。然而仅仅通过减小领域之间的MMD距离可能无法充分探索源域之间的有用信息,因此目前使用对抗迁移学习的方式成为研究热点。
(2)对抗迁移学习
Kim等人提出一种风格指导的领域自适应框架,通过风格选择归一化来构造推理自适应模型,实现利用特定领域的风格信息指导,自动将模型适配到目标数据[35]。Hamblin等人提出了一种新的领域自适应框架,该框架利用了多模式数据来改善基于可见光的呈现攻击检测(presentation attack detection,PAD)任务[36]。孙文赟等人提出了一种基于深度特征增广的跨域小样本人脸欺诈检测算法[37]。该算法在已有的基于全卷积神经网络的人脸欺诈检测网络的中部嵌入域自适应层,将卷积特征图增广,借助目标域中的小样本扩展训练数据来适配源域和目标域的差异,提升跨域性能。但在目标域标签未知的无监督域自适应学习任务以及目标域图像与标签未知的零样本学习任务中效果欠佳。Huang 等人提出一种针对小样本的跨域活体检测模型,使用集成了适配器与特征变换的ViT(vision transformer)模型作为主干,进而提高小样本跨域活体检测的稳健性[38]。
Wang等人使用对抗训练的方式使得特征提取器提取到源域和目标域共同的特征[39],同时使用三元组损失使得真实人脸和假体攻击在特征空间上尽可能分散,最后使用KNN(K-nearest neighbor)分类器进行分类。El-Din 等人认为只使用对抗训练的方式进行领域自适应会在目标域和源域攻击方式和设备类型不同的情况下无法得到很好的结果,为了保存目标域一些特有的属性[40],使用了深度聚类生成伪标签进行辅助训练。Jia等人提出了边缘分布对齐模块和条件分布对齐模块[41],通过对抗训练的方式寻找领域不变的特征空间,使得同一类的特征做到类内紧凑,并且通过添加、删除条件分布对齐模块,网络可以切换为半监督、无监督模式。Wang 等人提出了一种基于无监督对抗迁移的方法,由度量学习模块(metric learning net,ML-Net)、无监督域自适应模块(unsupervised domain adaptation net,UDA-Net)和解耦重构模 块(disentangled representation learning net,DRNet)三个模块组成[42]。ML-Net通过使用有标签的源域人脸图像来学习真实人脸与欺骗人脸之间有判别力的特征。UDA-Net 通过无监督的对抗域式自适应,联合优化源域和目标域的特征编码器,从而获得被两个域共享的公共特征空间,进而可以让源域的ML-Net模型对目标域的无标签人脸图像也具有判别能力。DR-Net通过从公共特征空间重建源域和目标域人脸图像,将域无关和域相关的特征解耦,进一步提升共同特征空间的重构能力和判别能力。除了对抗迁移学习的方式,学者们还探索使用其他方法解决人脸活体检测中的领域自适应问题。
(3)其他方法
Tu 等人同时考虑到人脸活体检测和人脸识别,在提高泛化能力的部分[43],提出了TPC(total pairwise confusion)损失函数和快速领域自适应模块,分别用以提高假体攻击表征的泛化性和减少领域改变时带来的负影响。Wang等人不同于一般的领域自适应和领域泛化的方法[44],提出了自域自适应框架,采用元学习的方法,在多个源域上不仅学习到可判别的特征,还训练一个调节器,在推理阶段遇到目标域的无标签数据时,调节器来适配目标域的特征分布。Mohammadi 等人通过剪枝,将泛化性强的特征提取层保留[45],使得最终的模型在多个目标域上得到理想的结果。
基于领域自适应的方法可以有效地提高模型的泛化能力,但仍需使用目标域的数据进行学习,挖掘源域与目标域之间的关系,可是该条件有时并不能满足。表1 对基于领域自适应的人脸活体检测方法从机制、模型结构、优点、局限性及适用场景等方面进行对比总结。
表1 基于领域自适应的FAS方法总结Table 1 Summary of FAS methods based on domain adaptation
1.1.2 领域泛化
训练数据D来自N个具有不同但相似数据分布的领域,假定每个领域均含有M个样本,每个领域的数据均服从自己的数据分布(xm,ym)~Pi(x,y)表示,领域泛化要求从这N个领域中学习模型f:x→R,使得f在未知的目标域Dt上预测误差达到最小[31]。领域泛化任务相较于领域自适应任务更为困难,无法得到目标域上的标注数据,训练得到的模型在面对分布外场景时也需保证鲁棒性。领域泛化假设在多个已知源域和未知的目标域之间存在一个泛化的特征空间,因此需要模型通过多个源域学习到该特征空间,使得模型在未知的目标域上取得满意的结果,如图4所示。针对人脸活体检测中的领域泛化问题,研究人员主要从元学习与对抗迁移学习两个方向进行探索。
图4 领域泛化框架Fig.4 Domain generalization framework
(1)元学习
Shao等人将人脸活体检测的领域知识作为正则化项[46],使得元学习在领域知识监督下正则化的特征空间中进行,更有可能找到广义的学习方向,此外还采用了细粒度的学习策略,在每次迭代的过程中同时在各个领域场景中进行元学习。Cai 等人提取元特征[47],以替换手工设计特征的方式,之后将输入图像和提取到的元特征融合,利用神经网络进行分类。Kim 等人不是简单地认为一个数据集为一个领域,而是使网络能够通过中间层的卷积特征统计信息来自行判断其属于哪个领域[48],之后使用MLDG(meta-learning domain generalization)[49]框架训练分类器。同样Chen等人认为实际应用中收集的数据集总是包含混合域,直接认为一个数据集为一个领域的大多数方法在这种情况下可能无法工作[50]。为了克服这一限制,作者提出了域动态调整元学习,在不使用域标签的条件下,根据实例归一化(instance normalization,IN)[51]和域表征学习模块对领域进行聚类。元学习方法通常涉及到双层优化的问题,需要大规模的计算资源和较长的训练时间,因此使用对抗训练的方式进行领域泛化是另一个热点方向。
(2)对抗迁移学习
蔡体健等人提出了基于条件对抗域泛化的人脸活体检测方法,利用多线性映射将特征提取器的输出特征和分类预测的结果结合起来作为条件输入到域判别器,通过对抗训练提取多个源域的共性特征,在特征和类层面同时对齐多个源域的分布,相比现存的域泛化人脸活体检测方法在数据分布上匹配得更好[52]。李策等人提出了一种采用超复数小波生成对抗网络的活体人脸检测算法,将三个源域数据输入到对抗网络,生成区别于源域但兼具三个源域共享特征的特征空间,提高判别人脸活性特征的泛化能力[53]。Wang 等人提出一种SSAN(shuffled style assembly network)网络,利用对抗学习来融合不同领域的图像内容特征,利用对比学习策略来抑制特定领域的风格特征,进而将两种特征整合来应对不同领域间的差异[54]。域泛化任务中将所有人脸完美映射到共享特征空间是困难的。
针对上述问题,Liu等人提出一个特征生成和假设验证框架来缓解上述问题[55],在FAS任务中首次引入了特征生成网络,该网络生成真实人脸和已知攻击的假设。应用两个假设验证模块来分别判断输入人脸是否来自真实人脸空间和真实人脸分布。Shao等人为多个源域分别建立特征提取器与泛化特征提取器进行对抗训练[56],同时使用辅助深度监督来提高特征提取器的泛化能力,使用双力三元组挖掘约束,使得不同领域之间的活体人脸与假体攻击在得到的泛化特征空间上达到类内紧凑且类间分散的结果。Jia等人认为直接拉近不同的领域假体攻击在特征空间上的分布,会因为过于忽视不同领域的特有信息,无法得到很好的结果[57],所以使用单边对抗学习和不平等三元组损失,使得每个领域的假体攻击和所有领域的活体人脸分别作为多个类别进行训练,以达到类内紧凑且类间分散的结果。Liu 等人认为之前将各个领域的样本同等对待,直接提取一个公共特征空间的方法,会由于数据的复杂性而破坏泛化能力[58],进而提出了一种双重加权域泛化框架,使用样本加权模块和特征加权模块进行两次加权,同时结合判别器,两个模块的迭代促进了公共特征的提取。表2对基于领域泛化的人脸活体检测方法从机制、模型结构、优点、局限性及适用场景等方面进行对比总结。
表2 基于领域泛化的FAS方法总结Table 2 Summary of FAS methods based on domain generalization
人脸活体检测算法在实际应用中除了会遇到领域偏移问题之外,未知的攻击方式同样使检测模型的结果不尽人意。之前的大部分基于深度学习的方法将人脸活体检测任务视为闭集预测问题,检测各种之前预先定义好的假体攻击。然而期望数据集中包含所有的攻击方式是不现实的,使得模型很容易在已知的攻击方式上过拟合,仍会轻易被未知的攻击所破坏。因此,最近研究者们致力于探索如何使人脸活体检测模型遇到未知的攻击方式时仍然鲁棒,零样本/小样本学习和异常检测的技术应用于检测未知的攻击方式是当前的两个热门方向。
1.2.1 零样本/小样本学习
小样本学习旨在通过少量样本学习到解决问题的模型[59],零样本学习则是指在没有训练数据的情况下,利用预先定义的一些类别属性等训练模型[60]。小样本学习任务通常指的是N-wayK-shot任务,即选择N个未知的类别,每个类别有K个样本待学习。相较于传统的分类任务,提供给模型的每个类别的样本数量(K)都极少,且这N×K个样本构成支持集。在评估阶段,从N个未知的类别中挑选出部分样本作为查询集。零样本学习任务要求只根据一些属性描述或语义信息等即可学习到未知的类别,即支持集只包含未知类别的语义描述。
George 等人认为对预训练的ViT 模型进行微调后,在未知攻击方面表现出良好的性能,同时在跨数据集评估方面的性能比已有方法提高了一个数量级[61],充分展示了ViT模型在遇到未知领域和未知攻击时有很好的泛化能力。Pérez-Cabo 等人首次提出了一种遵循小样本学习范式的连续元学习的人脸活体检测框架[62]。该框架同时适用于连续学习和元学习环境,不仅解决了传统连续学习任务在面对新攻击方式时的灾难性遗忘问题,还在新攻击数据顺序到达的情况下,实现模型持续学习,达到了使用全部数据同时训练模型的结果。Qin 等人将人脸活体检测定义为零样本和小样本学习问题,提出了一种新的自适应更新人脸活体检测方法[63],通过学习预定义的活体、欺诈的人脸以及一些新攻击的样本,进而检测未知的欺诈类型。该方法在现有的零样本FAS协议中的性能优于已有的算法,但其只关注了模型在目标域的性能,忽略了模型在源域的性能。
Quan 等人设计了一种自适应转移机制[64],通过逐渐增加未标记目标域数据在训练中的贡献来改善域偏差。Yang等人认为之前的方法都牺牲了模型在源域上的性能,而这在人脸活体检测任务中是不可取的,因此提出了小样本的领域扩展策略[65],从语义空间上对齐源域和目标域,使模型在源域和目标域的联合扩展域上表现良好。Liu 等人引入首个包含多种欺诈攻击类型的人脸反欺诈数据库,广泛研究了13 种类型欺诈攻击中的ZSFA(zero shot face antispoofing)问题,包括打印、重放与3D 面具等,进而提出了一种新的深度树网络[66]。该方法以无监督的方式将欺诈样本划分为语义子群,当攻击数据样本到达时,模型将其划分到最相似的欺诈簇,并进行二进制决策。表3对基于零样本/小样本学习的人脸活体检测方法从机制、模型结构、优点、局限性及适用场景等方面进行对比总结。
表3 基于零样本/小样本学习的FAS方法总结Table 3 Summary of FAS methods based on zero/few shot learning
1.2.2 异常检测
异常检测的目的是在测试过程中检测出任何与预定的常态所偏离的异常样本,这些异常样本往往由协变量偏移或语义偏移造成[67]。人脸活体检测任务中将活体人脸认为是正常类别,而将假体攻击当作异常样本。如图5所示,与之前将人脸活体检测视为二分类任务不同,基于异常检测方法的人脸活体检测模型通常采用的是单分类,在训练阶段只使用真实人脸。因为在实际应用中,攻击的类型很有可能是未知的,在特征领域中占据广泛的空间。
图5 异常检测框架Fig.5 Anomaly detection framework
Arashloo 等人从异常检测的角度看待人脸活体检测任务,提出一种基于异常检测的单分类方法[68],该方法中的训练集仅来自正样本即真实人脸,测试集包含正负样本即真实人脸和假体攻击,有效避免了对负训练样本可用性的需要,并且该方法与传统二分类方法相比毫不逊色。Abduh 等人研究证明基于异常检测的人脸活体检测模型,训练数据不应局限于人脸活体检测领域专业数据集,使用加入非专业数据的混合数据集进行训练的活体检测模型,在面对未知攻击时泛化能力更强[69]。Baweja 等人提出了一个端到端的异常检测模型进行人脸活体检测,在提取真实人脸特征的过程中,建立一个新的高斯分布用于取样伪负样本,与真实的人脸特征一起训练得到一个卷积神经网络[70]。但其高斯分布参数的计算方式过于单一,生成的样本难以代表真实场景中复杂的攻击方式,且模型对协变量偏移不具备鲁棒性。George等人认为现有活体检测通常是二分类任务,这会导致对已知攻击的过度拟合,对未知攻击的泛化性能较差。针对此问题提出一种基于多通道卷积神经网络进行表征学习的单分类器框架,将未见过的假体攻击作为异常样本进行检测,其适用场景广泛,包含可见光、深度图和近红外等[71]。Nikisins等人提出使用图像质量度量特征和高斯混合模型来表示真实样本的概率分布[72],进而对假体攻击进行识别。Fatemifar 等人在基于异常问题公式的基础上分析了部署特定于客户端的面部欺骗检测信息[73],使用从预先训练网络中获得的表示来训练一类特定于客户的分类器(生成式和区别式)。Pérez-Cabo 等人从异常检测的角度提出深度度量学习模型,三重焦点损失负责指导学习过程在嵌入空间中更有区别的特征表示[74]。通过引入少量的后验概率估计,无需分类器对学习到的特征进行训练。表4 对基于异常检测的人脸活体检测方法从机制、模型结构、优点、局限性及适用场景等方面进行对比总结。
表4 基于异常检测的FAS方法总结Table 4 Summary of FAS methods based on anomaly detection
数据集的样本数量及数据类型的丰富程度会影响人脸活体检测模型的性能。不同数据集的收集方式、个体数量、攻击方式与数据模态都有所不同。
下面对领域外场景下的人脸活体检测主流数据集进行阐述,主要从数据集的特点、所包含的活体人脸和假体人脸的数量、图像的大小等方面进行介绍,表5给出常用主流数据集的总览介绍。
表5 主流数据集总览Table 5 Overview of mainstream datasets
Oulu-NPU[75]一共有55 个志愿者参与录制,共计4 950 个视频,这些视频使用6 款移动设备的前置摄像头在三种不同光照条件和背景场景拍摄。数据集中采用的演示攻击类型是打印攻击和视频重放攻击,使用两台不同的打印机和两台不同的显示设备进行攻击。
CASIA-MFSD[76]一共有50 个志愿者参与录制,共计600 个视频。该数据集收集的活体和假体的人脸信息较为丰富,其中每个志愿者录制了3个活体人脸视频和9 个假体人脸视频,共计12 个视频。假体人脸包括完整的彩色照片假体人脸、挖去眼睛的假体人脸以及视频类假体人脸。照片类假体人脸同时包括正面平展照片以及弯曲照片的情况。
Replay-Attack[77]数据集一共有50 个志愿者参与录制,共计1 300 段视频。每个志愿者录制了4 个活体人脸视频和20个假体人脸视频。假体人脸的攻击方式包括打印人脸照片攻击、手机呈现攻击和平板视频重放攻击,分为手持设备和固定设备两种欺骗手段。数据集包括固定场景和复杂场景两种环境,其中固定场景的背景环境单一,复杂场景的背景颜色丰富,为装饰性壁画,室内无灯光。
MSU-MFSD[78]数据集一共有35个志愿者参与录制,共计380 段视频,使用两种不同分辨率的相机进行采集。对于真实人脸,每个人分别使用笔记本电脑和手机采集两段视频。其中,视频攻击使用两种相机进行采集,照片攻击使用惠普彩色打印机进行打印。
SiW[9]数据集一共有165 个志愿者参与录制,共计4 478段视频。所有的视频均为30 frame/s,约15 s长,1080 高清分辨率。活体人脸在录制时考虑与摄像机的距离、姿态、光照及表情四方面因素。打印攻击提供高分辨率(5 184×3 456)和低分辨率两种,视频重放攻击则使用三星s8、iPhone7、iPadpro 以及PC显示器展示。
HQ-WMCA[79]数据集一共有51 个志愿者参与录制,共计2 904段多模态视频。数据来源于多个通道(色彩、深度、热成像、近红外光谱与短波红外),攻击方式包含打印照片攻击、视频重放攻击、三维人脸面具攻击、化妆与纹身等。
CASIA-SURF[80]数据集一共有1 000个志愿者参与录制,共计21 000 段视频多模态视频。数据来源于多个通道(可见光、深度图与近红外),采用平摊打印攻击或卷曲打印攻击,随机扣除掉眼睛、鼻子及嘴巴等区域。
常用的人脸活体检测性能评价指标主要有两类:一类是错误接受率(false acceptance rate,FAR)、错误拒绝率(false rejection rate,FRR)、等错误率(equal error rate,EER)以及半错误率(half total error rate,HTER)指标;一类是ISO/IEC DIS 30107-3:2017标准提出的假体人脸分类错误率(attack presentation classification error rate,APCER)、活体人脸分类错误率(bonafide presentation classification error rate,BPCER)以及平均分类错误率(average classification error rate,ACER)指标,近年也被广泛使用。APCER、BPCER同前一类性能评价指标FAR、FRR类似,但FAR、FRR在计算时不考虑具体的攻击类别,APCER在计算时考虑到每种攻击类别。
FAR表示把假体人脸判断成活体人脸的比率,其中,Ns2b表示将假体人脸(spoofing)识别为活体人脸(bonafide)的次数,Ns表示假体人脸攻击的总次数,定义如式(1)所示:
FRR表示把活体人脸判断成假体人脸的比率,定义如式(2)所示:
其中,Nb2s表示将活体人脸识别为假体人脸的次数,Nb表示活体人脸检测的总次数。在训练集上分别以FRR和FAR为x轴与y轴画出ROC 曲线。当FRR等于FAR时,其值为EER,以训练集上EER的阈值作为测试集上的阈值计算出的FAR和FRR的均值为HTER,计算方式如式(3)所示,同时ROC 曲线之下的面积AUC代表着真实人脸和假体攻击之间的分离程度。
APCER表示将攻击的假体人脸错分为真实人脸的比率。对每种攻击方式(presentation attack instrument,PAI),其APCERPAI计算方式如式(4)所示:
其中,NPAI表示某一类假体攻击的攻击次数,将攻击的假体人脸判断为假体攻击时Resi的值为1,将攻击的假体人脸判断为真实人脸时Resi的值为0。
假设存在S种攻击方式,则APCER为所有攻击方式中APCERPAI最大的那个,其计算方式如式(5)所示:
BPCER表示将真实人脸错误地判断为假体攻击的比率,其计算方式如式(6)所示:
其中,NBF表示真实人脸个数,将真实人脸错误地判断为假体攻击时Resi的值为1,将真实的人脸识别正确时Resi的值为0。
EER指训练集上APCER和BPCER相等时APCER和BPCER的均值,ACER指在以EER对应的阈值为测试集阈值时计算的APCER和BPCER的均值,计算如式(7)所示:
为了评估跨域FAS 模型对数据集的识别与泛化能力,下面对目前领域外场景下的FAS 模型测评方法进行总结。现有工作主要基于三种协议:跨库同攻击方式、同库跨攻击方式以及跨库跨攻击方式。
3.2.1 跨库同攻击协议
这种测评方案主要侧重于度量FAS 模型在跨数据集时遇到不同的光照、背景及环境时的泛化能力。要求FAS 模型在一个或多个源域数据集上训练,使用训练阶段未知的目标域数据集进行测试,且要保证目标域与源域的攻击方式相同。当前使用最广泛的源域与目标域数据集组合为:CASIA-MFSD(简写为C)&Replay-Attack(简写为I)&MSU-MFSD(简写为M)&Oulu-NPU(简写为O)[54]。表6 总结了使用上述组合的部分FAS模型的性能。
表6 CASIA-MFSD、Replay-Attack、MSU-MFSD和Oulu-NPU的跨数据集测试结果Table 6 Results of cross-dataset testing on CASIAMFSD,Replay-Attack,MSU-MFSD and Oulu-NPU
3.2.2 同库跨攻击协议
这种评测方案主要侧重于FAS 模型在面对未知攻击方式时的泛化能力。要求FAS模型在训练阶段使用真实人脸和N-1 种攻击方式训练,在测试阶段加入第N种攻击方式的样本进行测试,即只有一种攻击类型仅在测试阶段出现。SiW-M数据集包含13种攻击类型,更适合评估FAS 模型对未知攻击的泛化能力,因此常作为FAS 模型在本评测方案上使用的数据集。表7 总结了近期部分FAS 模型在SiW-M数据集上面对未知攻击的泛化性能。
表7 SiW-M数据集上交叉型测试结果Table 7 Results of cross-type testing on SiW-M dataset
3.2.3 跨库跨攻击协议
尽管以上测评方案已经涵盖了人脸活体检测在面对领域外泛化时的大多数情况,但更有挑战性、更真实的测评方式是跨库跨攻击方式。这种评测方案由Yu 等人[83]提出,用于衡量FAS 模型在未知域和未知攻击类型上的泛化能力。要求FAS模型在训练阶段使用的数据集包含N种攻击方式,测试阶段使用训练阶段未知的数据集,且攻击方式没有与训练时重合的情况。在该评测方案中,通常用Oulu-NPU和SiW-M(2D 攻击)混合来训练FAS 模型,HKBUMARS 和3DMASK(3D 攻击)用于测试。当前先进的模型在该协议下对于上述两个测试集的HTER分别达到了6.75%与15.00%。
Wang等人提出了一种更为贴近真实场景的测评协议[54],将12 个公开数据集分为两个子集P1 与P2,其中一个作为训练集,另一个作为测试集,如表8 所示。该测评方式中测试集涵盖了更多未知的数据集和更复杂的未知攻击,极具挑战性,且由于提出时间较短,相关研究成果较少。
表8 数据集及其对应的编号Table 8 Datasets and their corresponding numbers
随着研究的不断深入,领域外人脸活体检测方法研究已经取得了一系列的进展,但仍面临着很多难点与挑战,未来可能的发展方向主要有:
(1)如何在数据受限场景下得到泛化、鲁棒的模型。无监督领域自适应是基于源域和目标域都可以获得的假设,而因为隐私保护等法规政策,多个领域数据有时无法同时得到,存在只可以获得在源域上训练的模型而无法使用源域数据的情况。如何在这种条件下完成无源域的领域自适应任务是一个待解决的难题。同时也存在只可以获得单个源域而无法得到目标域数据的情况,如何进行单域泛化仍待解决。由于恶意攻击的不断进步,在训练阶段收集到所有的攻击方式并不现实,如何防范未见过的假体攻击以及如何使用新的攻击方式持续地更新模型是值得研究的问题。
(2)目前大部分活体检测数据集包含的攻击方式多为照片、视频重放攻击和面具类的三维假体人脸攻击。受限于人力、物力等成本因素,数据集包含的假体类别较为单一,视频重放使用的设备并不全面、先进,数据的模态单一,多为可见光模态。当前收集人脸及假体数据的流程主要为:使用人脸检测模型检测视频流的当前帧是否存在人脸,如果存在则保存当前帧及人脸框的坐标。由于帧与帧之间的时间间隔过短,使得大量的图片过于相似,收集到的数据集冗余信息过多。数据在深度学习模型的研究中起到了至关重要的作用,数据量大且种类丰富的数据集可以帮助模型更有效地学到泛化的分类特征。如何高效、低成本地收集数据,建立一个模态丰富、攻击方式全面及个体数量多的数据集,并设计更符合真实应用场景的协议是值得思考和具有挑战性的问题。
(3)当前先进的人脸活体检测模型,大都使用卷积神经网络提取特征。如何使用更加先进灵活的网络结构,如近两年来被得到广泛关注的ViT 模型,同时考虑将传统纹理特征提取算子与神经网络进行深层次融合,以提取能更好区分真假人脸的泛化性强、鲁棒高的特征信息,以及对检测模型的轻量化实时处理,解决人脸活体检测模型在实际应用中可能遇到的问题,仍是需要探索的难点。
(4)当前人脸识别流程大多由人脸检测、活体检测与人脸识别三个阶段构成,每个阶段分开设计,有必要设计三者融合、统一的模型,压缩模型大小,提升识别速度,减少训练开发的成本,降低整个人脸识别流程被攻击的风险。
(5)基于深度学习的人脸活体检测方法在模型精度方面占据主导地位。然而,受限于深度学习的可解释性差,很难判断已有的活体检测方法是根据什么特征进行真人和假体的鉴别,因此有必要探究活体检测模型可解释的问题。可解释性机制有助于设计更合理、更高效的网络结构,避免网络在特定数据集的混淆因子上过拟合。将因果推断引入深度学习模型,解决模型只学到了相关关系而不是因果关系的问题来探索模型的可解释性是一个研究热点。目前并未见将因果推断技术引入人脸活体检测领域的相关报道,这方面的研究探索值得期待。
随着深度学习的飞速发展,人脸活体检测的研究非常活跃,但同时也存在着很多困难与挑战。本文从提高检测模型泛化性出发,分析了目前人脸活体检测方法在遇到领域外场景时会出现的问题,将对应的解决方法进行分类,并详细阐述分析了每类方法的主要思想、优点与局限。整理和归纳了当前领域外场景下的人脸活体检测方法常用的主流数据集,对数据集大小、攻击方式等特点进行分析和比较。总结了常用的两类算法性能评价指标,并分析了针对领域外活体检测提出的三种评价协议及其应用场景。本文对提高人脸活体检测模型的泛化性未来可能的研究方向进行了分析和展望。相信人脸活体检测所面临的问题,必将在理论和实践的共同发展下,通过学术界和工业界的不断努力,得到更好的解决,人脸活体检测的应用也将推动人脸识别技术更广泛、更深入的发展。