资讯详情

活体检测论文研读三:Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision

Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision

论文简介

1、指出以往的深度学习方法将人脸反欺骗视为一个简单的二分类问题Spoof Face和Live Face单独使用简单的0和1标签进行监督和学习。这种神经网络很难掌握足够的欺骗线索,对线索的归纳性也很差

Conventional CNN-based face anti-spoof approaches uti-lize the binary supervision, which may lead to overfitting given theenormous solution space of CNN. This work designs a novel net-work architecture to leverage two auxiliary information as super-vision: the depth map and rPPG signal, with the goals of improvedgeneralization and explainable decisions during inference.

二是论证辅助监督在引导神经网络学习差异和归纳线索方面的重要性

三、提出了新的CNN-RNN模型。人脸的深度信息以像素级监督为基础,以序列监督为基础。rPPG信号。将估计的深度信息以及rPPG集成信号进行区分Spoof Face和Live Face

四、介绍了一个新的人脸反欺骗数据库OULU Database,该数据库涵盖了广泛的光照、受试者和姿势变化


论文研读

缺乏二分类监督

反欺诈模型的二分类监督主要存在两个问题: 首先,有不同程度的图像退化,即欺骗模式,将恶搞脸与活脸进行比较,包括皮肤细节丢失、颜色失真、莫尔图案、形状变形和欺骗伪影(如反射)。Softmax LossCNN可能会发现任何可以区分这两类的线索,如屏幕边框,但不会发现忠实的恶搞模式。当这些线索在测试过程中消失时,这些模型将无法区分Spoof FaceLive Face,导致泛化能力差,泛化能力差 其次,在测试过程中,在二元监督下学习的模型只会生成一个二元决策,而不会解释决策及其基本原理不知道具体使用了什么线索


论文创新点

PA: attackers present face spoofs (i.e., presentation attacks, PA), PA include printing a face on paper (print attack), replaying a face video on a digital device (replay attack), wearing a mask (mask attack), etc. 用假脸解人脸安全系统的行为,包括打印攻击、回放攻击和面具攻击

PIE:variations in poses, illuminations, expressions (PIE). 姿势、照明和表情的变化

为了解决上述问题,作者提出了从人脸视频中稳定检测的深度学习模型,而不是在时间和空间上进行辅助信息监督PA

:活脸有类似脸的深度,活脸有深度信息,电子设备和纸质设备上的脸在一个平面上(或者可以是媒体扭曲的平面),活脸有更严格多样的深度信息。

:正常的rPPG可以从活体人脸视频中检测到信号(即心脏脉搏信号),但不能从欺骗视频中检测到,因此可以提供不同的信号rPPG信号作为辅助监管,分别引导网络学习Live Videos和Spoof Videos

为实现这两种辅助信息监督,作者设计了一个桥接的网络架构(short-cut connection)用于捕捉不同尺度和处理运动和姿势变化的新型非刚性配准层(non-rigid registration layer)来获取rPPG估计信号

: 作者认为相机和屏幕质量的影响Spoof Face成像质量的关键因素。过去的数据集是几年前收集的,比如电子设备已经更换了好几次,已经过时了。最近的数据集在PIE上述变化很少,缺乏必要的变化数据集很难训练出有效的模型。因此,作者收集了它SiW数据集。SiW数据库由165名受试者、6个欺骗媒体和4个会话组成,涵盖PIE、相机距离等变量。SiW它涵盖了比以前的数据库更大的变化


前期工作

作者回顾了前人的三项工作:1。基于纹理(texture-base);2、基于时间(temporal-based);3.远程光电体积描述(remote photoplethysmography)

:对RGB手工制作的图像特征,如LBP、HoG、SIFT、SURF并采用传统的分类器SVM和LDA。也有将RGB转换为HSV和YCbCr色彩空间,或使用傅里叶谱作为输入信息来克服照明的影响。随着深度学习的兴起,许多工作都是基于CNN特征或CNN然而,这项工作的大多数人通过应用程序来处理人脸反欺骗问题softmax损失函数将人脸反欺骗视为一个简单的二分类问题,例如一些对ImageNet上的CaffeNet或VGG-face微调预训练模型,利用多尺度人脸和手工特征直接区分真假脸。《Face anti-spoofing using patch and depth-based CNNs》本文提出了基于纹理和深度的论文two-steam CNN-based anti-spoofing方法与我们的工作相似,与这篇论文相比,我们在很多方面都取得了进展,这其中包括rPPG、更精细的网络结构、新的非刚性配准层和综合实验支持我们

:基于时间线索是面部反欺骗的最早解决方案之一,如眨眼检测,通过跟踪嘴唇和嘴唇的运动来检测面部表情。这些方法对典型的纸张攻击有效,但对回放攻击或切割眼睛/嘴的纸张攻击没有效果 还有一些工作依赖于更一般的时间特征,而不是特定的面部动作。帧连接是最常见的方法。许多基于特征的手工方法通过简单连接连续帧的特征来训练分类器,以提高内数据集测试的性能。此外,还有一些工作提出了特定时间的特,如Haralick特征、运动放大和光流。在深度学习时代,Fenget等人把光流图和剪切波图像特征CNN。Xue等人利用时间信息提出二值分类LSTM-CNN结构。一般来说,现有的人脸反欺骗方法仍然将人脸反欺骗视为二级问题,因此很难在跨库测试中得到很好的推广。在这项工作中,通过学习人脸视频rPPG提取可区分的时间信息信号

:远程光电容积描述(rPPG)跟踪生命信号(如心率)而不接触人体皮肤是一种技术。从没有运动或照明变化的面部视频到各种变化的视频。Haan等人通过照明和运动变化进行估计RGB面部视频中的rPPG它利用色差消除镜面反射,估计两个正交色度信号。 使用带式滤波器(BPM)之后,将计算色度信号的比率rPPG信号

rPPG用于解决面部反欺骗,如3D活体人脸在面具攻击中显示心跳脉冲。通过提取rPPG分类信号并计算相关特征。同样,Magdalena等人从三个面部区和两个非面部区提取rPPG用于检测打印和回放攻击的信号。尽管在回放攻击中,rPPG提取器可能仍然捕获正常脉冲,但多个区域的组合可以区分真假。尽管rPPG提取的分析解决方案很容易实现,但我们观察到了它PIE变化非常敏感。因此,我们采用了一种新颖的方式CNN-RNN从人脸视频到rPPG信号的映射不仅对PIE变化是鲁棒的,有能力区分活体提取RPPG方法来自论文《Robust pulse rate from chrominance-based rPPG》


Face Anti-Spofing with Deep Network

所提出的方法的主要思想是引导深层网络关注横贯空间和时间的已知欺骗模式,而不是提取任何能够区分两个类别却难以归纳的线索。如下图所示,所提出的网络以连贯的方式结合了CNN和RNN架构。CNN部分利用深度图监督来发现微妙的纹理属性,从而对真假脸的识别带来不同的深度。然后,它将估计的深度和特征映射喂入到新的非刚性配准层以创建对齐的特征图。RNN部分使用对齐的特征图和检查视频帧间变化的rPPG作为监督进行训练

The overview of the proposed method.

Depth Map Supervision

使用人脸的深度图作为标签的方法比简单的0-1标签信息更丰富,因为它表明了活体人脸、打印和回放人脸之间的一个基本区别。将深度图用于深度损失函数来监督CNN部分,基于像素的深度损失函数将引导CNN学习从感受野内的面部区域到标记深度值得映射。对于活体面部,深度值在0-1。对于欺骗面部,深度值为0

rPPG Supervision

rPPG信号提供了有关活体面部的时域信息,因为rPPG信号与面部的皮肤有关,随着时间的变化,面部的不同变化会带来不同的rPPG信号。这些强度变化与血液流动高度相关。提取rPPG信号的传统方法《Robust pulse rate from chrominance-based rPPG》具有三个缺点。首先,它对姿势和表情变化很敏感,因为跟踪特定的面部区域来测量强度变化变得更加困难。其次,它对照明的变化也很敏感,因为额外的照明会影响皮肤反射的光量。第三,出于反欺骗的目的,从欺骗视频中提取的rPPG信号可能无法与真实人脸视频信号充分区分开

作者所提出的方法是采用RNN网络来估计rPPG信号。这简化了具有PIE变化的面部视频的信号估计,并且由于为活体视频和欺骗性视频提供了不同的rPPG监控,因此它还会产生更具有区分性的rPPG信号

论文中假设在不同的PIE条件下同一受试者的视频具有相同的ground truth rPPG。因为对于短时间内(<5分钟)捕获的同一受试者的视频,心跳相似。从受约束的视频中提取的rPPG信号(即,没有PIE变化)用作rPPG损失函数中针对同一受试者的所有活体视频的“ground truth”监督。这种一致的监督有助于CNN和RNN部分对PIE变化具有鲁棒性

Network Architecture

论文提出的网络由两个深层网络组成。首先,CNN部分分别评估每个帧,并估计每个帧的深度图和特征图。其次,递归神经网络(RNN)部分评估整个序列特征图上的时域变化

The proposed CNN-RNN architecture. The number of filters are shown on top of each layer, the size of all filters is 3 × 3 with stride 1 for convolutional and 2 for pooling layers. Color code used: orange=convolution, green=pooling, purple=response map.

CNN Network

CNN部分采用FCN(Fully Convolutional Network,全卷积网络)结构。如上图所示,CNN部分含有多个blocks,每一个blocks包含三个卷积层,一个池化层,一个resizing(调整网络大小)层,每一个卷积层后面都跟有一个ELU层(exponential linear units,指数线性单元)层和BN(batch normalization,批归一化)层。然后,在每一个block后,resizing层将response maps(将响应图)调整到一个预定义的64x64大小并将response maps连接起来。与ResNet结构相似,旁路连接帮助网络利用不同深度blocks提取到的特征,CNN部分含有两个分支,一个用于估计深度图,一个用于估计特征图

CNN深度图估计分支采用256x256大小尺寸的输入图像,即 I ∈ R 256 × 256 I \in {R^{256 \times 256}} I∈R256×256,使用深度图作为监督,采用的公式如下: Θ D = arg ⁡ min ⁡ ∑ i = 1 N d ∥ CN N D ( I i ; Θ D ) − D i ∥ 1 2 {\Theta _D} = \arg \min \sum\limits_{i = 1}^{ {N_d}} {\left\| { {\text{CN}}{ {\text{N}}_D}({ {\rm I}_i};{\Theta _D}) - { {\text{D}}_i}} \right\|_1^2} ΘD​=argmini=1∑Nd​​∥CNND​(Ii​;ΘD​)−Di​∥12​ D i D_i Di​表示第 i i i张图的“ground truth”, I i I_i Ii​表示输入的第 i i i张图, Θ D {\Theta _D} ΘD​表示CNN的参数, N d N_d Nd​表示图片的数量。CNN特征图的输出则将被送入非刚性配准层

RNN Network

RNN部分的目的是估计具有 N f N_f Nf​帧输入序列 { I j } j = 1 N f \left\{ { { {\text{I}}_j}} \right\}_{j = 1}^{ {N_f}} { Ij​}j=1Nf​​的rPPG信号 f \text{f} f,仍然如上图网络结构所示。作者使用带有100个隐藏神经元的LSTM层、全连接层和FFT层。FFT层将全连接层的响应转换为傅里叶域。给定输入序列 { I j } j = 1 N f \left\{ { { {\text{I}}_j}} \right\}_{j = 1}^{ {N_f}} { Ij​}j=1Nf​​以及“ground truth” rPPG信号 f \text{f} f,通过训练RNN最小化估计的rPPG信号与“ground truth” f \text{f} f之间的 l 1 l_1 l1​距离 Θ R = arg ⁡ min ⁡ ∑ i = 1 N s ∥ RN N R ( [ { F j } j = 1 N f ] i ; Θ R ) − f i ∥ 1 2 {\Theta _R} = \arg \min \sum\limits_{i = 1}^{ {N_s}} {\left\| { {\text{RN}}{ {\text{N}}_R}({ {[\{ { {\text{F}}_j}\} _{j = 1}^{ {N_f}}]}_i};{\Theta _R}) - { {\text{f}}_i}} \right\|_1^2} ΘR​=argmini=1∑Ns​​∥∥∥​RNNR​([{ Fj​}j=1Nf​​]i​;ΘR​)−fi​∥∥∥​12​

Θ R {\Theta _R} ΘR​表示RNN参数, F j ∈ R 32 × 32 { {\text{F}}_j} \in { {\text{R}}^{32 \times 32}} Fj​∈R32×32是正面化的特征图, N s N_s Ns​是序列的数量, f i \text{f}_i fi​表示第 i i i帧的“ground truth”

Implementation Details

:给定一组活体与造假视频,提供深度图监督 D \text{D} D和rPPG信号监督 f \text{f} f的“ground truth”,如下图对于活体视频深度图的“ground truth”采用前面所描述的计算方式进行计算,对于造假视频的深度图则给定为一个平面,即全零矩阵。对于rPPG信号,活体视频的“ground truth”从前额的一个patch计算得到,并且每一个受试者采用一个没有PIE变化的活体视频。同样需要对rPPG信号 f \text{f} f采用归一化,即 ∥ f ∥ 2 = 1 {\left\| {\text{f}} \right\|_2} = 1 ∥f∥2​=1,对于造假视频rPPG信号设为0

Example ground truth depth maps and rPPG signals.

:论文所提出的网络结合CNN和RNN进行端到端训练。CNN部分所需的训练数据应该来自不同的受试者,这样可以使训练过程更加稳定,增加学习模型的可泛化性。同时,为了充分利用帧间的时间信息,RNN部分的训练数据应该是长序列。这两个偏好恰好是相互矛盾的,特别是考虑到有限的GPU内存。因此,为了满足这两种偏好,我们设计了一个双流训练策略。第一个流满足CNN部分的偏好,其中输入包括人脸图像 I I I和深度图“ground truth” D D D。

第二个流满足RNN部分,输入包括人脸序列 { I j } j = 1 N f \left\{ { { {\text{I}}_j}} \right\}_{j = 1}^{ {N_f}} { Ij​}j=1Nf​​以及该序列对应的深度图 { D j } j = 1 N f \left\{ { { {\text{D}}_j}} \right\}_{j = 1}^{ {N_f}} { Dj​}j=1Nf​​,估计的3D形状 { S j } j = 1 N f \left\{ { { {\text{S}}_j}} \right\}_{j = 1}^{ {N_f}} { Sj​}j=1Nf​​以及相应的rPPG “ground truth” f \text{f} f。在训练期间,我们的方法在这两个流之间交替,以收敛到一个模型,使深度图和rPPG损失都最小化。请注意,即使第一个流只更新CNN部分的权值,第二个流的反向传播也会以端到端的方式更新CNN和RNN部分的权值

:作者提供了一个分类的分数,他们将测试序列喂入网络来计算最后一帧的深度图 D ^ \widehat {\text{D}}

标签: fj12光电传感器lda6at光电传感器2495t6nd光电传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台