Azure

AzureのFace APIを試してみる

More than 1 year has passed since last update.

はじめに

先日はAWSのことを書きましたが今日はAzureについて書いてみます。
とりあえず最近画像の顔認識がやりたいなぁと思っていたのですが、とはいえデータセットを用意するのも辛いな、とか思っていたところなんとAzureには良い感じのサービスが有ることがわかりました!
てなわけで、今回はFace APIを使って顔認識を実行してみます。

Azureセットアップ

アカウントの取得

これはトップ画面からやれば普通にできると思うので適宜実施してください。
携帯とクレカは必須です。

Cogntive Servicesのセットアップ

さて、ログイン後は下記のような画面担っているかと思います。
(これまたおしゃれで良い画面ですね)

edited1.png

それは置いておいて、サービスのセットアップを開始します。
左下の「その他のサービス」をクリックし、Cognitive Services accountsを選択します。
数が多いので、スクリーンショットのように絞り込むと楽です。

edited2.png

出てきた画面で「追加」をクリックします。
edited3.png

スクリーンショットを参考に情報を入力します。
edited4.png

同様に。
edited5.png

最後はLegal Termsのところを表示して、Agreeボタンを押すのを忘れないようにしてください。
edited6.png

デプロイ中待ちます。
edited7.png

デプロイが終わるとこんな画面が開きます。
edited8.png

キーの入手

この手のサービスは兎にも角にも鍵を入手しないと始まりません。
Keysをクリックしてください。
edited9.png

2つありますが、どちらでも良いので控えておきます。
edited10.png

サンプルコードの実行

お得意のnode.jsのsdkが見当たらないので、とりあえずpythonで実行します。
https://www.microsoft.com/cognitive-services/en-us/face-api/documentation/Get-Started-with-Face-API/GettingStartedwithFaceAPIinPython

コードは丸パクリですが、

test.py
import cognitive_face as CF

KEY = 'subscription key'
CF.Key.set(KEY)

img_url = 'https://raw.githubusercontent.com/Microsoft/Cognitive-Face-Windows/master/Data/detection1.jpg'
result = CF.face.detect(img_url)
print result

これをそのまま、subscription keyのところだけ、先程のキーに置き換えて実行すると下記の様な結果が返ります。

[{u'faceId': u'c067fe40-2f56-4241-bc60-dc6bb1a918bf', u'faceRectangle': {u'width': 89, u'top': 66, u'height': 89, u'left': 446}}]

なるほど、ということで、全く人の顔が写っていない写真も試してみます。
これはWeb上にある適当な画像のURLで上のコードのimg_urlを置き換えて実行します。
すると

[]

という空の配列が返ります。

ダッシュボード

ちなみに上のコードを実行したあと、ダッシュボードの表示はこんな感じになります。
edited12.png

何回呼び出したかとかパッと見すぐに分かりそうで、いいですね。

まとめ

非常に簡単に顔認識が実現できてしまいました。
アカウント取得含めても30分もかからないで実行できちゃうあたりが楽ちんでいいですね。
これを使ってちょっと作りたいものがあるのでがんばってみます!