はじめに
Azure AI Engineer Associate(AI-102)取得に向けた勉強でまとめた内容を本記事では投稿しています。
試験範囲の内容を私が勉強していく中で、
・忘れてしまっていた内容
・他の知識と絡めて理解した方が良い内容
・Microsoft Learnの読解に苦戦した内容
などをできるだけ分かりやすく簡潔にまとめることを意識しています。
Azureの勉強を一から始め、AI-102取得を目指している方の参考になれば幸いです。
※本記事の内容が必ず試験に出るわけではないこと、ご注意ください
※勉強しながら投稿しているため、追加で学んだことがあれば随時投稿内容を更新します。
試験対策のまとめ
Azure AI Faceサービスの各機能とAPI
- 顔検出と分析:Detect API
- 顔認識の識別(1対多照合):Identify API
- 顔認識の検出(1対1照合):Verify API
- 似た顔の検索:Find Similar API
顔検出と分析
- 画像に含まれている人の顔を検出し、その位置の四角形の座標を返す
- 保存されている顔データを表す一意のID(Face ID)も返される
- 使用する顔検出モデルにより顔のランドマークも座標として返すことが可能
- 顔のランドマーク:瞳孔、鼻の先端など顔の中の見つけやすいポイントのセット(既定で27個)
- オプションとして、下記の属性も抽出可能
- アクセサリ:顔のアクセサリの有無
- ぼかし:顔のぼかしの程度
- 露出:顔の露出の程度
- 眼鏡:顔の眼鏡の有無
- 頭部姿勢:3次元空間での顔の向き
- マスク:顔のマスクの有無
- ノイズ:顔の画像で検出された視覚ノイズ
- オクルージョン:顔のパーツをブロックするオブジェクトの有無
- QualityForRecognition:画像が顔認識するのに充分であるか否かを表す品質
顔認識
- 識別(Identify)では、画像内の1つの顔を、事前に作成しトレーニングした顔のグループに対して照合
⇒顔がグループ内のpersonとして識別された場合、そのpersonオブジェクトが返される - 検証(Verify)では、画像内の顔を他の写真などの1つの顔と照合
⇒2つの顔が同じ人物であるかどうかを確認
例:自撮りと身分証明書の写真を使った本人確認 - 3種類のコンテナデータ構造を使用して、Personオブジェクトの形式で顔認識データを保持
顔識別で使用されるデータ構造
- PersonGroup
- 最小のコンテナデータ構造
- 作成時に認識モデルを指定する必要あり(顔が追加されるときにモデルが使用される)
- 無料サブスクリプションでは最大1,000人を保持可能
- S0有料サブスクリプションでは最大10,000人を保持可能
- PersonGroupPerson:識別されるユーザーを表し、最大248個の顔を保持可能
- LargePersonGroup
- 大規模なデータをサポートするように最適化された最新のデータ構造
- S0有料サブスクリプションで最大100万人を保持可能
- PersonGroupの機能の大部分を共有している
- PersonDirectory
- より大きなスケールとより高い精度をサポートする最新のデータ構造
- 各Azure Faceリソースには、既定の1つのPerson Directoryデータ構造がある
- 最大7,500万個を保持可能
- PersonDirectoryPerson
- 識別されるユーザーを表す
- 異なる認識モデルの顔を同じ人物に追加可能
- Identify操作では同じ認識モデルで取得した顔のみ照合可能
- DynamicPersonGroup
- PersonGroupPersonを動的に参照できる軽量のデータ構造
- トレーニング操作は不要
- データ更新後、すぐにIdentify操作で使用する準備が整う
- in-place person ID list
- Identify操作で使用可能
- 識別するグループを絞り込んで指定できる
- 上記データ構造を同時に使用した場合の例(フライト搭乗システム)
- PersonDirectory:航空会社のすべての顧客を表す
- DynamicPersonGroup:特定のフライトの乗客のみを表す
- in-place person ID list:直前に変更を行った乗客を表す
似た顔の検索
- Find Similar操作では、ターゲットの顔と候補となる一連の顔との間で顔照合を実施
⇒ターゲットの顔によく似ている一連の顔が検索される - Find similarでは2つの動作モードをサポート
- matchPerson:Verify APIを使用して同一人物フィルター処理後、似た顔が返される
- matchFace:同一人物フィルターを無視して、似ている顔の候補リストが返される
Find Similarで使用されるデータ構造
- Find Similar APIは、Personの登録設定が困難なアプリケーションで使用するように設計されている
- FaceList
- 永続化された顔のフラットなリストを表す
- 最大1,000個の顔を保持可能
- LargeFaceList
- 最大1,000,000個の顔を保持できる新しいバージョン
- FaceList
- 参考
学習内容をまとめたページの一覧