开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
人脸识别

    明镜人脸实名认证

    明镜人脸实名认证接口

    人脸识别接口分为V2、V3和v4三个版本,本文档为V4版本接口的说明文档,请确认您在百度云后台获得的是V4版本接口权限,再来阅读本文档。

    辨别接口版本的方法是:在百度云后台进入【应用列表】,点击【应用名称】,在【API列表】中可以看到【请求地址】,若请求地址中带有【v4】标识,则您具有的是v4权限,可以阅读本文档;若请求地址中带有【v3】标识,则您具有的是v2权限,应该去阅读v3文档

    如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

    • 在百度云控制台内 提交工单,咨询问题类型请选择人工智能服务
    • 如有需要讨论的疑问,欢迎进入 AI社区 与其他开发者们一同交流。

    能力介绍

    业务能力

    • 质量检测(可选):判断图片中是否包含人脸,以及人脸在姿态、遮挡、模糊、光照等方面是否符合识别条件。
    • 活体检测(可选):基于图片中的破绽分析,判断其中的人脸是否为二次翻拍(举例:如用户A用手机拍摄了一张包含人脸的图片一,用户B翻拍了图片一得到了图片二,并用图片二伪造成用户A去进行识别操作,这种情况普遍发生在金融开户、实名认证等环节)。
    • 图片加密及风控(可选):当配合增强级采集SDK、增强级安全加固采集SDK、金融级采集SDK、金融级安全加固采集SDK版本使用,对采集SDK输出的加密图片进行解密(加密传输可以有效避免第三方非法黑产绕过APP模拟请求攻击云端接口的行为,Eg:脚本攻击等); 以及结合百度安全实验室大数据风控能力,对采集SDK的发起端设备进行风控识别,辨别是否为风险设备,Eg:ROM注入、视频劫持等;
    • 人脸实名认证(必选):基于姓名和身份证号,调取公安权威数据源人脸图,将当前获取的人脸图片,与公安数据源人脸图进行对比,得出比对分数,并基于此进行业务判断是否为同一人。由于公安数据源人脸图具有最权威的身份证明作用,故对用户本人的验证结果可信度也最为合理。

    业务逻辑

    • 上述三项能力,人脸实名认证能力为必选能力,质量检测、活体检测、图片加密及风控为可选能力,验证顺序为人脸质量检测->活体检测->人脸实名认证
    • 如选择了质量检测和活体检测能力,则有任意一个条件不通过,整个请求流程终止,并返回错误码,描述具体的不符合信息
    • 基于此顺序串行验证逻辑,可以避免大量不符合条件的请求流转到人脸实名认证,节约您的成本。

    推荐阈值

    • 此接口使用的对比算法,针对带水纹证件照采用了专项的模型处理,可保证水纹信息的影响降到尽可能低。
    • 如比对成功,最终返回的有效数据为一个对比分值,在0~1之间,您可以设定具体的阈值来判断是否验证通过。
    • 人证相似度的推荐阈值为0.8,对应的误识率为万分之一

    请求说明

    注意事项

    • 请求体格式化:Content-Type为application/json,通过json格式化请求体。
    • Base64编码:请求的图片需经过Base64编码,图片的base64编码指将图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图片的二进制,然后用Base64格式编码即可。需要注意的是,图片的base64编码是不包含图片头的,如data:image/jpg;base64,
    • 图片格式:现支持PNG、JPG、JPEG、BMP,不支持GIF图片

    请求示例

    HTTP方法:POST

    请求URL: https://aip.baidubce.com/rest/2.0/face/v4/mingjing/verify

    URL参数:

    参数
    access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取

    Header:

    参数
    Content-Type application/json

    Body中放置请求参数,参数详情如下:

    请求参数

    参数 必选 类型 说明
    app string APP端类型,配合采集SDK使用时须传入
    ios:iOS端采集SDK
    android:安卓端采集SDK
    sec_level string SDK安全级别,配合采集SDK使用时须传入,默认标准级
    common : 4.1标准级采集SDK,人脸图片未进行加密处理
    plus : 4.1增强级采集SDK,输出加密人脸图片
    financial : 1.0.1金融级采集SDK
    model string url 参数,使用安全加固版增强级、金融级SDK请求时必填,拼接在 url 里
    sec : 安全加固
    skey string url 参数,使用安全加固版增强级、金融级SDK请求时必填,拼接在 url 里
    skey:安全加固SDK 上报的密钥信息skey
    x_device_id string url 参数,使用安全加固版增强级、金融级SDK请求时必填,拼接在 url 里
    deviceId:安全加固 SDK 上报的密钥信息deviceId
    data string 使用安全加固版增强级、金融级SDK请求时必填,
    安全加固版SDK输出的加密数据
    id_card_number string 身份证件号,使用安全加固版增强级、金融级SDK请求时已包含在加密数据data中,无需额外传入
    name string 姓名(需要是 utf8 编码),使用安全加固版增强级、金融级SDK请求时已包含在加密数据data中,无需额外传入
    liveness_control string 活体控制参数
    NONE: 不进行控制
    LOW:较低的活体要求(高通过率 低攻击拒绝率)
    NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
    HIGH: 较高的活体要求(高攻击拒绝率 低通过率)
    默认为NORMAL
    spoofing_control string 合成图控制参数
    NONE: 不进行控制
    LOW:较低的合成图检测要求(高通过率 低攻击拒绝率)
    NORMAL: 一般的合成图检测要求(平衡的攻击拒绝率, 通过率)
    HIGH: 较高的合成图检测要求(平衡的攻击拒绝率, 通过率)
    默认为NORMAL
    quality_control string 质量控制参数
    NONE: 不进行控制
    LOW:较低的质量要求
    NORMAL: 一般的质量要求
    HIGH: 较高的质量要求
    默认为NONE
    image string 图片信息(数据大小应小于10M 分辨率应小于1920*1080),使用安全加固版增强级、金融级SDK请求时已包含在加密数据data中,无需额外传入
    image_type string 图片类型,使用安全加固版增强级、金融级SDK请求时已包含在加密数据data中,无需额外传入
    BASE64 : 图片的base64值
    URL : 图片的 URL
    FACE_TOKEN : 人脸标识
    默认 BASE64
    risk_identify boolean 是否进行风险识别,仅配合非安全加固版增强级、金融级SDK使用时需传入此项
    Ture:打开风险识别。(接受SDK端传入的指纹信息,返回识别结果)
    False:关闭风险识别。
    默认False

    请求示例

     
    // 纯API接入或配合标准级SDK使用
    {
        "image_type": "BASE64",
        "image": "/9j/4AAQSkZJR",
        "id_card_number": "131102********0653",
        "name": "***",
        "quality_control": "LOW",
        "liveness_control": "LOW",
        "spoofing_control": "LOW"
    }
     
     
    
    // 非安全加固增强级SDK
    {
        "sec_level": "plus",
        "image_type": "BASE64",
        "image": "ORhZMG+ecz+",
        "id_card_number": "131102********0653",
        "name": "***",
        "quality_control": "LOW",
        "liveness_control": "LOW",
        "spoofing_control": "LOW",
        "risk_identify": true,
        "zid": "3E6F1E82AACFCFD0130E86DF6907757909",
        "ip": "172.30.154.173",
        "phone": "185****9064",
        "app": "android"
    }
     
     
    // 安全加固增强级SDK
    //增强级安全加固与非安全加固版本判别方法:是否存在文件lib-liantian-release-3.5.8.8.aar,若存在则为安全加固版,不存在则为非安全加固版
    
    url 中添加参数 skey=dFDxm5B7%2FtPVK62jxDK%2BSQ%3D%3D&x_device_id=9463377b59b151cc2d70ad1d61188979&model=sec     skey 和 x_device_id 需要从端上获取
    {
        "app": "android",
        "sec_level": "plus",
        "data": "ILTtTS2Hw6Czaq+NzOcD4NL5",
        "quality_control": "LOW",
        "liveness_control": "LOW",
        "spoofing_control": "LOW"
    }
     
     
    // 非安全加固金融级SDK
    {
        "sec_level": "financial",
        "image_type": "BASE64",
        "id_card_number": "131102********0653",
        "name": "***",
        "quality_control": "LOW",
        "liveness_control": "LOW",
        "spoofing_control": "LOW",
        "risk_identify": true,
        "zid": "3E6F1E82AACFCFD0130E86DF6907757909",
        "ip": "172.30.154.173",
        "phone": "185****9064",
        "app": "Android",
        "image": "U4d8zD6NbFi2/vz3"
    }
     
     
    // 安全加固金融级SDK
    //金融级安全加固与非安全加固版本判别方法:是否存在文件lib-liantianFinancial-release-3.5.9.0.aar,若存在则为安全加固版,不存在则为非安全加固版
    
    
    url 中添加参数 skey=dFDxm5B7%2FtPVK62jxDK%2BSQ%3D%3D&x_device_id=9463377b59b151cc2d70ad1d61188979&model=sec     skey 和 x_device_id 需要从客户端上获取
    {
        "app": "android",
        "sec_level": "financial",
        "data": "ILTtTS2Hw6Czaq+NzOcD4NL5",
        "quality_control": "LOW",
        "liveness_control": "LOW",
        "spoofing_control": "LOW"
    }
     

    返回参数

    参数 类型 说明
    log_id number 调用的日志id
    result jsonObject 认证返回的结果
    +score float 与公安数据源人脸图相似度可能性,用于验证生活照与公安数据源人脸图是否为同一人,有正常分数时为[0~100],推荐阈值80,超过即判断为同一人
    +verify_status number 认证状态,取值如下:
    0 : 正常
    1 : 身份证号与姓名不匹配或该身份证号不存在
    2 : 公安网图片不存在或质量过低
    dec_image string 对SDK传入的加密图片进行解密。
    仅APP场景且进行了图片加密时,此参数返回解密后的人脸图片信息
    risk_level string 判断设备是否发生过风险行为来判断风险级别,取值(数值由高到低):
    1 – 高危
    2 – 嫌疑
    3 – 普通
    4 – 正常
    risk_tag string 风险标签,若判断为有风险,则会有风险标签json 数组告知风险类型
    例如:general_inject
    risk_warn_code int 风控返回参数,只有在 risk_identify 为 true 时才返回,只有在风控服务异常的时候才返回这个字段

    返回示例

    {
        "log_id": 1370579072568000512,
        "result": {
            "score": 40.884,
            "verify_status": 0
        },
        "dec_image": "/9j/4AAQSkZJRgABAgAAAQABAAD",
        "risk_level": "3",
        "risk_tag": [
            "空"
        ]
    }

    参数说明

    • 质量控制参数说明

    不同的控制度下所对应的质量控制阈值,如果检测出来的质量信息某一项不符合控制阈值的要求,则会返回错误信息。

    控制度 left_eye right_eye nose mouth left_cheek right_cheek chin_contour illumination blurdegree completeness
    LOW 0.8 0.8 0.8 0.8 0.8 0.8 0.8 20 0.8 0
    NORMAL 0.6 0.6 0.6 0.6 0.6 0.6 0.6 40 0.6 0
    HIGH 0.3 0.3 0.2 0.2 0.3 0.3 0.3 50 0.2 1

    活体控制参数说明

    不同的控制度下所对应的活体控制阈值,如果检测出来的活体分数小于控制阈值,则会返回错误信息。

    控制度 阈值 说明
    LOW 0.05 活体误拒率:万分之一;拒绝率:97.75%
    NORMAL(推荐) 0.3 活体误拒率:千分之一;拒绝率:98.82%
    HIGH 0.9 活体误拒率:百分之一;拒绝率:99.77%

    1、误拒率: 把真人识别为假人的概率. 阈值越高,安全性越高, 要求也就越高, 对应的误识率就越高
    2、通过率=1-误拒率

    关于以上数值的概念介绍:

    拒绝率(TRR):如99%,代表100次作弊假体攻击,会有99次被拒绝。 误拒率(FRR):如0.5%,指1000次真人请求,会有5次因为活体分数低于阈值被错误拒绝。 通过率(TAR):如99%,指100次真人请求,会有99次因为活体分数高于阈值而通过。 阈值(Threshold):高于此数值,则可判断为活体。

    合成图控制参数说明

    不同的控制度下所对应的合成图检测(PS、人脸融合等)阈值,如果检测出来的分数大于控制阈值,则会返回错误信息。

    控制度 阈值 误拒率(FRR) 通过率 攻击拒绝率(TRR))
    LOW 0.00023 5% 95% 94.93%
    NORMAL(推荐) 0.00048 1% 99% 89.71%
    HIGH 0.00109 0.1% 99.9% 84.57%

    1、误拒率: 把正常图片识别为合成图片的概率. 阈值越高,安全性越高, 要求也就越高, 对应的误识率就越高
    2、通过率=1-误拒率

    关于以上数值的概念介绍:

    阈值(Threshold):高于此数值,则可判断为是合成图攻击。

    错误码

    请参考错误码说明文档

    上一篇
    身份证与名字比对
    下一篇
    人脸实名认证