컬렉션에서 얼굴 검색 - Amazon Rekognition

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

컬렉션에서 얼굴 검색

Amazon Rekognition을 사용하면 입력된 얼굴을 사용하여 저장된 얼굴 컬렉션에서 일치하는 얼굴을 검색할 수 있습니다. 먼저 탐지된 얼굴에 대한 정보를 "컬렉션"이라는 서버 측 컨테이너에 저장합니다. 컬렉션은 개별 얼굴과 사용자 (같은 사람의 여러 얼굴) 를 모두 저장합니다. 개별 얼굴은 (얼굴의 실제 이미지가 아닌) 얼굴을 수학적으로 표현한 얼굴 벡터로 저장됩니다. 같은 인물의 다양한 이미지를 사용하여 동일한 컬렉션에 여러 개의 얼굴 벡터를 만들고 저장할 수 있습니다. 그런 다음 같은 인물의 여러 얼굴 벡터를 집계하여 사용자 벡터를 만들 수 있습니다. 사용자 벡터는 여러 정도의 조명, 선명도, 포즈, 외양 등을 포함하는 보다 강력한 묘사를 통해 더 정확한 얼굴 검색을 제공할 수 있습니다.

컬렉션을 만든 후에는 입력된 얼굴을 사용하여 컬렉션에서 일치하는 사용자 벡터 또는 얼굴 벡터를 검색할 수 있습니다. 사용자 벡터를 기준으로 검색하면 개별 얼굴 벡터로 검색하는 것보다 정확도를 크게 향상시킬 수 있습니다. 이미지, 저장된 비디오 및 스트리밍 비디오에서 감지된 얼굴을 사용하여 저장된 얼굴 벡터를 검색할 수 있습니다. 이미지에서 감지된 얼굴을 사용하여 저장된 사용자 벡터를 검색할 수 있습니다.

얼굴 정보를 저장하려면 다음 과정을 수행해야 합니다.

  1. 컬렉션 생성 - 얼굴 정보를 저장하려면 먼저 계정의 AWS 지역 중 하나에 얼굴 컬렉션을 생성 (CreateCollection) 해야 합니다. IndexFaces 작업을 호출할 때 이 얼굴 모음을 지정합니다.

  2. 얼굴 색인 생성 - 이 IndexFaces작업은 이미지에서 얼굴을 감지하고, 얼굴 벡터를 추출하여 컬렉션에 저장합니다. 이 작업을 사용하여 이미지에서 얼굴을 감지하고, 감지된 얼굴 특징에 대한 정보를 모음으로 유지할 수 있습니다. 이것이 스토리지 기반 API 작업의 예인 이유는 서비스가 얼굴 벡터 정보를 서버에 저장하기 때문입니다.

사용자를 생성하고 여러 개의 얼굴 벡터를 사용자와 연결하려면 다음 작업을 수행해야 합니다.

  1. 사용자 만들기 - 먼저 를 사용하여 CreateUser사용자를 만들어야 합니다. 같은 인물의 여러 얼굴 벡터를 하나의 사용자 벡터로 집계하여 얼굴 일치의 정확도를 높일 수 있습니다. 최대 100개의 얼굴 벡터를 하나의 사용자 벡터와 연결할 수 있습니다.

  2. 얼굴 연결 - 사용자를 생성한 후 AssociateFaces작업을 통해 기존 얼굴 벡터를 해당 사용자에게 추가할 수 있습니다. 얼굴 벡터가 사용자 벡터와 연결되려면 해당 사용자 벡터와 같은 컬렉션에 있어야 합니다.

컬렉션을 생성하고 얼굴 및 사용자 벡터를 저장한 후에는 다음 작업을 사용하여 일치하는 얼굴을 검색할 수 있습니다.

  • SearchFacesByImage- 이미지에서 얼굴이 있는 저장된 개별 얼굴을 검색합니다.

  • SearchFaces- 제공된 얼굴 ID로 저장된 개별 얼굴을 검색합니다.

  • SearchUsers- 제공된 Face ID 또는 사용자 ID로 저장된 사용자를 검색합니다.

  • SearchUsersByImage- 이미지에서 얼굴로 저장된 사용자를 검색합니다.

  • StartFaceSearch- 저장된 동영상에서 얼굴 검색하기

  • CreateStreamProcessor- 스트리밍 비디오에서 얼굴을 검색합니다.

참고

컬렉션에는 얼굴을 수학적으로 표현한 얼굴 벡터가 저장됩니다. 컬렉션에는 얼굴 이미지가 저장되지 않습니다.

다음 다이어그램은 컬렉션 사용 목표에 따른 통화 작업 순서를 보여줍니다.

User Vectors와의 매칭 정확도를 극대화하려면:

컬렉션에서 사용자 얼굴 벡터를 저장하고 검색하는 것을 보여주는 다이어그램에는,,,,, 및 같은 CreateCollection 작업이 나열되어 있습니다. IndexFaces CreateUser AssociateFaces SearchUsersByImage SearchUsers

개별 얼굴 벡터와의 높은 정확도의 매칭을 위해:

컬렉션에서 얼굴을 저장하고 검색하는 모습을 보여주는 다이어그램에는,,,, 및 CreateCollection 등의 IndexFaces 작업이 나열되어 있습니다. StartFaceSearch CreateStreamProcessor SearchFacesByImage SearchFaces

여러 가지 일반적인 사용자 시나리오를 위한 자습서 모음. 예를 들어, IndexFacesAssociateFaces 작업을 사용하여 스캔한 직원 배지 이미지와 정부에서 발급한 ID에서 탐지된 얼굴을 저장하는 얼굴 컬렉션을 만들 수 있습니다. 직원이 건물에 들어오면 직원 얼굴 이미지가 캡처되어 SearchUsersByImage 작업으로 전송됩니다. 얼굴 일치에서 충분히 높은 유사성 점수(가령 99%)가 나오면 직원을 인증할 수 있습니다.

컬렉션 관리

얼굴 컬렉션은 기본 Amazon Rekognition 리소스이며, 생성되는 각각의 얼굴 컬렉션에는 고유의 Amazon 리소스 이름(ARN)이 있습니다. 계정의 특정 AWS 지역에서 각 얼굴 컬렉션을 생성합니다. 모음을 만들면, 최신 버전의 얼굴 감지 모델에 연결됩니다. 자세한 정보는 모델 버전 관리을 참조하세요.

컬렉션에서 다음 관리 작업을 수행할 수 있습니다.

컬렉션에서 얼굴 관리

얼굴 컬렉션을 만든 후에는 그 안에 얼굴을 저장할 수 있습니다. Amazon Rekognition은 컬렉션의 얼굴 관리를 위해 다음 작업을 제공합니다.

  • IndexFaces작업은 입력 이미지 (JPEG 또는 PNG) 에서 얼굴을 감지하여 지정된 얼굴 컬렉션에 추가합니다. 이미지에서 감지된 각 얼굴에 대해 고유한 얼굴 ID가 반환됩니다. 얼굴을 유지한 후 얼굴 모음에서 얼굴 일치를 검색할 수 있습니다. 자세한 정보는 컬렉션에 얼굴 추가을 참조하세요.

  • ListFaces작업을 수행하면 컬렉션의 얼굴이 나열됩니다. 자세한 정보는 컬렉션에 얼굴 추가을 참조하세요.

  • DeleteFaces작업은 컬렉션에서 얼굴을 삭제합니다. 자세한 정보는 컬렉션에서 얼굴 삭제을 참조하세요.

컬렉션의 사용자 관리

같은 사람의 얼굴 벡터를 여러 개 저장한 후에는 이러한 모든 얼굴 벡터를 하나의 사용자 벡터로 연결하여 정확도를 높일 수 있습니다. 다음 작업을 통해 사용자를 관리할 수 있습니다.

  • CreateUser- 오퍼레이션은 제공된 고유한 사용자 ID를 사용하여 컬렉션에 새 사용자를 생성합니다.

  • AssociateUsers- 사용자 ID에 1~100개의 고유한 얼굴 ID를 추가합니다. 최소 한 개의 얼굴 ID를 사용자와 연결한 후에는 컬렉션에서 해당 사용자와 일치하는 항목을 검색할 수 있습니다.

  • ListUsers- 컬렉션의 사용자를 나열합니다.

  • DeleteUsers- 제공된 사용자 ID를 사용하여 컬렉션에서 사용자를 삭제합니다.

  • DisassociateFaces- 사용자로부터 하나 이상의 얼굴 ID를 제거합니다.

얼굴 연결을 위한 유사성 임계값 사용

사용자와 연결된 얼굴이 모두 같은 사람의 얼굴인지 확인하는 것이 중요합니다. UserMatchThreshold 파라미터는 이를 돕기 위해 새 얼굴이 최소 하나 이상의 FaceID를 이미 포함하는 UserID와 연결될 때 필요한 최소 사용자 일치 신뢰도를 지정합니다. 이렇게 하면 FaceIds가 올바른 UserID와 연결되도록 할 수 있습니다. 이 값의 범위는 0~100이고 기본값은 75입니다.

사용 지침 IndexFaces

다음은 일반적인 시나리오에서 IndexFaces를 사용하기 위한 지침입니다.

중요 또는 공공 안전 애플리케이션

  • 각 이미지에 얼굴이 하나만 포함된 이미지를 IndexFaces호출하고 반환된 Face ID를 이미지 피사체의 식별자와 연결합니다.

  • 인덱싱 DetectFaces전에 사용하여 이미지에 얼굴이 하나만 있는지 확인할 수 있습니다. 얼굴이 여러 개 감지된 경우 검토 후 얼굴이 하나만 있는 이미지를 다시 제출합니다. 이는 잘못하여 복수의 얼굴을 인덱싱하고 같은 사람에 연결하는 것을 방지합니다.

사진 공유 및 소셜 미디어 애플리케이션

  • 가족 앨범과 같은 사용 사례에서는 여러 얼굴이 포함된 이미지에 대한 제한 없이 IndexFaces를 호출해야 합니다. 이런 경우, 모든 사진에서 각 개인을 식별하고 해당 정보를 사용하여 사진 안의 사람들에 따라 사진을 그룹화해야 합니다.

일반 사용 사례

  • 같은 사람의 여러 이미지, 특히 다양한 얼굴 속성(얼굴 포즈, 얼굴의 털 등)을 가진 이미지를 인덱싱하고 사용자를 생성하여 해당 사용자와 다양한 얼굴을 연결함으로써 일치 품질을 개선하세요.

  • 실패한 일치를 올바른 얼굴 식별자로 인덱싱하여 이후의 얼굴 일치 기능을 개선할 수 있도록 검토 프로세스를 포함시킵니다.

  • 이미지 품질에 대한 자세한 내용은 얼굴 비교 입력 이미지에 대한 권장 사항 단원을 참조하십시오.

컬렉션 내의 얼굴 및 사용자 검색

얼굴 컬렉션을 만들고 얼굴 벡터 및/또는 사용자 벡터를 저장한 후에는 얼굴 컬렉션에서 얼굴 일치를 검색할 수 있습니다. Amazon Rekognition에서는 다음과 일치하는 얼굴을 컬렉션에서 검색할 수 있습니다.

CompareFaces 작업을 사용해 원본 이미지의 얼굴과 대상 이미지의 얼굴을 비교할 수 있습니다. 이 비교의 범위는 대상 이미지에서 감지된 얼굴로 제한됩니다. 자세한 내용은 이미지에 있는 얼굴 비교를 참조하세요.

다음 목록에 나와 있는 다양한 검색 작업은 특정 얼굴(FaceId 또는 입력 이미지로 식별됨)을 지정된 얼굴 컬렉션에 저장된 모든 얼굴과 비교합니다.

유사성 임계값을 사용하여 얼굴 일치

유사성 임계값을 입력 매개변수로 제공하여 모든 검색 작업 (CompareFacesSearchFacesSearchFacesByImage, SearchUsers,,,, SearchUsersByImage) 의 결과를 제어할 수 있습니다.

FaceMatchThresholdSearchFacesSearchFacesByImage에 대한 유사성 임계값 입력 속성이며 일치를 수행 중인 얼굴의 유사성에 따라 반환되는 결과의 수를 제어합니다. SearchUsersSearchUsersByImage에 대한 유사성 임계값 입력 속성은 UserMatchThreshold이며 일치를 수행 중인 사용자 벡터의 유사성에 따라 반환되는 결과의 수를 제어합니다. CompareFaces의 임계값 속성은 SimilarityThreshold입니다.

Similarity 응답 속성 값이 임계값보다 낮은 응답은 반환되지 않습니다. 이 임계값은 일치 결과에 포함된 가양성의 수를 결정할 수 있기 때문에 사용 사례에 맞게 보정하기 위해 중요합니다. 이 값은 검색 결과의 재현율을 제어합니다. 임계값이 낮을수록 재현율은 높아집니다.

모든 기계 학습 시스템은 확률론적입니다. 사용 사례에 따라 적절한 유사성 임계값을 설정할 때에는 본인의 판단을 활용해야 합니다. 예를 들어 비슷하게 생긴 가족을 식별하는 포토 앱을 만들려는 경우 임계값을 낮게(예:80%) 선택할 수 있습니다. 반면, 많은 법 집행 사용 사례의 경우, 실수로 잘못 식별되는 경우를 줄이기 위해 99% 이상의 높은 임계값을 사용하는 것이 좋습니다.

FaceMatchThresholdUserMatchThreshold 외에, 실수로 잘못 식별되는 경우를 줄이기 위한 수단으로 Similarity 응답 속성을 사용할 수 있습니다. 예를 들어 낮은 임계값(80%)을 사용하기로 선택하여 더 많은 결과를 반환할 수 있습니다. 그런 다음 유사성 응답 속성(유사성의 정도 %)를 사용하여 선택 범위를 좁히고 해당 애플리케이션에서 올바른 응답을 필터링할 수 있습니다. 다시 유사성을 높이면(예: 99% 이상) 잘못된 식별이 줄어들 것입니다.