本文介绍的是CVPR2020 论文《Searching Central Difference Convolutional Networks for FaceAnti-spoofing》,作者来自明略科技。
作者 | 明略科技
编辑 | 丛 末
在CVPR2020由中科院自动化研究所模式识别国家重点实验室主办的ChaLearnFace Anti-spoofing Attack Detection Challenge人脸防伪检测挑战赛中,由奥卢大学与明略科学院深度学习实验室等组成的团队,斩获多模态赛道冠军和单模态赛道亚军。
此次挑战赛中,奥卢大学和明略科学院团队运用的方法,主要来自于《Deep Spatial Gradient and Temporal Depth Learning for FaceAnti-spoofing(FAS-SGTD [2]), CVPR2020 (Oral)》和《Searching Central Difference Convolutional Networks for FaceAnti-spoofing(CDCN [1]), CVPR2020》两篇论文的研究成果。
这篇解读,将重点介绍《Searching Central Difference Convolutional Networks for FaceAnti-spoofing(CDCN [1]), CVPR2020》的内容。
论文地址:https://arxiv.org/abs/2003.04092
1
导读
人脸防伪(FAS)在人脸识别系统中起着至关重要的作用。大多数最先进的FAS方法依赖于堆叠卷积和专家设计的网络,在描述详细的纹理信息方面比较弱,在环境变化(如不同的光照度)时容易失效,并且倾向于使用长序列作为输入来提取动态特征,这使得该方法很难部署到需要快速响应的场景中。
2
简介
《Searching Central Difference Convolutional Networks forFace Anti-spoofing(CDCN [1]), CVPR2020》论文,提出了一种基于中心差分卷积(CDC)的新型帧级FAS方法,它能够通过聚合强度和梯度信息来捕获内在的详细模式。用CDC构建的网络,称为中心差分卷积网络(CDCN),相较于用普通卷积构建的网络,能够提供更稳健的建模能力。
此外,在一个专门设计的CDC搜索空间上,可利用神经结构搜索(NAS)发现更强大的网络结构(CDCN++),该网络结构可与多尺度注意力融合模块(MAFM)组装,进一步提升性能。在6个基准数据集上进行了综合实验,结果表明:1)所提出的方法不仅在数据集内部测试中取得了优异的性能(特别是在OULU-NPU数据集(Protocol1)实现了0.2%的ACER),2)在跨数据集测试中也有很好的通用性(特别是从CASIAMFSD到Replay-Attack数据集,实现了6.5%的HTER)。
3
方法
通过下图我们可以直观的看到普通卷积与中心差分卷积(CDC)在伪造线索捕捉上的差异,使用普通卷积非常容易受到光照camera型号等影响,而使用CDC后网络更能捕捉到spoofing的本质特征,且不容易受到外部环境的影响。
中心差分卷积神经网络CDCN:
接下来是核心的CDC公式:
x,y分别为输入,输出的feature map;w,为卷积核参数;P0为当前位置,Pn为局部邻域RR的index。最重要的超参θ,范围是 [0,1],当θ=0时,CDC就变成普通vanilla卷积;当θ=1.0时,就只用了差分信息。当然,这参数可以手工调,也可以自动进行学习,文章里都有对应的消融实验。CDC的代码实现也非常简单,在 Pytorch 或 Tensorflow 只需要几行代码。
上图展示的是文章中用的 Baseline network [4],是18年CVPR中MSU提出来的,我们只用了其单帧伪深度预测的那部分结构。为了公平对比,我们不改变任何的网络架构,只将原始卷积全部换成CDC,结果如下图所示:
Fig. 6 (a) 可见,在OULU-NPU的 protocol-1上,baseline(θ=0)的结果为ACER=3.8%,而随着θ越来越大,性能逐渐变好,当θ=0.7时,取得了最好的性能 ACER=1.0%。也就是说,局部零阶intensity信息和一阶gradient差分信息都在网络中扮演重要的角色,且在活体检测任务中,梯度信息的作用稍微重要一点。
另外我们也探讨了CDC与现有的 LBConv [5] 和 GaborConv [6] 的性能差异,如 Fig. 6 (b) 所示,CDC在活体检测任务中性能远超它们。
搜索一个中心差分卷积神经网络CDCN++:
基于CDC的搜索空间,作者用PC-DARTS [7] 进行low-level, mid-level和high-level的cell架构搜索;如图所示:
在搜出来的backbone里再添加上多级注意力模块,进一步整合multi-level特征,得到 CDCN++;如图所示:
作者在文中同样列出了他们搜索到的网络结构,也就是文中提到的CDCN++本身。利用depth map做回归这类方法所使用的网络结构终于有了更优的选择:
4
实验
下表为OULU-NPU 数据集上的实验结果,OULU-NPU是目前人脸防伪领域最重要的Benchmark之一,难度很大,很有说服力:
CDCN++在OULU-NPU数据集上表现很好,协议1上甚至达到了ACER 0.2%的水平,在所有的协议上均达到了SOTA的水平。再来看下在很具挑战性的跨数据集测试协议上的实验结果:
在跨数据集测试协议上,Train on CASIA-MFSD,Teston Replay-Attack上达到了SOTA水平,在Trainon Replay-Attack, Test on CASIA-MFSD上结果不如FAS-TD与FAS-SGTD[2]。
另外作者在zero-shot的测试协议上也做了实验,zero-shot测试协议为CASIA-MFSD, Replay-Attack, MSU-MFSD三个数据集上的“留一”法实验,结果如下表所示:
CDCN++的结果在大多数协议上甚至超过了专门针对这种cross-type问题的zero-shot方法DTN[3];可见CDC与CDCN++的泛化能力也是很强的。
5
总结
网络结构目前仅针对depth regression的人脸防伪方法是有提升的,未来要扩展到其他方法上,并且在更大的数据集上进行试验。也希望未来的NAS search space里都把CDC考虑进去,毕竟普通vanilla卷积只是CDC的一种特例,使用CDC进行搜索,具有更大的可能性。
Reference:
[1]Zitong Yu et al., Searching Central Difference Convolutional Networks for FaceAnti-Spoofing, CVPR2020
[2]Zezheng Wang et al., Deep Spatial Gradient and Temporal Depth Learning for FaceAnti-spoofing, CVPR2020 (Oral)
[3]Yaojie Liu et al., Deep tree learning for zero-shot face anti-spoofing,CVPR2019
[4]Yaojie Liu et al., Learning deep models for face anti-spoofing: Binary orauxiliary supervision, CVPR2018
[5]Felix Juefei-Xu et al., Local binary convolutional neural networks, ICCV2017
[6]Shangzhen Luan et al., Gabor convolutional networks, TIP2018
[7]Yuhui Xu et al., PC-DARTS: Partial Channel Connections for Memory-EfficientDifferentiable Architecture Search, ICLR2020
[8]Cihang Xie et al., Feature Denoising for Improving Adversarial Robustness,CVPR2019