😺

Azure Face APIを使って2つの顔が同一人物か判定する

2021/06/05に公開

はじめに

2 枚の写真に写っている人物が同一人物であるかどうかを判定する顔認識を、Azure Face API を使って行ってみます。

公式ドキュメントはこちら。

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

Azure Face APIを使った顔認識ステップ

顔認識を行うには以下のステップを踏む必要があります。

  1. 顔検出APIを利用し、比較したい 2 枚の写真のFaceIDを取得する。
  2. 確認APIに 2 つの FaceID を送り、同一人物かどうかを判定する。

今回利用するAPIはこちら

顔検出API

写真に写った顔を検出するための API です。
検出された顔にはそれぞれFaceIDが割り振られ、確認 API の実行に必要です。

https://japaneast.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236/console

確認API

指定した 2 つのFaceIDの顔が同一人物かどうかを判定する API です。

https://japaneast.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523a/console

実際に試してみる

今回はこちらのガッキーが同一人物かどうか判定してみます。

Image from Gyazo

まずは、顔検出APIを使って、FaceID を取得します。
API キーの取得方法はこちら

Image from Gyazo

画面下部にあるSendボタンをクリックすると FaceID が返ってきます。
今回はc2e933ef-8557-4306-a59f-7d86bc5ee30fでした。

Image from Gyazo

2 枚目の画像に対しても同様に FaceID を取得します。
2 つ目の FaceID は8729b426-700a-4901-96a9-0abb0c3d7320でした。

続いて、確認APIを使います。

API キーを入力し、Request body には先程取得した FaceID を以下のフォーマットで入力します。

{
  "faceId1": "c2e933ef-8557-4306-a59f-7d86bc5ee30f",
  "faceId2": "8729b426-700a-4901-96a9-0abb0c3d7320"
}

Image from Gyazo

画面下部にあるSendボタンをクリックすると、同一人物度合いが返ってきます。
今回は、96%くらい同一人物という結果が得られました。

Image from Gyazo

まとめ

Azure Face API を使って、2 枚のガッキーが同一人物か判定してみました。
顔検出API確認APIの 2 つの API を使わないといけませんが、手順自体はシンプルでわかりやすかったです。

とりあえず 1 パターンしか試していませんが、写真の明るさ、顔が写っている角度、距離などの条件を変えた場合、どれくらいの精度が出るかも見てみたいですね。

GitHubで編集を提案

Discussion