人脸识别与活体检测

人脸识别技术主要分为两部分: 
第一步为前端人脸活体检测,支持android、ios平台,在前端通过微笑、眨眼、张嘴、摇头、点头等组合动作,确保操作的为真实活体人脸。 
第二步为后台人脸比对识别,该环节通过在活体检测环节取得整张人脸图像后,再通过扫描识别身份证,取到身份证头像后,将现场人脸与身份证上的人脸进行比对识别,判断是否为同一张人脸。

                                                       活体检测简介

       随着人脸识别、人脸解锁等技术在金融、门禁、移动设备等日常生活中的广泛应用,人脸防伪/活体检测(Face Anti-Spoofing)技术在近年来得到了越来越多的关注。在大多数人的印象中,人脸识别技术就是让机器把人认出来。没错,用机器来认人,这正是人脸识别系统的最核心功能。然而,很多人不知道的是,一个可以正常工作的人脸识别系统,除了实现“认人”以外,还包括许多其他重要的技术,其中就包括今天要给大家介绍的,应用于人脸识别身份认证系统中至关重要的一项技术————活体检测

设想一下,假设你的Face Verification算法做的再漂亮,而Face Anti-Spoofing做的很烂,如果这个时候恰恰有某位同学拿着马云脸的视频去刷了支付宝,那…………
这里写图片描述

人脸验证(Face Verification):意思就是说,给定两张图,算法要判断出这两张图是不是同一个人,这是近年来一个非常热门的研究方向,也产生了一大批模型和 Loss Function。

人脸防伪(Face Anti-Spoofing):意思就是说,你刷脸的时候,算法要判别这张脸是不是真人活体脸,而对于合成的、或者他人照片来攻击算法的,应该予以拒绝。

PA(Presentation Attacks)是常用的攻击方式,主要包含print attack(即打印出人脸照片)、replay attack(播放视频)、mask attack(带人脸假体面具等)。

照片攻击与动作活体:
最简单的攻击方式相信大家都能想到,用照片。现在大家都喜欢玩社交媒体,经常往朋友圈和微博上传照片,搞到一张别人的照片简直轻而易举。所以,照片自然是活体检测首要的防范对象。对付照片的方式,大家也很容易想到。照片总是死的,不能做出眨眼张嘴转头这些动作。那好,在活体检测这一关,我就给你下达几个动作的指令,让你做动作给我看,这就是交互式动作活体检测。

升级版照片攻击:
有了动作活体这个东西,用静止照片来攻击就不行了。于是攻击者一拍脑袋,就想出了经过“改进”的攻击方式。他先是把另外一个人的照片打印出来,跟真人一般大小,还挺清晰的,反正花不了几个钱。你不是要让我眨眼张嘴吗?照片本身不会眨眼张嘴,可是我本人会啊。于是他就把照片在眼睛和嘴巴那块抠个洞,然后把照片贴在脸上,他自己的眼睛和嘴巴就露出来了。你让他眨眼,他就眨眼,让他张嘴,他就张嘴。对此,我们只能说,too naive too simple,因为抠眼和抠嘴后的造作痕迹实在太明显了,对我们的抠眼抠嘴检测算法形成不了太大的威胁。最后说下转头,攻击者往往把照片贴在自己脸上,或者在那揉来揉去,想模拟出真实的转头效果。可是,他们不知道,这种伪造的转头动作,人脸上各部位的运动情况实在与真人相去甚远,很容易被我们的转头检测算法识别出来。

视频回放攻击:
到这里,攻击者还是不肯作罢,又心生一计:不就是几个动作吗?我把那人的动作录成视频,再拿来播放不就得了。其实啊,到这里我们可以明显看到,攻击难度已经上升一个级别了。为什么呢?你要搞到另外一个人的视频,还得包含很规矩的这几个动作,本身就不那么容易。可是我们不能存有侥幸心理啊。没关系,办法总是有的。你把视频搞来了,总得找个有屏幕的东西播放啊。这样一来,就漏马脚了。你只要仔细看看用屏幕播放视频,然后再经过摄像头成像的画面,再看看真人在摄像头面前成像的画面,就会发现,二者其实很不一样啊。用普通PC屏幕播放的效果就不说了,一堆纹路,我们称之为摩尔纹。用pad或者手机的高清屏播放的效果好一些,可是也有很多不一样,比如反光、倒影,最关键是画面质量总是模糊一些,失真度明显高一些。所以呢,我们根据这些线索搞了对应的算法,把视频攻击也能防得很好。

立体面具攻击:
照片和视频回放攻击都是把人脸图像投射到一个平面上,还一种攻击方式就是做一个和真人比较相似的立体面具。到这里,攻击难度又上升了一个级别。面具有很多种,最普通的是塑料或者硬纸做成的面具,这种面具虽然成本低廉,但材质相似度极低,用普通纹理特征就可以识别出来。另外,还有用硅胶、乳胶以及3D打印的的立体面具,这类面具的表观和皮肤更加接近,但它们的材料表面反射率和真实人脸还是不同的,因此在成像上仍然有差别,这种差别是可以用最先进的机器学习算法学习到,很难达到以假乱真的程度。

静默活体:
动作活体检测的方式具有很高的安全性,但另一方面,对用户来说,由于要配合着做几个动作,因此体验不是非常好。为此,我们又发明了一种新的活体检测方式,不需要用户做任何动作,只需要自然正对摄像头三四秒钟,就可以完成检测了。也许你会问,如果不做动作,岂不是拿张普通照片就可以攻破了?非也。虽然没有刻意做动作,但真实的人脸并不是绝对静止的,总有一些微表情存在,比如眼皮和眼球的律动、眨眼、嘴唇及其周边面颊的伸缩等,利用这些特征,我们完全可以防住照片攻击。至于视频回放攻击和立体面具攻击,防范的原理和之前介绍的一样。

红外活体:
其实啊,上面这些还不是最厉害的。在有些应用场景,比如ATM机上,我们可以安装红外摄像头,利用红外图片,我们可以实现更好的防攻效果。我们知道,不管是可见光还是红外光,其本本质都是电磁波。我们最终看到的图像长什么样,与材质表面的反射特性有关。真实的人脸和纸片、屏幕、立体面具等攻击媒介的反射特性都是不同的,所以成像也不同,而这种差异在红外波反射方面会更加明显,比如说,一块屏幕在红外成像的画面里,就只有白花花的一片,连人脸都没了,攻击完全不可能得逞。

到这里,人脸识别系统常见的攻击手段以及活体检测方式就介绍得差不多了,相信你已经对人脸识别系统的攻防有了一个比较全面的了解。事实上,研究人员对各种人脸识别的攻击方式都有预防,攻击者绝不可能轻易攻破我们的系统。

参考:
https://zhuanlan.zhihu.com/p/26112838
https://zhuanlan.zhihu.com/p/38183691

猜你喜欢

转载自blog.csdn.net/Alisa_xf/article/details/81634478