算法部 马军福作者

仅5M大小,识别准确率99.9%,详解云识客双目活体技术

以下这张照⽚,是真⼈实拍还是对着照⽚翻拍的?

 如果告诉你,这张照⽚,是对着照⽚翻拍的照⽚,你会不会惊讶?

但就是对于这种⼏乎以假乱真的照⽚,双⽬活体能很轻松地判断出来这张照⽚到底是真⼈照⽚还是照片翻拍。在⾦融、征信、安防等⼈脸识别应⽤最⼴泛的场景中,活体识别可以说是具备⼤规模应⽤最关键环节。

01 什么是双⽬活体

双⽬,就是有两个眼睛。⼀个眼睛是可⻅光摄像头,采集彩⾊照;还有⼀个眼睛是近红外摄像头,采集的⿊⽩照。⽽双⽬活体,实际上也对应了两种算法,单⽬活体检测和近红外活体检测

• 可⻅光活体检测的原理,是利⽤图⽚中⼈像的破绽(摩尔纹、成像畸形等)来判断⽬标对象是否为活体,可有效防⽌屏幕⼆次翻拍等作弊攻击

• 近红外活体检测的原理,是红外摄像头发射红外光线,照射到物体表⾯,利⽤成像元件(CCD或 CMOS)去感受周围环境反射回来的红外光,因为不同材质的反射率不同等原因,再通过算法分析,即可识别是当前⽤户是否是真⼈。

近红外活体由于⾃带红外光源,因此受环境光的影响较⼩,可以在完全⿊暗的环境下成像,对于⼿机屏幕有近 100%防攻击能力如下图

活体检测的关键指标包括:

•  识别速度:算法从接收到图⽚到输出结果的时间

•  通过率:设定好⼀个阈值,给定N个真⼈样本,算法输出的分值⾼于阈值(即正确判断为真⼈)的样本为M,则通过率=M/N

•  拒绝率:设定好⼀个阈值,给定N个攻击样本,算法输出的分值低于阈值(即正确判断为假⼈)的样本为M,则拒绝率=M/N

通过率与拒绝率,是在同⼀个阈值下测试出来的,选取的阈值⾼,通过率低,拒绝率⾼;选取的阈值低,通过率越⾼,但是拒绝率⾼。

02 双⽬活体检测为什么这么重要

我们将从场景、商业、黑产三个维度,来分析双目活体的重要性:

❑ 线下场景,⾼度契合

云识客将⽬前⼈脸识别的主要应⽤场景分为两类:线上远程认证场景(⾦融开户、刷脸注册、刷脸 登录等)、线下⽆⼈值守场景(⼈脸⻔禁、刷脸取款、刷脸⽀付等)。

活体检测的技术上,⽬前也主要有两⼤类:对硬件依赖度⽐较低的,如动作活体,静默活体;对硬件有⼀定要求,需要和硬件适配的,⽐如双⽬活体、3D结构光活体等。虽然后者的成本⽐前者⾼,但是防攻击效果更好,⽽在线下场景中,天然的需要硬件,因⽽后者也成为线下场景的最好选择。

❑ 技术成熟,商用广泛

双⽬活体⽐3D结构光活体的技术难度也更低,因⽽成本更低,市场上双⽬摄像头模组成本⼤概¥300左右,⽽3D结构光模组要¥500~800;

产业结构上,能够批量做3D结构光模组的,中国⽬前只有两家;⽽能做双⽬活体硬件的,则数不胜数。所以线下场景的主流还是双⽬活体,普及度更⾼,⾏业发展更成熟。

❑ ⿊产博弈,依然可靠

有光明的地⽅,就会有⿊暗。如今的⿊产,已不仅仅是只会懂得⽤电信诈骗等⼿段来欺诈,他们也懂得利⽤AI和科技,并形成产业化,提供给上下游使⽤。

⽐如⽬前很多互⾦app的活体检测,都采⽤动作活体的⽅式(即系统出现随机动作,⽤户即时做出指定动作才被认为是真⼈),⿊产针对这种⽅式,使⽤3D建模技术,只需要⼀张照⽚,即可⽣成任何指定的动作。⽽双⽬活体,依然是⽬前最可靠的防攻击⼿段之⼀。

03 详解云识客活体检测技术

❏ 如何兼顾识别准确率与识别速度

虽然⽬前业界已经有多种双⽬活体检测算法,但多数算法为了得到准确率⾼的活体检测模型,使⽤了⽐较⼤的神经⽹络,虽然提升了模型的表现能⼒,但是模型太⼤,运算耗时。

如何兼顾识别准确率与识别速度,⼀直是业界的⼀⼤难题。

有一种方案:通过采集多张⼈脸区域,更有效的捕捉活体和⾮活体数据之间的区别,引⼊更多的有效判别信息到卷积神经⽹络,提升识别准确率;同时多张⼈脸共享卷积神经⽹络,相⽐其他⼀张⼈脸对应⼀个神经⽹络,有效减⼩模型计算复杂度。

❑  详解算法策略

从这个流程图上,可以很清晰的看到,整体上有两个关键步骤:⾃适应扣取⼈脸、卷积神经⽹络。

• ⾃适应扣取⼈脸

更有效地捕捉活体与⾮活体数据的区别,采集到更多的有效判别信息,帮助提升识别准确率。

如上图,我们依次扣取不同⼈脸占⽐的图像送⼊同⼀个CNN⽹络,增加了更多活体判断的有效信息,其中蓝⾊框主要捕获摩尔纹、反光、⼈脸畸变等信息,红⾊区域捕捉⼿机边界、纸张边界等明 显攻击信息,绿⾊区域是过渡区域,捕捉相关背景信息。

整体计算公式如下:

• 卷积神经⽹络

在⾃适应扣取⼈脸中,我们截取的三个不同区域的图像数据,共享CNN,相比其他算法模型一种图像使用一种模型,能极大减少模型的复杂度,从而降低模型大小。

最后,融合三个图像输出的不同特征,并设计新颖的针对单⽬/活体⽹络训练的损失函数,增加⽹络的泛化性能。

使用这种算法模型,整体仅5M⼤⼩, 即使在低性能硬件设备上,也能达到实时检测的效果。

• 样本搜集

最后,除了算法的维度,结合越来越高明的攻击行为,还需要搜集海量的攻击样本数据,包括⼿机、屏幕、纸张、面具、面膜等攻击样本,覆盖面广,进一步增加活体防攻击的范围。

• 光流法辅助单目活体判断

最后,针对单目活体,云识客也采用光流法辅助活体判断的校验机制。所谓的光流场,即物体在三维真实世界中的运动,在二维图像平面上的投影

如图:通过帧间信息求取光流场数据,对于纸张攻击和手机攻击来说,求得的光流场与实际活体人脸区域的光流场有很大区别。活体人脸区域的光流场存在方向不一致性,并且与背景分离,纸张和手机攻击的光流场存在方向一致性并且人脸区域与背景是不分离的,通过此类规律可以过滤掉大部分运动状态下的非活体攻击数据。

❑ 测试关键指标

• 识别速度

整体算法模型⼤⼩仅5M,即使在低性能设备上,也能流畅运⾏。在3288的CPU上,仅耗时398ms,⽐同类一般算法快200ms。

• 通过率与拒绝率

实际场景照⽚下的通过率达99.7%,拒绝率达99.9%。

04 算法行业深度结合

云识客认为:

算法不仅是深度学习,其核心在于算法策略;

算法也不是空中楼阁,更需要抓住行业痛点,才能发挥最大的价值。 

云识客
云识客

智趣•云识客是国内领先的视觉物联网运营商,以自主研发的视觉AI为核心,以VIOT网络为基础,连接各类智能终端设备,整合行业系统商等资源,提供各垂直行业解决方案。

https://www.yskplus.com/
专栏二维码
工程卷积神经网络CNN活体检测深度学习人脸识别
35
Face++・视觉算法工程师
这个方法 一年前都实现过,对于样本需求比较大,而且目前这块儿的样本不足,对于手机视频欺骗很难控制,3D头套的话应该也基本无能为力。
杭州云识客科技有限公司・运营总监
多谢评论 但是不知道您的方法和我们的这个是否真的一样,至少我们使用实际场景的样本测试下来,准确率和防攻击效果确实好。现在产品落地,客户都是要用自己实测的,如果效果不好,我们也没法商用。 然后对于手机视频这块,文章也很明确说明了,红外摄像头下,视频根本就过不了。3D头套,也是有比较好的防攻击效果,除非是极其逼真的,这个现在业界也都未解决。
这个多尺度划分和网络共同有点意思
如果不是对人脸的翻拍检测,而是对一般场景下重获的图片进行翻拍检测,也有同样的效果吗
杭州云识客科技有限公司・运营总监
回复黄祖浩
我们的算法有很强的泛化性,所以也有同样效果。