一文带你读懂,人脸识别原理,以及部分手机采用的3D结构光原理
扫描二维码
随时随地手机看文章
现在越来越多的手机支持了人脸识别技术,人脸识别到底是什么原理?以及部分手机采用的3D结构光又是什么原理?既然是人脸识别,自然就需要相应的设备来获取,我们的人脸的面部信息。
那在目前来讲,手机上获得我们人脸面部信息的方式有两种,一种是目前绝大数安卓手机的方案,就是直接通过前置摄像头实现的2d人脸识别。另一种是像苹果手机,刘海部分的元器件实现的3D人脸识别。虽然一个是2D一个是3D,但人脸识别的原理大体上都是差不多的,所以咱们先了解一下人脸识别的原理。我们第一次使用人脸识别的时候和指纹解锁一样,要录入我们的人脸面部信息。
摄像头采集到我们的面部信息之后,要先对我们的图像进行处理,因为我们在录入面部信息的时候,所处的环境都是千差万别的。有的图像光线可能有点弱,有的图像噪点又有点多。所以要对图像进行处理,让手机可以更容易的识别出我们的面部信息。完成这一步之后,就要对我们的面部特征信息进行提取,比如面对各个器官之间的距离,以及器官的几何形状,这些都可以被提取到的特征信息,提取完我们的面部特征信息之后,这些特征信息都会被储存下来,当我们解锁手机时候,手机又会重复前面的步骤。
把提取到的面部特征信息,和我们第一次录入的面部特征信息进行对比,只要能对上绝大多数的特征信息,就可以解锁手机,这是我们人脸识别的大概原理,提取面部信息这一步就像我们提取密码一样,密码包含的信息越多,安全性就越高,而我们目前的安卓手机,都是通过一个前置摄像头,包括前段时间,小米八的红外摄像头。都是直接拍摄我们的人脸照片,获取的都是一个平面的图像,也就是我们说的2D人脸识别,因为摄像头拍到的是因为摄像头拍摄到的是一个平面图像,所以我们同样可以直接用一张图片,对着摄像头,就可以骗过我们的人脸识别,也不管我们用是用摄像头拍立体的人脸,还是直接对着一张照片,那最终拍下来都是一个平面的图像,所以2D的人脸识别就像一个六位的纯数字密码一样。
那为了提高2D人脸识别的安全性,也会有各种各样的算法,比如边框检测,反观检测之类的算法,可以在一定程度上,避免用照片视频骗过2D人脸识别。但六位数的密码终究是一个六位数的密码,我们只有提高密码的位数,增加大小写字母,甚至是特殊符号,只有增加更多的特征信息,才能在本质上提高人脸识别的安全性。所以我们除了要获取人脸器官之间的距离、几何形状,还要获取人脸的深度信息,也就是我们说所说的3D人脸识别技术,那目前来讲。获取我们人脸深度信息的技术,主要有三种,一种是Tof(飞行时间技术),就是传感器发射出红外光,红外光在从物体表面反射回传感器,传感器通过发射和反射光之间的相位查换算出深度信息。
而第二种是双目测距技术,和我们的人眼类似,直接用两个摄像头进行拍摄,就会得到两个不一样的平面图像,再把两张图像上相同的特征标注出来。最后再基于三角测量原理计算出深度信息,但双目测距的难点在于,要准确的标出两幅图像的共同特征点来。这里是什么意思呢?就比如说我们现在和小伙伴两个人正在逛街,小伙伴就相当于刚才左边的摄像头,我们自己就相当于右边的摄像头,现在看到的画面就是我们自己走在街上的视角,这个时候小伙伴说,你看前面那个红色衣服的小姐姐,这个时候我们应该深有体会,虽然小伙伴说了是红色衣服的小姐姐,可是我们一下子找到这个还是很难的,这就是我们双目测距的一个难点,那怎样才能解决这个问题呢?我们可以让小伙伴拿一支激光笔,直接只像他说的小姐姐。这下我们立马就可以找到目标,这个就是我们说的3D结构光技术。
所以我们在苹果或者小米的官网,介绍里能看到,刘海里面有一个点阵投影器和一个红外摄像头,点阵投影器,投影光点到我们的脸上,红外摄像头直接找到投影到脸上的光点,找到光点之后,后面的步骤就和双目测距一样,用三角测量的原理,计算出个光点的深度信息。这个就是我们3D结构光的原理,但在苹果和小米官网,他们在展示投影到脸上的不可见光点的时候,我们能发现。苹果和小米的这个观点是不一样的,苹果是一个个小点,而小米是类似二维码一样的光点,这两个又有什么区别呢?苹果这种属于散斑结构光,它的散斑有一定的随机性,所以安全性会更好,但相应的计算量也会更大,而小米属于有规律的编码结构光,好处是计算量要小一些,但和前者比较的话,安全性会稍微低一些。