AzureのFaceAPIをgo言語で試す
FaceAPIとは?
Face API - 顔認識 | Microsoft Azure
画像より顔を認識してその情報を返すAPI
準備
AzureでFaceAPIのサービスを開始してキーを取得刷る必要があります。
手順
その他サービスより検索
Cognitiveサービスを開始する
FaceAPIを検索して開始する
作成に同意
設定情報を入力して作成
ダッシュボードに追加されたことを確認
エンドポイントを確認
キーを確認
実装
sample1.go
package main import ( "log" "net/http" "bytes" "io/ioutil" ) func main() { key1 := "アクセスキー" jsonStr := []byte(`{"url":"画像のURL"}`) // EndPoint endPoint := "https://eastasia.api.cognitive.microsoft.com/face/v1.0" // params paramStr := "/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=age,gender,glasses" // URL url := endPoint + paramStr log.Println(url) req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr)) if err != nil { log.Fatal("Request:", err) return } req.Header.Set("Content-Type", "application/json") req.Header.Set("Ocp-Apim-Subscription-Key", key1) httpClient := &http.Client{} resp, err := httpClient.Do(req) if err != nil { log.Fatal("Do: ", err) return } defer resp.Body.Close() byteArray, _ := ioutil.ReadAll(resp.Body) log.Println(string(byteArray)) }
↓
2017/11/05 21:43:24 https://eastasia.api.cognitive.microsoft.com/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=age,gender,glasses 2017/11/05 21:43:25 [{"faceId":"4e075f28-ce54-4844-ac63-a4a77b5da9ce","faceRectangle":{"top":64,"left":121,"width":152,"height":152},"faceAttributes":{"gender":"male","age":44.8,"glasses":"NoGlasses"}}]
※サンプル画像はネットより拝借しました。m(_ _)m
参考
AzureのFace APIを試してみる - Qiita
Using Go with Microsoft’s Face API – Satish Manohar Talim – Medium
Azure face APIで遊んでみよう その1~顔の検出 - Qiita
所感
料金プランかなんかで速度とか変わると良いです。なんか時間としてはそんなに早く感じていないので