上云无忧 > 文档中心 > 百度智能云人脸识别 - 人脸对比V4
人脸对比
百度智能云人脸识别 - 人脸对比V4

文档简介:
人脸对比(V4): 人脸识别接口分为V2、V3和V4三个版本,本文档为V4版本接口的说明文档,请确认您在百度云后台获得的是V4版本接口权限,再来阅读本文档。 【百度智能云】人脸识别
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

人脸对比(V4)

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

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

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

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

能力介绍

接口能力

  • 两张人脸图片相似度对比:对比两张图片中人脸的相似度,并返回相似度分值;
  • 多种图片类型:支持生活照证件照身份证芯片照带网纹照四种类型的人脸对比;
  • 活体检测控制:基于图片中的破绽分析,判断其中的人脸是否为二次翻拍(举例:如用户A用手机拍摄了一张包含人脸的图片一,用户B翻拍了图片一得到了图片二,并用图片二伪造成用户A去进行识别操作,这种情况普遍发生在金融开户、实名认证等环节。);
  • 质量检测控制:分析图片的中人脸的模糊度、角度、光照强度等特征,判断图片质量;
  • 图片加密及风控:配合增强级、金融级采集SDK使用

    • 对采集SDK输出的加密图片进行解密(加密传输可以有效避免第三方非法黑产绕过APP模拟请求攻击云端接口的行为,Eg:脚本攻击等);
    • 以及结合百度安全实验室大数据风控能力,对采集SDK的发起端设备进行风控识别,辨别是否为风险设备,Eg:ROM注入、视频劫持等;

业务应用

  • 用于对比多张图片中的人脸相似度并返回两两对比的得分,可用于判断两张脸是否是同一人的可能性大小。
  • 典型应用场景:如人证合一验证用户认证等,可与您现有的人脸库进行对比验证。

在线调试

您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。

调用方式

请求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】'

注意: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图片

请求示例

HTTP方法:POST

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

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
common : 配合4.1/4.1.5版本SDK使用,人脸图片未进行加密处理
lite:配合5.2版本SDK使用
skey string 使用5.2版本SDK请求时必填
从SDK获取的密钥信息
x_device_id string 使用5.2版本SDK请求时必填
从SDK获取的密钥信息
data string 使用5.2版本SDK请求时必填
SDK输出的加密数据
image string 图片信息(数据大小应小于10M 分辨率应小于1920*1080),5.2版本SDK请求时已包含在加密数据data中,无需额外传入
image_type string 图片类型
BASE64 : 图片的base64值
URL : 图片的URL
FACE_TOKEN : 人脸标识
默认 BASE64
face_type string 人脸的类型
LIVE:表示生活照:通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等
IDCARD:表示身份证芯片照:二代身份证内置芯片中的人像照片
WATERMARK:表示带水印证件照:一般为带水印的小图,如公安网小图
CERT:表示证件照片:如拍摄的身份证、工卡、护照、学生证等证件图片
INFRARED 表示红外照片:使用红外相机拍摄的照片
默认LIVE
quality_control string 质量控制
NONE: 不进行控制
LOW:较低的质量要求
NORMAL: 一般的质量要求
HIGH: 较高的质量要求
默认NONE
liveness_control string 活体控制
NONE: 不进行控制
LOW:较低的活体要求(高通过率 低攻击拒绝率)
NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
HIGH: 较高的活体要求(高攻击拒绝率 低通过率)
默认NONE
spoofing_control string 合成图控制参数
NONE: 不进行控制
LOW:较低的合成图阈值数值,由于合成图判定逻辑为大于阈值视为合成图攻击,该项代表低通过率、高攻击拒绝率
NORMAL: 一般的合成图阈值数值,由于合成图判定逻辑为大于阈值视为合成图攻击,该项代表平衡的攻击拒绝率, 通过率
HIGH: 较高的合成图阈值数值,由于合成图判定逻辑为大于阈值视为合成图攻击,该项代表高通过率、低攻击拒绝率
默认NONE
register_image string 图片信息(总数据大小应小于10M),图片上传方式根据image_type来判断。本图片特指客户服务器上传图片,非加密图片Base64值
register_image_type string 图片类型
BASE64 : 图片的base64值
URL : 图片的 URL
FACE_TOKEN : 人脸标识
默认 BASE64
register_face_type string 人脸的类型
LIVE:表示生活照:通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等
IDCARD:表示身份证芯片照:二代身份证内置芯片中的人像照片
WATERMARK:表示带水印证件照:一般为带水印的小图,如公安网小图
CERT:表示证件照片:如拍摄的身份证、工卡、护照、学生证等证件图片
INFRARED: 表示使用红外相机拍摄的照片
默认LIVE
register_quality_control string 图片质量控制
NONE: 不进行控制
LOW:较低的质量要求
NORMAL: 一般的质量要求
HIGH: 较高的质量要求
默认 NONE
若图片质量不满足要求,则返回结果中会提示质量检测失败
register_liveness_control string 活体检测控制
NONE: 不进行控制
LOW:较低的活体要求(高通过率 低攻击拒绝率)
NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
HIGH: 较高的活体要求(高攻击拒绝率 低通过率)
默认 NONE
若活体检测结果不满足要求,则返回结果中会提示活体检测失败
regitser_spoofing_control string 合成图控制参数
NONE: 不进行控制
LOW:较低的合成图阈值数值,由于合成图判定逻辑为大于阈值视为合成图攻击,该项代表低通过率、高攻击拒绝率
NORMAL: 一般的合成图阈值数值,由于合成图判定逻辑为大于阈值视为合成图攻击,该项代表平衡的攻击拒绝率, 通过率
HIGH: 较高的合成图阈值数值,由于合成图判定逻辑为大于阈值视为合成图攻击,该项代表高通过率、低攻击拒绝率
默认 NONE
face_sort_type int 人脸检测排序类型
0:代表检测出的人脸按照人脸面积从大到小排列
1:代表检测出的人脸按照距离图片中心从近到远排列
默认为0

请求示例

// 纯API接入或配合4.1/4.1.5版本SDK使用
{
    "image": "/9j/4AAQSkZJRgA",
    "image_type": "BASE64",
    "face_type": "LIVE",
    "quality_control": "LOW",
    "liveness_control": "LOW",
    "register_image": "/9j/4AAQSkZJRgA",
    "register_image_type": "BASE64",
    "register_face_type": "IDCARD",
    "register_quality_control": "LOW",
    "register_liveness_control": "LOW"
}
 
//// 5.2版本SDK
{
    "app": "android",
    "sec_level": "lite",
    "x_device_id": "72c18da95552259dd7c4aaa52e9fa37f",
    "skey": "2fwYi/alzQBUJUc2TJn1oQ==",
    "data": "asdafasf",
    "image_type": "BASE64",
    "face_type": "LIVE",
    "quality_control": "LOW",
    "liveness_control": "LOW",
    
    "register_image": "/9j/4AAQSkZJRgA",
    "register_image_type": "BASE64",
    "register_face_type": "IDCARD",
    "register_quality_control": "LOW",
    "register_liveness_control": "LOW"
}

返回参数

参数名 类型 说明
log_id number 调用的日志id
result jsonObject 认证返回的结果
+ score number 人脸相似度得分,推荐阈值80分
+ face_list jsonArray 人脸信息列表
++ face_token string 人脸标志
dec_image string APP场景传入加密图片时,该项返回解密后的图片
risk_level string 风控返回参数,只有在 risk_identify 为 true 时才返回,判断设备是否发生过风险行为来判断风险级别,取值(数值有高到低):
1 – 高危
2 – 嫌疑
3 – 普通
4 – 正常
risk_tag jsonArray 风控返回参数,只有在 risk_identify 为 true 时才返回,风险标签,若判断为有风险,则会有风险标签 json 数组告知风险类型
risk_warn_code number 风控返回参数,只有在 risk_identify 为 true 时才返回,只有在风控服务异常的时候才返回这个字段

返回示例代码:

  • 返回示例
{
    "log_id": 1370585066551377920,
    "result": {
        "score": 99.06919861,
        "face_list": [
            {
                "face_token": "549f9f1d1c7ec8c86931540b1939e8ed"
            },
            {
                "face_token": "1a319460ef89e8d27fb59062a28dbad7"
            }
        ]
    },
    "dec_image": "/9j/4AAQSkZJRgABAQAAAQABAAD",
    "risk_level": "3",
    "risk_tag": [
        "空"
    ]
}

参数说明

  • 质量控制参数说明

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

遮挡情况的阈值

控制度 left_eye right_eye nose mouth left_cheek right_cheek chin_contour
LOW 0.8 0.8 0.8 0.8 0.8 0.8 0.8
NORMAL 0.6 0.6 0.6 0.6 0.6 0.6 0.6
HIGH 0.2 0.2 0.2 0.2 0.2 0.2 0.2

光照、模糊度、完整度的阈值

控制度 illumination blurdegree completeness
LOW 20 0.8 0
NORMAL 40 0.6 0
HIGH 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):高于此数值,则可判断为活体。

错误码

请参考人脸识别错误码

相似文档
  • 能力介绍: 业务能力:人脸搜索与库管理主要用在人脸通用场景,采集照片与底库照片主要为生活照,通常通过手机、电脑、面板机等设备采集。如果您的照片主要由普通摄像头/抓拍机设备大角度俯拍采集获得,建议您使用场景化搜索服务,查看文档详情。 【百度智能云】人脸识别
  • 数据库主从方案: 本文档介绍了人脸服务数据库的主从同步方案,当主库出现问题时,可以快速切换到从库提供服务,提高性能。 主数据库: 服务器二中新建idl-face用户,查看是否有/home/idl-face/目录,如果没有则新建/home/idl-face/目录。 【百度智能云】人脸识别
  • 在线调试: 您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。 调用流程: 鉴权认证:使用appKey secretKey 访问 https://openapi.baidu.com 换取 token ,详细见[鉴权认证机制] 确认请求方式:选择一种HTTP POST 请求格式,参见下一节 请求方式 填写参数:详细见 参数说明
  • 在线调试: 您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。 调用流程: 创建账号及应用: 在 ai.baidu.com 控制台中,创建应用,勾选开通 ”语音技术“-”短语音识别、短语音识别极速版“ 能力。获取AppID、API Key、Secret Key,并通过请求鉴权接口换取 token ,详细见 “接入指南”。
  • 在线调试: 您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。 Demo: 语音合成示例代码: https://github.com/Baidu-AIP/speech-demo/tree/master/rest-api-tts 【百度智能云】短文本在线合成
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部