Aurora Guard- Real-Time Face Anti-Spoofing via Light Reflection

论文简介

该论文提出的方法已经部署到百万台终端,整篇文章底气十足。作者设计多任务网络,包含两个分支,一个用于预测深度图并做二分类,另一个回归光验证码,只有被识别对象同时通过两个分支的考验,才能被判断为活体,如下图;本人感觉满篇全是亮点:又快又准的深度图预测、无需额外硬件的光验证码校验机制、Light presentation回归网络以及不知道怎么采集却又超精确的深度图ground truth……

下图(Figure 2)对整个算法流程进行说明,特别提到需要使用手机或其他有前置摄像头和光源的设备,并置于测试对象前方;然后随机产生一个包含色调和光照强度的参数序列,比如,r = {(αi , βi )}ni=1 ,n为拍摄帧数。通过控制屏幕以r的顺序闪光,同时拍摄n张图像Fr ,用于估计normal cues,再输入到多任务网络,预测深度图+标签+光验证码信号,最后结合两个分支网络的输出取并集作为最终的识别结果。下面对算法各模块详细介绍:

1. 光反射的Normal Cues

给定人脸反射帧{Fri }ni=1 ,通过估计目标人脸上的反射增益,提取normal cues(实在不知道怎么翻译)。粗糙的表面会将接收到的光线漫反射出去,然后被相机接收并成像。在Lambert反射模型和弱透视相机的假设下,假设图像包含目标表面的反射,我们可以度量图像之间的幅度变化。Lambert 定律认为漫反射表面的反射光在所有方向上均相等,换言之,对于在特定光照Lr下拍摄的照片上任意一点p,强度Fr§ 公式:

Ka是环境的权重,Kr是漫反射的权重,l是光源方向,ρp 是反照率,np是该点的法线。当光迅速变化,Ka和l不会随之变换,可以看作是常量。作者用PRNet预测人脸关键点然后,做仿射变换,人脸对齐。在光照Lr′ 下另一张图中和p对应的p′ 的强度可以表示为:

然后可以获得图像上每一点的内积N∆r§ :

此处N∆r§ 构成的内积图就是normal cue。

2. 多任务CNN

得到normal cues之后,作者用两个分支分别实现活体分类和光验证码的回归。作者强调这个网络结构是任务驱动,促使双验证机制在实际场景中对于模态攻击的鲁棒性更好。

1)活体分类

受光照环境的影响,从人脸反射帧提取的normal cues往往是粗糙的、伴随噪声的。为了从normal cues高效获取高精度深度图,作者采用了一个编解码网络(encoder-decoder network)。复原出的深度图被输入到一个简单的分类网络来给出二分类的结果,如Figure 3所示。

从视频中获取m帧的normal cues,N1, N2, …, Nm loss函数:

S表示包含两个卷积层的(最左边红色的)部分,C表示活体预测网络U,U表示深度图复原网络,ci表示第i个normal cue的活体标签,λdepth 是深度图的权重。在预测深度图时,作者做了pixel-wise的分类,每个点都做标签为1-256的softmax分类。dk§ 是p点k通道特征图上的激活,特征图作为U最后的输出。

2)光·参数回归(实在不知道怎么翻,抱歉)

作者为了强化模型在模态攻击下的安全性,通过特定光照对图像加密,再用回归分支对特征解码,以此作为第二个活体验证机制。同深度图分类一样,回归分支被输入同样的normal cues,loss函数:

R是回归分支网络,∆ri 是Fri 和 Fri−1 的光参数残差的ground truth。

假设训练集中视频总数为V,整个网络的loss函数:

Θ 是参数空间,λreg 是光验证码回归损失权重。实际上,作者实验时随机只用四种光的排列组合,是鲁棒性和时间复杂度的trade off,并控制光源变化的频率和帧率一致,共取m+1帧图像,用信噪比(SNR,Signal to Noise Ratio)衡量预测值和ground truth的匹配度。

3. 数据集

作者以30fps的帧率收集不同设备、不同光照下样本视频,攻击类型主要是2D,作者生产环境中认为3D的攻击成本太高了,没什么人愿意花那个功夫,所以就没怎么收集。相比于Siw,CASIA-surf,Oulu等其他数据集,作者提出的数据集有三大优势:首先是现存活体数据集中最大的,包含1.2w个活体和攻击视频,200个subjects,平均时长3秒;包含的设备最广泛,几乎是涵盖了智能手机发展的历史,从Figure 4可以看到,一共18种!最后,该数据集包含了最全面的攻击方式,打印,回放,模态或其他光投影产生的攻击类型。作者把样本根据攻击类型分为三部分:纸质攻击、屏幕攻击和其他复杂攻击(裁剪的纸,投影等),又把每部分分为训练集、验证集和测试集,如Table 1所示。除此之外,数据集中真人和攻击样本的数量相等,真人数据也是在各种不同光照、噪声和姿态下收集的,攻击样本更是包含足够多的PIE类型。

主要贡献:

  • 提出高效简洁的人脸活体识别方法,并且在实际场景中应用时不需要额外设计硬件外设;
  • 提出cost-free的深度图网络,在分类任务中,通过从反射帧(reflection frames)中提取的normal cues估计人脸深度图;
  • 提出全新的光验证码检查机制,对于不同类型的假冒攻击,尤其是模态攻击(modality spoofing)安全性显著提升;
  • 提出新的活体数据集,包含多种图片质量和移动终端、多种假冒攻击方式的人脸样本。

实验

1. 实现细节

1)训模型

作者用的Pytorch框架,Kaiming初始化方法(ICCV 2016)初始化卷积层和全连阶层,RMSprop优化算法;训练过程在单个Tesla P100上耗时5小时,迭代300个epoch。

2)测试

作者采用常用的计算方式测试模型精度,如FRR,FAR,HTER。

2. 模型简化测试

1)深度图监督的有效性

效果很明显了,见Table 2.

2)光验证码回归研究

虽然仅靠深度图分支已经可以搞定大部分2D攻击,但仍有一种攻击方式是上述方法束手无策的:模态攻击。模态攻击可以直接假冒所需要的反光模式,在这两种情况下,模态攻击可使算法失效:把事先录好的含有特定反光模式的人脸视频在高分辨率屏幕上播放;在攻击试验的捕获过程中,投射光不会干扰视频帧中的原始面部反射。Figure 5说明光验证码抵御模态攻击的原理,Figure 6证明回归分支信噪比小雨0.35并且和ground truth很接近,证明其的确可以区分四种关照。

作者为了验证光验证码机制的作用,用四种光照的排列组合制作模态攻击,如Figure 5所示(最上面的虚线框),重复播放视频3000次。换言之,固定的视频循环必须匹配到随机产生的光验证码才能通过验证。Table 3可以说明系统的安全性非常高了。

3. 与SOTA算法对比

1)深度图预测

Figure 7能看出AG的深度图精度非常好,Aux的深度图ground truth是通过3D人脸估计模拟+z-buffer算法然后归一化做出来的,攻击样本则全写为“0”,AG的深度图如何获取通篇没有提到过,从这几个例子来看,本人觉得这是用某些手机的前置拍的(比如iPhone X),攻击样本的深度图也是实际拍的,和人工生成的完全不一样,可见做样本是花了大功夫的!

2)Face anti-Spoofing

Table 5为在本文提出的数据集上训练,在两个小测试集上的交叉测试结果,这个精度和泛化能力没谁了。作者还将数据集的三个部分(纸质、屏幕和其他)两两组合(一个为训练集,一个为测试集),把AG系统和Deep LBP全比较了一遍,结果自然是LBP被碾压的稀碎。

3)运行时间比较

作者把AG与其他SOTA算法比较跨平台的运行时间,GPU是服务器端的,CPU分别有基于x86和arm的,结果也很感人,如下图,不知道作者是不是估计用绿色字写“Red”,用红色字写“Green”,emmm

4)与基于硬件的方案比较

如下表 Table 6:

更多信息请关注公众号:

[人脸活体检测] 论文:Aurora Guard- Real-Time Face Anti-Spoofing via Light Reflection的更多相关文章

  1. 从零玩转人脸识别之RGB人脸活体检测

    从零玩转RGB人脸活体检测 前言 本期教程人脸识别第三方平台为虹软科技,本文章讲解的是人脸识别RGB活体追踪技术,免费的功能很多可以自行搭配,希望在你看完本章课程有所收获. ArcFace 离线SDK ...

  2. Qt编写百度离线版人脸识别+比对+活体检测

    在AI技术发展迅猛的今天,很多设备都希望加上人脸识别功能,好像不加上点人脸识别功能感觉不够高大上,都往人脸识别这边靠,手机刷脸解锁,刷脸支付,刷脸开门,刷脸金融,刷脸安防,是不是以后还可以刷脸匹配男女 ...

  3. 虹软人脸识别 - faceId及IR活体检测的更新介绍

    虹软人脸识别 - faceId及IR活体检测的介绍 前几天虹软推出了 Android ArcFace 2.2版本的SDK,相比于2.1版本,2.2版本中的变化如下: VIDEO模式新增faceId(类 ...

  4. python3 百度AI-v3之 人脸对比 & 人脸检测 & 在线活体检测 接口

    #!/usr/bin/python3 # 百度人脸对比 & 人脸检测api-v3 import sys, tkinter.messagebox, ast import ssl, json,re ...

  5. 虹软人脸识别 - faceId及IR活体检测的介绍

    虹软人脸识别 - faceId及IR活体检测的介绍 前几天虹软推出了 Android ArcFace 2.2版本的SDK,相比于2.1版本,2.2版本中的变化如下: VIDEO模式新增faceId(类 ...

  6. 人脸标记检测:ICCV2019论文解析

    人脸标记检测:ICCV2019论文解析 Learning Robust Facial Landmark Detection via Hierarchical Structured Ensemble 论 ...

  7. dlib人脸关键点检测的模型分析与压缩

    本文系原创,转载请注明出处~ 小喵的博客:https://www.miaoerduo.com 博客原文(排版更精美):https://www.miaoerduo.com/c/dlib人脸关键点检测的模 ...

  8. OpenCV实战:人脸关键点检测(FaceMark)

    Summary:利用OpenCV中的LBF算法进行人脸关键点检测(Facial Landmark Detection) Author:    Amusi Date:       2018-03-20 ...

  9. AAAI2019 | 基于区域分解集成的目标检测 论文解读

    Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...

  10. C# 活体检测

    活体检测有多种情形,本文所指:从摄像头获取的影像中判断是活体,还是使用了相片等静态图片. 场景描述 用户个人信息中上传了近照,当用户经过摄像头时进行身份识别. 此时,如果单纯的使用摄像头获取的影像进行 ...

随机推荐

  1. 6.3dmax小场景案例

    # 知识点: 1.cut剪切 --- 快捷键 alt+c 2.仅影响轴.坐标轴回到物体中心 3.Mirror镜像 4.attach附加.detach分离 5.Collapse.Weld合点 6.bev ...

  2. Asp.Net Core 程序开发技巧汇总

    使用Sqlite数据库 创建项目 Asp.Net Core Web应用程序 Web应用程序 ASP.NET Core 2.2 NuGet管理,添加Sqlite数据库支持 Microsoft.Entit ...

  3. spring boot 常见问题

    什么是 Spring Boot? 简单来说,spring boot 底层就是:spring + spring mvc + tomcat + 其他框架 starter: spring boot 依靠 s ...

  4. ArcEngine创建注记类及生成注记要素

    在宗地出图的时候遇到此功能要求,看代码 ※创建注记类 public void createBlackAnno(IMap pMap) { //创建mdb数据库文件 IWorkspaceFactory p ...

  5. Mathematica制作和使用程序包

    步骤 这里拿你制作并且使用一个程序包lost为例子 新建一个空白.wl文档,输入代码如下 BeginPackage[ "MyPkg`"] MainFunction::usage = ...

  6. SpringBoot——日志及原理

    一.SpringBoot日志 选用 SLF4j(接口)和 logback(实现类),除了上述日志框架,市场上还存在 JUL(java.util.logging).JCL(Apache Commons ...

  7. Maven 的仓库、周期和插件

    一.Maven 仓库 在 Maven 的世界中,任何一个依赖.插件或者项目构建的输出,都可以称为构建.Maven 在某个统一的位置存储所有项目的共享的构建,这个统一的位置,我们就称之为仓库.任何的构建 ...

  8. Linux基础知识归纳

    1.Linux:Linux is not Unix.主要用于企业的服务器端.Windows不开源(系统价格大概2000左右,安装软件也特别贵,例如Offers就6000左右等).基于内核的操作系统(r ...

  9. Centos7端口开放及查看

    1.开放端口 firewall-cmd --zone=public --add-port=端口/tcp --permanent eg:firewall-cmd --zone=public --add- ...

  10. Wondershare Recovery - 万兴数据恢复专家,恢复你 Mac 上的重要文件

    Wondershare Recoverit 是恢复被删除文件最有效的软件之一.计算机用户面临的一个主要问题是失去机密信息.我们可能是误删除了数据和文件,或者可能是由于病毒袭击.操作系统故障或硬盘故障而 ...