人脸验证产品怎么做?

石青
2 评论 5599 浏览 32 收藏 16 分钟
零基础想转行产品经理?别担心!我们的实战营专为转行者设计,提供体系化课程和项目实战,帮你弥补经验短板,成功实现职业转型,拿到心仪offer。

编辑导语:人脸验证产品我们应该都很熟悉了,不少人都在用人脸进行解锁或者支付。然而,我们对人脸验证的了解仅限于在使用层面上,但是对于其开发却少有人了解。今天,在本篇文章中,作者通过自己亲身接触的人脸验证产品的开发流程,为我们关于人脸验证产品怎么做进行了总结。

在业务中,有幸深度接触了人脸验证这款产品,为及时沉淀总结,所以有了这篇文章。需先说明,本文人脸验证指的是验证当前操作者是不是用户本人。

一、梳理端和场景

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)人脸检测

“人脸检测是指对于任意一幅给定的图像,采用一定的策略对其进行搜索以确定其中是否含有人脸,如果是则返回脸的位置、大小和姿态。”人脸识别第一步,是检测到图像中人脸的存在。

就像人的认知一样,先认识到有人的存在,在判断这个人是谁。

注意点:

  • 如果采用的技术方案是分类,可同时找出图像中的所有人脸,策略上要确认检测到多张人脸时,以哪张人脸为准,如以最大人脸为目标人脸。
  • 如果用的是遍历,技术上简单来说指的是在图像中遍历人脸,若将图像全部遍历完,耗时较长,可定策略找到一张符合大小的人脸就结束,如果检测的人脸小于要求,则继续遍历。

3)IQA(图像质量评价)

在图像识别中,所采集到的图像质量直接影响识别结果的准确性和可靠性。好比我远远看到有个人和我打招呼,但是隔得太远,我看不清具体的五官,所以无法判断他是谁。

因此,人脸识别,需要过滤掉不符合人脸识别质量要求的人脸图像,所以需要在采集时做IQA。

在采集时,实时校验人脸的光照条件,姿态角度、遮挡、清晰度,符合质量条件的才会通过进入下一步。采集过程中,图像不符合要求时,根据检测结果提示用户正确的操作。

2.欺诈人脸检测

欺诈人脸检测,指的检测图像是否是欺诈人脸,纸张打印人脸图,人脸照片,电子设备屏幕中的人脸数字图像或者是人脸面具等。

这里说一点,业务侧一般用活体检测这个词,但学术其实说的是Face spoof detection欺诈人脸检测。字面上理解活体检测,指的是检测这个人是不是活体。

比如说带着面具的人,模型应该是判断成活体还是非活体,对于这个问题,用活体或者非活体来定义是有些模糊,用欺诈人脸和非欺诈人脸会更准确。

简单介绍几种常见方法:

  1. 基于图片纹理差异:无需用户进行繁琐的脸部动作,只要求用户实时拍摄,传入模型一张照片即可,是基于图像纹理差异(摩尔纹、成像畸形等)来做判断,可有效防止屏幕二次翻拍等作弊攻击;
  2. 基于运动信息:需要用户随机进行眨眼,摇头,抬头等动作。基于用户运动信息,可有效防止纸张,照片等作弊攻击。 因为动作策略是随机的,需要欺诈人脸在极短时间内进行正确的反应,所以对3D建模类攻击也有一定的防范作用。除了眨眼,摇头类,也有读数字的,通过声纹+唇语的方式来判断。缺点是检测耗时长,对用户不够友好;
  3. 基于面部闪烁 :由于真实人脸与欺骗人脸的材质不同,导致了成像系统反射率有差异。通过屏幕来发射不同颜色和强度的光线,一般是红蓝绿,可有效防止纸张,照片,屏幕等作弊攻击;
  4. 基于红外:也是因为材质不同,成像系统反射率有差异,但可见光下,区别不是很显著,而红外波段会明显不同。红外活体检测就利用了这一点,可有效防止纸张,照片,屏幕等作弊攻击。 但依赖特殊硬件来发射近红外光。需要特殊硬件;
  5. 基于3D结构光:前面提过,不赘述。需要特殊硬件;
  6. 基于TOF:前面提过,不赘述。需要特殊硬件。

3. 人脸1:1比对

比对的时候,同时会对图像做一些预处理。(需要对图像二次加工的产品,则一般有单独的预处理模型。具体,也视公司资源而言…)

用户在拍摄时,难免会受到外在因素的干扰,比如光线、表情、阴影遮挡等,导致图像质量不够好。虽然在采集的时候,我们已经过滤了部分低质量的图像,但为了用户体验,不可能用很严苛的标准。

所以比对的时候,会对采集到的人脸图像做一些处理,比如说抠出图像里的人脸,避免图片里非人像的部分造成影响,调整光线、旋转、降噪尺寸归一化,然后提取出人脸特征,找出关键点,将输入人脸和样本人脸对齐,最后计算出相似度。

4. 业务策略

前面所述大部分都是技术上的流程,这里总结一下,业务上产品能做些什么呢?

注意:以下非必要,需要产品结合业务需求和技术能力权衡确定。

1)限流策略

操作频繁限制。

2)采集超时策略

在xx时间内若采集不到符合要求的图像,则结束采集。

3)用户操作指引

开始采集前,按照人脸图像要求,给用户一定的交互提示,可对后面的图像采集质量有一定正向作用。

如请勿遮挡面部,请保持正视屏幕,保持不动,请保持光线充足。疫情期间,视模型要求和业务要求,可增加“请摘下口罩”指引。

4)屏幕亮度调节

进入采集流程,通过调节屏幕亮度,白底UI等,降低光线对图片成像的影响。注意,这里仅针对RGB成像方案,使用非RGB摄像头就不需要考虑环境光的影响。

5)确认图像采集标准

前文已说,不赘述。

6)检测到多个人脸

人脸比对时,检测到多个人脸,一般以最大人脸为目标人脸;活体检测时,则根据场景考虑是否,有任一非活体人脸则判断不通过。

7)阈值策略

不同场景,阈值标准不一样。

上图是腾讯人脸比对API接口的返回参数之一,借这个介绍一下。

这里返回值里面提供了千分之一、万分之一、十万分之一不同的误识率,不同的误识率下对应不同的阈值。

如果业务上能接受千分之一的误识率下,那么分数大于 40 分,就可以认为是同一个人;但十万分之一误识率要求下,90分以下的就认为他们可能不是同一个人。所以产品要根据业务属性决定以哪个阈值为合格标准。

8)验证失败,弥补策略

算法是概览,也会出错。为了良好的用户体验,可以在人脸验证失败,给用户提供其他验证方式。

9)建立用户个人人脸库,增加比对样本

当人脸识别失败,用户转而用其他方式进行验证,验证通过后,我们可以记录下之前的人脸数据,丰富这位用户的个人人脸库。因为用户的面部是会发生变化,如果一直用一张样本照片,随着时间推移,差异会越来越大,识别会越来不准。

10)注视感知

苹果FaceID的注视感知功能。它能识别用户的眼睛有没有睁开,是否看向手机。只有用户眼睛睁开,且看向摄像头时,才能解锁设备。

这样,其他人就难以在用户不知情的情况下(如在睡着时)解锁设备。这里其实考虑的是生物特征的开放性。相比传统密码,生物特征每天都暴露在公众场合,而且一旦被窃取,就是终生被窃取,不像传统密码一样。

三星部分机型,虽然没有精细到注视感知,不过支持有无睁眼的判断。但注视感知功能,会对部分眼睛有疾病的用户造成困扰,如斜视的用户,所以苹果也提供了关闭这个功能的选项。

简单延伸一下生物特征安全性的问题,怎么样才能防范窃取?

  • 首先:要减少不必要的生物特征采集,存储。政府层面应当规范生物特征的采集、存储、传输。
  • 其次:要让欺诈无利可图。不断发展相关技术,让欺诈成本远高于收益,比如活体检测,可以检测出纸张,照片,视频等欺诈攻击。而3D面具成本高,且不具备批量复制性质,材质和人脸的区别也可被检测出来。

感谢阅读,持续学习中,如有错误的地方,请不吝赐教。

 

作者:石青;微信公众号:shiqingzixishi

本文由 @石青 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自 Pexels,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 超棒!!!

    来自北京 回复
  2. 人脸识别?现在大部分都是为了收集用户信息,指纹识别,人脸这些能不用就不要用

    来自广东 回复
专题
13480人已学习12篇文章
OTA,在线旅游(Online Travel Agency)指“旅游消费者通过网络向旅游服务提供商预定旅游产品或服务,并通过网上支付或者线下付费。
专题
18319人已学习15篇文章
本专题的文章分享了Android和iOS在产品、设计、交互等方面的差异。
专题
35343人已学习13篇文章
为了给用户提供更好的体验,你需要一套合理的推送策略。
专题
13196人已学习17篇文章
在一些老系统可能会有流程复杂、扩展性不强的问题,此时便需要进行重构。本专题的文章分享了产品重构指南。
专题
11816人已学习12篇文章
2023年双十一逐渐临近,各个电商平台也摩拳擦掌开始准备。本专题的文章分享了双十一营销玩法。
专题
14460人已学习12篇文章
4P指产品(Product)、定价(Price)、渠道(Place)、宣传(Promotion)。本专题的文章分享了解读4P营销理论。