人脸识别,到底能不能蒙混过关?
2021-01-17馒头老妖
馒头老妖
如今,人脸识别技术已经在生活中的各个领域得到广泛使用。从超市买单时的刷脸支付、高铁检票时刷脸过闸,到诸多手机App的用户身份验证,比如手机游戏里的防沉迷系统…… 可以说,我们的这张脸,已经成为网络时代最好用的身份识别手段。
然而,也有很多人对此表示担忧:倘若不法之徒盗用了我的形象,冒充我进行人脸识别,偷花我的钱,甚至还可能给我带来莫名其妙的官司,那该怎么办?
那么,人脸识别,真的有那么容易忽悠吗?
人脸识别的分级管理
我们都知道,越是重要的场合,对安保技术的可靠性、稳定性要求也就越高。人脸识别的应用也是如此。尽管都叫作“人脸识别”技术,但在不同的应用场景里,它抵抗忽悠的能力也是不同的。
大体上,人脸识别的设备,可以分为两大类:一类是使用手机、平板电脑的摄像头来识别人脸,另一类则是通过专门的设备,比如高铁、机场安检台的高清摄像头来识别。后者体积更大,从价格来说,也更贵。一分钱一分货,其识别的准确率和抗欺骗的能力,也远远超过前者。所以,在那些重大的场合,人脸识别的可靠性还是相当有保证的。
镜头前是活人吗?
技术上把这种抵抗忽悠的能力, 称为“ 活体检测”。那么,要如何判断站在镜头前的,是一个真人,还是打印出来的照片或者手机上的画面?
最常用的检测方式是动作检测。通过语音、文字等方法,要求被验证的用户做出一系列指定的动作,如张嘴、摇头、眨眼、念出某个随机数字等等。很显然,照片上的人脸,是不会做出这些动作的。这种方式的成本低,可靠性也很高,但缺点就是需要用户予以配合。
不需要用户配合的方法里,比较常用的有两种:人脸深度信息的鉴别和多光谱下人脸反射的鉴别。
先来说说人脸深度信息的鉴别。无论是平板、手机,还是打印出来的人脸照片,人脸都是二维化的,眼睛、鼻子、耳朵都处于同一个平面内。而真正的人脸,当然是三维的:鼻尖在最前面,耳朵在最后面,眼睛位于两者之间。
在数学上,常用“曲率”这个参数,来描述一个物体表面的凹凸、弯曲情况。在人脸识别中使用的也是这个逻辑:先用一束人眼无法看到的光,在被识别的“脸”上进行大致的3D扫描,通过反射回来的微小差异,得到耳朵、鼻尖、额头等位置的特征点在空间中的坐标,从而计算一个综合曲率;再和已知的人体曲率范围相比较,就能知道这个曲率是否合理。如果算出来曲率很小,那就说明识别的只是一个二维的平面,不是活人。
要做到这一点,需要比较专业的设备,手机恐怕是很难的。但近年来,随着双摄手机的普及,人脸识别的能力也得到了全面提升:两个镜头之间有一定的距离,就像是我们的左右眼;当它识别的是一个凹凸有致的人脸时,两个镜头“看到”的画面,一定是有较大差异的。如果两个画面几乎完全一致,那一定不是真人。
而多光谱鉴别,是在人脸深度信息的基础上再加了一道保险:它会用不同颜色的可见光、近红外光、近紫外光等很安全的光源,交替扫描人脸。人的皮肤对这些光源的反射能力,和照片、屏幕差异极大,容易看出破绽。即便能让其中一种光源蒙混过关,也很难同时模拟人脸对其他几种光线的反射情况。
总体而言,人脸识别中的活体检测技术,就是在与不法分子進行较量,两者都在对抗中不断进化。但愿,不会真的出现我们的“脸”被人偷走的那一天吧。