产品|人脸验证产品怎么做?

编辑导语:人脸验证产品我们应该都很熟悉了,不少人都在用人脸进行解锁或者支付。然而,我们对人脸验证的了解仅限于在使用层面上,但是对于其开发却少有人了解。今天,在本篇文章中,作者通过自己亲身接触的人脸验证产品的开发流程,为我们关于人脸验证产品怎么做进行了总结。
产品|人脸验证产品怎么做?
文章插图
在业务中,有幸深度接触了人脸验证这款产品,为及时沉淀总结,所以有了这篇文章。需先说明,本文人脸验证指的是验证当前操作者是不是用户本人。
一、梳理端和场景1. 开始前,产品首先需要先梳理好端和场景举例:
产品|人脸验证产品怎么做?
文章插图
为什么要先梳理端和业务场景呢?
2. 业务场景不同,业务策略不同【 产品|人脸验证产品怎么做?】举例:金融场景,安全系数要求更高,在保证一定用户体验的时候,宁可误杀,不可错放。
登录场景,则相对要求低一些;另外,不同场景,辅以不同错误次数限制、弥补措施等,业务流程逻辑不同。
3. 硬件配置不同,采集到的数据不同软件产品,关注手机摄像头配置。
比如说安卓千元机,一般都是普通RGB摄像头,只能获取到用户脸部的2D信息,比如色彩梯度等,而苹果手机X及以上配置了3D深度摄像头。
所以苹果的面容ID是基于3D结构光的人脸识别方案,通过红外光将大约3万个点阵投射到物体上,用数量庞大的点阵得到物体的深度信息,精度高,可以较好地防范各类攻击(目前同样采取3D结构光的安卓手机,点阵数量远小于苹果,相对而言,获取的数据也就更少)。
另外,苹果的成像是利用红外不可见光,所以可以不受环境光的影响,支持用户在黑暗环境下正常使用。因此如果识别到用户手机型号为苹果X及以上,App可考虑申请调用系统自带的面容ID。
iPhone11起,还为FaceID增加一个多角度传感器,可以捕捉更宽的视野,让用户可以不用脸部太靠近摄像头就可以完成解锁(https://support.apple.com/zh-hk/HT208108 Face ID官方介绍,感兴趣的可以看一下)。
产品|人脸验证产品怎么做?
文章插图
硬件产品,则要考虑摄像头选型,一般都是选深度相机。
主流的深度相机方案是3D 结构光(3D Structure Light)和时间飞行法(TOF, Time of Flight)。怎么选?要结合实际采集数据的场景来定。
其中,3D结构光就像上述所说,精度高,但有效距离有限。距离越远,物体上投射到的光点越大,精度也就越差;所以3D结构光更适合应用在近距离的人脸识别,手势识别。像支付宝的线下刷脸支付终端就用的是3D结构光摄像头。
而远距离的时候,就适合TOF,比如AR.VR场景更适合用TOF。TOF,ime of Flight,简单来说就是通过光的飞行时间来计算距离。通过红外发射器发射调制过的光脉冲,遇到物体反射后,用接收器接收反射回来的光脉冲,并根据光脉冲的往返时间计算与物体之间的距离。
二、人脸核身操作流程一般来说分为三步:
1. 采集数据这一步的目的是为模型采集到质量合格的人脸图片/视频流,并按照采集要求传输给后端。
1)明确要求
首先需要明确要求,包括人脸图像要求和前端采集要求。
人脸图像要求:图像要求,需要产品综合业务需求和模型技术需求,进行确认,人脸比对要求一般包括以下:

  • 有大小合适的整个人脸
  • 光线充足,不反光
  • 人脸无遮挡
  • 人脸角度正
  • 人脸不模糊
活体检测要求:要根据业务上希望达到的效果和技术采用的方案综合确认。技术原理不同意,则差异很大。
前端采集要求:同样,需要整合活体检测和人脸比对的前端采集要求,形成一套完整的前端采集方案。
举例:
产品|人脸验证产品怎么做?
文章插图
2)人脸检测
“人脸检测是指对于任意一幅给定的图像,采用一定的策略对其进行搜索以确定其中是否含有人脸,如果是则返回脸的位置、大小和姿态。”人脸识别第一步,是检测到图像中人脸的存在。
就像人的认知一样,先认识到有人的存在,在判断这个人是谁。
注意点: