百度人脸识别使用指南-私有化部署接口文档 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
产品推荐: 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帐号,立即体验人脸识别>>> 百度人脸识别使用指南-私有化部署接口文档 1.总体说明私有化部署包部署成功后,即可获得与公有云基本完全相同的接口,人脸识别的相关接口将会启动,即可开始调用。 1.1 接口能力在私有化部署包中会提供如下5类接口:
业务能力 创建Appid:用于创建一个Appid 查询Appid:用于查询此业务中已经创建哪个Appid
接口能力 ① 人脸检测:检测图片中的人脸并标记出位置信息; 典型应用场景:如人脸属性分析,基于人脸关键点的加工分析,人脸营销活动等。
接口能力 ① 两张人脸图片相似度对比:比对两张图片中人脸的相似度,并返回相似度分值; 业务应用 用于比对多张图片中的人脸相似度并返回两两比对的得分,可用于判断两张脸是否是同一人的可能性大小。 典型应用场景:如人证合一验证,用户认证等,可与您现有的人脸库进行比对验证。
业务能力 ① 1:N人脸搜索:也称为1:N识别,在指定人脸集合中,找到最相似的人脸;
业务能力 要完成1:N或者M:N识别,首先需要构建一个人脸库,用于存放所有人脸特征,相关接口如下: 人脸注册:向人脸库中添加人脸 人脸库结构 人脸库、用户组、用户、用户下的人脸层级关系如下所示: |- 人脸库(appid)
|- 用户组一(group_id)
|- 用户01(uid)
|- 人脸(faceid)
|- 用户02(uid)
|- 人脸(faceid)
|- 人脸(faceid)
....
....
|- 用户组二(group_id)
|- 用户组三(group_id)
.... 关于人脸库的设置限制 ① 每个私有化部署包建议对应1个appid,每个appid对应一个人脸库;
1.2 接口格式说明
注意事项 ① 所有ID定义必须为小于等于32字节的数字字母组合,尽量使用无意义的组合,并且不可以使用系统保留关键字:all、self、me、this、next。
请求方式统一使用application/json请求 直接请求
{ "error_code" : 0, //错误码 0代表成功 "error_msg" : "SUCCESS", //错误信息 "result" : {...} //返回结果 具体内容详见相关接口 "log_id" : 3535325235 //请求的日志id "timestamp" : 1512391548 //请求到达的时间戳 精确到秒级 "cached" : 0 //未启用 无需处理 }
遮挡情况的阈值
模糊度、完整度的阈值
1.3 调用准备1、调用接口的地址示例:[192.168.0.1]:8300/face-api/v3/face/detect,其中ip需要替换为用户自己服务器的ip,端口固定为:8300,接口地址需要替换为下述接口的地址。 2、调用接口时需要指定appid,此appid为用户自定的id,目前可以通过调用“创建用户组”接口来创建appid 2. 接口详情2.1 基础能力接口2.1.1 人脸检测
/face-api/v3/face/detect
若为视频监控模型,请求参数可以增加下列字段:
{ "image": "027d8308a2ec665acb1bdf63e513bcb9", "image_type": "FACE_TOKEN", "face_field": "faceshape,facetype" }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094400, "cached": 0, "result": { "face_num": 1, "face_list": [ { "face_token": "35235asfas21421fakghktyfdgh68bio", "location": { "left": 117, "top": 131, "width": 172, "height": 170, "rotation": 4 }, "face_probability": 1, "angle": { "yaw": -0.34859421849251, "pitch": 1.9135693311691, "roll": 2.3033397197723 }, "landmark": [ { "x": 61.67, "y": 133.44 }, { "x": 99.73, "y": 129.72 }, { "x": 85.88, "y": 155.07 }, { "x": 85.82, "y": 173.16 } ], "age": 29.298097610474, "expression": { "type": "smile", "probability": 0.5543018579483 }, "gender": { "type": "male", "probability": 0.99979132413864 }, "glasses": { "type": "sun", "probability": 0.99999964237213 }, "eye_status": { "left_eye": 0.9999974966, "right_eye": 0.9999724627 }, "face_shape": { "type": "triangle", "probability": 0.5543018579483 }, "quality": { "occlusion": { "left_eye": 0, "right_eye": 0.015625, "nose": 0, "mouth": 0, "left_cheek": 0.03078358248, "right_cheek": 0.03356481344, "chin_contour": 0.006372549105 }, "blur": 5.188863383e-7, "illumination": 131, "completeness": 1 }, "lib_language": { "char": "0", "probability": 0.67 } } ] } } 72个关键点分布图(对应landmark72个点的顺序,序号从0-71): 2.1.2 人脸对比
/face-api/v3/face/match
[ { "image": "sfasq35sadvsvqwr5q...", "image_type": "BASE64", "face_type": "LIVE", "quality_control": "LOW", "liveness_control": "HIGH" }, { "image": "sfasq35sadvsvqwr5q...", "image_type": "BASE64", "face_type": "IDCARD", "quality_control": "LOW", "liveness_control": "HIGH" } ]
[ { "image": "sfasq35sadvsvqwr5q...", "image_type": "BASE64", "face_type": "LIVE", "quality_control": "LOW", "liveness_control": "HIGH" }, { "image": "sfasq35sadvsvqwr5q...", "image_type": "BASE64", "face_type": "IDCARD", "quality_control": "LOW", "liveness_control": "HIGH" } ]
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094576, "cached": 0, "result": { "score": 44.3, "face_list": [ { "face_token": "fid1" }, { "face_token": "fid2" } ] } } 2.1.3 人脸搜索
/face-api/v3/face/identify
若为视频监控模型,请求参数可以增加下列字段:
{ "image": "027d8308a2ec665acb1bdf63e513bcb9", "image_type": "FACE_TOKEN", "group_id_list": "group_repeat,group_233", "quality_control": "LOW", "liveness_control": "NORMAL" }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094591, "cached": 0, "result": { "face_token": "fid", "user_list": [ { "group_id": "test1", "user_id": "u333333", "user_info": "Test User", "score": 99.3 } ] } } 2.1.4 M:N 多人脸搜索
2.1.5 图片活体检测
/face-api/v3/face/liveness
[ { "image": "sfasq35sadvsvqwr5q...", "image_type": "BASE64", "face_field": "age", "option": "COMMON" }, { "image": "http://xxx.baidu.com/image1.png", "image_type": "URL", "face_field": "age", "option": "COMMON" }, { "image": "9f30d19f86f89f2f07ce88b69557061a", "image_type": "FACE_TOKEN", "face_field": "age", "option": "COMMON" } ]
{
"error_code": 0,
"error_msg": "SUCCESS",
"log_id": 1234567890123,
"timestamp": 1533094517,
"cached": 0,
"result": {
"thresholds": {
"frr_1e-4": 0.05,
"frr_1e-3": 0.3,
"frr_1e-2": 0.9
},
"face_liveness": 0.05532243927,
"face_list": [
{
"face_token": "df46f7c7db4aa09a093c26fb8d1a8d44",
"location": {
"left": 328.9026489,
"top": 97.16340637,
"width": 162,
"height": 154,
"rotation": 32
},
"face_probability": 1,
"angle": {
"yaw": 10.16196251,
"pitch": 2.244354248,
"roll": 33.82199097
},
"liveness": {
"livemapscore": 0.04492170034
},
"age": 23
},
{
"face_token": "901d2c64274fccd687d311a6e6110a01",
"location": {
"left": 411.4876404,
"top": 166.3593445,
"width": 329,
"height": 308,
"rotation": 45
},
"face_probability": 0.9194830656,
"angle": {
"yaw": -1.716423035,
"pitch": 7.344647408,
"roll": 45.79914856
},
"liveness": {
"livemapscore": 0.001787073661
},
"age": 23,
},
{
"face_token": "7d57e36981c48b4946eb97c8d838b02a",
"location": {
"left": 161.4559937,
"top": 199.8726501,
"width": 218,
"height": 201,
"rotation": -1
},
"face_probability": 1,
"angle": {
"yaw": -8.187754631,
"pitch": 6.973727226,
"roll": -1.25429821
},
"liveness": {
"livemapscore": 0.05532243927
},
"age": 23
}
]
}
}
2.2 人脸管理接口2.2.1 人脸注册
/face-api/v3/face/add
若为视频监控模型,请求参数可以增加下列字段:
{ "image": "027d8308a2ec665acb1bdf63e513bcb9", "image_type": "FACE_TOKEN", "group_id": "group_repeat", "user_id" : "user1", "user_info" : "abc", "quality_control": "LOW", "liveness_control": "NORMAL" }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094602, "cached": 0, "result": { "face_token": "2fa64a88a9d5118916f9a303782a97d3", "location": { "left": 117, "top": 131, "width": 172, "height": 170, "rotation": 4 } } } 2.2.2 人脸更新
/face-api/v3/face/update
若为视频监控模型,请求参数可以增加下列字段:
{ "image": "027d8308a2ec665acb1bdf63e513bcb9", "image_type": "FACE_TOKEN", "group_id": "group_repeat", "user_id" : "user1", "user_info" : "cba", "quality_control": "LOW", "liveness_control": "NORMAL" }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094612, "cached": 0, "result": { "face_token": "2fa64a88a9d5118916f9a303782a97d3", "location": { "left": 117, "top": 131, "width": 172, "height": 170, "rotation": 4 } } } 2.2.3 人脸列表
/face-api/v3/face/list
{ "user_id": "user1", "group_id": "group1" }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094619, "cached": 0, "result": { "face_list": [ { "face_token": "fid1", "ctime": "2018-01-01 00:00:00" }, { "face_token": "fid2", "ctime": "2018-01-01 10:00:00" } ] } } 2.2.4 删除人脸
/face-api/v3/face/delete
{ "user_id": "user1", "group_id": "group1", "face_token": "2fa64a88a9d5118916f9a303782a97d3" }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094650, "cached": 0, "result": null } 2.3 用户管理接口2.3.1 复制用户
/face-api/v3/user/copy
{ "user_id": "user1", "src_group_id": "group1", "dst_group_id": "group2" }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094714, "cached": 0, "result": null } 2.3.2 获取用户信息
/face-api/v3/user/get
{ "user_id": "user1", "group_id": "group1" }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094729, "cached": 0, "result": { "user_list": [ { "user_info": "user info ...", "group_id": "gid1" }, { "user_info": "user info2 ...", "group_id": "gid2" } ] } } 2.3.3 用户列表
/face-api/v3/user/list
{ "group_id": "group1" }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094739, "cached": 0, "result": { "user_id_list": [ "uid1", "uid2" ] } } 2.3.4 删除用户
/face-api/v3/user/delete
{ "user_id": "user1", "group_id": "group1" }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094766, "cached": 0, "result": null } 2.4 用户组管理接口2.4.1 创建用户组
/face-api/v3/group/add
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094781, "cached": 0, "result": null } 2.4.2 用户组列表
/face-api/v3/group/list
{ "start": 0, "length": 100 }
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094800, "cached": 0, "result": { "group_id_list": [ "gid1", "gid2" ] } } 2.4.3 删除用户组
#组删除脚本(部署目录如果不是`/home/work`, 记得修改到部署目录下) */10 * * * * cd /home/work/odp && ./hhvm/bin/hhvm app/face-api/script/DeleteGroup.php
/face-api/v3/group/delete
{ "error_code": 0, "error_msg": "SUCCESS", "log_id": 1234567890123, "timestamp": 1533094791, "cached": 0, "result": null } 2.4.4 查询人脸组数量
批量获取组统计信息
2.5 人脸库管理接口2.5.1 创建人脸库(APPID)
系统会默认生成一个default的人脸库Appid。 2.5.2 查询appid列表
|