翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SearchFaces オペレーションを使用すると、指定したイメージ内で最大の顔と一致する、コレクション内のユーザーを検索できます。
顔が検出されると、顔 ID が IndexFaces オペレーションレスポンスで返され、コレクションに追加されます。詳細については、「コレクション内の顔の管理」を参照してください。
顔 ID を使用してコレクション内の顔を検索するには (SDK)
-
まだ実行していない場合:
-
AmazonRekognitionFullAccess
アクセス権限を持つユーザーを作成または更新します。詳細については、「ステップ 1: AWS アカウントを設定してユーザーを作成する」を参照してください。 -
および AWS SDKs をインストール AWS CLI して設定します。詳細については、「ステップ 2: AWS CLI と AWS SDKsを設定する」を参照してください。
-
-
以下の例を使用して、
SearchFaces
オペレーションを呼び出します。この例では、顔 ID で識別された顔と一致する顔に関する情報を表示します。
collectionID
の値は、必要な顔が含まれているコレクションに変更します。faceId
の値は、検索する顔の識別子に変更します。//Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. //PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.) package aws.example.rekognition.image; import com.amazonaws.services.rekognition.AmazonRekognition; import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder; import com.fasterxml.jackson.databind.ObjectMapper; import com.amazonaws.services.rekognition.model.FaceMatch; import com.amazonaws.services.rekognition.model.SearchFacesRequest; import com.amazonaws.services.rekognition.model.SearchFacesResult; import java.util.List; public class SearchFaceMatchingIdCollection { public static final String collectionId = "MyCollection"; public static final String faceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; public static void main(String[] args) throws Exception { AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder.defaultClient(); ObjectMapper objectMapper = new ObjectMapper(); // Search collection for faces matching the face id. SearchFacesRequest searchFacesRequest = new SearchFacesRequest() .withCollectionId(collectionId) .withFaceId(faceId) .withFaceMatchThreshold(70F) .withMaxFaces(2); SearchFacesResult searchFacesByIdResult = rekognitionClient.searchFaces(searchFacesRequest); System.out.println("Face matching faceId " + faceId); List < FaceMatch > faceImageMatches = searchFacesByIdResult.getFaceMatches(); for (FaceMatch face: faceImageMatches) { System.out.println(objectMapper.writerWithDefaultPrettyPrinter() .writeValueAsString(face)); System.out.println(); } } }
コード例を実行します。一致する顔に関する情報が表示されます。
SearchFaces オペレーションのリクエスト
顔 ID (顔コレクションに保存されている顔ごとに顔 ID があります) を指定すると、SearchFaces
は指定した顔コレクション内で類似の顔を検索します。レスポンスには、検索している顔自体は含まれず、類似した顔のみが含まれます。デフォルトでは、アルゴリズムで 80% を超える類似度が検出された顔が SearchFaces
から返されます。類似度は、顔が入力イメージの顔と一致している度合いを示します。必要に応じて、FaceMatchThreshold
を使用して別の値を指定できます。
{
"CollectionId": "MyCollection",
"FaceId": "0b683aed-a0f1-48b2-9b5e-139e9cc2a757",
"MaxFaces": 2,
"FaceMatchThreshold": 99
}
SearchFaces オペレーションのレスポンス
このオペレーションでは、検索された一致する顔の配列と、入力として渡した顔 ID を返します。
{ "SearchedFaceId": "7ecf8c19-5274-5917-9c91-1db9ae0449e2", "FaceMatches": [
list of face matches found
] }
レスポンスでは、検索された一致する顔ごとに類似度と顔のメタデータを返します。レスポンス例は次のとおりです。
{
...
"FaceMatches": [
{
"Similarity": 100.0,
"Face": {
"BoundingBox": {
"Width": 0.6154,
"Top": 0.2442,
"Left": 0.1765,
"Height": 0.4692
},
"FaceId": "84de1c86-5059-53f2-a432-34ebb704615d",
"Confidence": 99.9997,
"ImageId": "d38ebf91-1a11-58fc-ba42-f978b3f32f60"
}
},
{
"Similarity": 84.6859,
"Face": {
"BoundingBox": {
"Width": 0.2044,
"Top": 0.2254,
"Left": 0.4622,
"Height": 0.3119
},
"FaceId": "6fc892c7-5739-50da-a0d7-80cc92c0ba54",
"Confidence": 99.9981,
"ImageId": "5d913eaf-cf7f-5e09-8c8f-cb1bdea8e6aa"
}
}
]
}