翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
コレクション内での顔の検索
Amazon Rekognition を使用すると、入力された顔を使用して、保存されている顔のコレクションから一致する顔を検索できます。まず、検出した顔の情報を、サーバー側のコンテナである「コレクション」に保存します。コレクションには、個々の顔とユーザー (同じ人物の複数の顔) の両方が保存されます。個々の顔は、顔を数学的に表現した顔ベクトルとして保存されます (実際の顔の画像ではなく)。同じ人物の異なるイメージを使用して、同じコレクションに複数の顔ベクトルを作成して保存できます。その後、同じ人物の複数の顔ベクトルを集約して、ユーザーベクトルを作成できます。ユーザーベクトルは、さまざまなレベルの明るさ、シャープネス、ポーズ、見た目などを含む、より安定した表現であり、より高い精度で顔を検索できます。
コレクションを作成したら、入力した顔を使用して、コレクション内の一致するユーザーベクトルまたは顔ベクトルを検索できます。ユーザーベクトルを検索すると、個々の顔ベクトルを検索する場合よりも精度を大幅に高めることができます。イメージ、保存済みビデオ、ストリーミングビデオ内で検出された顔を使用して、保存した顔ベクトルに対して検索を行うことができます。画像内で検出された顔を使用して、保存されているユーザーベクトルに対して検索を行えます。
顔の情報を保存するときは、次の操作を行う必要があります。
-
コレクションの作成 - 顔情報を保存するには、まずアカウント内のいずれかの AWS リージョンで顔コレクションを作成 (CreateCollection) する必要があります。この顔コレクションは、
IndexFaces
オペレーションを呼び出すときに指定します。 -
Index Faces - IndexFacesオペレーションは、イメージ内の顔を検出し、顔ベクトル (複数可) を抽出してコレクションに保存します。このオペレーションを使用して、イメージ内の顔を検出し、検出した顔の特徴に関する情報をコレクション内に保持できます。これは、サービスが顔ベクトル情報をサーバーに保存するため、ストレージベースのAPIオペレーションの例です。
ユーザーを作成し、このユーザーに複数の顔ベクトルを関連付けるには、次の操作を行う必要があります。
-
ユーザーの作成 - まず でユーザーを作成する必要がありますCreateUser。同一人物の複数の顔ベクトルをユーザーベクトルに集約することで、顔照合の精度を高めることができます。1 つのユーザーベクトルには、最大で 100 個の顔ベクトルを関連付けることができます。
-
顔の関連付け - ユーザーを作成したら、 AssociateFacesオペレーションを使用して既存の顔ベクトルをそのユーザーに追加できます。顔ベクトルをユーザーベクトルに関連付けるには、顔ベクトルがユーザーベクトルと同じコレクション内に存在している必要があります。
コレクションを作成して顔ベクトルとユーザーベクトルを保存した後に、以下のオペレーションを使って一致する顔を検索できます。
-
SearchFacesByImage - 画像から顔を持つ保存された個々の顔を検索する。
-
SearchFaces - 指定された顔 ID を持つ保存された個々の顔を検索します。
-
SearchUsers - 指定された顔 ID またはユーザー ID を持つストアドユーザーを検索します。
-
SearchUsersByImage - イメージから顔を持つ保存済みユーザーを検索します。
-
StartFaceSearch - 保存されたビデオ内の顔を検索します。
-
CreateStreamProcessor - ストリーミングビデオで顔を検索するには。
注記
コレクションには、顔の数学的表現である顔ベクトルが保存されます。コレクションには顔の画像は保存されません。
次の図は、コレクションを使用する目標に基づいて オペレーションを呼び出す順序を示しています。
ユーザーベクトルとの最大精度マッチングの場合:
個々の顔ベクトルとの高精度マッチングの場合:
コレクションは、さまざまなシナリオで使用できます。例えば、スキャンした従業員バッジイメージから検出された顔を保存する顔コレクションと、 IndexFaces
および AssociateFaces
オペレーションIDsを使用して発行された政府を作成できます。社員が建物内に入ると、その顔のイメージがキャプチャされ、SearchUsersByImage
オペレーションに送信されます。十分に高い類似スコア (99% など) で顔が一致すると、この社員を認証できます。