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. jxg项目Day4-数据库和mybatis的连接映射

    配置:yml配置文件中配置数据库的参数,还有映射的参数 1.建实体类User,属性与数据库表对应 2.Mapper包下建UserMapper,继承BaseMapper<User> 3.Se ...

  2. java 循环删除数据写法

    import java.util.ArrayList;import java.util.ConcurrentModificationException;import java.util.List;// ...

  3. k8s集群跨namespace访问服务

    场景:自己有一个java应用部署在test命名空间下,但是一直无法访问到middleware命名空间下的mysql服务 查找资料发现下面所说的问题 我们通常会把mysql,redis,rabbitmq ...

  4. PerfDog的使用教程

    一.介绍: 移动全平台iOS/Android性能测试.分析工具平台,快速定位分析性能问题.PerfDog支持移动平台所有应用程序(游戏.APP应用.浏览器.小程序.小游戏.H5.后台系统进程等).An ...

  5. C知识点

    1.变量在内存中所占存储空间的首地址,称为该变量的地址:而变量在存储空间中存放的数据,即变量的值. C语言中,指针就是变量的地址.一个变量的值是另一个变量的地址,且变量类型相同,则称该变量为指针变量. ...

  6. [转]常见的视频编码详解 Cinepak Codec by Radius

    AVI所采用的压缩算法并无统一的标准.也就是说,同样是以AVI为后缀的视频文件,其采用的压缩算法可能不同,需要相应的解压软件才能识别和回放该AVI文件.除了Microsoft公司之外,其他公司也推出了 ...

  7. ElseViewer--校稿

    1Edit ModeThis presents the proof in continuous scroll to review and make corrections. By default, y ...

  8. 解密Prompt系列3. 冻结LM微调Prompt: Prefix-Tuning & Prompt-Tuning & P-Tuning

    这一章我们介绍在下游任务微调中固定LM参数,只微调Prompt的相关模型.这类模型的优势很直观就是微调的参数量小,能大幅降低LLM的微调参数量,是轻量级的微调替代品.和前两章微调LM和全部冻结的pro ...

  9. FinOps首次超越安全成为企业头等大事丨云计算趋势报告

    随着云计算在过去十年中的广泛应用,云计算用户所面临的一个持续不变的趋势是:安全一直是用户面临的首要挑战.然而,这种情况正在发生转变. 知名IT软件企业 Flexera 对云计算决策者进行年度调研已经持 ...

  10. 如何使用webgl(three.js)实现3D消防、3D建筑消防大楼、消防数字孪生、消防可视化解决方案——第十八课(一)

    序: 又是很久没出随笔文章了,一篇文章有时候整理一天,实在是抽不出来时间. 最近在回顾几年前的项目时,发现这个智慧三维消防可视化项目很有回顾价值,索性就拿出来讲讲. 首先,我们要知道消防里的知识,不是 ...