Microsoft Cognitive Service FaceAPIを使う

Cognitive ServiceのFaceAPIを使うと顔画像からいろんな情報を入手できます。

具体的には顔認識、類似顔検出、グループ化とかいろいろできるみたいです。

https://azure.microsoft.com/ja-jp/services/cognitive-services/face/

ドキュメントはここ

https://www.microsoft.com/cognitive-services/en-us/face-api/documentation/overview

APIKeyの取得

APIを使うためにはAPIKeyが必要になります。

CognitiveServiceはAzureのサービスの一環なのか、Azureのポータルから取得できます。

キャプチャ

作成したインスタンス?を表示して、Keysに入っているのがAPIKeyです

キャプチャ

APIを使う方法

APIを使うためにはhttpのエンドポイントもありますが、プラットフォームが.NetならNugetに公式のライブラリがあります。

FaceAPIの場合はMicrosoft.ProjectOxford.FaceをNugetから入れます

キャプチャ

顔の特徴点の抽出

FaceDetectでは顔の特徴点を抽出できます。具体的に抽出できる特徴点はこんな感じ

https://www.microsoft.com/cognitive-services/en-us/face-api/documentation/face-api-how-to-topics/howtodetectfacesinimage

実際にFaceDetectするにはFaceServiceClientをAPIKeyで初期化し、DetectAsyncメソッドを呼び出し、画像のURLを入れます。

var client = new FaceServiceClient(apiKey);
var faces = await client.DetectAsync(url, true, true);

画像の送信方法としては、URLのほかに.NetのStreamを入れることもできます。

var client = new FaceServiceClient(apiKey);
var faces = await client.DetectAsync(stream, true, true);

実際に検出してみるとFaceLandmarksにたくさんの顔の特徴点を取得することができました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください