Face Anti-Spoofing FAS 综述

Presentation Attacks(PA)

         在AntiSpoofing Wiki中对PA进行了详细的划分,总的分为:恶意(下面重点记录)与非恶意。

        恶意的PA中分为两类:基于合成的PA基于人类的PA

        基于合成的PA通常是使用假的肢体部件合成图像深度伪造的视频带特殊纹理的眼镜片(虹膜PA)、遮挡的面部图像,它们可以是静态的、动态的或是混合的。

        基于人类的PA通常是活体或者是死物直接呈现给系统(但必须是真实的人),可能是使用活体或者死体的部位,或是模仿攻击

        细分的小类中下面仅记录Facial attacks。

        面具:现存的面具攻击所使用的面具可能在各方面都极为精致,比如带有放热的硅胶面具,以模拟人体体温。

        Deepfake(深度伪造):使用AI,可以对静态图像和动态视频实时实现AI换脸,从而绕过活体检测。

        打印的照片:简单粗暴的方式,直接使用照片用于识别。 

        重播攻击:使用预先录制的结合了Deepfake的视频,投放到高清屏幕上,用于识别。


 Presentation Attacks Detection(FAD)

        传统方法大多基于:生理活性信号(如:眨眼、头部面部运动等)、人为研究出的特征(在不同的颜色空间中发现伪造的痕迹)。后者也是2018年后的主要研究方向。

        生理活性信号可以被高质量的视频伪造,而且不方便部署。

        而后产生了基于人工特征+深度学习端到端深度学习的方法。在此类方法中,FAS通常被视为二分类问题(活体/非活体),使用交叉熵损失函数即可描述训练目标。

        但不同于传统的二分类问题(如:性别检测),FAS问题的特征没有语义性(其实就是不可解释),而且非常细节,因此顺理成章地引入CNN用于检测伪造痕迹。但CNN+二分类方法也会学习到无关紧要的伪造痕迹(如:图像边框),而且会出现过拟合状态。

        由于大部分的伪造痕迹都和位置感知的辅助任务相关(比如:在面具或照片的表面会出现不和谐的反光等),同时高质量的图像接收放大了这些线索,有利于深度模型的学习。因此,基于上面的辅助任务,学者提出了像素级辅助监督方法松弛像素级重建约束(对欺骗模式的本质进行建模)。


Face Spoofing Attacks 

        作者将FSA大致分为两类:数字操作物理上的表示攻击(PA),作者主要讨论后者,其操作流程大致如下:

Face Anti-Spoofing FAS 综述_第1张图片

         从图(a)中可以看出含FAS的FR(Face Recognition)大致分为两种:并行、串行

  • 并行:FR系统和FAS系统分别输出一个得分,经过分数融合输出最终得分,用于判断是否源于活体。
  • 串行:先进行FAS系统的活体判断,再进行FR,用于早期FAS。

        图(b)中展示了各种PA形式,根据攻击目的,作者将其分为两类:

  • 模仿:把真正用户的人脸特征复制到照片、电子屏幕、3D面具等上,欺骗FR系统。
  • 混淆:通过眼睛、化妆、假发等抹除自己的身份。

        根据几何属性,分为两类:

  • 2D:用传感器展示照片和视频来展现面部特征,如:平面/折起来的照片、切割的照片、视频回放。
  • 3D:3D面具。

        根据覆盖面部的区域大小,分为两类:

  • 全部:涉及到整张人脸的替换,如:照片、视频、3D面具。
  • 部分:切割的照片、眼睛。

数据集

        作者调研了所有公开FAS相关数据集:

Face Anti-Spoofing FAS 综述_第2张图片

         数据集的发展有如下趋势:

  • 数据集体量增大
  • 数据分布多样:数据集不再限制于单一攻击方式、取样场景。
  • 多模态和特殊传感器:不再局限于RGB摄像机。


评价度量

  • 拒识率(FRR):错误拒绝的正确访问。
  • 误识率(FAR):错误接受的欺骗访问。
  • 半总错误率(HTER):FRR和FAR的平均值
  • 等错误率(EER):FRR和FAR相等时的HTER
  • AUC:ROC曲线(真阳性率为纵坐标,假阳性率为横坐标)下的面积,表示决策边界的合理性
  • 攻击分类错误率(APCER):攻击角度的FAR。
  • 真实分类错误率(BPCER):攻击角度的FRR。
  • 平均分类错误率(ACER):APCER和BPCER的平均值。

评估协议

         每个数据集约定俗成的模型评估方法,由数据集作者提出使用方法,适用于对应数据集,用于判定模型的某些具体性能,作者将协议分为四类:

  • 数据集内类内协议(Intra-Dataset Intra-Type Protocol):测试集和训练集基本处在同一数据分布下(使用相同设备、在同一拍摄环境下等)。仅适用于环境变化不大的测试评估。
  • 跨数据集类内协议(Cross-Dataset Intra-Type Protocol):测试集和训练集不源自同一数据集。同时,测试集也可以用于实现迁移学习。用于测评模型对环境的泛化能力。作者实验基于将Replay-Attack作为训练集,CASIA-MFSD作为测试集实现的。
  • 数据集内跨类协议(Intra-Dataset Cross-Type Protocol):测试集中出现新的攻击方式,测试模型对于攻击方式的泛化性。ViTranZFAS使用了迁移学习,效果更好。
  • 跨数据集跨类协议(Cross-Dataset Cross-Type Protocol):融合二三类,OULU-NPU和SiW(2D)用于训练,HKBU-MARs和3DMask(3D)用于测试。DTN 和NAS-FAS对于低质量的mask泛化性不错,高质量的无法实现。


针对商用RGB相机的深度FAS

人工特征+深度学习 

第一类是将人工特征进行深度提取,得到深度特征:

Face Anti-Spoofing FAS 综述_第3张图片

  • 基于颜色纹理的静态特征:【Learning deep forest with multi-scale local binary pattern features for face anti-spoofing】一文中提出使用多尺度LBP提取局部纹理特征再用CNN提取深度特征,并使用级联的随机森林将其语义化;【Robust face anti-spoofing using cnn with lbp and wld】一文中将LBP和WLD均使用CNN进行提取并进行混合。

以上二者均只使用了局部特征进行区分(多个像素被压缩至一个块内),无法提取像素级细节,模型有局限性

Face Anti-Spoofing FAS 综述_第4张图片 LBP+WLD混合提取模型
  • 动态特征:【Integration of image quality and motion cues for face anti-spoofing: A neural network approach】一文中使用密集光流来监测每一帧的运动,借此来挑出不和谐的运动,如:屏幕表面的镜面反射、不稳定支撑带来的均匀晃动、面具导致的人眼以外运动的消失等;【Transrppg: Remote photoplethysmography transformer for 3d mask face presentation
    attack detection】一文中根据视频建立时间轴上的rPPG图,并将其可视化,远程检测心脏周期性跳动这一特征。
但作者认为头部运动和rPPG信号在重放攻击中容易被模仿。
Face Anti-Spoofing FAS 综述_第5张图片 基于各帧间密集光流计算得到的OMP

针对重放攻击会有异常反射的问题,【3d face mask presentation attack detection based on intrinsic image analysis】一文中提出对人脸发出光,使用人脸反射光得到的反射图像计算强度差直方图,使用一维卷积提取该图特征,以此检测反射变化。

Face Anti-Spoofing FAS 综述_第6张图片

第二类从DCNN提取到的特征中筛选出人工特征。

  • 静态特征:【An original face anti-spoofing approach using partial convolutional neural network】一文中提出使用PCA主成分分析降维,去除掉DCNN提取得到特征中冗余的部分;【Chif: Convoluted histogram image features for detecting silicone mask based face presentation attack】一文中提出从浅层CNN特征中提取LBP特征,因为CNN能够提取更丰富的低级特征用于深度提取。
  • 动态特征:【Cnn based spatio-temporal feature extraction for face anti-spoofing】和【
    Joint discriminative learning of deep dynamic textures for 3d mask face anti-spoofing】中提出基于DCNN提取出来的特征,提取光流LBP-TOP特征;

此类方法的共性问题是:不知道深层卷积特征浅层卷积特征哪一个更适用于所选用的人工特征 

第三类是使用DCNN和人工特征融合(fuse)得到的某个特征。 

  • 静态特征:【Score-level-based face anti-spoofing system using handcrafted and deep learned characteristics】一文中提出将LBP和VGG-16分别得到的预测分数进行融合。

但是二者的权重如何选择是个重要问题。

  • 【Enhancing deep discriminative feature maps via perturbation for face presentation attack detection】一文中提出使用HOG和LBP图来扰动和调整低级卷积特征
尽管人工特征中的先验知识会增强辨别能力,但是面对着语义退化的问题。
  • 动态特征:【Replayed video attack detection based on motion blur analysis】将动作放大的面部视频中提取的动态模糊特征一维CNN提取到的强度变化特征融合。

这类方法能够提取特定的非纹理的伪造痕迹,传统的FAS仅能提取纹理特征。缺点也很明确:

  1. 人工特征依赖相关学者的前置研究,没办法直接学习,尽管训练集足够庞大,学习效率也很低。
  2. 人工特征和深度提取特征容易不兼容,性能容易饱和。

    传统深度学习方法 

第一类是使用二值交叉熵损失函数直接监督任务。

FAS可以被视为二值端到端分类任务(是否为真实人脸),可被交叉熵损失函数或其他损失函数(如三元损失函数)监督。

  • 使用二值交叉熵损失函数(cross-entropy loss CE)

1、【Learn convolutional neural network for face anti-spoofing】中使用八层浅层CNN进行端到端的浅层特征提取。但该方法由于数据集限制,容易过拟合

2、【Transfer learning using convolutional neural networks for face anti-spoofing】【Attention-based two-stream convolutional networks for face spoofing detection】【On the effectiveness of vision transformers for zero-shot face anti-spoofing】中调整了已经使用ImageNet预训练过的VGG16、ResNet18和Vision Transformer,比如修改其中的几层,用于解决过拟合的问题;

3、为了实现实时性,【Deep models and shortwave infrared information to detect face presentation attacks】使用了轻量级的Mobilenet-V2。

上面这些方法只注重了高级特征的提取,但是忽略了浅层特征的提取。

4、为了更好地利用多尺度的特征,【Look locally infer globally: A generalizable face anti-spoofing approach】中使用了自监督的全连接卷积层(FCN)提取特征;

5、【Face anti-spoofing: Model matters, so does data】【Learning temporal features using lstm-cnn architecture for face anti-spoofing】【Face anti-spoofing via sample learning based recurrent neural network (rnn)】【Face anti-spoofing by the enhancement of temporal motion】中结合了级联CNN+LSTM的时空特征分辨PA和真实人像。

Face Anti-Spoofing FAS 综述_第7张图片 TASM获得时间特征,SASM获得空间特征
  •  使用改良的损失函数

1、【On improving temporal consistency for online face liveness detection】中将二分类问题(真实、伪造)细化为多分类问题(真实、重放、打印等),这样可以把各种PA的独特性质考虑在内。

然而仍然不能满足高内聚低耦合,无法做到完全区分,因为高质量的PA和真实人脸在外部特征上差不多。

2、【Face liveness detection based on client identity using siamese network】【Detecting face presentation attacks in mobile devices with a patch-based cnn and a sensor-aware loss function】中分别使用对比损失函数(Contrastive Loss)和三元损失函数(Triplet Loss)

但是实际情况下,二分类的类内分布并不一致,真实样本更加紧凑,而伪造样本更多样化,存在着小类间的稀疏分布,但是上述函数强制类内约束。

3、基于上述问题【Patchnet: A simple face anti-spoofing framework via fine-grained patch recognition】使用了非对称的A-softmax损失函数,缓解类内约束。

4、【Camera invariant feature learning for generalized face anti-spoofing】使用了Binary Focal Loss扩大真实和伪造的间距,降低高质量伪造的误识率。

上述方法易于使用且有效,能够加速收敛,但是这种监督方式产生的特征过于泛化(时间/空间),易于过拟合;而且模型是黑盒的。

第二类是像素级监督

  • 使用辅助任务的像素级监督

1、【Searching central difference convolutional networks for face anti-spoofing】【Face anti-spoofing using patch and depth-based cnns】【Deep spatial gradient and temporal depth learning for face anti-spoofing】【Ts-fen: Probing feature selection strategy for face anti-spoofing】使用了伪深度这一特征用来预测活体样本的真实深度,即实际情况下人脸为3D的,是由凹凸起伏的,但照片为平面。

2、【Face anti-spoofing using patch and depth-based cnns】首次使用伪深度训练多尺度FCN,将整体深度图作为标签用于决策。

3、Searching central difference convolutional networks for face anti-spoofing】使用中心差分卷积(CDC)代替了(2)中的普通卷积以提高细粒度特征的表示,得到下图的CDCN架构

Face Anti-Spoofing FAS 综述_第8张图片

 4、【Deep spatial gradient and temporal depth learning for face anti-spoofing】提出FAS-SGTD架构用于进行短期长期微动作评估(short- and long-term micro-motion estimation),借此进行动态的深度检测。

但是明显不适用于3D面具等。

5、【Deep pixel-wise binary supervision for face presentation attack detection】【Deep tree learning for zero-shot face anti-spoofing】【On disentangling spoof trace for generic face anti-spoofing】【Deep tree learning for zero-shot face anti-spoofing】中提出了二进制掩码标签:使用卷积层对pixel/patch(像素点或一簇像素)进行打分,判定该簇为真的分数,经过全连接层等得到最终输出。这种方法对攻击模式具有泛化性。

Face Anti-Spoofing FAS 综述_第9张图片

上述方法对各个patch是一视同仁的,显然不符合实际情况中人脸各特征的重要程度。 

6、【A-deeppixbis: Attentional angular margin for face anti-spoofing】【Auto-fas: Searching lightweight networks for face antispoofing】中使用了注意力模块弥补上面的缺陷。

二值滤波标签只针对于全部人脸伪造有效,当仅有部分伪造时达不到预期。

 7、【Basn: Enriching feature representation using bipartite auxiliary supervisions for face antispoofing】中根据人脸材质和伪造材质反照率的差异,提出了结合深度标签和反射标签的监督方法。

8、【Face anti-spoofing with human material perception】中引入了二进制掩码标签,以增加对攻击模式的泛化性

9、【Face spoofing detection based on local ternary label supervision in fully convolutional networks】基于上述模型,仅保留人脸部分,去除背景中噪声的影响。

10、【Face de-spoofing: Anti-spoofing via noise modeling】【Bi-fpnfas: Bi-directional feature pyramid network for pixel-wise face anti-spoofing by leveraging fourier spectra】使用了傅里叶映射

11、【Face anti-spoofing via disentangled representation learning】使用了LBP纹理图

12、【3dpc-net: 3d point cloud network for face anti-spoofing】使用稀疏三维点云图

辅助任务方法依赖于高分辨率的图像用于提取细节,同时人工特征并不可信。

你可能感兴趣的:(深度学习,人工智能,计算机视觉,深度学习,图像处理)