기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SearchFaces 작업을 사용하여 제공된 이미지에서 가장 큰 얼굴과 일치하는 컬렉션에서 사용자를 검색할 수 있습니다.
얼굴이 감지되고 컬렉션에 추가되면 IndexFaces 작업 응답에서 얼굴 ID가 반환됩니다. 자세한 내용은 컬렉션에서 얼굴 관리 단원을 참조하십시오.
얼굴 ID(SDK)를 사용하여 모음에서 얼굴을 검색하려면
-
아직 설정하지 않았다면 다음과 같이 하세요.
-
AmazonRekognitionFullAccess
권한이 있는 사용자를 생성하거나 업데이트합니다. 자세한 내용은 1단계: AWS 계정 설정 및 사용자 생성 단원을 참조하십시오. -
AWS CLI 및 AWS SDKs를 설치하고 구성합니다. 자세한 내용은 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
는 지정된 얼굴 모음에서 유사한 얼굴을 검색합니다. 응답에 검색하는 얼굴이 포함되지 않았습니다. 유사한 얼굴만이 포함됩니다. SearchFaces
는 기본적으로 알고리즘이 80% 이상의 유사성을 감지하는 얼굴을 반환합니다. 유사성은 얼굴이 입력 얼굴과 얼마나 일치하는지를 나타냅니다. 필요하다면 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"
}
}
]
}