PHP 调用百度人脸检测
?本文章主要介紹人臉檢測API能力、應用場景、請求實例、參數說明。
接口能力
????人臉檢測:檢測圖片中的人臉并標記出位置信息。
????人臉關鍵點:展示人臉的核心關鍵點信息,及150個關鍵點信息。
????人臉屬性值:展示人臉屬性信息,如年齡、性別等。
人臉質量信息:返回人臉各部分的遮擋、光照、模糊、完整度、置信度等信息。
應用場景
如人臉屬性分析,基于人臉關鍵點的加工分析,人臉營銷活動等。
說明
檢測響應速度,與圖片中人臉數量相關,人臉數量較多時響應時間會有些許延長。
下載SDK
支持PHP版本:5.3+
人臉識別 PHP SDK目錄結構
下載SDK 網址?
請求參數?
| 參數 | 必選 | 類型 | 說明 |
| image | 是 | string | 圖片信息(總數據大小應小于10M),圖片上傳方式根據image_type來判斷 |
| image_type | 是 | string | 圖片類型 |
| face_field | 否 | string | 包括age,expression,face_shape,gender,glasses,landmark,landmark150, |
| max_face_num | 否 | uint32 | 最多處理人臉的數目,默認值為1,根據人臉檢測排序類型檢測圖片中排序第一的人臉(默認為人臉面積最大的人臉),最大值120 |
| face_type | 否 | string | 人臉的類型 |
| liveness_control | 否 | string | 活體控制 檢測結果中不符合要求的人臉會被過濾 |
| face_sort_type | 否 | int | 人臉檢測排序類型 |
| display_corp_image | 否 | int | 是否顯示檢測人臉的裁剪圖base64值 |
說明:face_field參數,默認只返回人臉框、概率和旋轉角度,age等更多屬性,請在此參數中添加。
請求實例
/** 人臉識別實例* @Yjl*/require_once 'AipFace.php';// 應用API ID const APP_ID = '應用API ID';// 應用API KEY const API_KEY = '應用API KEY';// 應用 SECRET KEY const SECRET_KEY = '應用 SECRET KEY';class FaceAuth{/*** 人臉檢測* author: YJL* @param $imageType* @param $image:取決于image_type參數,傳入 BASE64字符串或URL字符串或FACE_TOKEN字符串* @return false|string*/public function faceCheck($imageType, $image){// 傳入必須參數 實例化類$client = new AipFace(APP_ID, API_KEY, SECRET_KEY);// 可選參數$options = array('face_field' => 'gender,age,emotion,face_type','max_face_num' => 2 // 最多處理人臉的數目,默認為1);// 調用人臉檢測$data = $client->detect($image, $imageType, $options);// 查看 restult 的值 為空表示不含人臉return json_encode($data);}}$obj = new FaceAuth();// 人臉檢測-圖片二進制 /*$image = base64_encode(file_get_contents('./img/1.jpg')); $imageType = 'BASE64'; print_r($obj->faceCheck($imageType, $image));*/// 人臉檢測-圖片鏈接 $imageType = 'URL'; $image = 'https://pic.3gbizhi.com/2019/1010/20191010025913837.jpg'; print_r($obj->faceCheck($imageType, $image));返回參數
并非列舉全部返回字段,因為字段有很多但并非都需要。
只是列舉了默認返回字段和一部分需要face_field?參數請求后返回字段。
若覺得不全,可查看官網文檔。
| 字段 | 必選 | 類型 | 說明 |
| face_num | 是 | int | 檢測到的圖片中的人臉數量 |
| face_list | 是 | array | 人臉信息列表,具體包含的參數參考下面的列表。 |
| +face_token | 是 | string | 人臉圖片的唯一標識 (人臉檢測face_token有效期為60min) |
| +location | 是 | array | 人臉在圖片中的位置 |
| ++left | 是 | double | 人臉區域離左邊界的距離 |
| ++top | 是 | double | 人臉區域離上邊界的距離 |
| ++width | 是 | double | 人臉區域的寬度 |
| ++height | 是 | double | 人臉區域的高度 |
| ++rotation | 是 | int64 | 人臉框相對于豎直方向的順時針旋轉角,[-180,180] |
| +face_probability | 是 | double | 人臉置信度,范圍【0~1】,代表這是一張人臉的概率,0最小、1最大。其中返回0或1時,數據類型為Integer |
| +angle | 是 | array | 人臉旋轉角度參數 |
| ++yaw | 是 | double | 三維旋轉之左右旋轉角[-90(左), 90(右)] |
| ++pitch | 是 | double | 三維旋轉之俯仰角度[-90(上), 90(下)] |
| ++roll | 是 | double | 平面內旋轉角[-180(逆時針), 180(順時針)] |
| +age | 否 | double | 年齡 ,當face_field包含age時返回 |
| +expression | 否 | array | 表情,當 face_field包含expression時返回 |
| ++type | 否 | string | none:不笑;smile:微笑;laugh:大笑 |
| ++probability | 否 | double | 表情置信度,范圍【0~1】,0最小、1最大。 |
| +gender | 否 | array | 性別,face_field包含gender時返回 |
| ++type | 否 | string | male:男性 female:女性 |
| ++probability | 否 | double | 性別置信度,范圍【0~1】,0代表概率最小、1代表最大。 |
| +emotion | 否 | array | 情緒 face_field包含emotion時返回 |
| ++type | 否 | string | angry:憤怒 disgust:厭惡 fear:恐懼 happy:高興 sad:傷心 surprise:驚訝 neutral:無表情 pouty: 撅嘴 grimace:鬼臉 |
| ++probability | 否 | double | 情緒置信度,范圍0~1 |
| +face_type | 否 | array | 真實人臉/卡通人臉 face_field包含face_type時返回 |
| ++type | 否 | string | human: 真實人臉 cartoon: 卡通人臉 |
| ++probability | 否 | double | 人臉類型判斷正確的置信度,范圍【0~1】,0代表概率最小、1代表最大。 |
返回示例
{"error_code":0,"error_msg":"SUCCESS","log_id":3359851047,"timestamp":1681358159,"cached":0,"result":{"face_num":1,"face_list":[{"face_token":"0b7add2c6f3e0c87d2a6d21e3bd9b920","location":{"left":276.96,"top":266.73,"width":464,"height":476,"rotation":0},"face_probability":1,"angle":{"yaw":2.78,"pitch":-0.26,"roll":-3.95},"gender":{"type":"female","probability":1},"age":22,"emotion":{"type":"neutral","probability":0.99},"face_type":{"type":"human","probability":0.96}}]} }到此為止了,剩下的就是放到項目中與真實業務場景結合進行使用。
相關文章:
?《百度人臉識別應用注冊及認證》
《PHP調用百度人臉對比》
總結
以上是生活随笔為你收集整理的PHP 调用百度人脸检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 纺织品GRSlogo使用标准 GRS认证
- 下一篇: 麻省理工大学线性代数1806(1) 矩阵