1、先获得 access_token 【post】 https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【API Key】&client_secret=【Secret Key】
2、调用接口POST,获取要识别的图片的人脸识别结果 1)搜索:https://aip.baidubce.com/rest/2.0/face/v3/search?access_token=【获取的access-token】 2)添加到库中:https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add?access_token=【获取的access-token】
3、准备数据1——照片 【这里删除data:image/jpg;base64,】/9j/4AAQSkZJRgABAg……
4、准备数据2——Header Content-Type:application/json
5、准备数据3——Body
Body中放置请求参数,参数详情如下: 参数 必选 类型 说明 image 是 string 图片信息(总数据大小应小于10M),图片上传方式根据image_type来判断 image_type 是 string 图片类型 base64:图片的base64值,base64编码后的图片数据,编码后的图片大小不超过2M; URL:图片的 URL地址( 可能由于网络等原因导致下载图片时间过长); FACE_TOKEN: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个。 group_id_list 是 string 从指定的group中进行查找 用逗号分隔,上限10个 quality_control 否 string 图片质量控制 NONE: 不进行控制 LOW:较低的质量要求 NORMAL: 一般的质量要求 HIGH: 较高的质量要求 默认 NONE 若图片质量不满足要求,则返回结果中会提示质量检测失败 liveness_control 否 string 活体检测控制 NONE: 不进行控制 LOW:较低的活体要求(高通过率 低攻击拒绝率) NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率) HIGH: 较高的活体要求(高攻击拒绝率 低通过率) 默认NONE 若活体检测结果不满足要求,则返回结果中会提示活体检测失败 user_id 否 string 当需要对特定用户进行比对时,指定user_id进行比对。即人脸认证功能。 max_user_num 否 unit32 查找后返回的用户数量。返回相似度最高的几个用户,默认为1,最多返回50个。
6、PHP 示例 <?php function request_post($url = '', $param = '') { if (empty($url) || empty($param)) { return false; }
$postUrl = $url; $curlPost = $param; // 初始化curl $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $postUrl); curl_setopt($curl, CURLOPT_HEADER, 0); // 要求结果为字符串且输出到屏幕上 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // post提交方式 curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost); // 运行curl $data = curl_exec($curl); curl_close($curl);
return $data; }
$token = '[调用鉴权接口获取的token]'; $url = 'https://aip.baidubce.com/rest/2.0/face/v3/search?access_token=' . $token; $bodys = "{"image":"027d8308a2ec665acb1bdf63e513bcb9","image_type":"FACE_TOKEN","group_id_list":"group_repeat,group_233","quality_control":"LOW","liveness_control":"NORMAL"}" $res = request_post($url, $bodys);