209
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
百度人脸识别使用指南-人脸搜索与库管理API文档

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   



点击这里点击这里申请百度智能云特邀VIP帐号,立即体验人脸识别>>>

百度人脸识别使用指南-人脸搜索与库管理API文档

能力介绍

业务能力 人脸搜索与库管理主要用在人脸通用场景,采集照片与底库照片主要为生活照,通常通过手机、电脑、面板机等设备采集。如果您的照片主要由普通摄像头/抓拍机设备大角度俯拍采集获得,建议您使用场景化搜索服务,查看文档详情

  • 人脸搜索:也称为1:N识别,在指定人脸集合中,找到最相似的人脸;
  • 人脸搜索 M:N识别:也称为M:N识别,待识别图片中含有多个人脸时,在指定人脸集合中,找到这多个人脸分别最相似的人脸

人脸库管理相关接口,要完成1:N或者M:N识别,首先需要构建一个人脸库,用于存放所有人脸特征,相关接口如下:

  • 人脸注册:向人脸库中添加人脸
  • 人脸更新:更新人脸库中指定用户下的人脸信息
  • 人脸删除:删除指定用户的某张人脸
  • 用户信息查询:查询人脸库中某个用户的详细信息
  • 获取用户人脸列表:获取某个用户组中的全部人脸列表
  • 获取用户列表:查询指定用户组中的用户列表
  • 复制用户:将指定用户复制到另外的人脸组
  • 删除用户:删除指定用户
  • 创建用户组:创建一个新的用户组
  • 删除用户组:删除指定用户组
  • 组列表查询:查询人脸库中用户组的列表

M:N识别的原理,相当于在多个人脸的图片中,先分别找出所有人脸,然后分别在待查找的人脸集合中,分别做1:N识别,最后将识别结果汇总在一起进行返回。

人脸库结构

人脸库、用户组、用户、用户下的人脸层级关系如下所示:

|- 人脸库(appid)
   |- 用户组一(group_id)
      |- 用户01(uid)
         |- 人脸(faceid)
      |- 用户02(uid)
         |- 人脸(faceid)
         |- 人脸(faceid)
         ....
       ....
   |- 用户组二(group_id)
   |- 用户组三(group_id)
   ....

关于人脸库的设置限制

  • 每个appid对应一个人脸库,且不同appid之间,人脸库互不相通
  • 每个人脸库下,可以创建多个用户组,用户组(group)数量没有限制
  • 每个用户组(group)下,可添加无限个user_id,无限张人脸(注:为了保证查询速度,单个group中的人脸容量上限建议为80万)。
  • 每个用户(user_id)所能注册的最大人脸数量20

提醒:每个人脸库对应一个appid,一定确保不要轻易删除后台应用列表中的appid,删除后则此人脸库将失效,无法进行任何查找!

质量判断

为了保证识别效果,请控制注册人脸的质量,在调用人脸注册接口时需要使用质量控制和活体控制参数,从而保证图片的质量以及注册进入人脸库的人脸是活体。

调用方式

请求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图片
  • 人脸识别接口分为V2和V3两个版本,本文档为V3版本接口的说明文档,请确认您在百度云后台获得的是V3版本接口权限,再来阅读本文档。

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

请求示例

HTTP方法:POST

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

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
imagestring图片信息,图片上传方式根据image_type来判断,为base64时,编码后图片大小不超过2M
image_typestring图片类型
BASE64:图片的base64值,base64编码后的图片数据,编码后的图片大小不超过2M
URL:图片的 URL地址( 可能由于网络等原因导致下载图片时间过长);
FACE_TOKEN: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个。
group_id_liststring从指定的group中进行查找 用逗号分隔,上限10个
quality_controlstring图片质量控制
NONE: 不进行控制
LOW:较低的质量要求
NORMAL: 一般的质量要求
HIGH: 较高的质量要求
默认 NONE
若图片质量不满足要求,则返回结果中会提示质量检测失败
liveness_controlstring活体检测控制
NONE: 不进行控制
LOW:较低的活体要求(高通过率 低攻击拒绝率)
NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
HIGH: 较高的活体要求(高攻击拒绝率 低通过率)
默认NONE
若活体检测结果不满足要求,则返回结果中会提示活体检测失败
user_idstring当需要对特定用户进行比对时,指定user_id进行比对。即人脸认证功能。
max_user_numunit32查找后返回的用户数量。返回相似度最高的几个用户,默认为1,最多返回50个。
face_sort_typeint人脸检测排序类型
0:代表检测出的人脸按照人脸面积从大到小排列
1:代表检测出的人脸按照距离图片中心从近到远排列
默认为0
match_thresholdint匹配阈值(设置阈值后,score低于此阈值的用户信息将不会返回) 最大100 最小0 默认0
此阈值设置得越高,检索速度将会越快,推荐使用阈值80

说明:如果使用base 64格式的图片,两张请求的图片请分别进行base64编码。

示例代码

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

人脸搜索 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/v3/search?access_token=【调用鉴权接口获取的token】' --data '{"image":"027d8308a2ec665acb1bdf63e513bcb9","image_type":"FACE_TOKEN","group_id_list":"group_repeat,group_233","quality_control":"LOW","liveness_control":"NORMAL"}' -H 'Content-Type:application/json; charset=UTF-8'

返回说明

返回参数

  • 返回结果
字段必选类型说明
face_tokenstring人脸标志
user_listarray匹配的用户信息列表
+group_idstring用户所属的group_id
+user_idstring用户的user_id
+user_infostring注册用户时携带的user_info
+scorefloat用户的匹配得分,推荐阈值80分
  • 返回示例
{ "face_token": "fid", "user_list": [ { "group_id" : "test1", "user_id": "u333333", "user_info": "Test User", "score": 99.3 } ] }
  • 质量控制参数说明

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

遮挡情况的阈值

控制度left_eyeright_eyenosemouthleft_cheekright_cheekchin_contour
LOW0.80.80.80.80.80.80.8
NORMAL0.60.60.60.60.60.60.6
HIGH0.20.20.20.20.20.20.2

模糊度、完整度的阈值

控制度illuminationblurdegreecompleteness
LOW200.80
NORMAL400.60
HIGH1000.21

活体控制参数说明

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

控制度阈值说明
LOW0.05活体误拒率:万分之一;拒绝率:63.9%
NORMAL0.3活体误拒率:千分之一;拒绝率:90.3%
HIGH0.9活体误拒率:百分之一;拒绝率:97.6%

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

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

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

人脸搜索 M:N 识别

待识别的图片中,存在多张人脸的情况下,支持在一个人脸库中,一次请求,同时返回图片中所有人脸的识别结果。

在线调试

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

请求说明

注意事项

  • 请求体格式化: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文档。

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/multi-search

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
imagestring图片信息(数据大小应小于10M 分辨率应小于1920*1080)
image_typestring图片类型
BASE64:图片的base64值;
URL:图片的 URL( 下载图片时可能由于网络原因导致下载图片时间过长)
FACE_TOKEN: face_token 人脸标识
group_id_liststring从指定的group中进行查找 用逗号分隔,上限10个
max_face_numint最多处理人脸的数目
默认值为1(仅检测图片中面积最大的那个人脸) 最大值10
match_thresholdint匹配阈值(设置阈值后,score低于此阈值的用户信息将不会返回) 最大100 最小0 默认80
此阈值设置得越高,检索速度将会越快,推荐使用默认阈值80
quality_controlstring质量控制(质量不符合要求的人脸不会出现在返回结果中)
NONE: 不进行控制
LOW:较低的质量要求
NORMAL: 一般的质量要求
HIGH: 较高的质量要求
默认NONE
liveness_controlstring活体控制(活体分数不符合要求的人脸不会出现在返回结果中)
NONE: 不进行控制
LOW:较低的活体要求(高通过率 低攻击拒绝率)
NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
HIGH: 较高的活体要求(高攻击拒绝率 低通过率)
默认NONE
max_user_numunit32识别返回的最大用户数,默认为1,最大20个

请求示例

{ "image": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKD...", "image_type": "BASE64", "group_id_list": "group1", "max_face_num" : 5, "quality_control": "LOW", "liveness_control": "NORMAL" }

返回说明

返回参数

字段必选类型说明
log_iduint64请求标识码,随机数,唯一
face_numint图片中的人脸数量
face_listarray人脸信息列表
+face_tokenstring人脸标志
+locationarray人脸在图片中的位置
++leftdouble人脸区域离左边界的距离
++topdouble人脸区域离上边界的距离
++widthdouble人脸区域的宽度
++heightdouble人脸区域的高度
++rotationint64人脸框相对于竖直方向的顺时针旋转角,[-180,180]
+user_listarray匹配的用户信息列表
++group_idstring用户所属的group_id
++user_idstring用户的user_id
++user_infostring注册用户时携带的user_info
++scorefloat用户的匹配得分
80分以上可以判断为同一人,此分值对应万分之一误识率

返回示例

{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 240483475, "timestamp": 1535533440, "cached": 0, "result": { "face_num": 2, "face_list": [ { "face_token": "6fe19a6ee0c4233db9b5bba4dc2b9233", "location": { "left": 31.95568085, "top": 120.3764267, "width": 87, "height": 85, "rotation": -5 }, "user_list": [ { "group_id": "group1", "user_id": "5abd24fd062e49bfa906b257ec40d284", "user_info": "userinfo1", "score": 69.85684967041 }, { "group_id": "group1", "user_id": "2abf89cffb31473a9948268fde9e1c3f", "user_info": "userinfo2", "score": 66.586112976074 } ] }, { "face_token": "fde61e9c074f48cf2bbb319e42634f41", "location": { "left": 219.4467773, "top": 104.7486954, "width": 81, "height": 77, "rotation": 3 }, "user_list": [ { "group_id": "group1", "user_id": "088717532b094c3990755e91250adf7d", "user_info": "userinfo", "score": 65.154159545898 } ] } ] } }
  • 质量控制参数说明

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

遮挡情况的阈值

控制度left_eyeright_eyenosemouthleft_cheekright_cheekchin_contour
LOW0.80.80.80.80.80.80.8
NORMAL0.60.60.60.60.60.60.6
HIGH0.20.20.20.20.20.20.2

模糊度、完整度的阈值

控制度illuminationblurdegreecompleteness
LOW200.80
NORMAL400.60
HIGH1000.21

活体控制参数说明

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

控制度阈值说明
LOW0.05活体误拒率:万分之一;拒绝率:97.75%
NORMAL0.3活体误拒率:千分之一;拒绝率:98.82%
HIGH0.9活体误拒率:百分之一;拒绝率:99.77%

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

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

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

人脸注册

在线调试

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

请求说明

注意事项

  • 请求体格式化: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文档。

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
imagestring图片信息(总数据大小应小于10M),图片上传方式根据image_type来判断。
注:组内每个uid下的人脸图片数目上限为20张
image_typestring图片类型
BASE64:图片的base64值,base64编码后的图片数据,编码后的图片大小不超过2M;
URL:图片的 URL地址( 可能由于网络等原因导致下载图片时间过长);
FACE_TOKEN:人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个。
group_idstring用户组id,标识一组用户(由数字、字母、下划线组成),长度限制48B。产品建议:根据您的业务需求,可以将需要注册的用户,按照业务划分,分配到不同的group下,例如按照会员手机尾号作为groupid,用于刷脸支付、会员计费消费等,这样可以尽可能控制每个group下的用户数与人脸数,提升检索的准确率
user_idstring用户id(由数字、字母、下划线组成),长度限制128B
user_infostring用户资料,长度限制256B 默认空
quality_controlstring图片质量控制
NONE: 不进行控制
LOW:较低的质量要求
NORMAL: 一般的质量要求
HIGH: 较高的质量要求
默认 NONE
若图片质量不满足要求,则返回结果中会提示质量检测失败
liveness_controlstring活体检测控制
NONE: 不进行控制
LOW:较低的活体要求(高通过率 低攻击拒绝率)
NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
HIGH: 较高的活体要求(高攻击拒绝率 低通过率)
默认NONE
若活体检测结果不满足要求,则返回结果中会提示活体检测失败
action_typestring操作方式
APPEND: 当user_id在库中已经存在时,对此user_id重复注册时,新注册的图片默认会追加到该user_id下
REPLACE : 当对此user_id重复注册时,则会用新图替换库中该user_id下所有图片
默认使用APPEND
face_sort_typeint人脸检测排序类型
0:代表检测出的人脸按照人脸面积从大到小排列
1:代表检测出的人脸按照距离图片中心从近到远排列
默认为0

说明:人脸注册完毕后,生效时间一般为5s以内,之后便可以进行人脸搜索或认证操作。

示例代码

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

人脸注册 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add?access_token=【调用鉴权接口获取的token】' --data '{"image":"027d8308a2ec665acb1bdf63e513bcb9","image_type":"FACE_TOKEN","group_id":"group_repeat","user_id":"user1","user_info":"abc","quality_control":"LOW","liveness_control":"NORMAL"}' -H 'Content-Type:application/json; charset=UTF-8'

返回说明

返回参数

字段必选类型说明
log_iduint64请求标识码,随机数,唯一
face_tokenstring人脸图片的唯一标识
locationarray人脸在图片中的位置
+leftdouble人脸区域离左边界的距离
+topdouble人脸区域离上边界的距离
+widthdouble人脸区域的宽度
+heightdouble人脸区域的高度
+rotationint64人脸框相对于竖直方向的顺时针旋转角,[-180,180]

返回示例

{ "face_token": "2fa64a88a9d5118916f9a303782a97d3", "location": { "left": 117, "top": 131, "width": 172, "height": 170, "rotation": 4 } }
  • 质量控制参数说明

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

遮挡情况的阈值

控制度left_eyeright_eyenosemouthleft_cheekright_cheekchin_contour
LOW0.80.80.80.80.80.80.8
NORMAL0.60.60.60.60.60.60.6
HIGH0.20.20.20.20.20.20.2

模糊度、完整度的阈值

控制度illuminationblurdegreecompleteness
LOW200.80
NORMAL400.60
HIGH1000.21

活体控制参数说明

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

控制度阈值说明
LOW0.05活体误拒率:万分之一;拒绝率:97.75%
NORMAL0.3活体误拒率:千分之一;拒绝率:98.82%
HIGH0.9活体误拒率:百分之一;拒绝率:99.77%

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

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

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

人脸更新

接口描述

用于对人脸库中指定用户,更新其下的人脸图像。

说明:针对一个user_id执行更新操作,新上传的人脸图像将覆盖此user_id原有所有图像。

在线调试

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

请求说明

注意事项

  • 请求体格式化: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文档。

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/update

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
imagestring图片信息(总数据大小应小于10M),图片上传方式根据image_type来判断
image_typestring图片类型
BASE64:图片的base64值,base64编码后的图片数据,编码后的图片大小不超过2M;
URL:图片的 URL地址( 可能由于网络等原因导致下载图片时间过长);
FACE_TOKEN: 人脸图片的唯一标识
group_idstring用户组id,标识一组用户(由数字、字母、下划线组成),长度限制128B
user_idstring用户id(由数字、字母、下划线组成),长度限制48B
user_infostring用户资料,长度限制48B 默认空
quality_controlstring图片质量控制
NONE: 不进行控制
LOW:较低的质量要求
NORMAL: 一般的质量要求
HIGH: 较高的质量要求
默认 NONE
若图片质量不满足要求,则返回结果中会提示质量检测失败
liveness_controlstring活体检测控制
NONE: 不进行控制
LOW:较低的活体要求(高通过率 低攻击拒绝率)
NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
HIGH: 较高的活体要求(高攻击拒绝率 低通过率)
默认NONE
若活体检测结果不满足要求,则返回结果中会提示活体检测失败
action_typestring操作方式
UPDATE: 会使用新图替换库中该user_id下所有图片, 若user_id不存在则会报错
REPLACE : 当user_id不存在时, 则会注册这个user_id的用户
默认使用UPDATE

示例代码

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

人脸更新 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/update?access_token=【调用鉴权接口获取的token】' --data '{"image":"027d8308a2ec665acb1bdf63e513bcb9","image_type":"FACE_TOKEN","group_id":"group_repeat","user_id":"user1","user_info":"cba","quality_control":"LOW","liveness_control":"NORMAL"}' -H 'Content-Type:application/json; charset=UTF-8'

返回说明

返回参数

字段必选类型说明
log_iduint64请求标识码,随机数,唯一
face_tokenstring人脸图片的唯一标识
locationarray人脸在图片中的位置
+leftdouble人脸区域离左边界的距离
+topdouble人脸区域离上边界的距离
+widthdouble人脸区域的宽度
+heightdouble人脸区域的高度
+rotationint64人脸框相对于竖直方向的顺时针旋转角,[-180,180]

返回示例

{ "face_token": "2fa64a88a9d5118916f9a303782a97d3", "location": { "left": 117, "top": 131, "width": 172, "height": 170, "rotation": 4 } }

人脸删除

接口描述

删除用户的某一张人脸,如果该用户只有一张人脸图片,则同时删除用户。

在线调试

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

请求说明

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/face/delete

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
log_iduint64请求标识码,随机数,唯一
user_idstring用户id(由数字、字母、下划线组成),长度限制128B
group_idstring用户组id(由数字、字母、下划线组成) 长度限制48B,删除指定group_id中的user_id信息
face_tokenstring需要删除的人脸图片token,(由数字、字母、下划线组成)长度限制64B

返回说明

通过返回的error_code判断是否成功 如失败则查看error_msg获得具体错误信息

返回示例

// 删除成功 { "error_code": 0, "log_id": 73473737, } // 删除发生错误 { "error_code": 223106, "log_id": 1382953199, "error_msg": "face is not exist" }

用户信息查询

接口描述

获取人脸库中某个用户的信息(user_info信息和用户所属的组)。

在线调试

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

请求说明

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/get

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
user_idstring用户id(由数字、字母、下划线组成),长度限制48B
group_idstring用户组id(由数字、字母、下划线组成,长度限制48B),如传入“@ALL”则从所有组中查询用户信息。注:处于不同组,但uid相同的用户,我们认为是同一个用户。

示例代码

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

用户信息查询 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/get?access_token=【调用鉴权接口获取的token】' --data '{"user_id":"user1","group_id":"group1"}' -H 'Content-Type:application/json; charset=UTF-8'

返回说明

返回参数

字段必选类型说明
log_iduint64请求标识码,随机数,唯一
user_listarray查询到的用户列表
+user_infostring用户资料,被查询用户的资料
+group_idstring用户组id,被查询用户的所在组

返回示例

{ "user_list": [ { "user_info": "user info ...", "group_id": "gid1" }, { "user_info": "user info2 ...", "group_id": "gid2" } ] }

获取用户人脸列表

接口描述

用于获取一个用户的全部人脸列表。

在线调试

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

请求说明

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/face/getlist

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
user_idstring用户id(由数字、字母、下划线组成),长度限制48B
group_idstring用户组id (由数字、字母、下划线组成),长度限制48B

示例代码

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

获取用户人脸列表 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/face/getlist?access_token=【调用鉴权接口获取的token】' --data '{"user_id":"user1","group_id":"group1"}' -H 'Content-Type:application/json; charset=UTF-8'

返回说明

返回参数

字段必选类型说明
log_iduint64请求标识码,随机数,唯一
face_listarray人脸列表
+ face_tokenstring人脸图片的唯一标识
+ctimestring人脸创建时间

返回示例

{ "face_list": [ { "face_token": "fid1", "ctime": "2018-01-01 00:00:00" }, { "face_token": "fid2", "ctime": "2018-01-01 10:00:00" } ] }

获取用户列表

接口描述

用于查询指定用户组中的用户列表。

在线调试

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

请求说明

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/group/getusers

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
group_idstring用户组id,长度限制48B
startuint32默认值0,起始序号
lengthuint32返回数量,默认值100,最大值1000

示例代码

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

获取用户列表 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/group/getusers?access_token=【调用鉴权接口获取的token】' --data '{"group_id":"group1"}' -H 'Content-Type:application/json; charset=UTF-8'

返回说明

  • 返回结果
字段必选类型说明
user_id_listarray用户ID列表
  • 返回示例

    { "user_id_list": [ "uid1", "uid2" ] }

复制用户

接口描述

用于将已经存在于人脸库中的用户复制到一个新的组

说明:并不是向一个指定组内添加用户,而是直接从其它组复制用户信息 如果需要注册用户,请直接使用人脸注册接口

在线调试

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

请求说明

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/copy

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
user_idstring用户id,长度限制48B
src_group_idstring从指定组里复制信息
dst_group_idstring需要添加用户的组id

返回说明

通过返回的error_code判断是否成功 如失败则查看error_msg获得具体错误信息

返回示例

// 正确返回值  { "error_code": 0, "log_id": 3314921889, } // 发生错误时返回值  { "error_code": 223111, "log_id": 3111284097, "error_msg": "dst group is not exist" }

删除用户

接口描述

用于将用户从某个组中删除。

在线调试

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

请求说明

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/delete

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
group_idstring用户组id(由数字、字母、下划线组成,长度限制48B) ,如传入“@ALL”则从所有组中删除用户
user_idstring用户id(由数字、字母、下划线组成),长度限制48B

返回说明

通过返回的error_code判断是否成功 如失败则查看error_msg获得具体错误信息:

返回参数

字段必选类型说明
log_iduint64请求标识码,随机数,唯一

返回示例

// 正确返回值  { "error_code": 0, "log_id": 3314921889, } // 发生错误时返回值  { "error_code": 223103, "log_id": 815967402, "error_msg": "user is not exist" }

创建用户组

接口描述

用于创建一个空的用户组,如果用户组已存在 则返回错误。

在线调试

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

请求说明

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/group/add

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
group_idstring用户组id,标识一组用户(由数字、字母、下划线组成),长度限制48B。

示例代码

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

创建用户组 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/group/add?access_token=【调用鉴权接口获取的token】' --data '{"group_id":"group1"}' -H 'Content-Type:application/json; charset=UTF-8'

返回说明

通过返回的error_code判断是否成功 如失败则查看error_msg获得具体错误信息:

返回参数

字段必选类型说明
log_iduint64请求标识码,随机数,唯一

返回示例

// 正确返回值  { "error_code": 0, "log_id": 3314921889, } // 发生错误时返回值  { "error_code": 223101, "log_id": 815967402, "error_msg": " group is already exist" }

删除用户组

接口描述

删除用户组下所有的用户及人脸,如果组不存在 则返回错误。 注:组内的人脸数量如果大于500条,会在后台异步进行删除。在删除期间,无法向该组中添加人脸。1秒钟可以删除20条记录,相当于一小时可以将7万人的人脸组删除干净。用户组删除可能存在一定延迟,期间指定该用户组搜索,仍可搜索到未删除完成的用户信息。如果您的用户组下数据量较大并且希望保证删除的时效性,建议您先循环删除组内的用户,最后删除用户组。

在线调试

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

请求说明

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/group/delete

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
group_idstring用户组id,标识一组用户(由数字、字母、下划线组成),长度限48B。

示例代码

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

删除用户组 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/group/delete?access_token=【调用鉴权接口获取的token】' --data '{"group_id":"group1"}' -H 'Content-Type:application/json; charset=UTF-8'

返回说明

通过返回的error_code判断是否成功 如失败则查看error_msg获得具体错误信息:

返回参数

字段必选类型说明
log_iduint64请求标识码,随机数,唯一

返回示例

// 正确返回值  { "error_code":0, "log_id": 3314921889, } // 发生错误时返回值  { "error_code": 223100, "log_id": 815967402, "error_msg": " group is not exist" }

组列表查询

接口描述

用于查询用户组的列表。

在线调试

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

请求说明

请求示例

HTTP方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/group/getlist

URL参数:

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

Header如下:

参数
Content-Typeapplication/json

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

请求参数

参数必选类型说明
startuint32默认值0,起始序号
lengthuint32返回数量,默认值100,最大值1000

示例代码

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

组列表查询 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/group/getlist?access_token=【调用鉴权接口获取的token】' --data '{"start":0,"length":100}' -H 'Content-Type:application/json; charset=UTF-8'

返回说明

返回参数

  • 返回结果
字段必选类型说明
group_id_listarraygroup
  • 返回示例

    { "group_id_list": [ "gid1", "gid2" ] }

错误码

请参考人脸识别错误码


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!