신원 확인 솔루션 PlatoBlockchain Data Intelligence를 평가하기 위한 지표입니다. 수직 검색. 일체 포함.

신원 확인 솔루션을 평가하기 위한 지표

전 세계적으로 마찰 없는 디지털 사용자 경험으로의 전환이 가속화되었습니다. 웹 사이트 등록, 온라인 거래 또는 단순히 은행 계좌 로그인 등 조직은 고객이 경험하는 마찰을 줄이는 동시에 보안, 규정 준수 및 사기 방지 조치를 강화하기 위해 적극적으로 노력하고 있습니다. 마찰 없는 사용자 경험으로의 전환으로 인해 "디지털 세계에서 사람을 어떻게 확인합니까?"

식별 및 인증 문제와 관련하여 안면 생체 인식의 두 가지 주요 이점이 있습니다. 첫째, 사용자에게 편리한 기술입니다. 암호를 기억하거나 다단계 문제를 처리하거나 확인 링크를 클릭하거나 CAPTCHA 퍼즐을 풀 필요가 없습니다. 둘째, 높은 수준의 보안이 달성됩니다. 안면 생체 인식을 기반으로 한 식별 및 인증은 안전하고 사기 및 공격에 덜 취약합니다.

이 게시물에서는 신원 확인의 두 가지 주요 사용 사례인 온보딩과 인증에 대해 알아봅니다. 그런 다음 생체 인식 시스템의 정확도를 평가하는 데 사용되는 두 가지 핵심 메트릭인 거짓 일치율(잘못된 수락률이라고도 함)과 거짓 불일치율(거짓 거부율이라고도 함)에 대해 자세히 살펴봅니다. 이 두 가지 방법은 조직에서 생체 인식 시스템의 정확도와 오류율을 평가하는 데 널리 사용됩니다. 마지막으로 신원 확인 서비스 평가를 수행하기 위한 프레임워크와 모범 사례에 대해 논의합니다.

첨부 참조 주피터 노트 이 게시물에 언급된 모든 단계를 거칩니다.

사용 사례: 온보딩 및 인증

생체 인식 솔루션에는 사용자 온보딩(종종 확인이라고 함)과 인증(종종 식별이라고 함)의 두 가지 기본 사용 사례가 있습니다. 온보딩은 예를 들어 셀카를 운전면허증이나 여권과 같은 신뢰할 수 있는 신분증과 비교하는 것과 같이 두 이미지 사이의 얼굴을 일대일로 일치시키는 것을 수반합니다. 반면에 인증은 저장된 얼굴 모음에 대한 얼굴의 일대다 검색을 수반합니다. 예를 들어 직원 얼굴 모음을 검색하여 직원이 건물의 특정 층에 대한 액세스 권한이 있는지 확인합니다.

온보딩 및 인증 사용 사례의 정확도 성능은 생체 인식 솔루션이 만들 수 있는 가양성 및 가음성 오류로 측정됩니다. 유사성 점수(일치 없음을 의미하는 0%에서 완벽한 일치를 의미하는 100% 범위)는 일치 또는 비일치 결정을 내리는 데 사용됩니다. 솔루션이 서로 다른 두 개인의 이미지를 동일한 사람으로 간주할 때 거짓 긍정이 발생합니다. 반면에 위음성은 솔루션이 동일한 사람의 두 이미지를 다른 것으로 간주했음을 의미합니다.

온보딩: 일대일 인증

생체 인식 기반 온보딩 프로세스는 프로세스를 단순화하고 보호합니다. 가장 중요한 것은 마찰이 거의 없는 온보딩 경험을 위해 조직과 고객을 설정한다는 것입니다. 이를 위해 사용자는 사용자의 얼굴이 포함된 신뢰할 수 있는 신분증(예: 운전면허증 또는 여권)의 이미지를 제시하고 온보딩 프로세스 중에 셀카 이미지를 찍기만 하면 됩니다. 시스템에 이 두 이미지가 있으면 두 이미지 내의 얼굴을 간단히 비교합니다. 유사성이 지정된 임계값보다 크면 일치하는 것입니다. 그렇지 않으면 일치하지 않는 것입니다. 다음 다이어그램은 프로세스를 간략하게 설명합니다.

디지털 은행 계좌를 개설한 새로운 사용자인 Julie의 예를 생각해 보십시오. 이 솔루션은 그녀에게 운전면허증 사진을 찍고(2단계) 셀카를 찍으라는 메시지를 표시합니다(3단계). 시스템이 이미지의 품질을 확인한 후(4단계) 셀카의 얼굴과 운전면허증의 얼굴을 비교(일대일 매칭)하고 유사도 점수(5단계)를 생성합니다. 유사성 점수가 필수 유사성 임계값보다 작으면 Julie의 온보딩 시도가 거부됩니다. 이것이 우리가 허위 비일치 또는 허위 거부라고 부르는 것입니다. 해결책은 같은 사람의 두 이미지가 다른 것으로 간주했습니다. 반면에 유사성 점수가 필요한 유사성보다 크면 솔루션은 두 이미지를 동일한 사람 또는 일치하는 것으로 간주합니다.

인증: 일대다 식별

건물 입장부터 키오스크 체크인, 사용자의 신원 확인을 위한 셀카 요청에 이르기까지 안면 인식을 통한 이러한 유형의 제로 마찰 인증은 많은 조직에서 보편화되었습니다. 이미지 대 이미지 일치를 수행하는 대신 이 인증 사용 사례는 단일 이미지를 가져와 잠재적 일치를 위해 검색 가능한 이미지 모음과 비교합니다. 일반적인 인증 사용 사례에서 사용자는 셀카를 찍으라는 메시지를 받은 다음 컬렉션에 저장된 얼굴과 비교합니다. 검색 결과는 해당 유사성 점수 및 외부 식별자와 XNUMX개, XNUMX개 또는 그 이상의 잠재적인 일치 항목을 생성합니다. 일치 항목이 반환되지 않으면 사용자가 인증되지 않은 것입니다. 그러나 검색이 하나 이상의 일치 항목을 반환한다고 가정하면 시스템은 유사성 점수 및 외부 식별자를 기반으로 인증 결정을 내립니다. 유사성 점수가 필수 유사성 임계값을 초과하고 외부 식별자가 예상 식별자와 일치하면 사용자가 인증(일치)됩니다. 다음 다이어그램은 얼굴 기반 생체 인식 인증 프로세스의 예를 보여줍니다.

인증 과정

긱 이코노미 배달 드라이버인 Jose의 예를 생각해 보십시오. 배달 서비스는 회사의 모바일 애플리케이션을 사용하여 배달을 시작하기 전에 운전자에게 셀카를 찍도록 요청하여 배달 드라이버를 인증합니다. 긱 이코노미 서비스 제공자가 직면한 한 가지 문제는 직업 공유입니다. 본질적으로 두 명 이상의 사용자가 시스템을 조작하기 위해 동일한 계정을 공유합니다. 이를 방지하기 위해 많은 배달 서비스에서는 차량 내 카메라를 사용하여 배달 중 임의의 시간에 운전자의 이미지를 찍습니다(2단계)(배달 운전자가 승인된 운전자인지 확인). 이 경우 Jose는 배달 시작 시 셀카를 찍을 뿐만 아니라 차량 내 카메라가 배달 중에 그의 이미지를 찍습니다. 시스템은 등록된 운전자의 신원을 확인하기 위해 품질 검사(3단계) 및 검색(4단계)을 수행합니다. 다른 운전자가 감지되면 긱 이코노미 배달 서비스에서 추가 조사를 할 수 있습니다.

잘못된 일치(긍정 오류)는 솔루션이 서로 다른 사람의 이미지를 두 개 이상 동일한 사람으로 간주할 때 발생합니다. 우리의 사용 사례에서 승인된 운전자인 Jose 대신 그가 그의 형제 Miguel에게 배달 중 하나를 맡겼다고 가정합니다. 솔루션이 Miguel의 셀카를 Jose의 이미지와 잘못 일치시키면 잘못된 일치(거짓 양성)가 발생합니다.

잘못된 일치의 가능성을 방지하기 위해 컬렉션에 각 주제의 여러 이미지를 포함하는 것이 좋습니다. 얼굴, 온보딩 시 셀카, 마지막 몇 번의 신원 확인에서 얻은 셀카가 포함된 신뢰할 수 있는 신분증을 색인화하는 것이 일반적입니다. 피사체의 여러 이미지를 인덱싱하면 반환된 얼굴의 유사성 점수를 집계할 수 있으므로 식별 정확도가 향상됩니다. 또한 잘못된 수락의 위험을 제한하기 위해 외부 식별자가 사용됩니다. 비즈니스 규칙의 예는 다음과 같을 수 있습니다.

종합 유사성 점수 >= 필수 유사성 임계값 AND 외부 식별자 == 예상 식별자인 경우 인증

주요 생체 인식 정확도 측정

생체 인식 시스템에서 우리는 얼굴 비교 및 ​​검색의 유사성 점수를 기반으로 FMR(False Match Rate) 및 FNMR(False Non-match Rate)에 관심이 있습니다. 온보딩 또는 인증 사용 사례에 관계없이 생체 인식 시스템은 두 개 이상의 이미지의 유사성 점수를 기반으로 사용자 얼굴 일치를 수락하거나 거부합니다. 모든 의사 결정 시스템과 마찬가지로 시스템이 온보딩 또는 인증 시도를 잘못 수락하거나 거부하는 오류가 발생합니다. 신원 확인 솔루션 평가의 일환으로 다양한 유사성 임계값에서 시스템을 평가하여 잘못된 일치 및 잘못된 불일치 비율을 최소화하고 이러한 오류를 잘못된 거부 및 승인 비용과 대조해야 합니다. FMR과 FNMR을 두 가지 핵심 지표로 사용하여 안면 생체 인식 시스템을 평가합니다.

거짓 미일치율

신원 확인 시스템이 정품 사용자를 올바르게 식별하거나 권한을 부여하지 못하는 경우 거짓 부정(false negative)이라고도 하는 거짓 불일치가 발생합니다. FNMR(false non-match rate)은 시스템이 실제 사용자를 잘못 식별하거나 인증하는 경향이 얼마나 되는지를 측정한 것입니다.

FNMR은 유사성 점수가 규정된 임계값 미만이기 때문에 사용자의 얼굴이 잘못 거부(거짓 부정)되는 온보딩 또는 인증 시도가 이루어진 인스턴스의 백분율로 표시됩니다.

TP(진정성)는 솔루션이 같은 사람의 두 개 이상의 이미지를 동일하다고 간주하는 경우입니다. 즉, 비교 또는 검색의 유사성이 필요한 유사성 임계값보다 높습니다.

위음성(FN)은 솔루션이 동일한 사람의 두 개 이상의 이미지를 서로 다른 것으로 간주하는 경우입니다. 즉, 비교 또는 검색의 유사성이 필요한 유사성 임계값 미만입니다.

FNMR의 공식은 다음과 같습니다.

FNMR = 위음성 카운트 / (진양성 카운트 + 위음성 카운트)

예를 들어 정품 인증 시도가 10,000번 있었지만 참조 이미지 또는 컬렉션과의 유사성이 지정된 유사성 임계값 아래로 떨어지기 때문에 100번이 거부되었다고 가정합니다. 여기에는 9,900개의 참 양성과 100개의 거짓 음성이 있으므로 FNMR은 1.0%입니다.

FNMR = 100 / (9900 + 100) 또는 1.0%

거짓 일치율

신원 확인 시스템이 승인되지 않은 사용자를 진짜로 잘못 식별하거나 권한을 부여하면 잘못된 일치(가양성이라고도 함)가 발생합니다. FMR(False Match Rate)은 시스템이 권한이 없는 사용자를 잘못 식별하거나 권한을 부여하는 경향이 얼마나 되는지를 측정한 것입니다. 잘못된 긍정 인식 또는 인증의 수를 총 식별 시도 수로 나눈 값으로 측정됩니다.

솔루션이 서로 다른 사람의 두 개 이상의 이미지를 동일한 사람으로 간주할 때 거짓 긍정이 발생합니다. 즉, 비교 또는 검색의 유사성 점수가 필요한 유사성 임계값보다 높습니다. 기본적으로 시스템은 식별 또는 인증 시도를 거부했어야 할 때 사용자를 잘못 식별하거나 권한을 부여합니다.

FMR의 공식은 다음과 같습니다.

FMR = 가양성 횟수 / (총 시도 횟수)

예를 들어 100,000번의 인증 시도가 있지만 100명의 가짜 사용자가 참조 이미지 또는 컬렉션과의 유사성이 지정된 유사성 임계값을 초과하여 잘못 인증되었다고 가정합니다. 여기에는 100개의 오탐지가 있으므로 FMR은 0.01%입니다.

FMR = 100 / (100,000) 또는 0.01%

거짓 일치율 vs. 거짓 비일치율

허위 일치율과 허위 비일치율은 서로 상충됩니다. 유사성 임계값이 증가함에 따라 잘못된 일치 가능성이 감소하는 반면 잘못된 불일치 가능성이 증가합니다. 이 장단점에 대해 생각하는 또 다른 방법은 유사성 임계값이 증가함에 따라 솔루션이 더 제한적이 되어 유사성이 낮은 일치 항목이 더 적어진다는 것입니다. 예를 들어 공공 안전 및 보안과 관련된 사용 사례에서 일치 유사성 임계값을 상당히 높게(99 이상) 설정하는 것이 일반적입니다. 또는 조직에서 사용자에 대한 마찰의 영향이 더 중요한 덜 제한적인 유사성 임계값(90 이상)을 선택할 수 있습니다. 다음 다이어그램은 이러한 장단점을 보여줍니다. 조직의 과제는 조직 및 애플리케이션 요구 사항에 따라 FMR과 FNMR을 모두 최소화하는 임계값을 찾는 것입니다.

FMR 대 FNMR 트레이드오프

유사성 임계값 선택은 비즈니스 애플리케이션에 따라 다릅니다. 예를 들어 온보딩 중 고객 마찰을 제한한다고 가정합니다(다음 왼쪽 그림과 같이 덜 제한적인 유사성 임계값). 여기에서 필요한 유사성 임계값이 더 낮을 수 있으며 셀카와 운전 면허증 간의 일치에 대한 신뢰도가 낮은 사용자를 온보딩하는 위험을 감수할 수 있습니다. 반대로 인증된 사용자만 애플리케이션에 액세스하도록 하고 싶다고 가정합니다. 여기에서 매우 제한적인 유사성 임계값에서 작업할 수 있습니다(오른쪽 그림 참조).

낮은 유사성 임계값 높은 유사성 임계값

허위 일치율 및 비일치율 계산 단계

이 두 측정항목을 계산하는 방법에는 여러 가지가 있습니다. 다음은 단계를 실제 이미지 쌍 수집, 임포스터 쌍(일치하지 않아야 하는 이미지) 생성, 마지막으로 프로브를 사용하여 예상 일치 및 비일치 이미지 쌍을 반복하여 캡처하는 단계로 나누는 비교적 간단한 접근 방식입니다. 결과 유사성. 단계는 다음과 같습니다.

  1. 정품 샘플 이미지 세트를 수집합니다. 일련의 이미지 쌍으로 시작하고 공식적인 일치 결정을 내리는 데 사용되는 외부 식별자를 할당하는 것이 좋습니다. 쌍은 다음 이미지로 구성됩니다.
    1. 소스 이미지 – 신뢰할 수 있는 소스 이미지(예: 운전면허증).
    2. 대상 이미지 – 비교할 셀카 또는 이미지입니다.
  2. 임포스터 매치의 이미지 세트를 수집합니다. 원본과 대상이 일치하지 않는 이미지 쌍입니다. 이는 FMR(시스템이 서로 다른 두 사용자의 얼굴을 잘못 일치시킬 확률)을 평가하는 데 사용됩니다. 이미지의 데카르트 곱을 만든 다음 결과를 필터링하고 샘플링하여 이미지 쌍을 사용하여 임포스터 이미지 세트를 만들 수 있습니다.
  3. 이미지 쌍을 반복하고 소스와 임포스터 대상을 비교하고 결과 유사성을 캡처하여 정품 및 임포스터 일치 세트를 조사합니다.
  4. 서로 다른 최소 유사성 임계값에서 가양성 및 가음성을 계산하여 FMR 및 FNMR을 계산합니다.

응용 프로그램의 필요에 따라 서로 다른 유사성 임계값에서 FMR 및 FNMR 비용을 평가할 수 있습니다.

1단계: 정품 이미지 쌍 샘플 수집

신원 확인 서비스를 평가할 때 평가할 이미지 쌍의 대표 샘플을 선택하는 것이 중요합니다. 첫 번째 단계는 진정한 이미지 쌍 세트를 식별하는 것입니다. 이들은 사용자의 알려진 소스 및 대상 이미지입니다. 진정한 이미지 페어링은 본질적으로 시스템이 같은 사람의 두 얼굴을 일치시키지 않을 확률인 FNMR을 평가하는 데 사용됩니다. 자주 묻는 첫 번째 질문 중 하나는 "얼마나 많은 이미지 쌍이 필요한가요?"입니다. 대답은 사용 사례에 따라 다르지만 일반적인 지침은 다음과 같습니다.

  • 100-1,000개의 이미지 쌍 사이에서 실행 가능성을 측정합니다.
  • 최대 10,000개의 이미지 쌍은 이미지 간의 가변성을 측정하기에 충분합니다.
  • 10,000개 이상의 이미지 쌍이 운영 품질 및 일반화 가능성을 측정합니다.

더 많은 데이터가 항상 더 좋습니다. 그러나 출발점으로 최소 1,000개의 이미지 쌍을 사용하십시오. 그러나 주어진 비즈니스 문제에 대해 허용 가능한 FNMR 또는 FMR에 초점을 맞추기 위해 10,000개 이상의 이미지 쌍을 사용하는 것은 드문 일이 아닙니다.

다음은 샘플 이미지 쌍 매핑 파일입니다. 이미지 쌍 매핑 파일을 사용하여 나머지 평가 프로세스를 진행합니다.

EXTERNAL_ID SOURCE TARGET TEST
9055 9055_M0.jpeg 9055_M1.jpeg 변조되지 않는
19066 19066_M0.jpeg 19066_M1.jpeg 변조되지 않는
11396 11396_M0.jpeg 11396_M1.jpeg 변조되지 않는
12657 12657_M0.jpeg 12657_M1.jpeg 변조되지 않는
... . . .

2단계: 임포스터 이미지 쌍 생성 세트

이제 정품 이미지 쌍 파일이 있으므로 외부 식별자가 일치하지 않는 대상 및 원본 이미지의 데카르트 제품을 만들 수 있습니다. 이렇게 하면 일치하지 않아야 하는 소스-대상 쌍이 생성됩니다. 이 페어링은 기본적으로 시스템이 한 사용자의 얼굴을 다른 사용자의 얼굴과 일치시킬 확률인 FMR을 평가하는 데 사용됩니다.

외부 아이디 SOURCE TARGET TEST
114192 114192_4M49.jpeg 307107_00M17.jpeg 임 포스터
105300 105300_04F42.jpeg 035557_00M53.jpeg 임 포스터
110771 110771_3M44.jpeg 120381_1M33.jpeg 임 포스터
281333 281333_04F35.jpeg 314769_01M17.jpeg 임 포스터
40081 040081_2F52.jpeg 326169_00F32.jpeg 임 포스터
... . . .

3단계: 정품 및 가짜 이미지 쌍 세트 조사

드라이버 프로그램을 사용하여 아마존 인식 얼굴 비교 API 이미지 쌍을 통해 유사성을 캡처합니다. 포즈, 품질 및 기타 비교 결과와 같은 추가 정보를 캡처할 수도 있습니다. 유사성 점수는 다음 단계에서 허위 일치율과 비일치율을 계산하는 데 사용됩니다.

다음 코드 스니펫에서는 모든 이미지 쌍에 CompareFaces API를 적용하고 테이블의 모든 유사성 점수를 채웁니다.

obj = s3.get_object(Bucket= bucket_name , Key = csv_file)

df = pd.read_csv(io.BytesIO(obj['Body'].read()), encoding='utf8')
def compare_faces(source_file, target_file, threshold = 0):
    response=rekognition.compare_faces(SimilarityThreshold=threshold,
                                        SourceImage={'S3Object': {
                                                    'Bucket': bucket_name,
                                                    'Name':source_file}},
                                        TargetImage={'S3Object': {
                                                    'Bucket': bucket_name,
                                                    'Name':target_file}})
df_similarity = df.copy()
df_similarity["SIMILARITY"] = None
for index, row in df.iterrows():
    source_file = dataset_folder + row["SOURCE"]
    target_file = dataset_folder + row["TARGET"]
    response_score = compare_faces(source_file, target_file)
    df_similarity._set_value(index,"SIMILARITY", response_score)
    df_similarity.head()

코드 스니펫은 다음 출력을 제공합니다.

EXTERNAL_ID SOURCE TARGET TEST 유사성
9055 9055_M0.jpeg 9055_M1.jpeg 변조되지 않는 98.3
19066 19066_M0.jpeg 19066_M1.jpeg 변조되지 않는 94.3
11396 11396_M0.jpeg 11396_M1.jpeg 변조되지 않는 96.1
... . . . .
114192 114192_4M49.jpeg 307107_00M17.jpeg 임 포스터 0.0
105300 105300_04F42.jpeg 035557_00M53.jpeg 임 포스터 0.0
110771 110771_3M44.jpeg 120381_1M33.jpeg 임 포스터 0.0

테스트별 유사성 점수 분포 분석은 이미지 쌍별 유사성 점수를 이해하기 위한 출발점입니다. 다음 코드 스니펫 및 출력 차트는 테스트 세트별 유사성 점수 분포와 그에 따른 기술 통계의 간단한 예를 보여줍니다.

sns.boxplot(data=df_similarity,
            x=df_similarity["SIMILARITY"],
            y=df_similarity["TEST"]).set(xlabel='Similarity Score',
            ylabel=None,
            title = "Similarity Score Distribution")
plt.show()

유사성 점수 분포

df_descriptive_stats = pd.DataFrame(columns=['test','count', 'min' , 'max', 'mean', 'median', 'std'])

tests = ["Genuine", "Imposter"]

for test in tests:
    count = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].count()
    mean = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].mean()
    max_ = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].max()
    min_ = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].min()
    median = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].median()
    std = df_similarity['SIMILARITY'].loc[df_similarity['TEST'] == test].std()

    new_row = {'test': test,
                'count': count,
                'min': min_,
                'max': max_,
                'mean': mean,
                'median':median,
                'std': std}
    df_descriptive_stats = df_descriptive_stats.append(new_row,
    ignore_index=True)

df_descriptive_stats

test 계산 최대 평균 중앙 분리대 표준
정품 204 0.2778 99.9957 91.7357 99.0961 19.9097
사기꾼 1020 0.0075 87.3893 2.8111 0.8330 7.3496

이 예에서 실제 얼굴 쌍의 평균 및 중앙값 유사성은 91.7 및 99.1인 반면 가짜 쌍의 경우 각각 2.8 및 0.8임을 알 수 있습니다. 예상대로 이것은 정품 이미지 쌍에 대한 높은 유사성 점수와 가짜 이미지 쌍에 대한 낮은 유사성 점수를 보여줍니다.

4단계: 서로 다른 유사성 임계값 수준에서 FMR 및 FNMR 계산

이 단계에서는 서로 다른 유사성 임계값에서 거짓 일치율과 비일치율을 계산합니다. 이를 위해 유사성 임계값(예: 90–100)을 반복합니다. 선택한 각 유사성 임계값에서 선택한 각 유사성에서 FMR 및 FNMR을 계산하는 데 사용되는 참 양성, 참 음성, 거짓 양성 및 거짓 음성 개수를 포함하는 혼동 행렬을 계산합니다.

실제
예상
. 경기 경기 없음
>= 선택된 유사성 TP FP
< 선택한 유사성 FN TN

이를 위해 거짓 긍정 및 부정 카운트를 반환하고 유사성 점수 범위(90–100)를 반복하는 함수를 만듭니다.

similarity_thresholds = [80,85,90,95,96,97,98,99]

# create output df
df_cols = ['Similarity Threshold', 'TN' , 'FN', 'TP', 'FP', 'FNMR (%)', 'FMR (%)']
comparison_df = pd.DataFrame(columns=df_cols)

# create columns for y_actual and y_pred
df_analysis = df_similarity.copy()
df_analysis["y_actual"] = None
df_analysis["y_pred"] = None

for threshold in similarity_thresholds:
    # Create y_pred and y_actual columns, 1 == match, 0 == no match
    for index, row in df_similarity.iterrows():
        # set y_pred
        if row["SIMILARITY"] >= threshold:
            df_analysis._set_value(index,"y_pred", 1)
        else:
            df_analysis._set_value(index,"y_pred", 0)

        # set y_actual
        if row["TEST"] == "Genuine":
            df_analysis._set_value(index,"y_actual", 1)
        else:
            df_analysis._set_value(index,"y_actual", 0)

    tn, fp, fn, tp = confusion_matrix(df_analysis['y_actual'].tolist(),
                                      df_analysis['y_pred'].tolist()).ravel()
    FNMR = fn / (tp + fn)
    FMR = fp / (tn+fp+fn+tp)

    new_row = {'Similarity Threshold': threshold,
                'TN': tn,
                'FN': fn,
                'TP': tp,
                'FP': fp,
                'FNMR (%)':FNMR,
                'FMR (%)': FMR}
    comparison_df = comparison_df.append(new_row,ignore_index=True)

comparison_df

다음 표는 각 유사성 임계값에서의 카운트 결과를 보여줍니다.

유사성 임계값 TN FN TP FP FNMR FMR
80 1019 22 182 1 0.1% 0.1%
85 1019 23 181 1 0.11% 0.1%
90 1020 35 169 0 0.12% 0.0%
95 1020 51 153 0 0.2% 0.0%
96 1020 53 151 0 0.25% 0.0%
97 1020 60 144 0 0.3% 0.0%
98 1020 75 129 0 0.4% 0.0%
99 1020 99 105 0 0.5% 0.0%

유사성 임계값은 거짓 비일치율에 어떤 영향을 줍니까?

실제 사용자 온보딩 시도가 1,000회 있고 일치로 간주되기 위해 필요한 최소 유사성 10%에 따라 이러한 시도 중 95회를 거부한다고 가정합니다. 여기서는 유사성이 지정된 최소 필수 유사성 임계값 미만이기 때문에 10개의 진정한 온보딩 시도(거짓 부정)를 거부합니다. 이 경우 FNMR은 1.0%입니다.

실제
예상
. 경기 경기 없음
>= 95% 유사성 990 0
< 95% 유사성 10 0
. 합계 1,000 .

FNMR = 위음성 카운트 / (진양성 카운트 + 위음성 카운트)

FNMR = 10 / (990 + 10) 또는 1.0%

대조적으로, 1,000명의 정품 사용자가 온보딩하는 대신 990명의 정품 사용자와 10명의 사기 사용자(거짓 긍정)가 있다고 가정합니다. 95%의 최소 유사성에서 1,000명의 모든 사용자를 정품으로 받아들인다고 가정합니다. 여기서 우리는 1% FMR을 가질 것입니다.

실제
예상
. 경기 경기 없음 합계
>= 95% 유사성 990 10 1,000
< 95% 유사성 0 0 .

FMR = 가양성 횟수 / (총 시도 횟수)

FMR = 10 / (1,000) 또는 1.0%

온보딩 시 FMR 및 FNMR 비용 평가

온보딩 사용 사례에서 잘못된 불일치(거절) 비용은 일반적으로 추가 사용자 마찰 또는 등록 손실과 관련이 있습니다. 예를 들어 은행 사용 사례에서 Julie가 두 개의 자신의 이미지를 제시했지만 온보딩 시 두 이미지 간의 유사성이 선택된 유사성보다 낮아서 잘못 거부되었다고 가정합니다(거짓 불일치). 금융 기관은 잠재적 고객으로서 Julie를 잃을 위험이 있거나 Julie에게 자신의 신원을 증명하기 위한 단계를 수행하도록 요구함으로써 추가적인 마찰을 일으킬 수 있습니다.

반대로 Julie의 두 이미지가 서로 다른 사람이고 Julie의 온보딩이 거부되어야 한다고 가정합니다. Julie가 잘못 수락된 경우(허위 일치) 금융 기관에 대한 비용과 위험은 상당히 다릅니다. 금융 거래와 관련된 규제 문제, 사기 위험 및 기타 위험이 있을 수 있습니다.

책임감 있는 사용

기계 학습(ML)을 통해 적용되는 인공 지능(AI)은 인류의 가장 어려운 문제를 해결하고 인간의 성과를 증대하며 생산성을 극대화하는 우리 세대의 가장 혁신적인 기술 중 하나가 될 것입니다. 이러한 기술을 책임감 있게 사용하는 것이 지속적인 혁신을 촉진하는 데 핵심입니다. AWS는 공정하고 정확한 AI 및 ML 서비스를 개발하고 책임감 있게 AI 및 ML 애플리케이션을 구축하는 데 필요한 도구와 지침을 제공하기 위해 최선을 다하고 있습니다.

AI 및 ML 사용을 채택하고 늘리면 AWS는 AI 및 ML의 책임 있는 개발 및 사용을 지원하기 위해 경험을 기반으로 여러 리소스를 제공합니다.

피해야 할 모범 사례 및 일반적인 실수

이 섹션에서는 다음 모범 사례에 대해 설명합니다.

  • 충분히 큰 이미지 샘플 사용
  • 오픈 소스 및 합성 얼굴 데이터 세트 피하기
  • 수동 및 합성 이미지 조작 방지
  • 평가 시점 및 시간 경과에 따른 이미지 품질 확인
  • 시간 경과에 따른 FMR 및 FNMR 모니터링
  • 루프 검토에서 인간 사용
  • Amazon Rekognition으로 최신 상태 유지

충분히 큰 이미지 샘플 사용

충분히 크지만 합리적인 이미지 샘플을 사용합니다. 합리적인 샘플 크기는 무엇입니까? 비즈니스 문제에 따라 다릅니다. 고용주이고 인증하려는 직원이 10,000명이라면 10,000개의 이미지를 모두 사용하는 것이 합리적일 것입니다. 그러나 온보딩하려는 수백만 명의 고객이 있는 조직이라고 가정합니다. 이 경우 5,000~20,000명과 같은 대표 고객 샘플을 추출하는 것으로 충분할 것입니다. 샘플 크기에 대한 지침은 다음과 같습니다.

  • 샘플 크기 100 – 1,000개의 이미지 쌍으로 실현 가능성 입증
  • 샘플 크기 1,000 – 10,000개의 이미지 쌍은 이미지 간의 변동성을 측정하는 데 유용합니다.
  • 샘플 크기 10,000 – 1만 개의 이미지 쌍은 운영 품질 및 일반화 가능성을 측정합니다.

샘플링 이미지 쌍의 핵심은 샘플이 애플리케이션의 얼굴 모집단 전체에서 충분한 가변성을 제공하는지 확인하는 것입니다. 피부색, 성별, 연령과 같은 인구 통계학적 정보를 포함하도록 샘플링 및 테스트를 더욱 확장할 수 있습니다.

오픈 소스 및 합성 얼굴 데이터 세트 피하기

수십 개의 선별된 오픈 소스 얼굴 이미지 데이터 세트와 연구 및 타당성 연구에 자주 사용되는 놀랍도록 사실적인 합성 얼굴 세트가 있습니다. 문제는 이러한 데이터 세트가 실제 사용 사례의 99%에 일반적으로 유용하지 않다는 것입니다. 단순히 카메라, 얼굴 및 애플리케이션이 실제로 접할 가능성이 있는 이미지의 품질을 대표하지 않기 때문입니다. 애플리케이션 개발에 유용하지만 이러한 이미지 세트의 정확도 측정은 자신의 애플리케이션에서 발생하는 것으로 일반화되지 않습니다. 대신 샘플 이미지 쌍이 작더라도(1,000개 미만) 솔루션의 실제 이미지 대표 샘플로 시작하는 것이 좋습니다.

수동 및 합성 이미지 조작 방지

사람들이 이해하는 데 관심이 있는 극단적인 경우가 종종 있습니다. 이미지 캡처 품질 또는 특정 얼굴 특징의 난독화와 같은 것은 항상 관심 대상입니다. 예를 들어 나이와 이미지 품질이 안면 인식에 미치는 영향에 대한 질문을 자주 받습니다. 단순히 얼굴의 노화를 합성하거나 이미지를 조작하여 대상이 더 늙어 보이도록 하거나 이미지 품질을 조작할 수 있지만 이는 이미지의 실제 노화로 잘 변환되지 않습니다. 대신 테스트에 관심이 있는 실제 엣지 사례의 대표 샘플을 수집하는 것이 좋습니다.

평가 시점 및 시간 경과에 따른 이미지 품질 확인

카메라 및 애플리케이션 기술은 시간이 지남에 따라 매우 빠르게 변화합니다. 가장 좋은 방법은 시간 경과에 따라 이미지 품질을 모니터링하는 것입니다. 캡처한 얼굴의 크기(경계 상자 사용)에서 이미지의 밝기와 선명도, 얼굴의 자세, 잠재적 난독화(모자, 선글라스, 턱수염 등)에 이르기까지 이러한 모든 이미지와 얼굴 특징은 시간이 지남에 따라 변합니다.

시간 경과에 따른 FNMR 및 FMR 모니터링

이미지, 응용 프로그램 또는 응용 프로그램에서 사용되는 유사성 임계값에 관계없이 변경 사항이 발생합니다. 시간 경과에 따라 잘못된 일치율과 불일치율을 주기적으로 모니터링하는 것이 중요합니다. 비율의 변화(미묘한 변화라도)는 종종 애플리케이션의 업스트림 문제 또는 애플리케이션이 사용되는 방식을 가리킬 수 있습니다. 수락 또는 거부 결정을 내리는 데 사용되는 유사성 임계값 및 비즈니스 규칙의 변경은 온보딩 및 인증 사용자 경험에 큰 영향을 미칠 수 있습니다.

루프 검토에서 인간 사용

신원 확인 시스템은 유사성 임계값 및 비즈니스 규칙에 따라 자동으로 일치 여부를 결정합니다. 규정 및 내부 규정 준수 요구 사항 외에도 자동화된 의사 결정 시스템의 중요한 프로세스는 의사 결정 프로세스의 지속적인 모니터링의 일부로 인간 검토자를 활용하는 것입니다. 이러한 자동화된 의사 결정 시스템에 대한 인간의 감독은 자동화된 의사 결정 프로세스에 대한 투명성뿐만 아니라 검증 및 지속적인 개선을 제공합니다.

Amazon Rekognition으로 최신 상태 유지

Amazon Recognition 얼굴 모델은 정기적으로(보통 매년) 업데이트되며 현재 버전 6입니다. 이 업데이트된 버전은 정확도와 인덱싱을 크게 개선했습니다. 새 모델 버전을 최신 상태로 유지하고 신원 확인 애플리케이션에서 이러한 새 버전을 사용하는 방법을 이해하는 것이 중요합니다. 새 버전의 Amazon Rekognition 얼굴 모델이 시작되면 신원 확인 평가 프로세스를 다시 실행하고 허위 일치 및 비일치율에 대한 잠재적 영향(긍정적 및 부정적)을 확인하는 것이 좋습니다.

결론

이 게시물에서는 다양한 정확도 지표 측면에서 신원 확인 솔루션의 성능 측면을 평가하는 데 필요한 핵심 요소에 대해 설명합니다. 그러나 정확성은 특정 콘텐츠 조정 서비스를 선택할 때 평가해야 하는 많은 차원 중 하나일 뿐입니다. 서비스의 전체 기능 세트, 사용 편의성, 기존 통합, 개인 정보 보호 및 보안, 사용자 정의 옵션, 확장성 영향, 고객 서비스 및 가격과 같은 기타 매개변수를 포함하는 것이 중요합니다.

Amazon Rekognition의 신원 확인에 대해 자세히 알아보려면 다음을 방문하십시오. Amazon Rekognition을 사용한 신원 확인.


저자에 관하여

신원 확인 솔루션 PlatoBlockchain Data Intelligence를 평가하기 위한 지표입니다. 수직 검색. 일체 포함.마이크 에임스 사기, 낭비 및 남용으로부터 조직을 보호하기 위한 기계 학습 및 AI 솔루션 개발에 대한 광범위한 경험을 갖춘 데이터 과학자에서 신원 확인 솔루션 전문가로 전환했습니다. 여가 시간에는 하이킹, 산악자전거, 반려견 Max와 함께 프리비 게임을 하는 모습을 볼 수 있습니다.

신원 확인 솔루션 PlatoBlockchain Data Intelligence를 평가하기 위한 지표입니다. 수직 검색. 일체 포함.아미 굽타 AWS의 수석 AI 서비스 솔루션 아키텍트입니다. 그는 규모에 맞게 잘 설계된 기계 학습 솔루션을 통해 고객을 지원하는 데 열정적입니다.

신원 확인 솔루션 PlatoBlockchain Data Intelligence를 평가하기 위한 지표입니다. 수직 검색. 일체 포함.주하이르 라깁 AWS의 AI 서비스 솔루션 아키텍트입니다. 응용 AI/ML을 전문으로 하는 그는 고객이 클라우드를 사용하여 더 빠르게 혁신하고 비즈니스를 혁신할 수 있도록 지원하는 데 열정적입니다.

신원 확인 솔루션 PlatoBlockchain Data Intelligence를 평가하기 위한 지표입니다. 수직 검색. 일체 포함.마르셀 피비달 World-Wide Specialist Organization의 수석 AI 서비스 솔루션 아키텍트입니다. Marcel은 핀테크, 결제 제공업체, 제약 및 정부 기관의 기술을 통해 비즈니스 문제를 해결하는 데 20년 이상의 경험을 가지고 있습니다. 그의 현재 초점 영역은 위험 관리, 사기 방지 및 신원 확인입니다.

타임 스탬프 :

더보기 AWS 기계 학습