一、 適用人群
1.1 適用于不了解人臉識別演算法的同學
1.2 專案需要人臉識別功能的
1.3 本篇講的是從服務端呼叫人臉api,前端不限于PC,手機等設備
1.4 本篇完成人臉注冊,人臉對比,人臉洗掉,活體檢測,以及處理人臉回傳的資料
1.5 百度ai使用qps收費,免費自帶2個,基本可以滿足一般專案需求
二、 準備作業
2.1 登錄https://console.bce.baidu.com/,登錄成功后看到下面的界面,點擊人臉識別
2.2 創建應用,填寫相關資訊
2.3 創建應用后拿到我們呼叫api所需要的ApiKey和SecretKey,創建好應用點擊管理應用就可以看到了
三、 開發介面
開發注意事項: 本篇介面呼叫使用的是go gin框架完成人臉的
3.1 創建face結構體用于獲取token
type Face struct {
Refresh_token string
Expires_in int
Scope string
Session_key string
Access_token string
Session_secret string
}
這里能用到的就2個欄位
access_token: 要獲取的Access Token
expires_in: Access Token的有效期(秒為單位,一般為1個月)
創建一個go腳本,我們開始進行第一步操作,獲取token并存盤下來
func GetFaceToken() Face{
_face := Face{}
resp, err := http.PostForm("https://aip.baidubce.com/oauth/2.0/token",
url.Values{"grant_type":{"client_credentials"},"client_id":{"API Key"},"client_secret":{"Secret Key"}})
defer resp.Body.Close()
if(err!=nil){
fmt.Print(err)
}else {
body, _ := ioutil.ReadAll(resp.Body)
json.Unmarshal([]byte(string(body)),&_face)
}
return _face
}
在apiKey和secretKey中 寫入自己創建應用時的兩個內容
3.2 創建FaceState結構體 存放呼叫api后回傳的資料
type FaceState struct {
Error_code int
Error_msg string
Log_id int
Timestamp int
Cached int
Result Result
}
1. Error_code 呼叫成功并引數正確 回傳0
2. https://cloud.baidu.com/doc/FACE/s/5k37c1ujz 錯誤碼大全
3. Error_msg 錯誤資訊反饋
4. Result 人臉回傳資料,token以及用戶串列
type Result struct {
Face_token string
User_list []UserList
}
5. UserList 用戶資訊串列
type UserList struct {
Group_id string
User_id string
User_info string
Score string
}
1. group_id:用戶所屬的group_id
2. user_id:用戶的user_id
3. user_info:注冊用戶時攜帶的user_info
4. score:用戶的匹配得分80分以上可以判斷為同一人,此分值對應萬分之一誤識率
3.3 人臉注冊介面
func AddFaceImage(Imager string,user User)FaceState{
_face :=GetFaceToken()
_faceState := FaceState{}
resp,err:=http.PostForm("https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add?access_token="+_face.Access_token,url.Values{"image":{Imager},"image_type":{"BASE64"},"group_id":{"Admin"},"user_id":{user.Userid},"user_info":{user.Fullname},"quality_control":{"NONE"},"liveness_control":{"NONE"}})
defer resp.Body.Close()
完整內容請查看https://articles.zsxq.com/id_veqpo7oo1738.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/29725.html
標籤:go語言
上一篇:請教下爬取網頁時,驗證碼url最后有一個時間戳的引數,怎么獲取具體的url
下一篇:go語言在未來有多大發展
