顔認識

この記事では、顔認証の概念、関連する操作、およびその基礎となるデータ構造について説明します。 大まかに言えば、顔認識とは、顔によって個人を検証または識別するプロセスです。 顔認識は、識別シナリオを実装する際に重要です。企業やアプリは、(リモート) ユーザーが自分の要求する人物であることを確認するために使用できます。

Vision Studio を使用して、すばやく簡単に顔認識の機能を試すことができます。

顔認識操作

注意事項

Microsoft の責任ある AI の原則をサポートするために、Face サービスの利用は、適格性と使用基準に基づいて制限されています。 Face サービスは、Microsoft が管理する顧客とパートナーのみが利用できます。 顔認識受付フォームを使用して利用申請を行ってください。 詳細については、「Face の制限付きアクセス」ページを参照してください。

PersonGroup の作成とトレーニング

照合の対象となる一連の人物の保存先となる PersonGroup または LargePersonGroup を作成する必要があります。 PersonGroup には Person オブジェクトが格納されています。これは、それぞれ個々の人物を表し、その人物に属する一連の顔データが保存されています。

Train 操作では、顔データの比較に使用するデータ セットを準備します。

識別

Identify 操作では、(DetectedFace または PersistedFace オブジェクトから) 1 つまたは複数のソースとなる顔 ID と、PersonGroup または LargePersonGroup を受け取ります。 これは、ソースとなるそれぞれの顔が属している可能性のある Person オブジェクトのリストを返します。 返される Person オブジェクトは、予測信頼度値を含む Candidate オブジェクトとしてまとめられます。

検証

Verify 操作では、(DetectedFace または PersistedFace オブジェクトから) 1 つの顔 ID と Person オブジェクトを受け取ります。 ここでは、その顔が同じ人物のものであるかどうかの判断が行われます。 検証は 1 対 1 の照合で、Identify API 呼び出しの結果に対する最終的なチェックとして使用できます。 ただし、必要に応じて、API のパフォーマンスを向上させるために候補となる人物が属している PersonGroup を渡すことができます。

認識操作では、主に次のデータ構造を使用します。 これらのオブジェクトはクラウドに格納され、その ID 文字列によって表すことができます。 ID 文字列はサブスクリプション内で常に一意ですが、名前フィールドは重複する可能性があります。

顔認識データ構造 ガイドを参照してください。

入力の要件

次のヒントを使用して、確実に入力画像から最も正確な認識結果が得られるようにします。

  • サポートされている入力画像形式は、JPEG、PNG、GIF (最初のフレーム)、BMP です。
  • 画像ファイル サイズは 6 MB 以内であることが必要です。
  • 次のような写真の合成のために、一部の顔が認識されない場合があります:
    • 強すぎる照明を含む画像 (強烈な逆光照明など)
    • 一方または両方の目を遮っている障害物
    • 髪質や顔の毛の違い
    • 年齢による顔立ちの変化
    • 極端な表情
  • 画像が顔認識を試行するのに十分な品質である可能性が高いかどうかを示す一般的なガイドラインとして、適用可能な検出モデルを使用する場合は、 qualityForRecognition 属性のある 顔検出 操作を利用できます。 "high" 品質イメージのみが、個人の登録で、"medium"以上の品質が 識別シナリオに推奨されます。

次のステップ

顔認識の概念を理解したので、トレーニング済みの PersonGroup に対して顔を識別するスクリプトを作成します。