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

    增强级人脸实名认证

    增强级人脸实名认证接口

    能力介绍

    本接口需要配合人脸采集SDK使用,采集SDK输出的图片会进行加密,在人脸实名认证加密版接口进行解密。以此防止信息传输过程中泄露或遭到第三方非法攻击,此接口必须配合百度人脸采集SDK使用。

    业务能力

    • 质量检测(可选):判断图片中是否包含人脸,以及人脸在姿态、遮挡、模糊、光照等方面是否符合识别条件;
    • 活体检测(可选):基于图片中的破绽分析,判断其中的人脸是否为二次翻拍(举例:如用户A用手机拍摄了一张包含人脸的图片一,用户B翻拍了图片一得到了图片二,并用图片二伪造成用户A去进行识别操作,这种情况普遍发生在金融开户、实名认证等环节。);
    • 人脸实名认证(必选):基于姓名和身份证号,调取公民身份证小图(源自权威数据源),将当前获取的人脸图片,与此证件小图进行对比,得出比对分数,并基于此进行业务判断是否为同一人。由于公民身份证小图,具有最权威的身份证明作用,故对用户本人的验证结果可信度也最为合理。

    业务逻辑

    • 上述三项能力为顺序串行验证,接口默认返回身份对比分值,质量检测和活体检测为可选项。如选择了这两项,则验证顺序为人脸质量检测->活体检测->人脸实名认证。您也可以根据业务场景,选择这两项中的某一项或都不选择。
    • 如选择了前两个环节,则有任意一个条件不通过,则整个请求流程终止,并返回错误码,描述具体的不符合信息
    • 基于此顺序串行验证逻辑,可以避免大量不符合条件的请求流转到人脸实名认证,节约您的成本。

    推荐阈值

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

    计费逻辑

    • 前两个环节图片不符合校验规则,会以error_code形式反馈,属于正向业务判断,这两个环节的请求全部免费。真正请求到人脸实名认证这步并返回结果,才会进行计费。价格文档

    调用方式

    请求URL数据格式

    向API服务地址使用POST发送请求,必须在URL中带上参数access_token,可通过后台的API Key和Secret Key生成,具体方式请参考“Access Token获取”。

    示例代码

    #!/bin/bash
    curl -i -k 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【百度云应用的AK】&client_secret=【百度云应用的SK】'
    <?php
    function request_post($url = '', $param = '') {
            if (empty($url) || empty($param)) {
                return false;
            }
            
            $postUrl = $url;
            $curlPost = $param;
            $curl = curl_init();//初始化curl
            curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定网页
            curl_setopt($curl, CURLOPT_HEADER, 0);//设置header
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
            curl_setopt($curl, CURLOPT_POST, 1);//post提交方式
            curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
            $data = curl_exec($curl);//运行curl
            curl_close($curl);
            
            return $data;
        }
    
        $url = 'https://aip.baidubce.com/oauth/2.0/token';
        $post_data['grant_type']       = 'client_credentials';
        $post_data['client_id']      = '你的 Api Key';
        $post_data['client_secret'] = '你的 Secret Key';
        $o = "";
        foreach ( $post_data as $k => $v ) 
        {
            $o.= "$k=" . urlencode( $v ). "&" ;
        }
        $post_data = substr($o,0,-1);
        
        $res = request_post($url, $post_data);
    
        var_dump($res);
    
    ?>
    package com.baidu.ai.aip.auth;
    
    import org.json.JSONObject;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.List;
    import java.util.Map;
    
    /**
     * 获取token类
     */
    public class AuthService {
    
        /**
         * 获取权限token
         * @return 返回示例:
         * {
         * "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567",
         * "expires_in": 2592000
         * }
         */
        public static String getAuth() {
            // 官网获取的 API Key 更新为你注册的
            String clientId = "百度云应用的AK";
            // 官网获取的 Secret Key 更新为你注册的
            String clientSecret = "百度云应用的SK";
            return getAuth(clientId, clientSecret);
        }
    
        /**
         * 获取API访问token
         * 该token有一定的有效期,需要自行管理,当失效时需重新获取.
         * @param ak - 百度云官网获取的 API Key
         * @param sk - 百度云官网获取的 Securet Key
         * @return assess_token 示例:
         * "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567"
         */
        public static String getAuth(String ak, String sk) {
            // 获取token地址
            String authHost = "https://aip.baidubce.com/oauth/2.0/token?";
            String getAccessTokenUrl = authHost
                    // 1. grant_type为固定参数
                    + "grant_type=client_credentials"
                    // 2. 官网获取的 API Key
                    + "&client_id=" + ak
                    // 3. 官网获取的 Secret Key
                    + "&client_secret=" + sk;
            try {
                URL realUrl = new URL(getAccessTokenUrl);
                // 打开和URL之间的连接
                HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
                connection.setRequestMethod("GET");
                connection.connect();
                // 获取所有响应头字段
                Map<String, List<String>> map = connection.getHeaderFields();
                // 遍历所有的响应头字段
                for (String key : map.keySet()) {
                    System.err.println(key + "--->" + map.get(key));
                }
                // 定义 BufferedReader输入流来读取URL的响应
                BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String result = "";
                String line;
                while ((line = in.readLine()) != null) {
                    result += line;
                }
                /**
                 * 返回结果示例
                 */
                System.err.println("result:" + result);
                JSONObject jsonObject = new JSONObject(result);
                String access_token = jsonObject.getString("access_token");
                return access_token;
            } catch (Exception e) {
                System.err.printf("获取token失败!");
                e.printStackTrace(System.err);
            }
            return null;
        }
    
    }
     # encoding:utf-8
    import requests 
    
    # client_id 为官网获取的AK, client_secret 为官网获取的SK
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'
    response = requests.get(host)
    if response:
        print(response.json())
    #include <iostream>
    #include <curl/curl.h>
    #include <json/json.h>
    #include "access_token.h"
    // libcurl库下载链接:https://curl.haxx.se/download.html
    // jsoncpp库下载链接:https://github.com/open-source-parsers/jsoncpp/
    // 获取access_token所需要的url
    const std::string access_token_url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials";
    // 回调函数获取到的access_token存放变量
    // static std::string access_token_result;
    /**
     * curl发送http请求调用的回调函数,回调函数中对返回的json格式的body进行了解析,解析结果储存在result中
     * @param 参数定义见libcurl库文档
     * @return 返回值定义见libcurl库文档
     */
    static size_t callback(void *ptr, size_t size, size_t nmemb, void *stream) {
        // 获取到的body存放在ptr中,先将其转换为string格式
        std::string s((char *) ptr, size * nmemb);
        // 开始获取json中的access token项目
        Json::Reader reader;
        Json::Value root;
        // 使用boost库解析json
        reader.parse(s,root);
        std::string* access_token_result = static_cast<std::string*>(stream);
        *access_token_result = root["access_token"].asString();
        return size * nmemb;
    }
    
    /**
     * 用以获取access_token的函数,使用时需要先在百度云控制台申请相应功能的应用,获得对应的API Key和Secret Key
     * @param access_token 获取得到的access token,调用函数时需传入该参数
     * @param AK 应用的API key
     * @param SK 应用的Secret key
     * @return 返回0代表获取access token成功,其他返回值代表获取失败
     */
    int get_access_token(std::string &access_token, const std::string &AK, const std::string &SK) {
        CURL *curl;
        CURLcode result_code;
        int error_code = 0;
        curl = curl_easy_init();
        if (curl) {
            std::string url = access_token_url + "&client_id=" + AK + "&client_secret=" + SK;
            curl_easy_setopt(curl, CURLOPT_URL, url.data());
            curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
            curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
            std::string access_token_result;
            curl_easy_setopt(curl, CURLOPT_WRITEDATA, &access_token_result);
            curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);
            result_code = curl_easy_perform(curl);
            if (result_code != CURLE_OK) {
                fprintf(stderr, "curl_easy_perform() failed: %s\n",
                        curl_easy_strerror(result_code));
                return 1;
            }
            access_token = access_token_result;
            curl_easy_cleanup(curl);
            error_code = 0;
        } else {
            fprintf(stderr, "curl_easy_init() failed.");
            error_code = 1;
        }
        return error_code;
    }
    using System;
    using System.Collections.Generic;
    using System.Net.Http;
    
    namespace com.baidu.ai
    {
        public static class AccessToken
    
        {
            // 调用getAccessToken()获取的 access_token建议根据expires_in 时间 设置缓存
            // 返回token示例
            public static String TOKEN = "24.adda70c11b9786206253ddb70affdc46.2592000.1493524354.282335-1234567";
    
            // 百度云中开通对应服务应用的 API Key 建议开通应用的时候多选服务
            private static String clientId = "百度云应用的AK";
            // 百度云中开通对应服务应用的 Secret Key
            private static String clientSecret = "百度云应用的SK";
    
            public static String getAccessToken() {
                String authHost = "https://aip.baidubce.com/oauth/2.0/token";
                HttpClient client = new HttpClient();
                List<KeyValuePair<String, String>> paraList = new List<KeyValuePair<string, string>>();
                paraList.Add(new KeyValuePair<string, string>("grant_type", "client_credentials"));
                paraList.Add(new KeyValuePair<string, string>("client_id", clientId));
                paraList.Add(new KeyValuePair<string, string>("client_secret", clientSecret));
    
                HttpResponseMessage response = client.PostAsync(authHost, new FormUrlEncodedContent(paraList)).Result;
                String result = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine(result);
                return result;
            }
        }
    }
    var https = require('https');
    var qs = require('querystring');
    
    const param = qs.stringify({
        'grant_type': 'client_credentials',
        'client_id': '您的 Api Key',
        'client_secret': '您的 Secret Key'
    });
    
    https.get(
        {
            hostname: 'aip.baidubce.com',
            path: '/oauth/2.0/token?' + param,
            agent: false
        },
        function (res) {
            // 在标准输出中查看运行结果
            res.pipe(process.stdout);
        }
    );

    注意access_token的有效期为30天,切记需要每30天进行定期更换,或者每次请求都拉取新token

    例如此接口,使用HTTPS POST发送:

    https://aip.baidubce.com/rest/2.0/face/v1/merge?access_token=24.f9ba9c5341b67688ab4added8bc91dec.2592000.1485570332.282335-8574074

    POST中Body的参数,按照下方请求参数说明选择即可。

    提示:如果您为百度云老用户,正在使用其他非AI的服务,可以参考百度云AKSK鉴权方式发送请求,虽然请求方式鉴权方法和本文所介绍的不同,但请求参数和返回结果一致。

    请求说明

    注意事项

    • 请求体格式化:Content-Type为application/json,通过json格式化请求体。
    • Base64编码:请求的图片需经过Base64编码,图片的base64编码指将图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图片的二进制,然后用Base64格式编码即可。需要注意的是,图片的base64编码是不包含图片头的,如data:image/jpg;base64,
    • 图片格式:现支持PNG、JPG、JPEG、BMP,不支持GIF图片
    • 人脸识别接口分为V2和V3两个版本,本文档为V3版本接口的说明文档,请确认您在百度云后台获得的是V3版本接口权限,再来阅读本文档。

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

    APP场景

    适合于增强级采集SDK搭配请求公安数据源,验证用户的姓名、身份证号与现场采集的人脸图片是否一致的场景使用。

    强调:

    (1)增强级采集SDK使用时,需要保证image必须是加密过的,否则会报错图片解密失败

    (2)增强级采集SDK与接口获取token的AKSK需要来自同一应用,否则也会导致图片解密失败

    请求示例

    HTTP方法:POST

    请求URL: https://aip.baidubce.com/rest/2.0/face/v3/person/verifySec

    URL参数:

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

    Header:

    参数
    Content-Type application/json

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

    请求参数

    参数 必选 类型 说明
    scene_type string 默认选择APP场景
    APP : APP场景,与采集SDK一起使用
    H5:H5场景,在增强级的实名认证场景进行使用
    image string 图片信息(总数据大小应小于10M),图片上传方式根据image_type来判断
    image_type string 图片类型 BASE64:图片的base64值,base64编码后的图片数据,编码后的图片大小不超过2M;图片尺寸不超过1920*1080 URL
    name string 姓名(注:需要是UTF-8编码的中文)
    id_card_number string 身份证号码
    quality_control string 图片质量控制
    NONE: 不进行控制
    LOW:较低的质量要求
    NORMAL: 一般的质量要求 HIGH: 较高的质量要求 默认 NONE
    liveness_control string 活体检测控制
    NONE: 不进行控制
    LOW:较低的活体要求(高通过率 低攻击拒绝率)
    NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
    HIGH: 较高的活体要求(高攻击拒绝率 低通过率) 默认NONE
    spoofing_control string 合成图控制
    NONE: 不进行控制
    LOW:较低的合成图检测要求(高通过率 低攻击拒绝率)
    NORMAL: 一般的合成图检测要求(平衡的攻击拒绝率, 通过率)
    HIGH: 较高的活体要求(高攻击拒绝率 低通过率) 默认NONE
    risk_identify boolean Ture:打开大数据风控功能。(接受SDK端传入的指纹信息,返回识别结果)
    False:关闭大数据风控功能。 默认False
    ip string 需要风控判别的ip地址
    phone string 需要风控判别的手机号

    请求示例:

    APP场景:图片上传比对使用json格式,如下:

    {
        "scene_type":"APP",
        "image":"/9j/4AAQSkZJRg...",  //采集SDK上传的加密后的图片
        "image_type":"BASE64",
        "id_card_number":"370***********5826",
        "name":"柴*",
      
    	"risk_identify":"Ture",    //仅当APP场景时生效
    	"ip": "...ip", //填写IP地址
    	"phone": "...phone"   //填写手机号
    }
    • 返回参数
    参数 必须 类型 说明
    log_id uint64 日志id
    verify_status int 认证状态,取值:
    0 姓名与身份证匹配,可进行人脸比对
    1 身份证号与姓名不匹配或该身份证号不存在
    2 公安网图片不存在或质量过低
    score float 与公安小图相似度可能性,用于验证生活照与公安小图是否为同一人,有正常分数时为[0~100],推荐阈值80,超过即判断为同一人
    dec_image string SDK传入的解密的图片
    仅当场景为APP时,输出加密后的解密人脸图片信息
    risk_level string 判断设备是否发生过风险行为来判断风险级别,取值(数值有高到低):
    1 – 高危
    2 – 嫌疑
    3 – 普通
    4 – 正常
    risk_tag string 风险标签,若判断未为有风险,则会有风险标签jason 数组告知风险类型
    risk_warn_code int 风控服务异常,请重试若多次重试后无效,请提交工单咨询

    返回示例

    {
        "result": {
            "score": 83.04692078,
            "verify_status": 0
        },
        "log_id": 1381618138428211200,
        "dec_image": "/9j/4AAQSkZJRgABA...",
          "risk_level": "1",
        "log_id": 1349004812288524288,
        "risk_tag": [
            "general_inject"
        ]
    }

    H5场景 -- 拍摄图片

    适用于浏览器/微信/小程序等场景中,现场拍摄图片来比对用户的姓名、身份证号是否为同一人

    强调:此场景易用性强但安全验证相对较弱,推荐在强安全性的环境下使用,Eg,现场有服务人员引导等

    请求示例

    HTTP方法:POST

    请求URL: https://aip.baidubce.com/rest/2.0/face/v3/person/verifySec

    URL参数:

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

    Header:

    参数
    Content-Type application/json

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

    请求参数

    参数 必选 类型 说明
    scene_type string 默认选择APP场景
    APP : APP场景,与采集SDK一起使用
    H5:H5场景,在增强级的实名认证场景进行使用
    image string 图片信息(总数据大小应小于10M),图片上传方式根据image_type来判断
    image_type string 图片类型 BASE64:图片的base64值,base64编码后的图片数据,编码后的图片大小不超过2M;图片尺寸不超过1920*1080 URL
    name string 姓名(注:需要是UTF-8编码的中文)
    id_card_number string 身份证号码
    quality_control string 图片质量控制
    NONE: 不进行控制
    LOW:较低的质量要求
    NORMAL: 一般的质量要求 HIGH: 较高的质量要求 默认 NONE
    liveness_control string 活体检测控制
    NONE: 不进行控制
    LOW:较低的活体要求(高通过率 低攻击拒绝率)
    NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
    HIGH: 较高的活体要求(高攻击拒绝率 低通过率) 默认NONE
    spoofing_control string 合成图控制
    NONE: 不进行控制
    LOW:较低的合成图检测要求(高通过率 低攻击拒绝率)
    NORMAL: 一般的合成图检测要求(平衡的攻击拒绝率, 通过率)
    HIGH: 较高的活体要求(高攻击拒绝率 低通过率) 默认NONE

    请求示例

    H5场景:图片上传比对使用json格式,如下:

    {
        "scene_type":"H5",
        "image":"/9j/4AAQSkZJRg...",
        "image_type":"BASE64",
        "id_card_number":"110284********5828",
        "name":"李四"
    }
    • 返回参数
    参数 必须 类型 说明
    log_id uint64 日志id
    verify_status int 认证状态,取值:
    0 姓名与身份证匹配,可进行人脸比对
    1 身份证号与姓名不匹配或该身份证号不存在
    2 公安网图片不存在或质量过低
    score float 与公安小图相似度可能性,用于验证生活照与公安小图是否为同一人,有正常分数时为[0~100],推荐阈值80,超过即判断为同一人

    返回示例

    {
        "result": {
            "score": 83.04692078,
            "verify_status": 0
        },
        "log_id": 1381618138428211200
    }

    H5场景:拍摄视频

    适用于浏览器/微信/小程序等场景中,现场拍摄视频来比对用户的姓名、身份证号是否为同一人

    支持的视频验证方式有:

    • 静默视频(录一段视频进行活体校验)
    • 语音数字视频(录一段用户现场念二维码视频进行活体校验)
    • 动作视频(录一段用户现场做随机动作的视频进行活体校验)

    请求示例

    HTTP方法:POST

    请求URL: https://aip.baidubce.com/rest/2.0/face/v3/person/verifySec

    URL参数:

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

    Header:

    参数
    Content-Type application/json

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

    请求参数

    参数 必选 类型 说明
    scene_type string 默认选择APP场景
    APP : APP场景,与采集SDK一起使用
    H5:H5场景,在增强级的实名认证场景进行使用
    video_base64 string 当场景为H5时使用,base64 编码的视频数据【base64数据不包含 data:image/png;base64,】;
    建议视频长度控制在01s-10s之间,视频大小建议在2M以内(推荐使用等分辨率压缩,压缩分辨率建议不小于640*480)
    liveness_type string 视频活体类型: PIC:图片活体验证 (默认) SILENCE: 静默视频活体验证; VOICE : 语音活体验证 ; LIP : 语音+唇语 辅助验证;(邀测) ACTION : 动作活体验证。
    session_id string 会话ID (当此字段为空时,为静默视频活体检测)
    name string 姓名(注:需要是UTF-8编码的中文)
    id_card_number string 身份证号码
    liveness_control string 活体检测控制
    NONE: 不进行控制
    LOW:较低的活体要求(高通过率 低攻击拒绝率)
    NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
    HIGH: 较高的活体要求(高攻击拒绝率 低通过率) 默认NONE
    spoofing_control string 合成图控制
    NONE: 不进行控制
    LOW:较低的合成图检测要求(高通过率 低攻击拒绝率)
    NORMAL: 一般的合成图检测要求(平衡的攻击拒绝率, 通过率)
    HIGH: 较高的活体要求(高攻击拒绝率 低通过率) 默认NONE

    请求示例

    H5场景:视频上传比对使用json格式,如下:

    {
        "video_base64":"AAAFGZ0eXBxd...",
        "scene_type":"H5",
        "session_id":"XXXXXX",
        "liveness_type":"VOICE",
        "id_card_number":"110284********5828",
        "name":"张三",
        "liveness_control":"NORMAL",
        "spoofing_control":"NORMAL"
    }
    • 返回参数
    参数 必须 类型 说明
    log_id uint64 日志id
    verify_status int 认证状态,取值:
    0 姓名与身份证匹配,可进行人脸比对
    1 身份证号与姓名不匹配或该身份证号不存在
    2 公安网图片不存在或质量过低
    score float 与公安小图相似度可能性,用于验证生活照与公安小图是否为同一人,有正常分数时为[0~100],推荐阈值80,超过即判断为同一人
    best_image string 视频中的最佳人脸图片的base64编码后的图片信息
    仅当场景为H5,且传入视频为Video时,会输出Video中的 最佳人脸图片

    返回示例

    {
        "result": {
            "score": 83.04692078,
            "verify_status": 0
        },
        "log_id": 1381618138428211200,
        "best_image": "/9j/4AAQSkZJRgABA..."
    }

    参数说明

    • 质量控制参数说明

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

    控制度 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.2 0.2 0.2 0.2 0.2 0.2 0.2 100 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):高于此数值,则可判断为是合成图攻击。

    错误码

    请参考人脸识别错误码

    上一篇
    视频活体检测
    下一篇
    金融级人脸实名认证