[人脸活体检测] 论文:Learn Convolutional Neural Network for Face Anti-Spoofing

2023-07-29,,

[人脸活体检测] 论文:Learn Convolutional Neural Network for Face Anti-Spoofing

论文简介

这是最早期CNN用于活体检测的文章,在此之前都是手动提取特征,文章采用了人脸检测预处理,多尺度人脸增强,时域人脸图像增强等技术训练了一个分类网络。

文章引用量:100+

推荐指数:✦✦✦✧✧

[1] Yang J, Lei Z, Li S Z. Learn convolutional neural network for face anti-spoofing[J]. arXiv preprint arXiv:1408.5601, 2014.


主要贡献

➢首次将深度学习方法引进至人脸反欺骗领域
➢指出反潜的线索主要分为四类:基于纹理、基于运动、基于3D形状、基于多光谱反射率,一些研究将两种或两种以上的方法结合起来,以提高防欺骗性能


论文创新

➢利用深度学习方法自提取特征来取代传统的手工设计特征


论文方法

➢指出手工制作的特征例如LBP、LBP-TOP无法捕捉到真假脸之间最具区别性的线索
➢提出利用深度卷积神经网络(CNN)在监督下学习具有高分辨能力的特征来替代人工设计的特征,显著提高人脸反欺骗的性能


论文研读

相关工作

Texture-based Anti-Spoofing

➢《Live face detection based on the analysis of fourier spectra》提出了基于傅里叶谱分析的方法,在此方法中,假设照片中的人脸较真实人脸具有更少的高频信息以及不同帧之前照片的傅里叶域能量的变化更小

➢《Face liveness detection from a single image with sparse low rank bilinear discriminative model》使用variational retinex-based方法和高斯差分(DoG)滤波器来提取人脸图像上的潜在反射特征

➢《Face liveness detection under bad illumination conditions》受到上一行论文工作的启发将DoG过滤器和标准稀疏逻辑回归模型相结合,用于极端光照下的反欺骗

➢《Face spoofing detection from single images using micro-texture analysis》使用LBP特征进行人脸反欺骗,其性能优于之前在NUAA的数据库上的方法。其在REPLAY-ATTACK数据库上的效率在《On the effectiveness of local binary patterns in face anti-spoofing》中有所展示

除此之外还有许多其他的工作使用基于纹理的特征,但是影响人脸图像纹理的因素很多,包括异常的阴影、高光、设备噪声等


Motion-based Anti-Spoofing

除了纹理特征,运动也是人脸反欺骗另一种特征

➢《Blinking-based live face detection using conditional random fields》和《Eyeblink-based anti-spoofing in face recognition from a generic webcamera》通过描述眨眼运动来防止欺骗面部

➢《Real-time face detection and motion analysis with application in ”liveness” assessment》通过利用嘴唇的特征来进行活体检测

基于运动的活体检测方法称为配合式活体检测方法,在支付宝的人脸验证功能中就会有摇头、点头这种操作,以此来判定活体与非活体,还有一些方法提出通过光流场对进行活体检测

除此之外还有两类方法3D Shape-based Anti-Spoofing以及Multi-Spectral Reflectance-based Anti-Spoofing,其分别利用人脸3D形状与照片2D形状的区别,利用真人脸与造假脸对于光的反射率不同等特点,利用可见光以外的光照来检测欺骗攻击


论文方法

人脸定位(face localization)

对于一般的检测器,使用OpenCV的Viola-Jones检测器就足以完成此项任务,然而矩形检测器无法提供精确的面部位置。因此,人脸检测采用《Face alignment at 3000 fps via regressing local binary features》论文中的人脸对齐算法,算法采用68个landmarks对人脸的关键点进行标定,能够获取较为精确的人脸位置

Face alignment process on an example image. From left to right, the face location is gradually refined based on face landmarks.


空间增强(spatial augmentation)

《Face liveness detection with
component dependent descriptor》作者通过扩大传统的人脸区域将背景包含在其中,虽然证明各种背景特征的积极作用发现额外的背景对于人脸反欺骗性能并没有提升本文作者猜测是手工提取特征的方式过于局限,无法从背景中提取到有效的特征以及获取更多的信息,因此本文作者沿用了背景区域的思想,但采用CNN网络进行特征提取,最终研究表明,CNN提取背景特征在活体检测中也具有重要的地位。在《Competition on counter measures to 2-d facial spoofing attacks》中,UOULU团队利用背景区域进行特征提取在比赛中取得了最好的成绩,论文作者将传统的人脸区域扩大到包含部分背景,并证明了各种特征类型背景区域对于检测的积极作用。因此,本文作者提出多尺度扩大背景的方案来分析背景对活体检测分类的积极影响,并使用CNN替代传统的手工特征来从背景中学习可分类的线索

Sample images with different spatial scales are shown. The first two rows are from CASIA dataset and the two rows at bottom are from REPLAY-ATTACK dataset. The even rows are genuine, and odd rows are fake.

图中第一行与第二行是来自CASIA数据集,第三行与第四行来自REPLAY-ATTACK数据集。作者提取了其中五种尺度来进行对比,从一二行中可以发现,对于伪造面部图像,在扩充背景后具有明显的照片边界。从三四行可以发现,扩充背景后尽管没有发现明显的边界,但与整个图像中的真实样本相比,它们包含由重新捕获(二次采样)引起的边缘模糊和各种可能的异常镜面反射,并且在有些情况下可以发现明显的载体边界,比如手机,平板等。因此,面部图像的背景对于活体检测具有非常重要的影响


时域增强(temporal augmentation)

除了空间增强外,本文作者还提出了时域上的数据增强。对于过多信息量的数据,多帧有望提高防欺骗性能。《Lbp-top based countermeasure against face spoofing attacks》从连续帧中提取了时空纹理特征,在一定程度上证明了这一点。当输入多个帧时,CNN不仅可以学习空间特征,还可以学习时间特征来防止欺骗。本文使用单帧和多帧训练CNN模型,并计算出多帧是否有助于CNN学习更具区分性的特征


特征学习(Feature Learning)

AlexNet是2012年ImageNet大规模视觉识别挑战(LSVRC)冠军

本文采用了《Imagenet classification
with deep convolutional neural networks》论文中的网络结构,即AlexNet网络结构

AlexNet 网络结构

在网络中,有五个卷积(Conv)层,然后是三个全连接(FC)层。在卷积层中,响应归一化层(response- normalization)用于第一和第二卷积层的输出。插入最大池化层(Max Pooling)处理第一,第二和最后一层卷积层的输出。 ReLU激活函数应用于每个卷积和全连接层的输出。通过为前两个全连接层增加drop out层来解决过拟合问题,最后一层激活函数采用softmax


分类(Classification)

学习完CNN后,从最后一个全连接层中提取特征。然后,本文采用LibSVM工具包使用支持向量机(SVM)从训练数据中学习分类器,以进行人脸反欺骗


论文实验

参数设置

空间增强
首先采用OpenCV检测器对人脸进行初步的定位,然后利用前文提到的68 landmarks对人脸关键点进行标定再对人脸边界框进行修订以包含大多数面部的区域,如上述人脸图中的第一行所示,然后对图像背景进行扩充,以人脸的尺寸为标准,采用尺度为1.4、1.8、2.2、2.6的比例进行背景扩充。最后将所获得的所有图像全部缩放为128×128;
时间增强
使用连续帧在时间上进行数据增强,实验中输入人脸图像的数量是一到三。论文作者使用Caffe深度学习框架,采用AlexNet网络结构,学习率为0.001,衰减率为0.001,动量为0.9,实验中这些超参数是恒定的。给定学习到的特征,使用具有RBF kernel的SVM训练人脸反欺骗分类器


数据集

数据集采用的CASIA以及REPLAY ATTACK两种数据集

CASIA REPLAY ATTACK
数据库总共包含50个主题。对于每一个主题,真实面部都是以三种质量捕获的。欺骗面部是通过实施三种攻击方式来制作的,即扭曲照片攻击,剪切照片攻击和电子屏幕攻击。每个主题有12个序列(3个真实序列和9个伪序列)。数据库中的序列总数为600 数据库包含50个主题。每个主题都在两个背景前收集四个真实的视频序列。与CASIA相似,使用了三种欺骗类型,包括打印攻击,数字照片攻击和视频攻击。欺骗序列分别在固定和手持条件下捕获,数据库中的序列总数为1200

测试协议(Protocol)制定

论文中采用半总错误率(Half Total Error Rate, HTER)描述性能。训练后,开发集用于确定平均错误率(Equal Error Rate, EER)相对应的阈值。然后将该阈值用于在测试集上计算HTER。类似于《Can face anti-spoofing countermeasures work in a real world scenario》,作者将CASIA数据集中的训练集分为五份,其中之一用作开发集,其它用作训练集。最终性能是通过对五份交叉验证的结果求平均值而获得的。在REPLAY-ATTACK数据集中,已经给出了开发集。无需划分原始数据集集。连同《Can face anti-spoofing countermeasures work in a real world scenario》中的协议,对每个数据集组织内部测试来评估此方法的泛化能力。此外,作者还将两个数据集结合起来进行评估


内部测试结果(Results of Intra-test)

1、CASIA数据集测试

在CASIA数据集上从一帧到三帧的五个不同空间尺度上测试了论文中的方法。在下表中显示了开发集和测试集的测试结果,很好地显示了各种尺度和帧的平均性能。从表中不难分析出,随着空间尺度的增加,反欺骗模型的性能优于原始尺度,可以发现Scale 3即ratio=1.8时反欺骗模型的性能达到最佳。这些结果表明背景区域对人脸反欺骗任务具有积极作用。实际上,类似的主张已在《Face liveness detection with
component dependent descriptor》中得到证明。但不同的是,本文中最佳尺度对应的图像更大,这进一步表明CNN比手工制作的特征更能从背景区域提取更多有用的信息。但是,可以发现Scale 5时,性能会略有下降。一个可能的原因是背景区域的多样性削弱了人脸本身在人脸反欺骗的主导作用。就使用的帧数而言,使用一帧训练的模型平均性能略好于使用多帧训练的模型。然而,我们发现使用Scale 2 以及 2帧的方法可以获得最佳性能。这个特定的结果表明在某些情况下多帧输入带来的时域信息具有一定积极作用

INTRA-TEST RESULTS ON CASIA DATASET. THE EERS AND HTERS ARE PRESENTED FOR DIFFERENT DATA AUGMENTATIONS

ROC curves for different data augmentations on CASIA dataset. From left to right, the curves are obtained from models trained using one frame, two frames and three frames, respectively.

如上图所示ROC曲线,从结果中,我们可以发现具有2、3、4标度的输入数据在不同的帧上一致地提高了反欺骗。这些结果进一步表明,一定程度的扩充背景区域对于提高人脸反欺骗性能具有积极作用


2、REPLAY-ATTACK数据集测试

在REPLAY-ATTACK数据集上,同样给出了15种场景下的性能指标。在表中,可以发现与CASIA数据集的一些差异:
(1)最低的HTER出现在Scale 1时,而不是在更大的尺度上;
(2)开发集上的EERs大于测试集上的HTER。这些差异主要是开发和测试集之间的偏差造成的。在测试集上,模型的准确率均达到97%以上,比开发集高2%-5%

INTRA-TEST RESULTS ON REPLAY-ATTACK DATASET

为了更全面地评估性能,下图为REPLAY-ATTACK数据集所有场景的ROC曲线。相应地,随着规模的增大,性能逐渐提高。当使用输入数据进行Scale 5训练时,反欺骗实现了近乎完美的性能。


Comparison比较

为了进行比较,下表显示了《Can face anti-spoofing countermeasures work in a real world scenario?》在CASIA数据集上的内部测试结果。如前所述,为了公平比较,我们使用与《Can face anti-spoofing countermeasures work in a real world scenario?》相同的协议。在《Can face anti-spoofing countermeasures work in a real world scenario?》中,CASIA数据集上的最低EER是21.59,本论文中为4.64。《Can face anti-spoofing countermeasures work in a real world scenario?》中最低的HTER是本文指标的4倍多。这种剧烈的改进也发生在REPLAY-ATTACK数据集上。这些有希望的结果表明:与各种手工制作的特征相比,CNN可以从输入数据中学习更多的区别特征。

INTRA-TEST RESULTS ON CASIA AND REPLAY-ATTACK DATASET IN 《Can face anti-spoofing countermeasures work in a real world scenario》

ROC curves for different data augmentations on REPLAY-ATTACK dataset.


交互测试结果(Results of Inter-test)

对于人脸反欺骗而言,从一个数据集到另一个数据集的自适应能力对于实际应用具有重要意义。在这一部分中,我们将评估CNN模型的这种能力。与《Can face anti-spoofing countermeasures work in a real world scenario?》类似,我们首先使用来自CASIA数据集的训练集来训练我们的模型,再使用REPLAY-ATTACK数据集进行验证和测试。然后反转该过程,我们使用REPLAY-ATTACK数据集进行训练,使用CASIA数据集进行开发和测试。在这种交互测试过程中,训练数据用于调整CNN模型和训练SVM分类器,然后这些分类器被用来提取特征并分别对开发集和测试集进行评估。当从开发和测试集中提取特征时,使用训练数据的平均值对开发数据和测试数据尽心中心化

INTER-TEST RESULTS ON CASIA AND REPLAY-ATTACK DATASETS.

如上表所示,最上面的四行显示了使用CASIA进行训练,使用REPLAYATTACK进行测试时的EER和HTER;最下面的四行则相反。为了进行比较,我们在下中给出了《 Can face anti-spoofing countermeasures work in a real world scenario?》的性能。因此,我们的方法所展现的性能在Scale 1时与其相当,这表明手工制作的特征和CNN学习的特征都不能从跨数据集的面部区域捕获共同的线索。然而,随着Scale的扩大,这种情况发生了变化。对于REPLAY-ATTACK数据集,测试性能逐渐提高,当使用Scale 5的帧时,HTER的最低值达到23.78。同样,在CASIA数据集上,当输入数据包含背景时,HTER也会降低。当使用frame 3 Sacle 4作为输入时,HTER最低为38.11。下面两图中,显示了不同交互测试场景的ROC曲线。

INTER-TEST RESULTS ON CASIA AND REPLAY-ATTACK DATASETS IN《Can face anti-spoofing countermeasures work in a real world scenario?》

ROC curves of inter-test for different inputs. The models are trained on CASIA dataset, and developed and tested on REPLA Y -A TTACK dataset.

ROC curves of inter-test. The models are trained on REPLA Y -A TTACK dataset, and developed and tested on CASIA dataset.

通过这一部分的实验,我们发现跨数据集的反欺骗远远不能令人满意。由于设备、照明、种族等的不同。两个数据集之间存在一些不可避免的偏差。在这种情况下,数据集间很难获得与测试情况类似的性能。幸运的是,我们在实验中发现背景区域可以提高反欺骗模型的泛化能力


组合数据集结果(Results on Combined Datasets)

在这一部分,我们假设来自两个数据集的训练数据是可用的。根据《Can face anti-spoofing countermeasures work in a real world scenario?》中提出的协议,我们的模型在组合数据集上进行训练和开发,然后在每个数据集上进行评估。在下表中,我们显示了所有方案的EER和HTER。与《Can face anti-spoofing countermeasures work in a real world scenario?》中的结果相比,我们的方法在两个数据集上都取得了更好的结果。在CASIA数据集上,我们获得了与内部测试相当的性能;在REPLAY-ATTACK数据集上,当取Scale 4和5时,平均HTER不到1%。在下图中,我们显示了不同情况下的ROC曲线。我们可以发现,使用两个数据集的样本训练的模型的性能与内部测试中的模型相似,这表明CNN能够从这两个数据集中学习共同的特征。此外,由于CNN强大的特征学习能力,与《Can face anti-spoofing countermeasures work in a real world scenario?》相比,在两个数据集之间的性能没有那么大的偏差。


讨论(Discussion)

到目前为止,我们已经在各种情况下对论文中的方法进行了评估。实验结果表明,该方法在所有测试协议中都取得了更好的结果。这些令人鼓舞的成绩再一次证明了CNN的威力,尽管是第一次应用于人脸反欺骗。与以往手工制作的特征相比,这种数据驱动的特征设计排除了经验部分,提出了一些更有效的人脸反欺骗特征。此外,应该指出的是,我们并没有花太多心思在CNN的参数选择上,但我们相信,经过一些努力,可以得到一个更好的模型。除了功能强大的特征学习工具包之外,我们还提出了许多数据增强策略,包括空间和时间增强。通过增加输入数据,进一步提高了所有协议的人脸防欺骗性能。这些改进表明,当使用CNN或手工制作的特征时,背景区域确实在一定程度上有助于人脸反欺骗。虽然在两个数据集上都看到了改进,但仍有一些差异需要指出。具体来说,在CASIA数据集上,最佳比例是Scale 3,而对于REPLAYATTACK数据集,最佳比例是Scale 5。这种不一致可以用输入数据进行部分解释。在CASIA数据集中,所有欺骗攻击序列都包含真实世界背景作为real-access序列。然而,在REPLAY-ATTACK数据集中,所有背景区域都被假照片填充。因此,当规模过大时,CASIA数据集中的真、假样本更相似而不是不同,而REPLAY-ATTACK数据集则更具区分性。在这一点上,作者提出人脸反欺骗不应该被认为是一个关于人脸的分类问题,而应该是一个关于出现假脸区域的分类问题


结论

本文首次将CNN引入人脸反欺骗领域,是深度学习在人脸反欺骗领域的开山之做。文章中多次对标《Can face anti-spoofing countermeasures work in a real world scenario?》论文中的结果,通过大量的实验得出以下两点振奋人心的结论及建议:
1.背景区域对人脸反欺骗具有积极作用
2.多帧联合对于人脸反欺骗具有积极效果
3.CNN能够从组合数据集中学习共同的特征
4.提出人脸反欺骗不应该被认为是一个关于人脸的分类问题,而应该是一个关于出现假脸区域的分类问题

更多信息请关注公众号:

[人脸活体检测] 论文:Learn Convolutional Neural Network for Face Anti-Spoofing的相关教程结束。

《[人脸活体检测] 论文:Learn Convolutional Neural Network for Face Anti-Spoofing.doc》

下载本文的Word格式文档,以方便收藏与打印。