MSの人工知能APIを使って顔認識をしてみる

Microsoft Project Oxford Face API を使ってみよう

Microsoft Project Oxford 内には Face API が存在します。その中でも一番基本的な Face Detection を実際にプログラミングしていきたいと思います。Microsoft Project Oxford のAPIを使用するには下準備としてMicrosoftのアカウントを取得し、API Keyを取得する必要があります。

とりあえず実行してみよう

さっそく準備ができたので試してみようと思います。
プログラムはPython3系で書いています。下記のコードを実行してみてください。

import http.client, urllib.request, urllib.parse, urllib.error, base64

headers = {
    # Request headers
    'Content-Type': 'application/octet-stream',
    'Ocp-Apim-Subscription-Key': '********************',
}

params = urllib.parse.urlencode({
    # Request parameters
    'returnFaceId': 'true',
    'returnFaceLandmarks': 'false',
    'returnFaceAttributes': 'age',
})

try:
    conn = http.client.HTTPSConnection('api.projectoxford.ai')
    img = open("./sample.jpg","rb")
    conn.request("POST", "/face/v1.0/detect?%s" % params, img, headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

Ocp-Apim-Subscription-Key には自分で取得してきたAPI-Keyを入力してください。

今回はプログラムと同じディレクトリに存在する画像を使用しました。ファイル名はsample.jpg とし読み込んでいます。画像はこちらの画像を使用しました。

出力結果

[
   {
      "faceId":"***********************",
      "faceRectangle":{
         "top":149,
         "left":107,
         "width":199,
         "height":199
      },
      "faceAttributes":{
         "age":31.4
      }
   }
]

実行結果から顔の座標位置とサイズが取得できました。さらに今回は年齢も取得したので表示されいます。機械的には31.4歳に見えるらしいですね。自分の顔でやってみるのも面白いかもしれませんね!

パラメータの設定による出力の変化

# Request parameters
'returnFaceId': 'true',
'returnFaceLandmarks': 'false',
'returnFaceAttributes': 'age',

このような部分があると思います。上から順番に説明していきたいと思います。
これらのパラメータはtureに設定すると取得できます。個々に選択することもできるので、必要情報に応じて設定してください。今回は ‘returnFaceAttributes’ はage(年齢)のみ選択しています。

‘returnFaceId’
そのままでFaceIdを返してくれます。

‘returnfaceRectangle’
顔の位置を座標で表したデータを返してくれます。

‘returnFaceLandmarks’
顔のパーツの座標を表したデータを返してくれます。

‘returnFaceAttributes’
画像から推測されるその他の情報を返してくれます。年齢や性別などがあります。

まとめ

今回はサンプルを少し変更し実行しただけでしたが応用してさまざまなサービスが作れる予感がします。一枚の画像からこんなにも情報を読み取れるなんと恐ろしい時代ですね!

追記

kazusoga blog様のブログに掲載していただきました。

こちらのサイトにはたくさんの人工知能に関する情報がまとめられています。

スポンサーリンク
レンダリング大
レンダリング大

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. […] MSの人工知能APIを使って顔認識をしてみる – elecafe http://www.elecafe.info/contents/20160430-po-face-detect/ […]