欢迎关注计算机视觉life!
最近vivo x20主推的Face Wake人脸解锁功能被网友爆料可以用一张图片轻松解锁,在吃瓜群众中引起了热烈的讨论。
vivo x20 用照片破解人脸解锁
本文手把手教你如何辨别你的手机人脸解锁是否真正安全。
很多吃瓜群众只关注结果,那我就先亮出结果:目前所有安卓手机的人脸解锁都没有做到真正的3D人脸识别,都存在被破解的可能。人脸解锁最安全的手机目前只有iPhone X,独此一家,别无分店。
特别声明,绝非给iPhone X打广告(苹果也不会给我这小平台广告费啊,/哭)。
关注技术原理的同志们可以继续往下看,我们一起从技术层面来验证一下结论。
人脸识别技术分类
目前的人脸识别技术分为:
1、2D人脸识别。
硬件要求:一个普通的RGB摄像头。基本原理是通过提取拍摄的2D图片中人脸的特征点来进行识别。
这是目前使用最广泛的人脸识别技术,也是最容易被破解的人脸技术方案。该方法有一个致命伤,就是非常依赖环境光照,弱光、强光下识别精度会大幅下降,光照过低无法识别。
2、2.5D人脸识别。
硬件要求:需要两个相距一定距离的普通彩色摄像头。比如目前常见的双摄像头手机。
基本原理是根据两个相机在不同方向拍摄同一物体时的视差来计算景深。该方法最广泛的应用就是背景虚化、前景分割。也可以用于人脸识别。
我之所以称之为2.5D人脸识别,是因为深度信息是通过两张图片计算出来的。计算的深度精度和两个相机的间距(基线)关系很大,基线越小,可以测量的最远深度越近,也越不精确。另外该方法和2D人脸识别技术有一样的通病,非常依赖环境光照,不多说。
3、3D人脸识别。
硬件要求:需要基于结构光或者飞行时间(TOF)原理(见《深度相机原理揭秘--飞行时间(TOF)》)的深度相机。iPhone X的人脸解锁方案就是采用的结构光原理的深度相机,关于iPhone X人脸解锁的技术请看《iPhone X的原深感相机到底是个什么玩意?》。
iPhone X前置深度相机
这两种方法本质上来说,都属于物理测距,通过发射人眼不可见的红外光点阵到物体上,然后接收反射的红外图像来进行距离测量。因此这种方法相对前两种人脸识别技术的优缺点非常明显:
优点:
真正利用物理器件测量摄像头和人脸的距离。测量精度高,且响应速度快。
由于发射的是人眼不可见的红外光,所以不依赖于环境光照,可以在弱光、无光环境下正常使用,这一点非常有用!因为2D、2.5D的人脸识别技术非常依赖环境光照,太亮太暗都会使得识别精度大幅下降。
缺点:
由于物理器件比较复杂,一般体积较大,功耗较高。想要做到体积非常有限的手机上难度极大。
分辨率较低,一般是VGA分辨率(640X480)。不过可以和RGB相机进行算法插值到较高像素。
人脸识别的破解方法有哪些?
目前人脸解锁常见的破解方法从简单到复杂排列:照片/屏显图片、换脸算法、戴面具/3D人脸模型。
常见的人脸解锁破解方法
1、照片/屏显图片。
这是最简单的一种。利用打印的照片,或者屏显的图片来破解人脸解锁。这只对静态照片解锁有用,也是vivo x20被破解的方法。对此,人脸识别方案一般会有人脸活体检测算法来进行防破解,例如:眨眼、张嘴、点头、摇头、微笑等动作。我们现在使用很多银行的APP能够见过这种方法。那么这种人脸活体检测算法可以高枕无忧了吗?继续往下看。
2、换脸算法。
有一些换脸APP可以用一张静态人脸来合成上述动态的视频。我们来看一下。2016年美国斯坦福大学的研究团队研发出一款人脸跟踪算法Face2Face,它可以通过摄像头捕捉用户的动作和面部表情,然后该软件可以驱动视频中的目标人物做出一模一样的动作和表情,效果极其逼真。你可以控制普京这样大人物在视频中做出任何你想要的表情,像这样:
Face2Face换脸算法
这种黑科技做的简直天衣无缝,连我们人类都能轻易骗过,所以上述人脸活体检测在这种情况下被秒成渣。
目前能够防止这种方式破解的技术就是上面讲的真3D人脸识别。因为不管是合成的2D的照片或者视频多么逼真,它们有个致命的缺点:没有深度信息。TOF或者结构光的红外点阵光源打过来,发现只是一个平面图片或者显示屏,立马露馅了,哈哈。
好吧,想要破解人脸识别的坏人们使出了下面的终极武器。
3、戴面具/人脸3D模具。
我们在碟中谍中看到过阿汤哥使用打印的面具骗过了安保人员,这种技术真的是太牛叉了!
碟中谍中的人脸面具
究竟3D人脸技术和这种破解技术哪个更厉害?
因为笔者没有见过类似阿汤哥打印的人脸面具,无法做出判断。仅从原理上进行分析:
iPhone X的人脸解锁技术投射了3万个红外光点到人脸上,绘制出三维人脸,这已经是非常精细了。如果想要做出如此逼真的面具或者人脸三维模具其实非常困难,首先需要采集要破解目标人物的比较精细的三维人脸模型这本身就非常困难,一般需要比较精密的设备,在对方比较配合的情况下才能完成采集,此外成本也非常高。
就算能够做到完全一样的面具或者三维模具也不可怕,因为可以使用基于3D的人脸活体识别来防止破解,戴面具的情况下的表情是无法做到和真人一致的,而3D模具是静态的也无法破解基于3D的人脸活体识别。除非,你做出和真人一模一样的仿真机器人!好吧,有这能力和金钱好像也不需要去破解别人的人脸解锁了吧!
总结
话说回来,vivo x20的人脸解锁技术,从官网上看到的介绍如下:
Vivo X20 Face wake官网介绍
Vivo X20只有一颗前置摄像头,更没有类似iPhone X的基于结构光(或者TOF技术)的深度摄像头,属于2D人脸识别,所以一张打印的照片就能破解,也没有什么奇怪的。
看完了分析,我给出的结论你服不服?
相关阅读
注:转载请注明来源,违者必究。