금융 서비스, 통신, 의료 등 다양한 산업에서 고객은 일반적으로 온라인 온보딩 또는 단계별 인증 중에 최종 사용자를 확인하기 위한 여러 단계가 포함되는 디지털 ID 프로세스를 사용합니다. 사용할 수 있는 단계 중 하나는 얼굴 검색입니다. 이는 새로운 최종 사용자의 얼굴이 기존 계정과 연결된 얼굴과 일치하는지 확인하는 데 도움이 될 수 있습니다.
정확한 얼굴 검색 시스템을 구축하려면 여러 단계가 필요합니다. 시스템은 이미지에서 사람의 얼굴을 감지하고, 얼굴을 벡터 표현으로 추출하고, 데이터베이스에 얼굴 벡터를 저장하고, 새 얼굴을 기존 항목과 비교할 수 있어야 합니다. 아마존 인식 간단한 API 호출을 통해 호출되는 사전 학습된 모델을 제공하여 이를 쉽게 수행할 수 있습니다.
Amazon Rekognition을 사용하면 단일 얼굴 이미지로 매우 높은 얼굴 검색 정확도를 얻을 수 있습니다. 어떤 경우에는 동일한 사람 얼굴의 여러 이미지를 사용하여 사용자 벡터를 만들고 정확도를 더욱 향상시킬 수 있습니다. 이는 이미지의 조명, 포즈 및 모양이 다양할 때 특히 유용합니다.
이 게시물에서는 사용자 벡터와 함께 Amazon Rekognition Face Search API를 사용하여 실제 일치에 대한 유사성 점수를 높이고 실제 비일치에 대한 유사성 점수를 낮추는 방법을 보여줍니다.
사용자 벡터가 있는 경우와 없는 경우의 얼굴 매칭 결과를 비교합니다.
Amazon Rekognition 얼굴 매칭
Amazon Rekognition 얼굴 매칭을 사용하면 한 이미지에서 추출된 얼굴 벡터와 다른 이미지에서 추출된 얼굴 벡터의 유사성을 측정할 수 있습니다. 한 쌍의 얼굴 이미지는 진정한 일치 두 이미지에 동일한 사람의 얼굴이 포함된 경우 진짜 불일치 그렇지 않으면. Amazon Rekognition은 소스 얼굴과 대상 얼굴의 유사성에 대한 점수를 반환합니다. 최소 유사성 점수는 0으로 유사성이 거의 없음을 의미하며 최대값은 100입니다.
원본 얼굴을 대상 얼굴 모음(1:N 일치)과 비교하기 위해 Amazon Rekognition을 사용하면 API 호출을 사용하여 컬렉션 객체를 생성하고 이미지의 얼굴로 채울 수 있습니다.
컬렉션에 얼굴을 추가할 때 Amazon Rekognition은 얼굴의 실제 이미지를 저장하지 않고 얼굴의 수학적 표현인 얼굴 벡터를 저장합니다. 와 더불어 검색얼굴 API를 사용하면 원본 얼굴을 하나 이상의 대상 얼굴 모음과 비교할 수 있습니다.
6 월 2023에서는, AWS는 얼굴 검색 정확도를 크게 향상시키는 새로운 기능인 사용자 벡터를 출시했습니다. 사용자의 여러 얼굴 이미지를 사용하여 이제 동일한 사용자의 여러 얼굴 벡터를 집계하는 사용자 벡터를 생성할 수 있습니다. 사용자 벡터에는 다양한 수준의 조명, 선명도, 포즈, 모양 등이 포함되어 있으므로 보다 강력한 묘사로 더 높은 얼굴 검색 정확도를 제공합니다. 이렇게 하면 개별 얼굴 벡터를 검색하는 것보다 정확도가 향상됩니다.
다음 섹션에서는 Amazon Rekognition 사용자 벡터를 사용하는 프로세스를 간략하게 설명합니다. 컬렉션을 만들고, 해당 컬렉션에 얼굴 벡터를 저장하고, 해당 얼굴 벡터를 사용자 벡터로 집계한 다음, 개별 얼굴 벡터 및 사용자 벡터에 대한 검색 결과를 비교하는 과정을 안내합니다.
솔루션 개요
이 솔루션을 위해 우리는 Amazon Rekognition 사용자 컬렉션을 사용합니다. 각 사용자는 각 사용자의 다양한 얼굴 이미지에서 가져온 관련 인덱싱된 얼굴 벡터를 가지고 있습니다.
사용자와 얼굴로 컬렉션을 구축하는 워크플로를 살펴보겠습니다.
- Amazon Rekognition 컬렉션을 생성합니다.
- 각 사용자에 대해 컬렉션에 사용자를 만듭니다.
- 사용자의 각 이미지에 대해 컬렉션에 얼굴을 추가합니다(인덱스페이스, 각 얼굴 벡터에 해당하는 얼굴 ID를 반환합니다).
- 인덱싱된 모든 얼굴 ID를 사용자와 연결합니다(사용자 벡터에 필요함).
그런 다음 다음 워크플로를 비교해 보겠습니다.
컬렉션의 개별 얼굴 벡터에 대해 새로운 입력 이미지로 검색:
- 이미지에서 모든 얼굴 가져오기(얼굴 감지).
- 각 얼굴에 대해 컬렉션에 있는 개별 얼굴과 비교합니다(이미지로 얼굴 검색).
컬렉션의 사용자 벡터에 대해 새로운 입력 이미지로 검색:
- 이미지에서 모든 얼굴 가져오기(얼굴 감지).
- 각 얼굴에 대해 사용자 벡터(이미지별 사용자 검색).
이제 솔루션을 자세히 설명하겠습니다.
사전 조건
다음 정책을 추가하세요. AWS 자격 증명 및 액세스 관리 (IAM) 사용자 또는 역할. 이 정책은 관련 Amazon Rekognition API에 대한 권한을 부여하고 다음 항목에 대한 액세스를 허용합니다. 아마존 단순 스토리지 서비스 (Amazon S3) 이미지를 저장할 버킷:
Amazon Rekognition 컬렉션 생성 및 사용자 및 얼굴 추가
먼저 사용자의 이미지를 저장할 S3 버킷을 생성합니다. 우리는 각 사용자의 개인 이미지가 포함된 폴더를 생성하여 버킷을 구성합니다. 우리의 이미지 폴더 다음 구조와 같습니다.
S3 버킷에는 각 사용자의 이미지를 저장하는 디렉터리가 있습니다. 현재 두 개의 폴더가 있으며 각 폴더에는 여러 이미지가 포함되어 있습니다. 사용자를 위해 색인화할 이미지가 하나 이상 포함된 폴더를 더 추가할 수 있습니다.
다음으로 Amazon Rekognition 컬렉션을 생성합니다. 우리는 공급했습니다 helpers.py여기에는 우리가 사용하는 다양한 방법이 포함되어 있습니다.
- 생성 컬렉션 – 새 컬렉션 만들기
- 삭제_컬렉션 – 컬렉션 삭제
- create_user – 컬렉션에 새 사용자 생성
- add_faces_to_collection – 컬렉션에 얼굴 추가
- 동료_얼굴 – 컬렉션의 사용자에 Face_ids 연결
- get_subdirs – S3 접두사 아래의 모든 하위 디렉터리를 가져옵니다.
- get_files – S3 접두사 아래의 모든 파일 가져오기
다음은 Amazon Rekognition 컬렉션을 생성하는 방법의 예입니다.
다음 코드를 사용하여 컬렉션을 만듭니다.
다음으로 얼굴 벡터를 컬렉션에 추가하고 이를 사용자 벡터로 집계해 보겠습니다.
S3 디렉터리의 각 사용자에 대해 컬렉션에 사용자 벡터를 생성합니다. 그런 다음 각 사용자의 얼굴 이미지를 개별 얼굴 벡터로 컬렉션에 인덱싱하여 얼굴 ID를 생성합니다. 마지막으로 얼굴 ID를 적절한 사용자 벡터에 연결합니다.
그러면 컬렉션에 두 가지 유형의 벡터가 생성됩니다.
- 개별 얼굴 벡터
- 메소드를 사용하여 제공된 얼굴 벡터 ID를 기반으로 구축된 사용자 벡터
associate_faces
다음 코드를 참조하십시오.
우리는 다음 방법을 사용합니다:
- get_subdirs – 모든 사용자 디렉터리 목록을 반환합니다. 이 예에서 값은 [Swami,Werner]입니다.
- get_files – 사용자의 S3 접두사 아래에 있는 모든 이미지 파일을 반환합니다.
- 얼굴_ID – 사용자의 모든 얼굴 ID가 포함된 목록입니다. 우리는 전화를 걸 때 이 목록을 사용합니다. AssociateFaces API.
앞서 설명했듯이 폴더를 추가하여 사용자를 더 추가하고(폴더는 사용자 ID를 나타냄) 해당 폴더에 이미지를 추가할 수 있습니다(파일에 대한 순서는 필요하지 않습니다).
이제 환경이 설정되었고 개별 얼굴 벡터와 사용자 벡터가 모두 있으므로 각각에 대해 검색 품질을 비교해 보겠습니다. 이를 위해 우리는 여러 사람이 포함된 새 사진을 사용하고 그들의 얼굴을 우리 컬렉션과 일치시키려고 시도합니다. 먼저 개별 얼굴 벡터와 사용자 벡터와 비교합니다.
개별 얼굴 벡터 모음에 대한 이미지의 얼굴 검색
개별 얼굴 벡터를 검색하기 위해 Amazon Rekognition을 사용합니다. 이미지로 얼굴 검색 API. 이 함수는 원본 얼굴 이미지를 사용하여 컬렉션에 있는 개별 얼굴 벡터를 검색하고 정의된 유사성 점수 임계값과 일치하는 얼굴을 반환합니다.
중요한 고려 사항은 SearchFacesByImage
API는 이미지에서 감지된 가장 큰 얼굴에서만 작동합니다. 여러 얼굴이 있는 경우 각 개별 얼굴을 잘라서 식별 방법에 별도로 전달해야 합니다.
이미지에서 얼굴 세부 정보(예: 이미지에서의 위치)를 추출하기 위해 Amazon Rekognition을 사용합니다. 얼굴 감지 API.
다음 detector_faces_in_image 방법은 이미지에서 얼굴을 감지합니다. 각 얼굴에 대해 다음 작업을 수행합니다.
- 경계 상자 위치를 인쇄합니다.
- 이미지에서 얼굴을 잘라내어 컬렉션에 해당 얼굴이 있는지 확인하고 사용자 또는 '알 수 없음'으로 인쇄합니다.
- 유사성 점수 인쇄
예제 Python 코드에서는 다음을 사용합니다. 베개 이미지 조작(예: 인쇄, 그리기, 자르기)을 수행하기 위한 라이브러리입니다.
우리는 신원 확인 사용 사례에 대한 일반적인 설정인 99%의 유사성 점수 임계값을 사용합니다.
다음 코드를 실행합니다.
file_key
컬렉션과 일치시키려는 S3 객체 키입니다. 예시 이미지를 제공했습니다(photo.jpeg
) 이미지 폴더 아래에 있습니다.
다음 이미지는 결과를 보여줍니다.
99%의 임계값을 사용하면 단 한 사람만 식별되었습니다. Werner Vogels 박사는 알 수 없음으로 표시되었습니다. 더 낮은 임계값인 90(임계값=90으로 설정)을 사용하여 동일한 코드를 실행하면 다음과 같은 결과를 얻습니다.
이제 Werner Vogel 박사의 얼굴의 유사성 점수는 96.86%입니다. 다음으로, 사용자 벡터를 사용하여 정의된 임계값 이상의 유사성 점수를 얻을 수 있는지 확인해 보겠습니다.
사용자 벡터 모음에 대한 이미지의 얼굴 검색
사용자 벡터를 검색하기 위해 Amazon Rekognition을 사용합니다. 이미지별 사용자 검색 API. 이 함수는 원본 얼굴 이미지를 사용하여 컬렉션의 사용자 벡터를 검색하고 정의된 유사성 점수 임계값과 일치하는 사용자를 반환합니다.
여기에도 동일한 고려 사항이 적용됩니다. SearchUsersByImage
API는 이미지에서 감지된 가장 큰 얼굴에서만 작동합니다. 여러 얼굴이 있는 경우 각 개별 얼굴을 잘라서 식별 방법에 별도로 전달해야 합니다.
이미지에서 얼굴 세부 정보(예: 이미지에서의 위치)를 추출하기 위해 Amazon Rekognition을 사용합니다. 얼굴 감지 API.
다음 detector_users_in_image 방법은 이미지에서 얼굴을 감지합니다. 각 얼굴에 대해 다음 작업을 수행합니다.
- 경계 상자 위치를 인쇄합니다.
- 이미지에서 얼굴을 자르고 해당 사용자 얼굴이 컬렉션에 있는지 확인한 후 사용자 또는 '알 수 없음'을 인쇄합니다.
- 유사성 점수 인쇄
다음 코드를 참조하십시오.
이 함수는 Amazon S3에 저장하거나 인쇄할 수 있는 결과와 함께 수정된 이미지를 반환합니다. 이 기능은 또한 얼굴의 추정 연령에 대한 통계를 단말기에 출력합니다.
다음 코드를 실행합니다.
다음 이미지는 결과를 보여줍니다.
우리 컬렉션에 존재하는 사용자는 높은 유사성(99% 이상)으로 정확하게 식별되었습니다.
사용자 벡터당 100개의 얼굴 벡터를 사용하여 유사성 점수를 높일 수 있었습니다. 사용되는 얼굴 벡터의 수를 늘리면 실제 일치에 대한 유사성 점수도 높아질 것으로 예상됩니다. 사용자 벡터당 최대 XNUMX개의 얼굴 벡터를 사용할 수 있습니다.
엔드투엔드 예제 코드는 다음에서 찾을 수 있습니다. GitHub 저장소. 여기에는 상세한 내용이 포함되어 있습니다. 주피터 노트 당신이 달릴 수 있는 것 아마존 세이지 메이커 스튜디오 (또는 다른 대안).
정리
컬렉션을 삭제하려면 다음 코드를 사용하세요.
결론
이 게시물에서는 Amazon Rekognition 사용자 벡터를 사용하여 사용자 얼굴 모음에 대해 얼굴 검색을 구현하는 방법을 소개했습니다. 우리는 사용자당 여러 얼굴 이미지를 사용하여 얼굴 검색 정확도를 향상시키는 방법을 시연하고 이를 개별 얼굴 벡터와 비교했습니다. 또한 다양한 Amazon Rekognition API를 사용하여 얼굴을 감지하는 방법도 설명했습니다. 제공된 예제 코드는 기능적인 얼굴 검색 시스템을 구축하기 위한 견고한 기반 역할을 합니다.
Amazon Rekognition 사용자 벡터에 대한 자세한 내용은 다음을 참조하십시오. 컬렉션에서 얼굴 검색. Amazon Rekognition을 처음 사용하는 경우 12개월 동안 지속되며 매월 5,000개의 이미지를 처리하고 매월 1,000개의 사용자 벡터 객체를 저장하는 프리 티어를 사용할 수 있습니다.
저자에 관하여
아릭 포랏 Amazon Web Services의 수석 스타트업 솔루션 설계자입니다. 그는 스타트업과 협력하여 클라우드에서 솔루션을 구축하고 설계하도록 돕고 있으며 기계 학습 및 컨테이너 기반 솔루션에 열정을 갖고 있습니다. 여가 시간에는 Arik은 체스와 비디오 게임을 좋아합니다.
엘리란 에프론 Amazon Web Services의 스타트업 솔루션 아키텍트입니다. Eliran은 스타트업의 시스템 아키텍처 설계를 지원하는 데이터 및 컴퓨팅 애호가입니다. 여가 시간에는 Eliran은 투어링 경주에서 자동차를 만들고 경주하며 IoT 장치를 만드는 것을 좋아합니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- PlatoHealth. 생명 공학 및 임상 시험 인텔리전스. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/improve-accuracy-of-amazon-rekognition-face-search-with-user-vectors/
- :있다
- :이다
- $UP
- 000
- 1
- 10
- 100
- 12
- 12 개월
- 17
- 2023
- 28
- 30
- 7
- 9
- a
- 할 수 있는
- 소개
- 위의
- ACCESS
- 계정
- 정확한
- 달성
- 동작
- 행위
- 실제
- 더하다
- 첨가
- 또한
- 반대
- 시대
- 골재
- 집합
- All
- 수
- 수
- 이미
- 또한
- 대안
- 아마존
- 아마존 인식
- Amazon Web Services
- an
- 및
- 다른
- API를
- API
- 외관
- 출연
- 적당한
- 아키텍처
- 있군요
- 배열
- AS
- 돕는
- 준
- 관련
- At
- 시도
- 인증
- AWS
- 기반으로
- BE
- 때문에
- 귀속
- 사이에
- 몸
- 두
- 보물상자
- 박스
- 빌드
- 내장
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- 계산하다
- 전화
- 부름
- 통화
- CAN
- 얻을 수 있습니다
- 능력
- 자동차
- 가지 경우
- 검사
- 체스
- 클라이언트
- 클라우드
- 암호
- 수집
- 컬렉션
- 공통의
- 비교
- 비교
- 비교
- 계산
- 고려
- 건설 중의
- 포함하는
- 이 포함되어 있습니다
- 변하게 하다
- 바르게
- 동
- 만들
- 생성
- 만들기
- 작물
- 현재
- 고객
- 데이터
- 데이터베이스
- 감소
- 한정된
- 보여
- 시연
- 설명
- 기술 된
- 디자인
- 설계
- 상세한
- 세부설명
- 검색
- 탐지 된
- 결정
- 디바이스
- 지시하다
- 다른
- 디지털
- 디지털 정체성
- 디렉토리
- 예배 규칙서
- 디스플레이
- do
- 하지 않습니다
- 하기
- 한
- dr
- 무승부
- 그림
- ...동안
- 마다
- 이전
- 효과
- 힘들이지 않은
- 그렇지 않으면
- 수
- 끝으로 종료
- 매니아
- 환경
- 특히
- 예상
- 조차
- 예
- 외
- 있다
- 현존하는
- 존재
- 이탈
- 기대
- 설명
- 추출물
- 페이스메이크업
- 얼굴
- 파일
- 금융
- 금융 서비스
- Find
- 먼저,
- 신고 된
- 흙손
- 수행원
- 럭셔리
- 체재
- 발견
- Foundation
- 무료
- 에
- 기능
- 기능의
- 추가
- Games
- 생성
- 얻을
- 주어진
- 기부
- 보조금
- 안내
- 있다
- he
- 건강 관리
- 신장
- 도움
- 도우미
- 도움이
- 여기에서 지금 확인해 보세요.
- 높은
- 더 높은
- 그의
- 방법
- How To
- HTML
- HTTP
- HTTPS
- 사람의
- ID
- 식별
- 확인
- 통합 인증
- 신원 확인
- 식별자
- if
- 영상
- 형상
- 구현
- import
- 중대한
- 개선
- 향상
- in
- 포함
- 증가
- 색인
- 색인
- 개인
- 산업
- 정보
- 입력
- 으로
- 호출
- 포함
- IOT
- IoT 장치
- IT
- 그
- JPEG
- 유월
- 키
- 가장 큰
- 마지막으로
- 시작
- 배우기
- 왼쪽 (left)
- 도서관
- 조명
- 처럼
- 좋아하는
- 명부
- 작은
- 하중
- 위치
- 보기
- 봐라.
- 낮은
- 절감
- 기계
- 기계 학습
- 제작
- 조작
- 경기
- 성냥
- 어울리는
- math
- 수학의
- 최고
- 측정
- 방법
- 방법
- 최저한의
- 모델
- 수정
- 달
- 개월
- 배우기
- 여러
- 절대로 필요한 것
- name
- 필요한
- 필요
- 신제품
- 다음 것
- 아니
- 지금
- 번호
- 대상
- 사물
- of
- 제공
- 낡은
- on
- 온 보딩
- ONE
- 온라인
- 만
- 운영
- or
- 기타
- 그렇지 않으면
- 우리의
- 개요
- 출력
- 위에
- 쌍
- 패스
- 열렬한
- 사람들
- 용
- 실행할 수 있는
- 수행하다
- 허가
- 사람
- 확인
- 사진
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 연극
- 전철기
- 정책
- 포즈를 취하게하다
- 포즈
- 게시하다
- 제시
- 제시
- 인쇄
- 인쇄
- 방법
- 처리
- 제공
- Python
- 품질
- 경주
- 경마 대회
- 차라리
- 참조
- 관련된
- 대표
- 필수
- 의지
- 응답
- 결과
- return
- 반품
- 강력한
- 직위별
- 달리기
- 현자
- 말했다
- 같은
- 저장
- 점수
- 검색
- 수색
- 섹션
- 참조
- 연장자
- 봉사하다
- 서비스
- 세션
- 세트
- 설정
- 몇몇의
- 쇼
- 크게
- 단순, 간단, 편리
- 단일
- 크기
- 고체
- 해결책
- 솔루션
- 일부
- 출처
- 신생
- 성명서
- 통계
- Status
- 단계
- 단계
- 저장
- 저장
- 상점
- 저장
- 흐름
- 구조
- 이러한
- 공급
- 체계
- 목표
- 통신
- 단말기
- 그
- XNUMXD덴탈의
- 소스
- 그들의
- 그들
- 그때
- 그곳에.
- 그들
- 이
- 그
- 세
- 임계값
- 을 통하여
- 층
- 시간
- 에
- 상단
- 여행
- 참된
- 시도
- 두
- 유형
- 아래에
- 알 수없는
- 사용
- 익숙한
- 사용자
- 사용자
- 사용
- 사용
- 보통
- 가치
- 변화
- 여러
- 변화
- 확인
- 확인
- 버전
- 대단히
- 를 통해
- Video
- 비디오 게임
- 필요
- 였다
- we
- 웹
- 웹 서비스
- 했다
- 언제
- 여부
- 어느
- 폭
- 의지
- 과
- 없이
- 워크플로우
- 워크 플로우
- 일
- 겠지
- 년
- 자신의
- 너의
- 제퍼 넷