百度人脸识别使用指南-场景化搜索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文档 能力介绍场景化搜索当前暂只公测视频监控场景下的人脸搜索,后续将陆续开放戴口罩人脸搜索等场景。公测期间,各个接口均有免费资源用于测试,如需增加免费测试额度,请提交工单申请。 人脸搜索(视频监控)在抓拍机摄像头等设备大角度俯拍的视频监控场景予以专项优化,使用人脸搜索(视频监控)需配套使用人脸库管理(场景化)构建人脸库,具体接口如下:
业务能力
人脸库结构 人脸库、用户组、用户、用户下的人脸层级关系如下所示: |- 人脸库(appid)
|- 用户组一(group_id)
|- 用户01(uid)
|- 人脸(faceid)
|- 用户02(uid)
|- 人脸(faceid)
|- 人脸(faceid)
....
....
|- 用户组二(group_id)
|- 用户组三(group_id)
.... 关于人脸库的设置限制
质量判断 为了保证识别效果,请控制注册人脸的质量,在调用人脸注册接口时使用质量控制和活体控制参数保证图片的质量以及注册进入人脸库的人脸是活体 调用方式请求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】'
例如此接口,使用HTTPS POST发送: https://aip.baidubce.com/rest/2.0/face/v1/merge?access_token=24.f9ba9c5341b67688ab4added8bc91dec.2592000.1485570332.282335-8574074 POST中Body的参数,按照下方请求参数说明选择即可。
在线调试您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。 人脸搜索(视频监控)请求说明注意事项:
请求示例 HTTP方法:POST 请求URL: https://aip.baidubce.com/rest/2.0/face/capture/search URL参数:
Header如下:
Body中放置请求参数,参数详情如下: 请求参数
示例代码 提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或图片Base64信息。 提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。 人脸搜索 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/capture/search?access_token=【调用鉴权接口获取的token】' --data '{"image":"[图片Base64编码]","image_type":"BASE64","group_id_list":"group_repeat,group_233","quality_control":"LOW","liveness_control":"NORMAL"}' -H 'Content-Type:application/json; charset=UTF-8' 返回说明返回参数
{ "face_token": "fid", "user_list": [ { "group_id" : "test1", "user_id": "u333333", "user_info": "Test User", "score": 99.3 } ] }
遮挡情况的阈值
模糊度、完整度的阈值
活体控制参数说明
关于以上数值的概念介绍: 拒绝率(TRR):如99%,代表100次作弊假体攻击,会有99次被拒绝。 误拒率(FRR):如0.5%,指1000次真人请求,会有5次因为活体分数低于阈值被错误拒绝。 通过率(TAR):如99%,指100次真人请求,会有99次因为活体分数高于阈值而通过。 阈值(Threshold):高于此数值,则可判断为活体。 人脸库管理(场景化)-人脸注册请求说明注意事项:
请求示例 HTTP方法:POST 请求URL: https://aip.baidubce.com/rest/2.0/face/scene/faceset/user/add URL参数:
Header如下:
Body中放置请求参数,参数详情如下: 请求参数
示例代码 提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。 提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。 人脸注册 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/scene/faceset/user/add?access_token=【调用鉴权接口获取的token】' --data '{"image":"[图片Base64编码]","image_type":"BASE64","group_id":"group_repeat","user_id":"user1","scene_type":"SEC","user_info":"abc","quality_control":"LOW","liveness_control":"NORMAL"}' -H 'Content-Type:application/json; charset=UTF-8' 返回说明返回参数
返回示例 { "face_token": "2fa64a88a9d5118916f9a303782a97d3", "location": { "left": 117, "top": 131, "width": 172, "height": 170, "rotation": 4 } }
遮挡情况的阈值
模糊度、完整度的阈值
活体控制参数说明
关于以上数值的概念介绍: 拒绝率(TRR):如99%,代表100次作弊假体攻击,会有99次被拒绝。 误拒率(FRR):如0.5%,指1000次真人请求,会有5次因为活体分数低于阈值被错误拒绝。 通过率(TAR):如99%,指100次真人请求,会有99次因为活体分数高于阈值而通过。 阈值(Threshold):高于此数值,则可判断为活体。 人脸库管理(场景化)-人脸更新接口描述用于对人脸库中指定用户,更新其下的人脸图像。
请求说明注意事项:
请求示例 HTTP方法:POST 请求URL: https://aip.baidubce.com/rest/2.0/face/scene/faceset/user/update URL参数:
Header如下:
Body中放置请求参数,参数详情如下: 请求参数
示例代码 提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。 提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。 人脸更新 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/scene/faceset/user/update?access_token=【调用鉴权接口获取的token】' --data '{"image":"[图片Base64编码]","image_type":"BASE64","group_id":"group_repeat","user_id":"user1","scene_type":"SEC","user_info":"cba","quality_control":"LOW","liveness_control":"NORMAL"}' -H 'Content-Type:application/json; charset=UTF-8' 返回说明返回参数
返回示例 { "face_token": "2fa64a88a9d5118916f9a303782a97d3", "location": { "left": 117, "top": 131, "width": 172, "height": 170, "rotation": 4 } } 人脸库管理(场景化)-用户信息查询接口描述获取人脸库中某个用户的信息(user_info信息和用户所属的组)。 请求说明请求示例 HTTP方法:POST 请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/get URL参数:
Header如下:
Body中放置请求参数,参数详情如下: 请求参数
示例代码 提示一:使用示例代码前,请记得替换其中的示例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' 返回说明返回参数
返回示例 { "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/group/getusers URL参数:
Header如下:
Body中放置请求参数,参数详情如下: 请求参数
示例代码 提示一:使用示例代码前,请记得替换其中的示例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' 返回说明
人脸库管理(场景化)-复制用户接口描述用于将已经存在于人脸库中的用户复制到一个新的组。
请求说明请求示例 HTTP方法:POST 请求URL: https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/copy URL参数:
Header如下:
Body中放置请求参数,参数详情如下: 请求参数
返回说明通过返回的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参数:
Header如下:
Body中放置请求参数,参数详情如下: 请求参数
返回说明通过返回的error_code判断是否成功 如失败则查看error_msg获得具体错误信息: 返回参数
返回示例 // 正确返回值 { "error_code": 0, "log_id": 3314921889, } // 发生错误时返回值 { "error_code": 223103, "log_id": 815967402, "error_msg": "user is not exist" } 人脸库管理(场景化)-创建用户组接口描述用于创建一个空的用户组,如果用户组已存在 则返回错误。创建用户组时传递的场景化值scene_type,一经创建无法更改,在该组下注册/更新人脸以及人脸搜索时,场景均需保持一致。 请求说明请求示例 HTTP方法:POST 请求URL: https://aip.baidubce.com/rest/2.0/face/scene/faceset/group/add URL参数:
Header如下:
Body中放置请求参数,参数详情如下: 请求参数
示例代码 提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。 提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。 创建用户组 curl -i -k 'https://aip.baidubce.com/rest/2.0/face/scene/faceset/group/add?access_token=【调用鉴权接口获取的token】' --data '{"group_id":"group1","scene_type":"SEC"}' -H 'Content-Type:application/json; charset=UTF-8' 返回说明通过返回的error_code判断是否成功 如失败则查看error_msg获得具体错误信息: 返回参数
返回示例 // 正确返回值 { "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参数:
Header如下:
Body中放置请求参数,参数详情如下: 请求参数
示例代码 提示一:使用示例代码前,请记得替换其中的示例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获得具体错误信息: 返回参数
返回示例 // 正确返回值 { "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参数:
Header如下:
Body中放置请求参数,参数详情如下: 请求参数
示例代码 提示一:使用示例代码前,请记得替换其中的示例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' 返回说明返回参数
错误码请参考人脸识别错误码 |