2017 IEEE International Joint Conference on Biometrics (IJCB)
文章目录
1 Background and Motivation
传统的人脸识别系统做活体检测的方法大致可以分为如下三类
- texture-based methods(pixel intensity 和各种不同形式的 attacks 没有明确关系,因此想要提取出比较鲁棒的纹理特征还是比较难的)
- motion based methods(eg 眨眨眼,这类方法可以很好的应对静态攻击,但面对诸如 replay 和 mask 攻击时,就相形见绌了)
- image quality and reflectance-based methods,这类方法主要时设计特征来捕获 superimposed illumination and noise information
大部分是基于手动设计的特征,很容易受到如下几种 presentation attack(PA)的攻击:
- print attack
- replay attack
- 3D masks
因此需要设计更加鲁棒的 face anti-spoofing 特征或者 PA detection system!
随着人脸欺骗数据库数量的增加,CNN被认为能够利用更大数量的训练数据,并学习可归纳的信息来区分真实和欺骗样本——特征不是手工设计,鲁棒性更强,可应付的 PA 更多!
本文,作者基于 CNN 的方法,提出 local features(利用 random 的图像 patch) 和 holistic depth maps(利用整张人脸,把活脸描述为 3D 的 object)two stream 的结构
local feature 分支的每个 patch 会计算的出来一个分数,之后取平均值
holistic depth maps 也会通过评估 depth 图像给出 living score
这两个分支的得分最后会结合起来,来给出最后的分类结果,live or spoof(作者深度指的是 the height map of the face region,而不是严格上的 object-surface-to-camera distance)
2 Innovation / Contribution
- 同时利用 learned 到的 local 和 holistic 特征来分类 live or spoof
- 提出了通过评估 dense depth map(RGB-D)来做人脸活体检测
- 在许多数据上实现了 SOTA
3 Related Work
- Traditional face anti-spoofing methods
- CNN-based methods
- Image depth estimation
4 Methods
两个 stream 的最终得分通过加权的形式融合在一起,patch stream 权重为1,depth steam 权重为 0.4
4.1 Patch-based CNN
用 patch 而不是用整张图的好处 (在人脸中取 patch)
- 增加训练样本(避免有限数据集中,整张人脸会存在 high similarities across the frames)
- 用整个人脸的话,会把人脸 resize 到固定大小,可能会丢失部分 discriminative information
- 假设整个人脸区域在空间上都存在 spoof-specific discriminative 信息,patch 的方式更有利于 enforce CNN 去发现这样的信息(个人感觉 patch 也会丢失一定的空间信息,不过 discrimination 信息确实往往是局部很小的位置)
相关先验知识的引入更有利于 CNN 学习到 spoof-specific discriminative information,例如利用不同的颜色空间作为输入( R G B RGB RGB, H S V HSV HSV, Y C b C r YC_bC_r YCbCr)
RGB 在活检应用场景中,发挥的作用有限,因为RGB不能很好的分开亮度和色度信息( H S V HSV HSV, Y C b C r YC_bC_r YCbCr 可以,因此也能提供额外的可能利于活检的信息), 且 R,B,G三个通道相关性较高,
4.1.1 Input features
其中 I H = I − f l p ( I ) I_H = I - f_{lp}(I) IH=I−flp(I), f l p f_{lp} flp 表示 low-pass filter
4.1.2 CNN architecture
3 个 fc,来一张图片,先 detection 人脸,然后再进行后续的 two-branch 操作,patch-based CNN 分支中,如果图片是 live 的,所有 patch 的标签都是 1,如果是 spoof 的,所有 patch 的标签则为 0
4.2 Depth-based CNN
printed paper or dispaly 类型的 PAs,它们的 depth 明显与 live faces 不同
Depth-based CNN 结构,输入是 face images,输出是 corresponding depth maps,从 table 1 可以看出,输入输出的分辨率大约隔了 2 倍(有反卷积操作)
1)Generating the depth labels
Fig 2 热力图标签是根据 SOTA 的 3D face model fitting 获得
注意到一些 print attack,例如 paper attack,纸张有可能是 bent 的,作者把这些 spoof face 的 label 也都设置为了 flat plain
2)FCN structure
FCN(fully convolutional network) structure,
f
(
I
;
Θ
)
f(I;\Theta )
f(I;Θ),
I
I
I 是输入的图片,
Θ
\Theta
Θ 表示 network parateter
图 table1 所示,有 downsampling part and upsampling part(transpose convolutional layer) 两个部分构成,损失函数如公式2所示
M
M
M 表示 depth map(label)
3)Depth Map for Classification
可以根据深度图来区别 live or spoof face,作者进一步通过训练 SVM,使得 depth map 具有 classify live vs. spoof 的能力,具体做法如下
作者将 CNN learning 得到的 depth map M M M 划分为 N × N N \times N N×N 大小的网格(有 overlaid),然后计算每个 cell 里的深度值的平均值作为当前 cell 的特征,这样一个二维的深度图 M M M 就转化为了 N 2 N^2 N2 的特征 vector,用该特征作为 SVM 的输入!
作者用不同的 N 训练出了很多 SVM
5 Experiments
5.1 Database
- CASIA-MFSD
- MSU-USSA
- Reply Attack
5.2 Ablation Study
5.2.1 Patch-based CNN analysis
先检测出人脸,然后处理成不同的输入,最后再分成许多 patch,
LBP 的算法参考 LBP原理介绍以及算法实现
5.2.2 Depth-based CNN analysis
注意这个 cut print attack,是把打印的图片裁剪部分,露出相应的真人,例如:眼睛
可以看到,虽然 Depth-based CNN learning 出来的和 fig.4 中的 label 还有差距,但是 live 和各种 anti-spoofing 已经有效的被 CNN 区分开来,有利于后续的 SVM 进行分类
5.2.3 Fusion analysis
可以看出核心的还是 depth 方法,fusion 的话仅在 normal quality 图像上有较为明显的提升
5.4 Experimental Comparison
CASIA-FASD 数据集上的比较
评价指标的介绍参考:
TP,FP,TN,FN,FAR,FRR,HTER等常见实验指标理解
FAR:False Acceptance Rate:FP / (TN + FP),误识率,将错误的判别为正确的
FRR:False Rejection Rate:FN / (TP + FN ),拒识率,将正确的判别为错误的
HTER:Half Total Error Rate:(FAR + FRR) / 2,真假人脸中各自被判断错的比例之和的一半就是HTRE。
Moire Pattern 这方法这么牛?都 0 了
MSU-USSA 数据集上的比较
Reply Attack 数据集上的比较
6 Conclusion(own)
- high-frequency information of face images is crucial for anti-spoofing(Table 的实验结果看出,低频也还是有用的)
- For live videos,the depth changes little over time,while the depth of spoof ones can change substantially due to noisy estimation and involunatry hand movement while holding spoof mediums.
- patch 分支和 depth 分支加权在一起,能独当一面的,更多的是 depth 分支
- 第三届人脸活体检测挑战赛@ICCV2021重磅来袭
https://arxiv.org/pdf/2104.06148.pdf
中科院自动化所与ChaLearn及其它合作伙伴举办第三届人脸活体检测挑战赛(高保真度3D面具检测)@ICCV2021,并发布大规模高保真度3D人脸面具数据集 CASIA-SURF HiFiMask - https://github.com/ZitongYu/DeepFAS(论文合集)