燕皖作者渊亭科技单位计算机视觉、CNN研究方向

人脸静默活体检测最新综述

活体检测在人脸识别中的重要环节。以前的大多数方法都将面部防欺骗人脸活体检测作为监督学习问题来检测各种预定义的演示攻击,这种方法需要大规模的训练数据才能涵盖尽可能多的攻击。

但是,训练好的模型很容易过度拟合几种常见的攻击,仍然容易受到看不见的攻击。为了克服这些问题,活体检测算法应该:1)学习 discriminative features,可以从预定义的攻击样本中泛化出没有见到的攻击样本;2)快速适应新的攻击类型。

本文总结了在静默活体检测领域中提出的最新方法,并将它们分为六大类。如下,并对每一类中经典的算法进行了介绍。当然,除了静默活体检测,还有炫光、动作等,其他方法不再本文的讨论范围。
  • Auxiliary supervision

    • rPPG 

    • Depth 

    • Temporal 

    • fft 

  • De-spoofing 

  • Domain Generalization 

  • Meta learning 

  • NAS

一、Auxiliary supervision

仅仅使用 binary classification 监督不够合理,因为也不能说明模型是否学习到真正的活体与攻击之间差异。因此,出现了 rPPG、Depth、Temporal、fft 等等监督。


论文标题:Learning Deep Models for Face Anti-Spoofing Binary or Auxiliary Supervision

论文来源:CVPR 2018

论文链接:https://arxiv.org/abs/1803.11097

本文探讨了辅助监督(auxiliary supervision)的重要性。这些辅助信息是基于我们关于真实人脸和欺诈面部之间关键差异的知识获得的,其中包括两个视角:空间和时间。其中空间就是图像的深度(face-depth),而时间就是使用时序 rPPG 信号作为辅助监督。

本文的三个主要贡献:
  1. 建议利用新颖的辅助信息(即深度图和 rPPG)来监督 CNN 学习以改进泛化。
  2. 提出了一种新颖的 CNN-RNN 架构,用于端到端学习深度图和 rPPG 信号。

  3. 发布了一个新的数据库:Spoof in the Wild Database(SiW)。

What is rPPG?

简单说就是发射光强度不一样。当一定波长的光束照射到指端皮肤表面时,光束将通过透射或反射方式传送到光电接收器,在此过程中由于受到指端皮肤肌肉和血液的吸收衰减作用,检测器检测到的光强度将减弱。

如下图所示,如果是 live face,会有部分周围光穿过皮层到达血管,然后反射出来,故相机是能从人体皮肤检测到心跳;而对于 spoof face,由于材料不同,吸收及反射到相机的信息就很不同。

论文标题:Exploiting temporal and depth information for multi-frame face anti-spoofing

论文来源:CVPR 2018

论文链接:https://arxiv.org/abs/1811.05118

以往关于活体的深度学习研究都提取了单帧的深度信息作为辅助监督。不同于这些方法,这篇文章提出了一种通过结合时序运动和单帧面部深度的时序深度度信息。具体的,光流引导特征模块(OFFB)和时序卷积单元(ConvGRU)分别用于提取短时和长时运动信息。


如图所示,输入是固定间隔内的连续帧。单帧框架部是为了提取不同层次的特征,输出单帧估计的面部深度。OFFB 使用连续两帧作为输入,计算短期运动特征。然后将最终的 OFFB 特性输入 ConvGRUs 以获得长期运动信息,输出单帧面部深度的残差。最后,整个网络由估计多帧深度的深度损失和二元损失进行监督。

论文标题:Deep Spatial Gradient and Temporal Depth Learning for Face Anti-spoofing

论文来源:CVPR 2020

论文链接:https://arxiv.org/abs/2003.08061

代码链接:https://github.com/clks-wzz/FAS-SGTD

本文提出了一种新的深度监督体系结构,利用残差空间梯度块(RSGB)捕获区分性细节,并通过时空传播模块(STPM)从单目帧序列有效地编码时空信息。具体细节参考原文。

此外,本文还提出对比深度损失(CDL)。Euclidean Distance Loss(EDL)只是协助网络学习摄像机上的物体,只是对像素的逐一进行深度判断监督,而忽略相邻像素之间的深度差异。

然而,物体的深度关系也很重要。因此,对比深度损失(CDL)以提供额外的强有力的监督。如下图,CDL 共有 8 个对比卷积核,其中紫色、黄色和白色片段分别表示 1、-1 和 0。

二、De-spoofing

论文标题:Face De-Spoofing Anti-Spoofing via Noise Modeling

论文来源:ECCV 2018

论文链接:https://arxiv.org/abs/1807.09968

代码链接:https://github.com/yaojieliu/ECCV2018-FaceDeSpoofing

本文把欺诈检测问题定义为了新问题,将一张欺诈图片分为两部分,一部分是真图片,一部分是欺诈噪声,所以原问题就转化为了 de-X 问题。因为这个方向比较小众,就不做详细的介绍了。

三、Domain Generalization

一般的,在深度学习算法中, 通常假设训练样本和测试样本来自同一概率分布, 然后设计相应的模型和判别准则对待测试的样例的输出进行预测。

但是实际上当前很多学习场景下训练样本的概率分布和测试样本的概率分布是不同的,而活体检测也正是如此,由于目标域和源域是具有不同的概率分布的,如果在训练过程中我们无法获得目标域的任何信息就代表着训练出的分类器可能无法在目标域上取得良好的表现。

而且在现实应用中,目标域往往出现一些不可知的 case,在这种背景下,domain generalization 应运而生。

论文标题:Multi-adversarial Discriminative Deep Domain Generalization for Face Presentation Attack Detection

论文来源:CVPR 2019

论文链接:https://openaccess.thecvf.com/content_CVPR_2019/papers/Shao_Multi-Adversarial_Discriminative_Deep_Domain_Generalization_for_Face_Presentation_Attack_Detection_CVPR_2019_paper.pdf

代码链接:https://github.com/rshaojimmy/CVPR2019-MADDoG


本文重点研究如何提高人脸反欺骗方法的泛化能力。主要流程如下:

1. Multi-adversarial:先在不同 domain 数据集下训练得到各自 domain 的模型,然后通过各个 domain 训练好网络来提特征,用于训练特征生成器和 domain 的判别器,直到生成器输出的特征能成功骗过各个 domian 的判别器,就算学到了 generalized feature space 的表达了。

2. Dual-force Triplet Mining:除了同一个 domain 下的 triplet loss,还设计了 domain 间的 triplet loss,即对于每个 subject 希望其 cross-domain 的 postive 距离要小于 cross-domian 的 negative

3. Auxiliary Face Depth:还增加了预测 depth 的 task,以增强可判别性。

论文标题:Deep Transfer Across Domains for Face Anti-spoofing

论文链接:https://arxiv.org/abs/1901.05633

文中指出目前方法通用性差的主要原因是欺骗设备中材料的多样性,新环境的背景/光照条件会使真实人脸和欺骗攻击有所不同、以及有限的数据集。在本文中提出了一个网络结构,利用目标域中的稀疏标记数据来学习跨域不变的特征,从而实现人脸反欺骗。

如上图所示,其中每个 batch 包含一半源图像和一半目标图像,最后一个池层输出的两个域的特征用于计算分布距离,计算使用 kernel based MMD,最后的损失函数是分类损失和 domain 损失组成组成。

四、Meta learning

当遇到新的应用场景,面对中训练样本分布外的攻击类型时,数据驱动的模型往往会产生不可预测的结果。如果要调整活体检测模型以适应新的攻击,就需要收集足够的样本进行训练,然而收集有标签的数据的成本是昂贵的。因此,对于 anti spoofing 这类问题,data-driven 这条路很被动,而且很难看到头。

论文标题:Regularized Fine-grained Meta Face Anti-spoofing

论文来源:AAAI 2020

论文链接:https://arxiv.org/abs/1911.10771

代码链接:https://github.com/rshaojimmy/AAAI2020-RFMetaFAS

如果我们将现有的元学习算法直接应用于人脸反欺骗任务,会由于以下两个问题而降低性能:

1. 人脸反欺骗模型仅具有二进制类监督,会出现泛化效果差。如下图(a)所示,如果仅在二元类别标签的监督下,将常见的元学习算法应用于面部反欺骗,则 meta train 和 meta test 的学习方向将是有偏见的,这使得 meta learning 难以训练并最终找到广义的学习方向。


2. 对于 domain generalization 方法的 meta learning,其在每次元学习迭代中将多个源域粗略地划分为两组 meta train 和 meta test。因此,在每次迭代中仅模拟了单个 domain shift,这对于人脸反欺骗任务是效果较差的。

为了解决上述两个问题,如下图所示,本文提出了一种新颖的正则化细粒度元学习框架。

对于第一个问题,与二元类别标签相比,特定于面部反欺骗任务的领域知识可以提供更通用的区分信息。因此,将人脸反欺骗领域知识作为正则化方法纳入特征学习过程中,这样,这种正则化元学习可以针对脸部反欺骗任务,在元训练和元测试中专注于更协调,更通用的学习方向。

对于第二个问题,提出的框架采用了如上图(b)所示的细粒度学习策略。该策略将源域划分为多个元训练域和元测试域,并在每次迭代中在它们之间的每对之间共同进行元学习。这样,可以同时模拟多 domain shift,因此可以在元学习中利用更丰富的域移位信息来训练广义的面部反欺骗模型。

这篇文章的网络由特征抽取器、元学习器和深度估计器组成。在 Meta-Train 过程中,我们从 N 个训练集中随机选择 N-1 个,使用 binary loss 进行训练,使用了深度监督加强对模型的监督。剩余的一个训练集用于 Meta-Test,Meta-Optimization 过程就是对上述 meta-train and meta-test 中的 model 进行更新。

论文标题:Learning Meta Model for Zero-Shot and Few-shot Face Anti-spoofing

论文来源:AAAI 2020

论文链接:https://arxiv.org/abs/1904.12490

这篇文章将 FAS 做为一个 Zero-shot 和 Few-shot 的学习问题。本文的主要贡献有:

1. 首先将 FAS 定义为一个 zero- and few-shot 的问题。

2. 为了解决 zero- and few-shot FAS 问题,提出一种新的基于元学习的方法:自适应内更新元面孔反欺骗(AIM-FAS)

3. 我们提出了三个新颖的 zero- and few-shot FAS 基准点,以验证 AIM-FAS 的有效性。

4. 进行了全面的实验,以表明 AIM-FAS 在零和几乎没有反欺骗基准

Zero-shot learning 旨在学习一般的区别特征,这些特征对可以从已知的假脸中检测未知的新假脸。Few-shot learning 旨在快速适应反欺骗模式,通过学习预先定义的假脸和收集到的少量新攻击的样本。

具体来说,在 zero- or few-shot FAS 任务,meta-learner 的一次训练迭代包括两个阶段。元学习者使用 supper set 更新其权重,然后在 query set 上测试更新后的元学习者,得到元学习者的学习成绩和损失。最后,我们用元学习优化元学习者损失。

五、NAS

论文标题:Searching Central Difference Convolutional Networks for Face Anti-Spoofifing

论文来源:CVPR 2020

论文链接:https://arxiv.org/abs/2003.04092

首先,这篇文章提出了一部新颖的卷积算子——Central Difference Convolution(CDC,中心差分)卷积,其擅长描述细粒度信息。如下图所示,CDC 更可能提取 intrinsic spoofing patterns(例如,伪影)。

Vanilla Convolution 可以表示为:

Central Difference Convolution 表示为:

其实,使用了 NAS 方法搜索出了 CDCN++,以及设计了多尺度注意融合模块(MAFM),以有效地聚集了多层次 CDC 特征。

如下所示,搜索空间包括了各种参数形式的 CDC,skip-connet 和 none,采用的是 Differentiable NAS 方法,也就是一个“双层”优化的问题。

其中, 是 alpha 架构的参数,w 是 alpha对应的模型权重。alpha 利用 validation data 来进行更新,w 利用 training data 来进行更新。

在一个特定的 CDC 搜索空间内,利用神经网络结构搜索(NAS)来发现用于深度监督人脸防欺骗任务的框架级网络。

六、总结与展望

大多数研究都将活体检测作为一个有监督的学习问题,这样就需要大规模的训练数据来覆盖尽可能多的攻击,然而训练后的模型很容易出现对几种常见的攻击过度拟合,所以,静默活体检测的方法仍有待解决模型的泛化性不足的问题。同时,在研究先进的人脸反欺骗算法的过程中,新的类型的欺骗攻击也被创造出来,并对所有现有算法的造成威胁。

从人类学习识别物体的过程来看,人类认识新的物体并不需要很多的样本作为支撑。这就从某些角度说明,相比机器学习模型,人类在学习一个新任务的时候,学会的不仅仅是先验知识,不妨认为是学会了一个“如何去学习一个新知识"的方法。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论人脸识别活体检测
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

人脸识别技术

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

元学习技术

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

特征抽取技术

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

结构搜索技术

深度学习提供了这样一种承诺:它可以绕过手动特征工程的流程,通过端对端的方式联合学习中间表征与统计模型。 然而,神经网络架构本身通常由专家以艰苦的、一事一议的方式临时设计出来。 神经网络架构搜索(NAS)被誉为一条减轻痛苦之路,它可以自动识别哪些网络优于手工设计的网络。

暂无评论
暂无评论~