论文链接:Face Anti-Spoofing with Human Material Perception | SpringerLink
动机
现有的 CNN 提取的特征和手工特征都是为通用图像识别任务设计的,这与需要细粒度信息的 FAS 任务不兼容。基于此,很多 SOTA 方法根据脸部固有的线索,将一些先验知识加入到特征表示中,如:rPPG、depth 以及 reflection。FAS 任务中一个有趣且重要的问题是人类如何区分真人或假体,以及机器智能系统可以学到什么?在现实中,假体总是通过物理载体 (如纸张、玻璃屏幕和树脂面具) 传播,与真人脸部皮肤具有明显的材料属性差异。这种差异可以明确地描述为人类定义的线索 (如,rPPG、深度和反射),也可以根据结构材料特性隐式学习。基于以上讨论,作者将 FAS 重新定义为结构材料识别问题,目标是学习脸部固有和鲁棒的特征,把结构性脸部皮肤材料与其他材料(即物理载体的材料)区分开来。
创新点
(1)设计了双边卷积网络 (BCN),它能够通过聚合多层双边宏观和微观信息来捕捉脸部内在的基于材料的线索
(2)使用多级特征细化模块(MFRM)和基于材料的多头监督来进一步提高 BCN 的性能。前者通过重新组装局部邻域的权重来细化多尺度特征,而后者则迫使网络学习鲁棒的共享特征
方法论
1)BCN
受材料感知的启发,作者使用双边滤波来进行 FAS 任务。但双边滤波方法有一个问题,就是在双边滤波后设计了几个手工特征,这限制了特征表示能力。因此,作者提出了两种解决方案,将双边滤波与 FAS 任务中的深度网络相结合。
双边滤波:第一种方法是直接将经双边滤波后的图片输入到网络中,双边滤波的作用是用来平滑图片并保留图片主要的边缘信息。滤波后图片中每个像素是其相邻像素的加权平均值,其中权重随着空间距离和强度差异增大而减小,公式如下:
其中,g 为高斯函数。给定输入图片 I,双边滤波能产生两个输出,第一个为大规模的基础图 ,以及残差细节图
。双边滤波处理前后的图像如下所示:
虽然在原始 RGB 图像中真人与假体具有相似性,但它们的双边基础图像和残差图像存在明显差异。如上图 (b) 所示,纸质材料的打印攻击面更粗糙,光泽度更低。此外,从上图 (b)、(c) 可以看出,眼睛和眉毛区域的高频激活更强,这可能是由于材料 (如皮肤、 纸和玻璃),因此来自双边基础的宏观线索和来自双边残差的微观线索有助于材料感知。
深度双边网络:第一种方法有如下两个缺陷:a)使用经双边滤波处理后的图片作为输入可能会丢失部分信息:b)由于双边滤波仅在输入图像中使用,因此学习多级双边特征是一种低效的方法。为了解决这些问题,作者提出了第二种方法。首先,作者提出了双边滤波算子来过滤深度特征,为了模拟灰度或彩色图片的滤波过程,作者把逐通道的深度双边滤波作用在特征图 F 上。考虑到 3*3 卷积的空间距离很小,作者将上面公式中权重与距离的关系移除掉,修改后的公式如下:
将 DBO 用于不同尺度的特征上,就可以获得多尺度的双边基础特征。接下来就需要获得双边残差特征,它可以通过与双边基础特征的短接来动态地学习。BCN 的网络结构图如下所示,
其中,BilateralConvBlock 与 ConvBlock 有相同的卷积结构,但不贡献参数 (前者比后者只多了个 DBO 算子)。因此,BCN 能够通过聚合多层的双边宏观和微观信息来学习更多的脸部内在特征。
2)MFRM
MFRM 通过上下文感知特征重组来细化和融合来自 BCN 的低-中-高级特征,结构如下图所示,
细化特征的公式如下:
其中, 分别表示通道压缩器、内容编码器、核标准化、细化算子。通道压缩器采用 1*1 卷积来对特征通道进行压缩。内容编码器采用 5*5 卷积来生成细化 kernel,随后使用 softmax 在空间上对细化的 kernel 进行归一化操作,公式如下:
本质上,MFRM 利用语义和上下文信息来重新分配局部邻居的贡献,这能获得更多的内在特征,如莫尔条纹。
3)Material Based Multi-head Supervision
由于材料类别很复杂并且依赖于各种细粒度的线索,因此仅通过一个简单的监督 (如,softmax 二分类损失和深度回归损失) 来学习基于材料的内在信息是不可能的。为了学习内在的基于材料的特征,作者提出了基于材料的多头监督。三头监督用于引导 MFRM 的多级融合特征:1)depth-head supervision,旨在强制模型学习结构表面形状信息;2)reflection-head supervision,帮助网络学习表面反射特性;3)patch-head supervision,指导网络学习细粒度的表面纹理线索。各个 head 的损失函数的公式如下:
其中, 由PRNet产生,
由 SOTA 反射估计网络产生,作者将真人 depth map 和假体 reflection map 归一化到 [0,1],将假体 depth map 和真人 reflection map 置 0。patch map 通过对原始图像进行下采样并用相应的二进制标签填充每个 patch 位置来生成。在测试期间,作者使用如下公式来获得最后的得分:
实验结果
消融实验结果如下:
与其他方法在 OULU-NPU 数据集中的四个协议下的测试结果如下所示:
跨数据集 (SiW-M) 的测试结果如下:
BCN 低级特征和预测的 map 的可视化结果如下: