人脸与身份证对比
1.简介
1.1 场景简介
很多情况下需要将人脸信息与身份证进行对比,以核实身份的真实性。
本文将通过支持人脸的识别的接口及简道云 前端事件,为您详细讲解人脸与身份证的对比。
1.2 预期效果
输入姓名、身份证号、上传人脸图像,即可判定出是否为同一人,效果如下:
注:结果返回数据略有延迟,上传数据后还请耐心等待。
2. 接口准备
2.1 购买接口
首先我们需要找到一个支持人脸识别对比接口,我们以阿里云官方提供的接口为例,讲解如何在简道云的前端事件中配置:点击进入阿里云市场购买接口。
我们先购买一个 0 元/6 次 的体验版本,可以在 云市场 已购买的服务中看到我们刚刚购买的接口。
2.2 接口分析
接下来,点击接口,往下翻到 API 接口的详情介绍,点击「人脸身份证比对」这个接口调用地址进行分析。
【调用地址】:http://faceidcardb.shumaidata.com/getfaceidb 或者 https://faceidcardb.shumaidata.com/getfaceidb
【请求方式】:POST
【返回类型】:JSON
【请求的Headers】:Authorization: APPCODE +英文空格+ 你自己的 APPCODE(服从阿里云云市场的标准鉴权方式)
格式如下:
Authorization:APPCODE AppCode值
【请求body】
可以是 pdf 的 url 或者 base64 编码:
名称 | 类型 | 是否必须 | 描述 |
idcard | STRING | 必选 | 身份证号 |
image | STRING | 可选 | 图片base64字符串,image和url二选一 |
name | STRING | 必选 | 姓名 |
url | STRING | 可选 | 图片url,image和url二选一 |
正常返回示例:
{
"msg": "",
"success": true,
"code": 200,
"data":{
"order_no": "568753443590770688", //订单号
"score": 0.82, //score 比较结果分值,0-1之间的小数,参考指标:0.40以下系统判断为不同人;0.40-0.44不能确定是否为同一人;0.45及以上系统判断为同一人
"msg": "系统判断为同一人", //比较结果的描述
"incorrect": 100 //比较结果返回码,见incorrect详解
}
}
incorrect详解
1、编号说明
100 比对成功
101 身份证号码姓名不一致
102 库中无此号
103 身份核验成功,数据非法,公安已经进行了身份核验(姓名身份证号码一致,公安返回的错误: 除库中无照片(109),特征提取失败(110),检测到多于一张人脸(111),人脸识别系统异常(106),图片不合法(112)以外的情况
104 数据非法,公安未进行身份核验前图片校验,公安返回的错误: 除照片质量不合格(107),上传图片文件过大(108),人像比对服务异常(113)以外的情况
106 身份核验成功,人脸识别系统异常
107 照片质量不合格
108 上传图片文件过大
109 身份核验成功,库中无照片
110 身份核验成功,特征提取失败
111 身份核验成功,检测到多于一张人脸
112 身份核验成功,图片不合法
113 人像比对服务异常
103 身份核验成功,数据非法
2、103,104区别
103证件号码一致,照片比对时报错;104未进行证件号校验,数据检验报错。
3、104,107区别
107检测到的公安错误;104未检测到的公安错误
3. 表单设计
根据需要返回的内容设计表单字段:
- 添加一个图片字段,更改名称为「人脸图像」,作为 前端事件 的触发字段。
- 再添加 3 个单行文本字段,用于将姓名、身份证号的书写以及调取的返回结果的填充。
字段名 | 字段类型 | 用途 |
姓名 | 单行文本 | 输入身份证上对应的姓名 |
身份证号 | 单行文本 | 输入身份证号 |
人脸图像 | 图片 | 上传人脸图像 |
结果 | 单行文本 | 上传人脸图像后,将图像与输入的身份证号及姓名进行比对,返回比对结果,填入此文本内 |
4. 前端事件设置
4.1 配置入口
添加好了以后,即可在表单属性中配置前端事件。
4.2 事件名称&触发设置
点击添加「前端事件」后,先为前端事件设置名称信息及触发字段。触发字段选择表单中添加的图片字段(人脸图像)。
4.3 请求设置
根据【2.2 接口分析】章节,依次设置下列参数:
- 请求类型:POST
- URL:https://faceidcardb.shumaidata.com/getfaceidb
- 返回值格式:JSON
Hearder:
- Hearder:Authorization=APPCODE+英文空格+自己的 APPCODE
自己的 APPCODE 需要前往 云市场 中查找复制。
Body:
- Body:x-www-form-urlencoded
name | value |
idcard | 身份证号字段 |
name | 姓名字段 |
url | 人脸图像字段 |
注:value 的值从右侧的「插入字段」中选择。
返回值:
- 点击设置,并添加所有字段。
根据 Json Path 规则,主表字段提取的方式为 $.data.msg,我们在返回值设置中添加「结果」字段,再写入提取方式即可。
格式示例:$.data.msg
将 接口 详情中返回示例中的参数,按照格式,完成字段的配置。
4.4 效果演示
1)效果演示
按照上述步骤,已完成前端事件的全部设置,接下来点击「保存并调试」,进入调试,检查有无问题。
填写真实的姓名、身份证信息,并上传与身份信息对应的人脸图像,然后点击「发送请求」,即可看到返回「结果」,即配置成功。