1、简介 1.1 方案概述 业务流程图
1.2 功能介绍 人脸注册 &实名认证
随着移动互联网的快速发展,全行业从“实名制”向“人脸实名认证”快速升级。
①传统实名制:通过姓名+身份证号,或姓名+身份证号+手机号进行应用的账号注册。该方式虽然操作简便,但存在身份信息被盗用、黑产批量注册薅羊毛等风险,企业也无法真实确认操作者为身份信息所有者本人。
②结合人脸注册:在实名制的基础之上,通过人脸图片进行账号注册,被公认为最可靠的身份认证方式。具体为基于前端 SDK 进行动作/炫瞳活体检测,结合服务端的图片活体检测算法,抵挡高清屏幕、照片、视频、AI 换脸、高仿真面具、3D 模型的攻击,判断用户为活人,保障业务环节中的用户真实性判断,并获得账号所有者的一张人脸底图。该方式虽获得了用户的人脸图片,但无法判断与身份信息的一致性,仍存在被重复使用的风险。
③人脸实名认证:由于部分业务有“一人一账号”的要求,因此需要在以上活体检测的基础之上,与权威数据源对接,确保用户身份真实有效,避免其他用户也用同一信息重复注册账号,具体方式为校验姓名+身份证号+人脸图片的一致性。
人脸认证登录
在以上人脸实名认证完成后,业务系统已具备了 uid 及人脸底图。后续用户进行登录、打卡等低安全要求的操作时,无需再次采集信息进行权威数据源核验,仅通过现场采集人脸照片进行 1:1 人脸比对,即可确认身份.
用户操作时,系统需要指定 uid 的映射信息(如输入用户名),这样就需要通过用户名先获取 uid。当然也可以第一次登录后,把 uid 或用户名保存在端上,后面登录跳过用户获取 uid 的过程。
1.3 产品构成 本方案由人脸注册、人脸识别登录和人脸认证登录组成,具体如下所示:
1.3.1 鉴权认证机制 调用接口:https://aip.baidubce.com/oauth/2.0/token
百度 AIP 开放平台使用 OAuth2.0 授权调用开放 API,调用 API(如:人脸注册、人脸识别、人脸认证接口)时必须在 URL 中带上 accesss_token 参数,获取Access Token。
1.3.2 传统实名制 调用接口:https://aip.baidubce.com/rest/2.0/face/v3/person/idmatch
验证用户输入的身份证号码和姓名是否匹配,用于判断用户信息是否真实。
1.3.3 人脸注册 调用接口:https://aip.baidubce.com/rest/2.0/face/v4/faceverify
人脸注册流程,端上进行离线动作/炫瞳/静默活体验证、服务端进行在线活体检测,从开发者服务端获取用户 uid、注册 uid 和人脸到人脸库。
人脸实名认证APP端方案接口文档在线图片活体接口文档人脸实名认证V4接口文档
业务流程图如下所示:
1.3.3 人脸实名认证 调用接口:https://aip.baidubce.com/rest/2.0/face/v4/mingjing/verify
人脸实名认证流程,端上进行离线动作/炫瞳/静默活体验证、服务端进行在线活体检测(防止视频攻击)、通过权威数据源人脸实名认证进行信息一致性核验,开发者可自行给定是否通过人脸相似度阈值(建议 80 分,对应万分之一误识率,安全级别高的建议 90 分)。
1.3.4 人脸认证登录 调用接口:https://aip.baidubce.com/rest/2.0/face/v4/mingjing/match
此接口入参中需要指定 uid,但能解决同一个人注册多用户的问题。这样就需要通过用户名先获取 uid。当然也可以第一次登录后,把 uid 或用户名保存在端上,后面登录跳过用户获取 uid 的过程。
业务流程图如下所示:
2、集成指南 2.1 准备工作 在正式集成前,需要做一些准备工作,完成一些账号、应用及配置,具体如下:
2.1.1 注册开发者 STEP1:点击百度 AI 开放平台导航右侧的控制台中的人脸识别,页面跳转登录完毕后,进入人脸识别后台。
STEP2:使用百度账号完成登录,如您还未持有百度账户,可以点击此处注册百度账户。
STEP3:进入百度云欢迎页面,填写企业/个人基本信息,注册完毕,至此成为开发者,进行个人实名及企业实名,获得相关 API 权限及免费额度。注:(如您之前已经是百度云用户或百度开发者中心用户,STEP3 可略过。)
STEP4:进入百度云控制台,找到人工智能相关服务面板。
STEP5:点击进入「人脸识别」模块。
注一:如果您通过百度 AI 开放平台登录到后台,AI 相关服务模块入口,如下图所示:
注二:如果您通过百度云直接登录后台,AI 相关服务模块入口,则如下图红框部分所示:
说明:两种入口只是展现形式不同,相关 AI 服务模块内容完全一样。
2.1.2 创建应用 创建好账号后,在正式调用 AI 能力之前,需要您创建以下应用,这个是调用服务的基础能力单元。选择「人脸识别」服务,首先见到此服务的控制台概览页,点击「创建应用」,即可进入应用创建界面,如下图所示:
2.1.3 获取密钥
在您创建完毕应用后,平台将会分配给您此应用的相关凭证,主要为 AppID、API Key、Secret Key,以上三个信息是您应用实际开发的主要凭证,每个应用之间各不相同,请您妥善保管。如上图所示。
注意:开发中请注意区分多份 aksk(API Key、Secret Key),每个 aksk 代表一个人脸库。
2.1.4 生成 token 刚才所创建的应用在调用开放平台 API 之前,首先需要获取 Access Token(用户身份验证和授权的凭证)您需要使用创建应用所分配到的 AppID、API Key 及 Secret Key,进行 Access Token 的生成,方法详见Access Token获取,我们为您准备了几种常见语言的请求示例代码。
注意: Access Token 的有效期为 30 天(以秒为单位),请您集成时注意在程序中定期请求新的 token,或每次请求都获取一次 token。
2.1.5 SDK license(十分重要!) 人脸 SDK License:此 license 用于 SDK 离线功能使用,用于接下来集成使用。
您可以在创建人脸实名认证 APP 方案后下载示例工程,获得已经配置好授权信息的版本。
2.2 集成策略 2.2.1 阈值选择 实名场景主要适用单帧检测模式,可以通过识别接口接口中的 faceliveness 参数判断,超过阈值即为活体通过。阈值设置越高,对应的安全性越高,即拒识率越高,但通过率相应下降
关于以上数值的概念介绍:
拒绝率(TRR):如 99%,代表 100 次作弊假体攻击,会有 99 次被拒绝。
误拒率(FRR):如 0.5%,指 1000 次真人请求,会有 5 次因为活体分数低于阈值被错误拒绝。
通过率(TAR):如 99%,指 100 次真人请求,会有 99 次因为活体分数高于阈值而通过。
阈值(Threshold):高于此数值,则可判断为活体。
2.2.2 图片压缩 SDK 拿到人脸后,可以基于本地的人脸检测,取到人脸的标准框位置,基于人脸关键点进行人脸部分的进一步自动剪裁,减少图片的大小,总而减少网络传输耗时。通常建议:剪裁(人脸不小于 100px)、分辨率压缩(最小宽度 200px 左右)、质量压缩(控制在 0.8 以上),以上三种处理方式也可以组合叠加使用。
2.3 iOS 集成说明 查看 APP 方案文档:https://ai.baidu.com/ai-doc/FACE/Kkxh51gck
2.4 Android 集成说明 查看 APP 方案文档:https://ai.baidu.com/ai-doc/FACE/Ykxh51xsl
2.5 H5 集成说明(手机/PC 浏览器) 此方案适用于微信公众号及微信小程序。
查看 H5 方案文档:https://ai.baidu.com/ai-doc/FACE/skxie72kp