今回は Face API を使って、画像内の顔を検出するアプリを作成します。Face API は日に日に精度や機能が追加されていますが、REST API があったりなど使いこなしやすいので便利です。
Azure Portal で Face API をデプロイする
まずはアプリケーションを作成する際に使用する、Face API Key をデプロイします。Azure Portal で Face と検索すると出てきます。任意のリソースグループ名とリソース名を入れてデプロイします。今回使うものはフリープランでも大丈夫です。
作成したら Face API の Key をコピーしておきましょう。
サンプルコードをデプロイする
Microsoft の Document にある Github 公開しているコードを自分の開発環境上に Clone します。コマンドプロンプトから以下を実行するとデプロイできます。次いでに Visual Studio を開くところまで下記コードで実行できます。
git clone https://github.com/Azure-Samples/Cognitive-Face-CSharp-sample.git
cd Cognitive-Face-CSharp-sample/FaceTutorialCS
FaceTutorialCS.sln
Face API Key の追加
そのままデプロイすると当たり前ですが以下のエラーが発生します。
Visual Studio が自動で場所を推測していくれるので、以下画像の場所に最初にコピーしたEndpoint と Key を入力します。
実はこれだけではできません。Face API の Nuget Package をダウンロードします。
これでやると、Key の String に不適切な値が入っているとエラーが発生します。少しですが以下のように書き換えます。(MSのGithub のコードが少し間違ってましたね)
これでデプロイしてみます。
大谷翔平はスマイル100%でした!
参考URL&Tips
チュートリアル:画像内の顔データを表示する WPF アプリの作成
https://docs.microsoft.com/ja-jp/azure/cognitive-services/face/tutorials/faceapiincsharptutorial
Face API の Key でできなかった場合は、Cognitive Services の Key でデプロイしてみましょう。デプロイは通っているけどうまく分析できない場合はそれで解決することがあります。最近 Cognitive Services にまとめれてきているため、Endpoint に無駄な「/faces」とか入っているとうまくAPI をたたけない場合があります。