应用策略
通用流程概述
如上图所示,人脸识别的核心业务流程可以分为三个步骤。
- 检测采集:通过视频流实时检测跟踪,并采集到符合质量要求的人脸图片,用于后续的识别。
- 活体判断:为可选步骤,主要保障业务操作者为真人,避免业务作弊。加上这步的校验,即只有满足活体判断通过,人脸图片才会被采集。
- 对比识别:1:1对比主要是判断「你是你」,用于核实身份的真实性;1:N搜索主要判断「你是谁」,用于明确身份的具体所属。
活体检测
活体基础原理
- RGB可见光活体:主要基于图片破绽,判断目标对象是否为活体。例如图像中的屏幕反光、成像畸形等,最主要的应用情形为屏幕的二次翻拍等攻击防御。此种活体对于待检测图片的要求,主要需要满足画面中除了人脸以外,要尽可能保留一些背景内容,用于查找破绽,通常建议人脸与屏幕的长宽比为1:3。为控制达到此比例,建议通过调整最小检测人脸参数,控制采集的人脸不可过大,避免人脸面积占比过高,而导致图片中没有多少背景信息。同时RGB活体受光线影响较大,所以在强光、暗光等场景,容易数值波动较大,主要影响的是「通过率」,产品策略上需要通过适当的补光、使用宽动态镜头抵消逆光等方式缓解。
- NIR近红外活体:主要基于近红外光线反射成像原理,通过人脸呈现来判断是否为活体。即使是夜间或者没有自然光的情况下,依然可以判断活体。因为其成像特点,对于屏幕、图片等攻击形式,基本可以达到近似于100%的活体防御。同时近红外设备的成本,相对性价比更高。
- Depth深度活体(3D结构光):结构光原理是通过主动光发射,在物体上形成光栅,并接受此信息进行活体分析。同样可以不需要自然光。3D结构光的成像更为稳定,抗攻击能力更强,对图像噪声的抗干扰能力也更强,是相对更加安全和稳定的方案,但相应的硬件设备造价也较高,需要根据实际业务成本预算,进行综合考虑。
以上,无论活体是否可以通过,我们业务的最终目的,还是要进行「对比识别」,所以拿到合适的RGB图像还是最为关键,保障符合条件的RGB图像获取也是需要在活体判断同时,最为需要关注的事情。
在实际业务场景中,需要根据场景特点,灵活组合使用以上几种活体方案。当然,实际业务中,没有绝对100%的安全,在应用过程中,还需要根据业务流程特点,指定一系列的辅助措施,如证件信息读取、密码、其他生物特征识别等,达到刚安全的核验。
产品应用策略
活体判断逻辑简单理解为:满足活体条件才可以采集图片,否则一直反复判断,直到满足活体条件为止。因为我们最终送去识别的图片是RGB图片,所以需要保证活体通过时,在同一时间采集RGB图片,才可真正防止作弊攻击。当多种活体叠加使用时,需要满足所有活体都通过,才能出发此操作,如果有任一活体没有通过,都不可进入识别步骤。
场景及应用方案
- 通行场景:此场景通常保障通行速度为主,确保不影响通行秩序和效率。所以建议无需使用三重活体检测,可仅用NIR活体或Depth活体,保障效率同时仍可保证安全性。
- 身份核验场景:此场景通常保障业务安全性为主,可尽可能提供更加安全的活体方案。如RGB+NIR,或者RGB+Depth,乃至RGB+NIR+Depth,最大程度确保对攻击的拒绝率较高。
- 强光/暗光场景:光线较强的场景,RGB活体会受影响比较严重,建议使用NIR或者Depth活体,同时尽量通过产品策略避免这两种情况的光线,例如添加补光灯、配备遮光板等。
应用方案及模组选择
- 无需活体:如有人值守的场景下,活体检测并无太大的必要(活体检测也会增加额外的业务耗时),现有设备的单目USB摄像头即可。
- 仅用RGB可见光活体:如果您的设备已经配备了USB单目摄像头,则无需更换,输出的RGB图像可直接用于RGB可见光活体算法识别。
- RGB可见光+NIR近红外活体:需要配备能够同时获取RGB、NIR近红外数据的镜头使用。
- RGB可见光+Depth深度活体:需要配备能够同时获取RGB、Depth深度图像数据的镜头使用。
- RGB可见光+NIR近红外+Depth深度活体:此种方式安全度最高,目前SDK正在模组适配中,后续会陆续推出已适配的模组方案,敬请期待。
指标
活体检测存在几个标准的指标,如下所示:
- 拒绝率(TRR):如99%,代表100次作弊假体攻击,会有99次被拒绝。
- 误拒率(FRR):如0.5%,指1000次真人请求,会有5次因为活体分数低于阈值被错误拒绝。
- 通过率(TAR):如99%,指100次真人请求,会有99次因为活体分数高于阈值而通过。
- 阈值(Threshold):高于此数值,则可判断为活体。
温馨提示:此SDK涉及多种离线活体检测模型,加上镜头模组效果各异,使用环境也较为复杂,以下给出综合测试值,仅供参考:
- 拒绝率:> 99.5%
- 误拒率:< 1%
- 通过率:> 99%
阈值选择推荐
活体分值区间为[0~1],大部分情况的活体攻击,活体分值近似于接近0.0,建议阈值如下,高于此阈值的即可判断为活体。
- RGB可见光活体:0.8
- NIR近红外活体:0.8
- Depth深度活体(3D结构光):0.8
人脸1:1对比
人脸对比分为两种常见形态,具体如下:
对比类型:图片vs图片
如果有两张待对比的图片(如证件图片、以事先获取到的人脸生活照等),则可以直接通过离线SDK进行对比,业务流程如下图所示:
对比类型:实时视频流vs图片
这是最为常见的1:1对比类型,一张事先获取的图片(通常为身份证芯片照、证件照片等),与现场人脸采集的图片进行对比。如果需要为无人看守,则需要配备活体检测保障业务真实性和安全性。
人脸1:N搜索
将需要识别的人脸图片集注册到本地人脸库中,当有用户需要识别身份时,从视频流中实时采集人脸图片,与人脸库中的人脸集合对比,得到搜索结果。如果需要为无人看守,则需要配备活体检测保障业务真实性和安全性。