[人脸活体检测] 论文:Face De-Spoofing: Anti-Spoofing via Noise Modeling

Face De-Spoofing: Anti-Spoofing via Noise Modeling

论文简介

将非活体人脸图看成是加了噪声后失真的x,用残差的思路检测该噪声从而完成分类。

文章引用量:40+

推荐指数:✦✦✦✦✧

[4] Jourabloo A, Liu Y, Liu X. Face de-spoofing: Anti-spoofing via noise modeling[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 290-306.

作者认为现有的大部分人脸活体分类算法都是把图像当作一个不可再分割的整体来处理,没有对假冒过程详细建模,所以呢,受到噪声模型和去噪算法的启发,作者提出人脸活体领域的新思路:把假冒人脸分解为假冒噪声(spoofing noise)和真人脸,然后用噪声做分类,Figure 1 所示。但是噪声是没有ground truth的,作者为此在合理的约束和监督信息的基础上设计了一个CNN网络来解决这个问题。实验结果显示噪声模型对分类任务是有帮助的,还把噪声的feature map做了可视化,有助于理解产生假冒的各种媒介。

img

作者收到de-X问题启发,比如图像去噪、去模糊等,认为假冒人脸和上述情况类似,是对真人图像用增加“特殊噪声”的方法重新渲染,既然高斯噪声、椒盐噪声可以对其建模和去除,“假冒噪声”也可以用类似的办法建模,如把假冒人脸图像x ∈ Rm 看成真人图像xˆ 、退化矩阵A ∈ Rm×m 和加性噪声n ∈ Rm 的函数:

img

通过估计N (xˆ)和xˆ,从x去掉噪声 。对于真人样本,该模型返回xˆ本身,噪声为“0”。作者认为可以处理纸质攻击和回放攻击,优势有二:反向过程,也就是产生假冒的过程,可以帮助我们对不同假冒媒介的噪声模式建模和可视化;假冒攻击噪声本身可用于区分活体与非活体。虽然“去假冒”和其他de-X问题很相似,也有其“专属”的难点:没有ground truth,de-X通常使用人工合成的数据,原图就可以作为ground truth,对于假冒人脸,不存在去掉所有噪声的真人脸作为ground truth;没有噪声模型,之前没有类似的研究成果,不确定是否能存在一个合理的解的空间;攻击媒介多变,每种攻击类型都可能产生特定的噪声类型。作者参考Binary那边提出合成噪声模式和重建真人图像的CNN,并且用类似于GAN的思路来检验重建人脸的质量。

主要贡献

  • 作者为活体识别(打印攻击和回放攻击)提供一个崭新的视角,即在没有ground truth的情况下,将攻击样本分解为真人和攻击噪声;
  • 利用适当的约束和辅助监督信息,提出人脸去假冒CNN框架;
  • 通过人脸防假冒攻击实验和假冒噪声可视化证明人脸去假冒模型的意义。

作者介绍了De-X问题的模型,如去噪、去模糊或超分辨率等,都是典型的低层视觉问题。通常去噪算法会假设一个加性的高斯噪声,研究人员会用non-local或CNN滤波器来探索图像内部的相似性;对于图像拼接或者超分问题,现有算法会考虑用多个模型去学习低分辨率和超分辨率图像;对于图像修复,使用者对需要修复的区域做mask标记,滤波器则根据团块的上下文来决定到底如何填补缺失的像素。作者认为De-X模型有个优点,就是大部分图像退化(degradation)是可以轻易被模拟的!这就又带来俩好处:训模型的时候,可以自己造监督信息;容易大规模合成训练和测试数据。另一方面,由于假冒人脸而导致的退化是多方面的、复杂的和细微的。它由两个阶段的退化组成:一个是来自假冒介质(如纸张和屏幕),另一个是来自假冒介质与成像环境的交互作用。每个阶段包括大量的变化,如介质类型、照明、非刚性变形和传感器类型。这些变化的组合使得整体退化变化很大。因此,通过合成退化来模拟实际场景中的假冒人脸几乎是不可能的,与传统的De-X问题相比,这是预防假冒人脸攻击领域的一个挑战。作者设计了编解码网络结构、相应的损失函数等来解决没有GT的问题。

img

Face De-spoofing

1. 假冒攻击噪声的实例研究

在建模之前,作者认为要先搞清两个问题:公式(1)是否是个好的噪声模型;假冒噪声都有哪些些特征。假设真人脸为I’,攻击为I,I和I’之间没有非刚性的变换,那么两者之间的退化(degradation)作者总结为以下步骤:

  • 色彩失真:这是由于假冒介质的色域较窄造成的(比如LCD屏幕或打印机的墨盒),是从原始色彩空间转换到一个很小的色彩子空间的过程(很奇怪啊,就算是真人脸,也是通过相机拍下来的,色彩空间应该也很小啊)。这种噪声严重依赖目标的色彩强度,因此可以作为退化矩阵;
  • Display artifacts(显示的人工成分?求翻译):假冒媒介通常用若干邻近点/传感器来近似某一个先像素的颜色,并且在展示时假冒人脸和原始尺寸可能不相同。近似和下采样过程会导致一定程度的高频信息点损失、模糊和像素扰动。由于噪声的目标依赖性,它也可以作为退化矩阵使用;
  • Presenting artifacts(表达的人工成分?):当向相机展示假冒介质时,该介质与环境交互并带来几个人工成分,包括表面的反射和透明度。此噪声可作为附加噪声使用。
  • Imaging artifacts(成像的人工成分?):成像栅格模式,如相机传感器阵列(如CMOS和CCD)上的屏幕像素,会造成光线干扰。这种效果会导致混叠,并产生摩尔纹,出现在回放攻击和一些带有强栅格的打印攻击中。此噪声可作为附加噪声使用。

上述的退化矩阵和加性噪声都可以用在公式(1)中,还说明,假冒图像=真人图像+图像依赖性噪声,为了更进一步验证模型,作者在Figure 2中给出了示例:取同一人的攻击样本和真实样本,对同一区域做差分得到噪声图(本人存疑),将噪声图FFT后再频移,可观察到明显的不同。在两种攻击方式中,作者都发现了噪声频谱图低频区域响应很大,该区域对应的是颜色失真和display artifacts。打印攻击中,presenting artifacts中的周期性噪声在高频域没怎么产生波峰,同样在回放攻击中,肉眼可见的摩尔纹在低频段产生波峰,导致摩尔纹的栅格模式在高频段产生波峰。另有,假冒媒介带来的纹理是均匀分布的,所以攻击模式在图像空域也是均匀分布的,周期性的攻击模式在频域相应大也反应了这点。

通过上述实验,作者把攻击噪声定性为具有周期性和普遍性的纹理类型,然后设计网络,在没有精确GT的情况下估计噪声。

img

2. De-spoof 网络

网络结构如Fig 3所示,包括三部分:De-Spoof Net(DS Net),Discriminative Quality Net (DQ Net),和Visual Quality Net (VQ Net)。DS用于从输入图像I预测攻击噪声模式N,重建后的真人图像I’是通过I减去N得到的,为了保证I’无论是看起来还是特征层面都像真人拍的,作者又引入DQ和VQ。整个网络可以端到端训练,具体参数见Tab 1。

img

DS 网络是最核心的部分,输入I ∈ R256×256×6 ,6个通道是因为作者不仅用了RGB,还加了HSV,具体的结构就不详细介绍了,表格上都很清楚,每个卷基层作者都加了ELU(exponential linear unit)。

3. DQ Net 和 VQ Net

作者虽然没有GT来监督DS输出的噪声模式,但是还可以监督重建后的人脸图像啊,这是间接的监督噪声预测。VQ Net确保重建后的人脸看起来像真的,DQ Net确保重建后的人脸可以被一个预训练的分类器预测为真的。

  • DQ Net

作者参考Binary那篇设计的DQ,可以说就是Binary那篇的深度图部分,所有策略都一样,目标函数如下:

img

  • VQ Net

VQ Net是个典型的GAN,输出2分类结果。训练中每次迭代,VQ需要两个batch来更新,第一个batch固定DS更新VQ,损失函数为:

img

R和S分别是真人脸和合成人脸的子集。在第二个batch,固定VQ更新DS,损失函数如下:

img

4. 损失函数

作者用1中总结的噪声属性设计了一些损失函数,首先是用幅度损失强制真人图像的噪声全部为“0”;其次,zero\one map损失用于证明假冒噪声的普遍性;再次,用周期性损失证明假冒噪声的周期性。

  • 幅度损失(Magnitude Loss):对于预测出的假冒噪声N,有

img

直接求L1,会不会太暴力了,但好像也没有其他的办法,只有“真人脸的噪声为0”这种信息,谁也不知道真实的假冒噪声应该是什么样子的。

  • Zero\One Map 损失:为了在DS的encoder部分学到discriminative的特征,作者定义对真人输出one-map同时对假冒输出zero-map的子任务。虽然这是一个pixel-wise的监督,同时也是假冒噪声普遍性特征的监督方式(解释为啥不搞成一个0和1 二分类)。另有,0\1 map的感受也可以覆盖原图的一块区域,也有助于encoder学习到更有泛化能力的特征。对于encoder的输出F,有

img

M ∈ 032×32
或者M ∈ 132×32
,也就是0\1 map的标签了。

  • 周期性损失:作者前面的讨论证明假冒噪声是有周期性的,为体现该特性,作者把预测出的噪声模式N先转换到频域,然后计算高频段的最大值HP。高频波峰的存在是周期性的体现(我的信号系统知识并没有让我理解这句话)。作者放大攻击样本的HP,减少真实人脸样本的HP,就得到了这么个损失:

img

这公式连编号都没有···F是傅立叶变换,H是高频滤波器,比如在频谱图中心画个k*k的框,里面的全为0。

综上,总的损失:

img

就是加权相加,各个权重也没有解释的必要了。训练时,交替优化公式(7)和公式(3)。

5. 实验

  • 数据集、超参和评估指标

作者在三个活体数据集上做测试,分别是Oulu-NPU、CAISA-MFSD和Replay-Attack;用TF完成所有的实验,batch size为6,lr为3e-5,高频滤波器的k为64,公式(7)四个权重从左到右分别为3、0.005、0.1和0.016。DQ单独训练,然后在跟新DS和VQ时固定参数,每个子网络的训练都遵循数据集的协议。作者用APCER、BPCER和ACER在Oulu-NPU上做内部测试;用HTER在CAISA-MFSD和Replay-Attack做交叉测试。

  • 模型简化测试

作者用Onlu-NPU的Protocol 1研究score fusing、各个损失函数的重要性和分辨率与模糊程度的影响。

Fusion方法:整个框架有三处输出可以用来做分类,0\1map,噪声模式和深度图。

img

从Table 2可以看出,噪声和深度图混合的效果最好,增加0\1map后没有提升,主要因为0\1map和深度图包含的信息很类似,深度图也是从DS的输出预测出的。

各损失的优势:作者分别把幅度损失、0\1map损失和周期性损失从总的损失中去掉,得到ACER分别为5.24、2.34和1.5。为进一步证实周期性损失,作者通过改变网络输入增大图像分辨率至1080P,得到ACER=2.92,但是不收敛···

分辨率和模糊程度:

img

Table 3能看出分辨率和模糊对算法效果影响还是很大的,说明假冒噪声模式主要体现在高频段。

  • 对比

数据集内部测试,见Table 4,Protocol 3为了误导读者么···

交叉测试,见Table 5,作者认为CASIA-MFSD的图像分辨率更高才导致这样的结果,也证实了所提出的算法的确需要较高分辨率的图像作为输入,算是值得未来继续研究的缺点。

  • 定性实验

假冒媒介分类:DS预测出的假冒噪声模式可以用来对测试样本按照媒介类型聚类,为了可视化结果,作者用t-SNE把N从2562566(为什么是6?难道不是1么···)降到2维!Fig 4 为可视化结果,明显高频对噪声模式有更大贡献。

img

img

为了进一步展示噪声模式的辨别力,作者把Oulu的Protocol 1的测试集再分成训练集和测试集,训练SVM,目的是区分假冒媒介。作者训了俩模型,一个三分类(真人,打印和回放)的和一个五分类的(真人,print1,print2,replay1和replay2),分别得到%82和54.3%的accuracy,如Tab 6所示。五分类模型大部分的错误都发生统一假冒媒介之间。作者提出的噪声模式在训练时并没有媒介标签,仍然可以在预测结果中体现媒介类型,因此可以获得有一定可信度的媒介分类结果。证实噪声模型的确携带媒介相关的信息,也侧面说明的确学到了噪声。作者认为如果在媒介分类上可以继续提升,没准将来会对法医工作有影响···

img

img

更多信息请关注公众号:
img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YEGE学AI算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值