matlab帧间差分法前景提取_活体检测新文by京东金融:利用多帧人脸来预测更精确的深度...

cd4e7af5d20aa910b1db714c5542271f.png

接着上次的《活体检测Face anti-spoofing综述》,再来讲讲arXiv上新挂的文章:

京东金融和中科院联合发表的“Exploiting temporal and depth information for multi-frame face anti-spoofing”[1]

它的主要创新和贡献是:

利用了多帧的时空信息来更精准地预测深度图,再而进行活体检测

-------------------------------------------------------------------------

Related Work:

先把提一下之前的state-of-the-art,就是MSU发表在CVPR2018上的工作 [2]。

文中的主要思路是:

  1. 通过活体与非活体的单帧人脸图,来预测其深度图(因为先验知识知道 真人图 与 纸张或屏幕攻击载体 的深度很不同)
  2. 通过活体与非活体的多帧人脸图,来预测其rPPG信号的频域分布(同理先验知道 真人人脸的rPPG信号 与 无生命的纸张或屏幕 很不同)

上述共享一个 backbone,后接两个分支。分支一直接回归深度图;分支二用来预测rPPG频域分布:即是通过non-rigid registration层来将pose都归一到正脸同姿态,后接RNN来获得temporal信息。这里就列下共享的主干网络,因为京东这文章也是用相同的网络:

9b6e255cf132903fa9fe8259f34b1c5a.png
主干网络

-----------------------------------------------------------------------

依据与Motivation:

作者认为,MSU上述方法有一定drawback:

  1. 因为使用了non-rigid注册层去除脸部表情和姿态的影响,这样忽略了重要的线索:非活体脸部不同表情与姿态的不自然变化(unnatural changes)

2. 只用了单帧图像来预测深度,忽略了多帧间的空间微变化可以帮助重构环境3D信息。

基于上面两点,作者发现可以把该问题看出multi-view的SLAM问题,无论是摄像头在动,还是人脸在动,它们帧间的动态信息都可以用来重构3D空间,即 用多帧信息理论上会比单帧更好地重构深度图。

作者画出下面草图来描述活体与非活体间帧间的微变化,可见在 左边(a)活体场景,明显侧脸时鼻子与耳朵的角度比正脸时大;而对于右侧(b)屏幕攻击,则反之。

1dc6cd88a85938577d6eecf72317ca1a.png
活体与非活体的多帧视差

---------------------------------------------------------------------

算法框架:

总框架主要分两部分(单帧部分和多帧部分),如下图所示:

110344c34bd57f954ca398056eb291fc.png
网络总框架图

单帧部分和MSU文章的主干网络基本一致(唯一的不同就是MSU用了 RGBHSV 6通道作为输入,本文用的是RGB三通道),就是每帧单独预测深度图:

8844b79d4ac9382410082c8ea8e8526c.png
单帧网络部分

多帧部分主要由 optical flow guided features (OFF) BlockConvGRU Unit 组成,因为OFF Blcok主要构建在相邻两帧间,而 ConvGRU 是构建在整个多帧的clips间,故前者用来获取short-term信息,后者则获得Long-term信息。

下图是OFF Block架构图,我们来看看都做了什么:

  1. 为当前帧特征经过1x1卷积后降维的特征
  2. 为当前帧特征经过Sobel算子后的空间XY方向梯度
  3. 为当前帧特征与相邻后一帧特征的差异(空间梯度)
  4. 为相邻后一帧特征的Sobel算子后的空间XY方向梯度
  5. 为上个OFF Blcok输出的特征 (即多个OFF Block是 stacked)

最后把上述5个特征都concatenate在一起,3x3卷积再降维~~

2afa70f449547829b41495bcabb69abb.png
OFF Block的架构

至于作者为什么要这样设计呢?OFF全称是optical flow guided features,则作者希望使用相邻帧间feature-level的光流,这样比起传统光流,表征能力更强且计算消耗更小。传统光流公式如下:

cfb485f286e9fa4cb35671545eb32cff.png

通过泰勒分解和变形后,得到:

1859e95a99f7b99a67c901cafb61be1a.png

这里的

就是光流,而通过上面公式可得正交关系:

34f38e95c4174dcf13e2f223abc44098.png

是被光流引导的。而通常传统光流需要通过 Low-level 和 high-level 特征去匹配得到,故我们将上式的输入图像
换成特征图来输入,则使用多级特征图的X方向梯度,Y方向梯度和时间梯度,便可类似地表示光流。所以OFF block里的5个元素,就是按照这个来的~~

PS:文中光流假设有点问题,文中说光流前后

的亮度应不变。不过在人脸的应用中,肯定是会换的,即人脸相同位置的pixel,随着心脏驱动的血液流动,它的亮度值也会周期性地变化,这就是做rPPG的原理~~Whatever, 我们这里先不谈这个,作者开心就好~~

最后我们来说说 Loss function,主要由三部分组成:

  1. 二值分类误差(活体or非活体)
  2. 每帧深度图的 L1 loss
  3. 作者自己提出的每帧深度图的 contrasive depth regression loss:

dd3947839858e8ef10d416f70d8cd8a5.png

目的是更好学到每个 pixel 的拓扑关系,更强约束其与周边neighbor的对比度。对应的Kernel如下图所示:

663974dded7c721bf21297fdee1ab432.png
对比深度损失的Kernel

---------------------------------------------------------------

实验结果:

在Oulu-NPU上的结果:

2d2f302b7163e83926833d27fb455d21.png
Oulu-NPU结果

FAS-BAS 指的是 MSU文章[2] 的方法,可见京东的方法用单纯的Depth,还是要比MSU的 rPPG+Depth 方法性能要好~~

接着我们来看看网络里各个模块及Loss的作用:

acac18bfa43916d7301de8f5c8687609.png

可见 OFF-Block 和 Contrastive Depth loss 的作用还是蛮大的~~

最后来定性可视化下出来的深度图的可判别性如何:

6a0f262eff46c24d0d712818dbd8a1ee.png
深度图可视化

使用多帧来重构的深度图,对于Replay屏幕攻击有明显的改善。。。对于Print打印攻击,好像还更糟糕了一点。。。

-----------------------------------------------------------

总结与展望未来:

文章给出了很好的思路和结论来使用多帧,这也是继MSU使用多帧来预测rPPG频域后的一大进步,这样未来face anti-spoofing将更多focus在多帧上;而不是单帧深度,单帧color texture~~

未来展望的话,可以看看其他图像预测深度图的文章如字节跳动DeepLens[3]等等,来激发灵感用于活体的任务~~另外正如前面综述所说,探索脸部微变化如rPPG等,和结合人脸检测,人脸识别,人脸微表情等任务来找关联性都是值得探索~~

Reference:

[1] Zezheng Wang et al. Exploiting temporal and depth information for multi-frame face anti-spoofing, 2018

[2] Yaojie Liu, Amin Jourabloo, Xiaoming Liu, Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision ,CVPR2018

[3]LIJUN WANG et al. DeepLens: Shallow Depth Of Field From A Single Image, 2018

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值