KR102640358B1 - 인공지능 모델 기반 비대면 본인 인증 시스템의 제어 방법 - Google Patents

인공지능 모델 기반 비대면 본인 인증 시스템의 제어 방법 Download PDF

Info

Publication number
KR102640358B1
KR102640358B1 KR1020230020860A KR20230020860A KR102640358B1 KR 102640358 B1 KR102640358 B1 KR 102640358B1 KR 1020230020860 A KR1020230020860 A KR 1020230020860A KR 20230020860 A KR20230020860 A KR 20230020860A KR 102640358 B1 KR102640358 B1 KR 102640358B1
Authority
KR
South Korea
Prior art keywords
user
voice
authentication
server
facial
Prior art date
Application number
KR1020230020860A
Other languages
English (en)
Inventor
자비어미라미로
Original Assignee
페이스피에이팍 유한회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 페이스피에이팍 유한회사 filed Critical 페이스피에이팍 유한회사
Priority to KR1020230020860A priority Critical patent/KR102640358B1/ko
Application granted granted Critical
Publication of KR102640358B1 publication Critical patent/KR102640358B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Business, Economics & Management (AREA)
  • Collating Specific Patterns (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Oral & Maxillofacial Surgery (AREA)

Abstract

본 발명은 상기 전자 장치가, 사용자 인증의 대상이 되는 사용자를 촬영하여 생성된 제1 사용자 이미지를 획득하는 단계; 상기 서버가, 사전 인증이 완료된 사용자의 제2 사용자 이미지의 사용자 안면 이미지가 나타내는 안면 및 상기 제1 사용자 이미지 내의 사용자 안면 이미지가 나타내는 안면 간에 안면 일치 값을 획득하는 단계; 상기 서버가, 상기 제1 사용자 이미지 내의 사용자 안면 이미지의 안면 라이브니스 값을 획득하는 단계; 상기 전자 장치가, 상기 사용자 인증의 대상이 되는 사용자의 음성을 녹음하여 생성된 제1 사용자 음성 데이터를 획득하는 단계; 상기 서버가, 상기 사전 인증이 완료된 사용자의 제2 사용자 음성 데이터의 화자 및 상기 제1 사용자 음성 데이터의 화자 간에 화자 일치 값을 획득하는 단계; 상기 서버가, 상기 제1 사용자 음성 데이터의 음성 라이브니스 값을 획득하는 단계; 및 상기 서버가, 상기 안면 일치 값, 상기 안면 라이브니스 값, 상기 화자 일치 값 및 상기 음성 라이브니스 값에 기초하여 사용자 인증을 수행하는 단계;를 포함할 수 있다.

Description

인공지능 모델 기반 비대면 본인 인증 시스템의 제어 방법 { CONTROL METHOD OF SYSTEM FOR NON-FACE-TO-FACE IDENTIFICATION BASED ARTIFICIAL INTELLIGENCE MODEL}
본 발명은 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 전자 장치 및 서버를 포함하는 시스템의 제어 방법에 관한 것으로, 보다 상세하게는, 화자 인증 결과와 안면 인증 결과에 기초하여 사용자에 대해 인증을 수행하는 전자 장치 및 서버를 포함하는 시스템의 제어 방법에 관한 것이다.
바이오 인증이란, 타인이 모방할 수 없는 신체 정보를 기반으로 사용자를 식별하여 인증하는 기술을 의미한다. 다양한 바이오 인증 기술 중에서도 최근 음성인식 기술에 관한 연구가 활발히 진행되고 있다. 음성인식 기술은 크게 '음성 인식'과 '화자 인증'으로 나뉜다. 음성 인식은 어떤 사람이 이야기하든 상관없이 불특정 다수가 말한 '내용'을 알아듣는 것인 반면에 화자 인증은 '누가' 이 이야기를 했는지를 구별하는 것이다.
화자 인증 기술의 일 예시로, '목소리 인증 서비스'가 있다. 만약, 음성만으로 '누구'인지 주체를 정확하고 신속하게 확인할 수 있다면, 각종 분야에서 개인인증을 위해 필요했던 기존의 방법들, 예를 들어, 로그인 후 비밀번호 입력, 공인인증서 인증 등과 같은 번거로운 단계를 줄여 이용자의 편의를 제공할 수 있을 것이다.
이때 화자 인증 기술은 최초 사용자의 음성을 등록한 뒤 이후, 인증 요청시마다 사용자가 발화한 음성과 등록된 음성을 비교하여 일치 여부로 인증을 수행한다. 사용자가 음성을 등록하면, 음성 데이터에서 특징점을 수초(ex, 10sec) 단위로 추출할 수 있다. 특징점은, 억양, 말 빠르기 등 다양한 유형으로 추출될 수 있고 이러한 특징점의 조합으로 사용자들을 식별할 수 있다.
그러나 등록 사용자가 음성을 등록하거나 인증할 때 인근에 위치하는 제3자가 등록 사용자의 음성을 무단 녹음하고, 해당 녹음 파일로 화자 인증을 시도하는 상황이 발생 가능하므로 화장 인증 기술의 보안성이 문제될 수 있다. 이러한 상황이 발생한다면 사용자에게 막대한 피해가 발생하게 될 것이며, 화자 인증에 대한 신뢰도는 낮아질 수밖에 없다. 즉, 화자 인증 기술의 효용성이 저하되고, 음성 인증 데이터의 위조 또는 변조가 빈번히 발생할 수 있다.
한국공개특허 제10-2022-0081476호
본 발명이 해결하고자 하는 과제는 화자 인증 결과와 안면 인증 결과에 기초하여 사용자에 대해 인증을 수행하는 전자 장치 및 서버를 포함하는 시스템의 제어 방법을 제공하고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 전자 장치 및 서버를 포함하는 시스템의 제어 방법에 있어서, 상기 전자 장치가, 사용자 인증의 대상이 되는 사용자를 촬영하여 생성된 제1 사용자 이미지를 획득하는 단계; 상기 서버가, 사전 인증이 완료된 사용자의 제2 사용자 이미지의 사용자 안면 이미지가 나타내는 안면 및 상기 제1 사용자 이미지 내의 사용자 안면 이미지가 나타내는 안면 간에 안면 일치 값을 획득하는 단계; 상기 서버가, 상기 제1 사용자 이미지 내의 사용자 안면 이미지의 안면 라이브니스 값을 획득하는 단계; 상기 전자 장치가, 상기 사용자 인증의 대상이 되는 사용자의 음성을 녹음하여 생성된 제1 사용자 음성 데이터를 획득하는 단계; 상기 서버가, 상기 사전 인증이 완료된 사용자의 제2 사용자 음성 데이터의 화자 및 상기 제1 사용자 음성 데이터의 화자 간에 화자 일치 값을 획득하는 단계; 상기 서버가, 상기 제1 사용자 음성 데이터의 음성 라이브니스 값을 획득하는 단계; 및 상기 서버가, 상기 안면 일치 값, 상기 안면 라이브니스 값, 상기 화자 일치 값 및 상기 음성 라이브니스 값에 기초하여 사용자 인증을 수행하는 단계;를 포함할 수 있다.
바람직하게, 상기 사용자 인증을 수행하는 단계는, 상기 서버가, 상기 안면 일치 값 및 상기 안면 라이브니스 값에 기초하여 상기 제1 사용자 이미지 내의 사용자 안면 이미지가 나타내는 안면이 상기 사용자의 안면인지를 판단하는 안면 인증을 수행하는 단계; 및 상기 서버가, 상기 화자 일치 값 및 상기 음성 라이브니스 값에 기초하여 상기 제1 사용자 음성 데이터의 화자가 상기 사용자인지를 판단하는 화자 인증을 수행하는 단계;를 포함할 수 있다.
바람직하게, 상기 안면 인증을 수행하는 단계는, 상기 서버가, 상기 안면 일치 값이 기준 안면 일치 값을 초과하는지 여부를 판단하는 단계; 상기 서버가, 상기 안면 라이브니스 값이 기준 안면 라이브니스 값을 초과하는지 여부를 판단하는 단계; 및 상기 서버가, 상기 안면 일치 값이 상기 기준 안면 일치 값을 초과하고, 상기 안면 라이브니스 값이 상기 기준 안면 라이브니스 값을 초과하면, 상기 제1 사용자 이미지 내의 사용자 안면 이미지가 나타내는 안면이 상기 사용자의 안면인 것으로 판단하는 단계;를 포함할 수 있다.
바람직하게, 상기 화자 인증을 수행하는 단계는, 상기 서버가, 상기 화자 일치 값이 기준 화자 일치 값을 초과하는지 여부를 판단하는 단계; 상기 서버가, 상기 음성 라이브니스 값이 기준 음성 라이브니스 값을 초과하는지 여부를 판단하는 단계; 및 상기 서버가, 상기 화자 일치 값이 상기 기준 화자 일치 값을 초과하고, 상기 음성 라이브니스 값이 상기 기준 음성 라이브니스 값을 초과하면, 상기 제1 사용자 음성 데이터의 화자가 상기 사용자인 것으로 판단하는 단계;를 포함할 수 있다.
바람직하게, 상기 사용자 인증을 수행하는 단계는, 상기 서버가, 상기 안면 인증 결과, 상기 제1 사용자 이미지 내의 사용자 안면 이미지가 나타내는 안면이 상기 사용자의 안면인 것으로 판단되고, 상기 화자 인증 결과, 상기 제1 사용자 음성 데이터의 화자가 상기 사용자인 것으로 판단되면, 상기 사용자를 인증할 수 있다.
상기 시스템의 제어 방법은 상기 전자 장치 또는 상기 서버가, 상기 신분증 이미지로부터 문자를 인식하여 신분증 정보를 추출하는 단계; 상기 전자 장치가, 상기 사용자 인증을 시도하는 사용자의 위치 정보를 획득하는 단계; 및 상기 서버가, 상기 신분증 정보 중에서 주소 정보가 나타내는 주소의 위치에 대응되는 국가 정보를 확인하고, 상기 위치 정보가 나타내는 사용자의 위치가 상기 국가 정보가 나타내는 국가 내에 포함되는지 여부를 판단하는 단계;를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 서버의 제어 방법에 있어서 상기 서버가, 사전 인증이 완료된 사용자의 제2 사용자 이미지의 사용자 안면 이미지가 나타내는 안면 및 사용자 인증의 대상이 되는 사용자를 촬영하여 생성된 제1 사용자 이미지 내의 사용자 안면 이미지가 나타내는 안면 간에 안면 일치 값을 획득하는 단계; 상기 서버가, 상기 제1 사용자 이미지 내의 사용자 안면 이미지의 안면 라이브니스 값을 획득하는 단계; 상기 서버가, 상기 사전 인증이 완료된 사용자의 제2 사용자 음성 데이터의 화자 및 상기 사용자 인증의 대상이 되는 사용자의 음성을 녹음하여 생성된 제1 사용자 음성 데이터의 화자 간에 화자 일치 값을 획득하는 단계; 상기 서버가, 상기 제1 사용자 음성 데이터의 음성 라이브니스 값을 획득하는 단계; 및 상기 서버가, 상기 안면 일치 값, 상기 안면 라이브니스 값, 상기 화자 일치 값 및 상기 음성 라이브니스 값에 기초하여 사용자 인증을 수행하는 단계;를 포함할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명에 따른 전자 장치 및 서버를 포함하는 시스템의 제어 방법은 화자 인증 결과와 안면 인증 결과에 기초하여 사용자에 대해 인증을 수행함으로써, 인증 정확도가 향상된 인증 프로세스가 가능하게 한다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 일 실시예에 따른 시스템의 구성도이다.
도 2는 본 개시의 일 실시예에 따른 시스템에 포함된 전자 장치 및 서버의 구성도이다.
도 3은 본 개시의 일 실시예에 따른 사용자 인증 과정에 대한 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 전자 장치가 신분증 이미지를 획득하는 모습에 대한 예시도이다.
도 5 및 도 6은 본 개시의 일 실시예에 따른 전자 장치가 사용자 이미지를 획득하는 모습에 대한 예시도이다.
도 7은 본 개시의 일 실시예에 따른 서버가 인공지능 모델을 이용하여 안면 이미지에 대한 안면 라이브니스 값을 획득하는 과정을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 서버가 인공지능 모델을 이용하여 두 안면 이미지 각각이 나타내는 안면 간의 안면 일치 값을 획득하는 과정을 설명하기 위한 도면이다.
도 9 및 도 10은 본 개시의 일 실시예에 따른 전자 장치가 사용자 음성 데이터를 획득하는 모습에 대한 예시도이다.
도 11은 본 개시의 일 실시예에 따른 서버가 인공지능 모델을 이용하여 사용자 음성 데이터에 대한 음성 라이브니스 값을 획득하는 과정을 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른 서버가 인공지능 모델을 이용하여 두 음성 각각의 화자 간의 화자 일치 값을 획득하는 과정을 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓일 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 개시의 일 실시예에 따른 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 면에 따른 시스템은 전자 장치(100) 및 서버(200)를 포함할 수 있다.
전자 장치(100) 및 서버(200)는 생성된 값에 대한 정보, 판단 결과에 대한 정보, 데이터 및 신호를 송수신하며 사용자에 대해 사용자 인증을 수행할 수 있다.
여기서, 사용자 인증은 계정에 로그인을 시도하는 사용자가 해당 계정에 로그인이 허용된 사용자인지를 판단하는 과정일 수 있다.
전자 장치(100)는 스마트폰, 태블릿 PC, TV, 콘솔 기기, 셋탑 박스, 기타 제어 기기 등으로 구현될 수 있다.
서버(200)는 전자 장치(100)로부터 수신되는 생성된 값에 대한 정보, 판단 결과에 대한 정보, 데이터 및 신호를 기초로 사용자에 대해 사용자 인증을 수행하고, 사용자 인증 결과를 전자 장치(100)로 송신할 수 있다.
도 2는 본 개시의 일 실시예에 따른 시스템에 포함된 전자 장치 및 서버의 구성도이다.
도 2를 참조하면, 전자 장치(100)는, 메모리(110), 카메라(120), 마이크(130), 디스플레이(140), 프로세서(150) 및 통신부(160)를 포함할 수 있다.
메모리(110)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(110)는 비휘발성 메모리(110), 휘발성 메모리(110), 플래시메모리(110)(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.
프로세서(150)는 메모리(110)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 프로세서(150)는 RAM, ROM, 그래픽 처리부, 메인 CPU, 제1 내지 n 인터페이스 및 버스로 구성될 수 있다. 이때, RAM, ROM, 그래픽 처리부, 메인 CPU, 제1 내지 n 인터페이스 등은 버스를 통해 서로 연결될 수 있다.
RAM은 O/S 및 어플리케이션 프로그램을 저장한다. 구체적으로, 전자 장치(100)가 부팅되면 O/S가 RAM에 저장되고, 사용자가 선택한 각종 어플리케이션 데이터가 RAM에 저장될 수 있다.
ROM에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴 온 명령이 입력되어 전원이 공급되면, 메인 CPU는 ROM에 저장된 명령어에 따라 메모리(110)에 저장된 O/S를 RAM에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU는 메모리(110)에 저장된 각종 어플리케이션 프로그램을 RAM에 복사하고, RAM에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
그래픽 처리부는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이템, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 여기서, 연산부는 입력부로부터 수신된 제어 명령을 이용하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산하는 구성일 수 있다. 그리고, 렌더링부는 연산부에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성하는 구성이 일 수 있다. 이러한 렌더링부에서 생성된 화면은 디스플레이(140)의 디스플레이 영역 내에 표시될 수 있다.
메인 CPU는 메모리(110)에 액세스하여, 메모리(110)에 저장된 OS를 이용하여 부팅을 수행한다. 그리고, 메인 CPU는 메모리(110)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
제1 내지 n 인터페이스는 상술한 각종 구성요소들과 연결된다. 제1 내지 n 인터페이스 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
한편, 프로세서(150)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따른 프로세서(150)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 본 발명과 관련하여 설명된 방법을 수행한다.
예를 들어, 프로세서(150)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써 신규 학습용 데이터를 획득하고, 학습된 모델을 이용하여, 획득된 신규 학습용 데이터에 대한 테스트를 수행하고, 테스트 결과, 라벨링된 정보가 소정의 제1 기준값 이상의 정확도로 획득되는 제1 학습용 데이터를 추출하고, 추출된 제1 학습용 데이터를 신규 학습용 데이터로부터 삭제하고, 추출된 학습용 데이터가 삭제된 신규 학습용 데이터를 이용하여 학습된 모델을 다시 학습시킬 수 있다.
한편, 프로세서(150)는 프로세서(150) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(150)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(110)에는 프로세서(150)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(110)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.
카메라(120)는 적어도 하나의 피사체를 촬영하기 위한 구성으로, 사용자를 촬영하여 사용자의 안면이 포함된 사용자 이미지를 생성하고, 신분증을 촬영하여 신분증 이미지를 생성할 수 있다.
마이크(130)는 소리를 녹음하기 위한 구성으로, 사용자로부터 발화된 음성을 녹음하여 사용자 음성 데이터를 생성할 수 있다.
디스플레이(140)는 다양한 정보를 시각적으로 출력하기 위한 구성으로, LCD(Liquid Crystal Display), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diodes), TOLED(Transparent OLED), Micro LED 등으로 구현될 수 있으나, 이에 한정되는 것은 아니고 이밖에 종래 알려진 다양한 형태의 디스플레이를 포함할 수 있다.
실시예로, 디스플레이(140)는, 사용자의 터치 조작을 감지할 수 있는 터치스크린 형태로 구현될 수 있으며, 접히거나 구부러질 수 있는 플렉서블 디스플레이로 구현될 수도 있다.
통신부(160)는 서버(200)와 통신을 수행할 수 있다. 특히, 통신부(160)는 와이파이 칩, 블루투스 칩, 무선 통신 칩, NFC칩, 저전력 블루투스 칩(BLE 칩) 등과 같은 다양한 통신 칩을 포함할 수 있다. 이때, 와이파이 칩, 블루투스 칩, NFC 칩은 각각 LAN 방식, WiFi 방식, 블루투스 방식, NFC 방식으로 통신을 수행한다. 와이파이 칩이나 블루투스칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신 하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신칩은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), 5G(5th Generation) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다.
도 2를 참조하면, 서버(200)는, 메모리(210), 프로세서(220) 및 통신부(230)를 포함할 수 있다.
메모리(210)는 서버(200)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(210)는 비휘발성 메모리(210), 휘발성 메모리(210), 플래시메모리(210)(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.
프로세서(220)는 메모리(210)에 저장된 각종 프로그램을 이용하여 서버(200)의 전반적인 동작을 제어할 수 있다. 프로세서(220)는 RAM, ROM, 그래픽 처리부, 메인 CPU, 제1 내지 n 인터페이스 및 버스로 구성될 수 있다. 이때, RAM, ROM, 그래픽 처리부, 메인 CPU, 제1 내지 n 인터페이스 등은 버스를 통해 서로 연결될 수 있다.
RAM은 O/S 및 어플리케이션 프로그램을 저장한다. 구체적으로, 서버(200)가 부팅되면 O/S가 RAM에 저장되고, 사용자가 선택한 각종 어플리케이션 데이터가 RAM에 저장될 수 있다.
ROM에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴 온 명령이 입력되어 전원이 공급되면, 메인 CPU는 ROM에 저장된 명령어에 따라 메모리(210)에 저장된 O/S를 RAM에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU는 메모리(210)에 저장된 각종 어플리케이션 프로그램을 RAM에 복사하고, RAM에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
메인 CPU는 메모리(210)에 액세스하여, 메모리(210)에 저장된 OS를 이용하여 부팅을 수행한다. 그리고, 메인 CPU는 메모리(210)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
제1 내지 n 인터페이스는 상술한 각종 구성요소들과 연결된다. 제1 내지 n 인터페이스 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
한편, 나아가, 프로세서(220)는 인공지능 모델을 제어할 수 있다. 이 경우, 프로세서(220)는 인공지능 모델을 제어하기 위한 그래픽 전용 프로세서(예: GPU)를 포함할 수 있음은 물론이다.
한편, 본 발명에 따른 인공지능 모델은 교사 지도학습(supervised learning) 또는 비교사 지도학습(unsupervised learning)기반의 모델일 수 있다. 나아가, 본 발명에 따른 인공지능 모델은 SVM(support vector machine), Decision tree, neural network 등 및 이들이 응용된 방법론을 포함할 수 있다.
일 실시예로, 본 발명에 따른 인공지능 모델은 학습데이터를 입력하여 학습된 합성곱 신경망(Convolutional deep Neural Networks, CNN) 기반의 인공지능 모델일 수 있다. 다만, 이에 한정되는 것은 아니며, 다양한 인공지능 모델이 본 발명에 적용될 수 있음은 물론이다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 인공지능 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
이때, 합성곱 신경망(Convolutional deep Neural Networks, CNN)은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. 합성곱 신경망은 하나 또는 여러개의 합성곱 계층(convolutional layer)과 그 위에 올려진 일반적인 인공신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 합성곱 신경망은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 또한, 합성곱 신경망은 표준 역전달을 통해 훈련될 수 있다. 합성곱 신경망은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다.
또한, 심층 신경망(Deep Neural Networks, DNN)은 입력 계층(input layer)과 출력 계층(output layer) 사이에 복수개의 은닉 계층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다.
이때, 심층 신경망의 구조는 퍼셉트론(perceptron)으로 구성될 수 있다. 퍼셉트론은 여러 개의 입력 값(input)과 하나의 프로세서(prosessor), 하나의 출력 값으로 구성된다. 프로세서는 여러 개의 입력 값에 각각 가중치를 곱한 후, 가중치가 곱해진 입력 값들을 모두 합한다. 그 다음 프로세서는 합해진 값을 활성화함수에 대입하여 하나의 출력 값을 출력한다. 만약 활성화함수의 출력 값으로 특정한 값이 나오기를 원하는 경우, 각 입력 값에 곱해지는 가중치를 수정하고, 수정된 가중치를 이용하여 출력 값을 다시 계산할 수 있다. 이때, 각각의 퍼셉트론은 서로 다른 활성화함수를 사용할 수 있다. 또한 각각의 퍼셉트론은 이전 계층에서 전달된 출력들을 입력으로 받아들인 다음, 활성화 함수를 이용해서 출력을 구한다. 구해진 출력은 다음 계층의 입력으로 전달된다. 상술한 바와 같은 과정을 거치면 최종적으로 몇 개의 출력 값을 얻을 수 있다.
순환 신경망(Reccurent Neural Network, RNN)은 인공신경망을 구성하는 유닛 사이의 연결이 Directed cycle을 구성하는 신경망을 말한다. 순환 신경망은 앞먹임 신경망과 달리, 임의의 입력을 처리하기 위해 신경망 내부의 메모리를 활용할 수 있다.
심층 신뢰 신경망(Deep Belief Networks, DBN)이란 기계학습에서 사용되는 그래프 생성 모형(generative graphical model)으로, 딥 러닝에서는 잠재변수(latent variable)의 다중계층으로 이루어진 심층 신경망을 의미한다. 계층 간에는 연결이 있지만 계층 내의 유닛 간에는 연결이 없다는 특징이 있다.
심층 신뢰 신경망은 생성 모형이라는 특성상 선행학습에 사용될 수 있고, 선행학습을 통해 초기 가중치를 학습한 후 역전파 혹은 다른 판별 알고리즘을 통해 가중치의 미조정을 할 수 있다. 이러한 특성은 훈련용 데이터가 적을 때 굉장히 유용한데, 이는 훈련용 데이터가 적을수록 가중치의 초기값이 결과적인 모델에 끼치는 영향이 세지기 때문이다. 선행학습된 가중치 초기값은 임의로 설정된 가중치 초기값에 비해 최적의 가중치에 가깝게 되고 이는 미조정 단계의 성능과 속도향상을 가능케 한다.
상술한 인공지능 및 그 학습방법에 관한 내용은 예시를 위하여 서술된 것이며, 상술한 실시 예들에서 이용되는 인공지능 및 그 학습방법은 제한되지 않는다. 예를 들어, 당 업계의 통상의 기술자가 동일한 과제해결을 위하여 적용할 수 있는 모든 종류의 인공지능 기술 및 그 학습방법이 개시된 실시 예에 따른 시스템을 구현하는 데 활용될 수 있다.
한편, 프로세서(220)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따른 프로세서(220)는 메모리(210)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 본 발명과 관련하여 설명된 방법을 수행한다.
예를 들어, 프로세서(220)는 메모리(210)에 저장된 하나 이상의 인스트럭션을 실행함으로써 신규 학습용 데이터를 획득하고, 학습된 모델을 이용하여, 획득된 신규 학습용 데이터에 대한 테스트를 수행하고, 테스트 결과, 라벨링된 정보가 소정의 제1 기준값 이상의 정확도로 획득되는 제1 학습용 데이터를 추출하고, 추출된 제1 학습용 데이터를 신규 학습용 데이터로부터 삭제하고, 추출된 학습용 데이터가 삭제된 신규 학습용 데이터를 이용하여 학습된 모델을 다시 학습시킬 수 있다.
한편, 프로세서(220)는 프로세서(220) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(220)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(210)에는 프로세서(220)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(210)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.
통신부(230)는 전자 장치(100)와 통신을 수행할 수 있다. 특히, 통신부(230)는 와이파이 칩, 블루투스 칩, 무선 통신 칩, NFC칩, 저전력 블루투스 칩(BLE 칩) 등과 같은 다양한 통신 칩을 포함할 수 있다. 이때, 와이파이 칩, 블루투스 칩, NFC 칩은 각각 LAN 방식, WiFi 방식, 블루투스 방식, NFC 방식으로 통신을 수행한다. 와이파이 칩이나 블루투스칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신 하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신칩은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), 5G(5th Generation) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다.
도 3은 본 개시의 일 실시예에 따른 사용자 인증 과정에 대한 흐름도이다.
도 3에 도시된 바와 같이, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 서버(200)가, 사전 인증이 완료된 사용자의 사용자 이미지로부터 생성된 안면 템플릿 데이터를 등록(S1)하고, 사전 인증이 완료된 사용자의 사용자 음성 데이터로부터 생성된 음성 템플릿 데이터를 등록(S2)하고, 안면 템플릿 데이터를 이용하여 안면 인증을 수행(S3)하며, 음성 템플릿 데이터를 이용하여 화자 인증을 수행(S4)하고, 안면 인증의 결과와 화자 인증의 결과에 기초하여 사용자 인증을 수행(S5)할 수 있다.
구체적으로, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 우선 사전 인증이 완료된 사용자의 사용자 이미지를 획득하고, 획득된 사용자 이미지로부터 생성된 안면 템플릿 데이터를 서버(200)에 등록(S1)할 수 있다.
또한, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 사전 인증이 완료된 사용자의 사용자 음성 데이터를 획득하고, 획득된 사용자 음성 데이터로부터 생성된 음성 템플릿 데이터를 서버(200)에 등록(S2)할 수 있다.
이후, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 미리 등록된 안면 템플릿 데이터와 사용자 인증을 위해 획득된 안면 템플릿 데이터에 기초하여 안면 인증을 수행(S3)할 수 있다.
이어서, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 미리 등록된 음성 템플릿 데이터와 사용자 인증을 위해 획득된 음성 템플릿 데이터에 기초하여 화자 인증을 수행(S4)할 수 있다.
이때, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 단계 S3에서 안면 인증이 완료된 이후 단계 S4를 수행하거나, 단계 S4에서 화자 인증이 완료된 이후 단계 S3를 수행하거나, 단계 S3와 단계 S4를 동시 수행할 수 있다.
본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 안면 인증 및 화자 인증이 모두 완료되는 경우 사용자 인증을 완료처리할 수 있다.
이하에서는, 상술된 사전 인증, 안면 인증 및 화자 인증 각각의 과정에 대해서 설명하고, 사전 인증, 안면 인증 및 화자 인증를 포함하는 사용자 인증에 대해서 설명하도록한다.
우선, 상술된 사전 인증에 대해서 설명하도록 한다.
사전 인증은 신분을 나타내는 정보를 이용하여 해당 신원이 사용자인지를 판단하는 것 일 수 있다. 여기서, 신분을 나타내는 정보는 신분증을 촬영한 신분증 이미지로부터 획득되는 정보이거나 은행 계좌의 소유주와 계좌 번호에 대한 정보일 수 있다.
예를 들어, 사전 인증은 신분증이 나타내는 신원이 사용자 인지를 판단하는 신분증 본인 인증이거나, 특정 은행 계좌의 소유주가 사용자인지를 판단하는 계좌 인증일 수 있다.
본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 사용자에 대해 상술된 사전 인증을 직접 수행하거나 사전 인증의 결과를 외부 서버로부터 수신할 수 있다.
즉, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 사전 인증이 완료된 사용자의 사용자 이미지와 사용자 음성 데이터를 각각 획득하는데 있어서, 선단계로 사용자에 대해 상술된 사전 인증을 직접 수행하거나 사전 인증의 결과를 외부 서버로부터 수신하여 사전 인증이 완료된 사용자로부터 사용자 이미지와 사용자 음성 데이터를 각각 획득할 수 있다.
이하, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템이 신분증 이미지를 이용하여 상술된 사전 인증을 직접 수행하는 과정에 대해 설명하도록 한다.
본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 해당 신분증에 대해 신분증 진위 여부를 확인하고, 신분증 진위 여부가 확인되면, 사전 인증을 수행하고자 하는 사용자의 사용자 안면 이미지에 대해 라이브니스 여부를 판단할 수 있다.
이때, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 사전 인증 과정에서 획득된 사용자 안면 이미지가 라이브니스를 가지는 것으로 판단되면 신분증 이미지 내의 신분증 안면 이미지와 사용자 안면 이미지 각각이 나타내는 안면 간의 일치 여부를 판단할 수 있다.
최종적으로, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은, 신분증 이미지 내의 신분증 안면 이미지와 사용자 안면 이미지 각각이 나타내는 안면이 일치하는 것으로 판단되면, 사전 인증을 완료 처리할 수 있다.
이하에서, 상술된 신분증 진위 여부를 확인하는 과정에 대해 구체적으로 설명하도록 한다.
도 4는 본 개시의 일 실시예에 따른 전자 장치가 신분증 이미지를 획득하는 모습에 대한 예시도이다.
전자 장치(100)는, 디스플레이에 사용자가 신분증(ID)을 촬영하도록 하는 신분증 촬영 UI를 출력하여, 사용자가 신분증(ID)을 촬영하도록 할 수 있다.
이때, 전자 장치(100)는 카메라로부터 촬영되는 이미지로부터 신분증이 인식되면 해당 이미지를 신분증 이미지로 획득하는 오토스캔 기능을 통해 신분증 이미지를 획득할 수 있다.
다른 실시 예에 따르면, 전자 장치(100)는 촬영 버튼을 디스플레이에 표시하고, 사용자로부터 촬영 버튼이 선택 입력되면, 촬영 버튼이 선택 입력된 입력 시점에 카메라를 이용하여 신분증 이미지를 획득할 수 있다.
이후, 전자 장치(100)는 신분증(ID)을 촬영하여 생성된 신분증 이미지(ID-I)로부터 문자(ID-C)를 인식하여 신분증 정보를 생성할 수 있다.
이를 위해, 전자 장치(100)는 문자 판독 모듈을 이용하여 문자(ID-C)를 인식할 수 있다.
여기서, 신분증 정보는 신분증 종류 정보, 신분증 고유 정보(예를 들어, 주민등록번호), 신분증 유효일 정보, 신분증 발급일 정보, 신분증이 나타내는 신원의 이름 정보 및 주소 정보 중 하나 이상을 포함할 수 있다.
한편, 전자 장치(100)는 신분증 이미지(ID-I)로부터 신분증 외곽선을 인식하고, 상술된 신분증 정보 중 일부 정보를 신분증 이미지(ID-I)에서 블라인드 처리할 수 있다.
여기서, 신분증은 실물의 주민등록증, 운전면허증, 여권 중 어느 하나일 수 있다.
한편, 신분증은 모바일 운전면허증, 모바일 주민등록증, 전자 여권 중 어느 하나 일 수도 있다. 이때, 전자 장치(100)는 신분증을 촬영하지 않고, 전자적 방법을 통해 모바일 운전면허증, 모바일 주민등록증, 전자 여권으로부터 신분증 정보를 획득할 수 있다.
전자 장치(100)는 생성된 신분증 정보를 서버(200)로 송신할 수 있다.
한편, 전자 장치(100)를 대신하여 서버(200)가 상술된 문자 인식을 통한 신분증 정보의 생성을 수행할 수 있다.
이를 위해, 전자 장치(100)는 신분증(ID)을 촬영하여 생성된 신분증 이미지(ID-I)를 서버(200)로 송신하고, 서버(200)는 신분증 이미지(ID-I)로부터 문자(ID-C)를 인식하여 신분증 정보를 생성할 수 있다.
이를 위해, 서버(200)는 문자 판독 모듈을 이용하여 문자(ID-C)를 인식할 수 있다.
서버(200)는 신분증 정보에 기초하여 신분증의 진위 여부를 확인 기관 서버에 확인 요청할 수 있다.
이를 위해, 서버(200)는 확인 기관 서버로 신분증 정보와 함께 진위 여부 확인 요청 신호를 송신할 수 있다.
이후, 서버(200)는 신분증의 진위 여부 확인 요청에 대한 응답으로 신분증의 진위 여부를 나타내는 신분증 진위 정보를 확인 기관 서버로부터 수신할 수 있다.
여기서, 확인 기관 서버는 신분증을 발급한 기관이 해당 신분증의 진위 여부에 대한 확인 결과를 제공하기 위해 운영하는 서버일 수 있다.
서버(200)는 수신된 신분증 진위 정보를 전자 장치(100)로 송신할 수 있다.
전자 장치(100)는 수신된 신분증 진위 정보가 신분증이 진짜임을 나타내면 신분증이 가짜임을 알리는 메시지를 출력할 수 있다.
또한, 전자 장치(100)는 수신된 신분증 진위 정보가 신분증이 진짜임을 나타내면 후속되는 사용자 안면 이미지에 대해 라이브니스 여부를 판단하는 과정에서 요구되는 이미지, 데이터 및 값을 획득하거나 생성할 수 있다.
반대로, 전자 장치(100)는 수신된 신분증 진위 정보가 신분증이 가짜임을 나타내면 신분증이 가짜임을 알리는 메시지와 진짜인 신분증의 촬영을 요청하는 메시지를 출력할 수 있다.
또한, 전자 장치(100)는 수신된 신분증 진위 정보가 신분증이 가짜임을 나타내면 신분증 촬영 및 신분증 정보 생성을 재수행하여 서버(200)로 신분증 정보를 송신할 수 있다.
도 5 및 도 6은 본 개시의 일 실시예에 따른 전자 장치가 사용자 이미지를 획득하는 모습에 대한 예시도이다.
전자 장치(100)는 디스플레이에 사용자가 사용자 자신을 촬영하도록 하는 사용자 촬영 UI를 출력하여, 사용자(U)가 자기 자신을 촬영하도록 할 수 있다.
이때, 전자 장치(100)는 사용자가 특정 포즈 및 특정 표정을 취하도록 유도하지 않고 임의의 포즈 및 임의의 표정을 취한 사용자를 촬영하여 패시브 라이브니스 여부를 판단할 수 있다.
이후, 전자 장치(100)는 사전 인증을 위해 사용자를 촬영하여 생성된 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)로부터 복수의 제2 안면 특징점을 추출하고, 복수의 제2 안면 특징점으로 구성된 제2 안면 특징점 데이터를 생성할 수 있다.
여기서, 복수의 제2 안면 특징점은 제2 사용자 안면 이미지(U-FI)가 나타내는 안면의 특징에 대한 정보일 수 있다. 예를 들어, 복수의 제2 안면 특징점은 안면 세부 부위(눈꼬리, 입꼬리, 코끝 등) 각각의 좌표 정보, 각 좌표 정보에 대응되는 위치의 단위 이미지의 색상값, 각 좌표 정보에 대응되는 위치의 단위 이미지의 노출값, 각 좌표 정보의 변화값, 각 좌표 정보에 대응되는 이미지의 깊이값(카메라와 객체 간의 거리), 깊이값의 변화값, 색상값의 변화값, 노출값의 변화값을 포함할 수 있다.
이를 위해, 전자 장치(100)는 사전에 학습된 3D 얼굴 기하 모델을 이용하여 사용자 안면 이미지(U-FI)로부터 10,000개 이상의 안면 특징점을 추출할 수 있다.
전자 장치(100)는 제2 안면 특징점 데이터를 암호화 및 토큰화하여 제2 안면 템플릿 데이터를 생성할 수 있다.
이때, 전자 장치(100)는 암호화 처리 모듈을 이용하여 제2 안면 특징점 데이터를 암호화시켜 제2 안면 템플릿 데이터를 생성하거나, 토큰화 처리 모듈을 이용하여 제2 안면 특징점 데이터를 토큰화시켜 제2 안면 템플릿 데이터를 생성하거나, 암호화 처리 모듈을 이용하여 제2 안면 특징점 데이터를 암호화시킨 후 토큰화 처리 모듈을 이용하여 암호화된 제2 안면 특징점 데이터를 토큰화시켜 제2 안면 템플릿 데이터를 생성하거나, 토큰화 처리 모듈을 이용하여 제2 안면 특징점 데이터를 토큰화시킨 후 암호화 처리 모듈을 이용하여 토큰화된 제2 안면 특징점 데이터를 암호화시켜 제2 안면 템플릿 데이터를 생성할 수 있다.
이후, 전자 장치(100)는 제2 안면 템플릿 데이터를 서버(200)로 송신할 수 있다.
도 7은 본 개시의 일 실시예에 따른 서버가 인공지능 모델을 이용하여 안면 이미지에 대한 안면 라이브니스 값을 획득하는 과정을 설명하기 위한 도면이다.
도 7을 더 참조하면, 서버(200)는 전자 장치(100)로부터 제2 안면 템플릿 데이터(U-FT)를 수신하면, 제2 인공지능 모델(M2)에 제2 안면 템플릿 데이터(U-FT)를 입력하여, 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 안면 라이브니스 값을 획득할 수 있다.
여기서, 이미지에 대한 라이브니스 여부는 실제 대상으로부터 획득된 이미지인지를 나타내는 것으로써, 라이브니스 값은 실제 대상으로부터 획득되었을 확률을 나타내는 값일 수 있다.
이에 따라, 안면 라이브니스 값은 해당 안면 템플릿 데이터에 대응되는 안면 이미지가 실제 대상(사용자)으로부터 획득되었을 확률을 나타내는 값일 수 있다.
예를 들어, 안면 라이브니스 값이 100%에 가까울수록 해당 안면 템플릿 데이터에 대응되는 안면 이미지가 실제 대상(사용자)으로부터 획득되었을 확률이 높음을 나타낼 수 있다.
반대로, 안면 라이브니스 값이 0%에 가까울수록 해당 안면 템플릿 데이터에 대응되는 안면 이미지가 실제 대상(사용자)이 아닌 사용자 안면이 쵤영된 사진, 영상 및 사용자 안면 형상의 가면 등으로부터 획득되었을 확률이 높음을 나타낼 수 있다.
한편, 제2 인공지능 모델(M2)은 안면 이미지의 안면 라이브니스 값을 결정하도록 훈련된 인공지능 모델일 수 있다.
이를 위해, 서버(200)는 안면 라이브니스 값을 출력하는 제2 인공지능 모델을 훈련시키는 인공지능 훈련 모듈을 구비할 수 있다.
구체적으로, 서버(200)는 안면 이미지로부터 생성된 안면 템플릿 데이터 및 안면 템플릿 데이터에 대해 미리 정해진 안면 라이브니스 값으로 구성된 학습 데이터를 이용하여 제2 인공지능 모델(M2)을 학습시킬 수 있다.
이를 통해, 서버(200)는 제2 인공지능 모델(M2)에 입력 데이터로써 제2 안면 템플릿 데이터(U-FT)를 입력하고, 제2 인공지능 모델(M2)의 출력 데이터로써 안면 라이브니스 값을 획득할 수 있다.
서버(200)는 획득된 안면 라이브니스 값이 기준 안면 라이브니스 값을 초과하면 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 실제 사용자로부터 촬영된 이미지인 것으로 판단하여 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 라이브니스를 가지는 것으로 판단할 수 있다.
반대로, 서버(200)는 획득된 안면 라이브니스 값이 기준 안면 라이브니스 값을 초과하지 않으면 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 실제 사용자로부터 촬영된 이미지가 아닌 것으로 판단하여 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 라이브니스를 가지지 않는 것으로 판단할 수 있다.
서버(200)는 안면 라이브니스 값에 따른 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 라이브니스 여부에 대한 판단 결과를 전자 장치(100)로 송신할 수 있다.
전자 장치(100)는 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가짐을 나타내면, 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 라이브니스를 가짐을 알리는 메시지를 출력할 수 있다.
또한, 전자 장치(100)는 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가짐을 나타내면, 후속되는 신분증 이미지가 나타내는 안면과 제2 사용자 이미지가 나타내는 안면 간의 일치 여부를 판단하는 과정에서 요구되는 이미지, 데이터 및 값을 획득하거나 생성할 수 있다.
반대로, 전자 장치(100)는 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가지지 않음을 나타내면, 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 라이브니스를 가지지 않음을 알리는 메시지를 출력할 수 있다.
또한, 전자 장치(100)는 제2 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가지지 않음을 나타내면 사용자의 안면을 재촬영 요청하는 메시지를 출력하고, 사용자 안면 이미지(U-FI)가 포함된 제2 사용자 이미지(U-I)를 재촬영하며, 제2 안면 템플릿 데이터(U-FT)의 생성을 재수행하여 서버(200)로 송신할 수 있다.
한편, 도 4를 다시 참조하면, 전자 장치(100)는 상술된 신분증 진위 여부의 확인 결과, 진짜인 것으로 확인된 신분증(ID)의 신분증 이미지(ID-I) 내의 신분증 안면 이미지(ID-FI)로부터 복수의 제1 안면 특징점을 추출하고, 복수의 제1 안면 특징점으로 구성된 제1 안면 특징점 데이터를 생성할 수 있다.
여기서, 복수의 제1 안면 특징점은 신분증 안면 이미지(ID-FI)가 나타내는 안면의 특징에 대한 정보일 수 있다. 예를 들어, 복수의 제1 안면 특징점은 안면 세부 부위(눈꼬리, 입꼬리, 코끝 등) 각각의 좌표 정보, 각 좌표 정보에 대응되는 위치의 단위 이미지의 색상값, 각 좌표 정보에 대응되는 위치의 단위 이미지의 노출값, 각 좌표 정보의 변화값, 각 좌표 정보에 대응되는 이미지의 깊이값(카메라와 객체 간의 거리), 깊이값의 변화값, 색상값의 변화값, 노출값의 변화값을 포함할 수 있다.
이를 위해, 전자 장치(100)는 사전에 학습된 3D 얼굴 기하 모델을 이용하여 신분증 안면 이미지(ID-FI)로부터 10,000개 이상의 안면 특징점을 추출할 수 있다.
전자 장치(100)는 제1 안면 특징점 데이터를 암호화 및 토큰화하여 제1 안면 템플릿 데이터를 생성할 수 있다.
이때, 전자 장치(100)는 암호화 처리 모듈을 이용하여 제1 안면 특징점 데이터를 암호화시켜 제1 안면 템플릿 데이터를 생성하거나, 토큰화 처리 모듈을 이용하여 제1 안면 특징점 데이터를 토큰화시켜 제1 안면 템플릿 데이터를 생성하거나, 암호화 처리 모듈을 이용하여 제1 안면 특징점 데이터를 암호화시킨 후 토큰화 처리 모듈을 이용하여 암호화된 제1 안면 특징점 데이터를 토큰화시켜 제1 안면 템플릿 데이터를 생성하거나, 토큰화 처리 모듈을 이용하여 제1 안면 특징점 데이터를 토큰화시킨 후 암호화 처리 모듈을 이용하여 토큰화된 제1 안면 특징점 데이터를 암호화시켜 제1 안면 템플릿 데이터를 생성할 수 있다.
이후, 전자 장치(100)는 제1 안면 템플릿 데이터를 서버(200)로 송신할 수 있다.
도 8은 본 개시의 일 실시예에 따른 서버가 인공지능 모델을 이용하여 두 안면 이미지 각각이 나타내는 안면 간의 안면 일치 값을 획득하는 과정을 설명하기 위한 도면이다.
서버(200)는 전자 장치(100)로부터 제1 안면 템플릿 데이터(ID-FT)를 수신하면, 수신된 제1 안면 템플릿 데이터(ID-FT)와 라이브니스를 가지는 것으로 판단된 제2 안면 템플릿 데이터(U-FT)를 제1 인공지능 모델(M1)에 입력하여, 신분증 안면 이미지(ID-FI)가 나타내는 안면 및 제2 사용자 안면 이미지(U-FI)가 나타내는 제2 안면 간에 안면 일치 값을 획득할 수 있다.
여기서, 안면 일치 여부는 두 안면 이미지가 각각 나타내는 안면이 동일한 안면인지를 나타내는 것으로써, 안면 일치 값은 두 안면 이미지가 각각 나타내는 안면이 동일한 정도를 나타내는 값일 수 있다.
예를 들어, 안면 일치 값이 100%에 가까울수록 두 안면 이미지가 각각 나타내는 안면이 동일한 안면일 확률이 높음을 나타낼 수 있다.
반대로, 안면 일치 값이 0%에 가까울수록 두 안면 이미지가 각각 나타내는 안면이 동일하지 않은 안면일 확률이 높음을 나타낼 수 있다.
한편, 제1 인공지능 모델(M1)은 안면 이미지의 안면 일치 값을 결정하도록 훈련된 인공지능 모델일 수 있다.
이를 위해, 서버(200)는 안면 일치 값을 출력하는 제1 인공지능 모델을 훈련시키는 인공지능 훈련 모듈을 구비할 수 있다.
구체적으로, 서버(200)는 두 안면 이미지로부터 각각 생성된 안면 템플릿 데이터 및 두 안면 이미지에 대해 미리 정해진 안면 일치 값으로 구성된 학습 데이터를 이용하여 제1 인공지능 모델(M1)을 학습시킬 수 있다.
이를 통해, 서버(200)는 제1 인공지능 모델(M1)에 입력 데이터로써 제1 안면 템플릿 데이터(ID-FT) 및 제2 안면 템플릿 데이터(U-FT)를 입력하고, 제1 인공지능 모델(M1)의 출력 데이터로써 안면 일치 값을 획득할 수 있다.
서버(200)는 획득된 안면 일치 값이 기준 안면 일치 값을 초과하면 신분증 안면 이미지(ID-FI)가 나타내는 안면과 사용자 안면 이미지(U-FI)가 나타내는 안면이 동일 즉, 일치하는 것으로 판단할 수 있다.
반대로, 서버(200)는 획득된 안면 일치 값이 기준 안면 일치 값을 초과하지 않으면 신분증 안면 이미지(ID-FI)가 나타내는 안면과 사용자 안면 이미지(U-FI)가 나타내는 안면이 동일하지 않는 즉, 불일치하는 것으로 판단할 수 있다.
서버(200)는 안면 일치 값에 따른 신분증 안면 이미지(ID-FI)가 나타내는 안면과 사용자 안면 이미지(U-FI)가 나타내는 안면 간의 일치 여부에 대한 판단 결과를 전자 장치(100)로 송신할 수 있다.
전자 장치(100)는 안면 일치 값에 따른 신분증 안면 이미지(ID-FI)가 나타내는 안면과 사용자 안면 이미지(U-FI)가 나타내는 안면 간의 일치 여부에 대한 판단 결과를 메시지로 출력할 수 있다.
서버(200)는 안면 일치 값 및 안면 라이브니스 값에 기초하여 신분증의 신원이 사용자인지를 판단하는 사전 인증을 수행할 수 있다.
또한, 서버(200)는 신분증 진위 정보에 더 기초하여 신분증의 신원이 사용자인지를 판단하는 사전 인증을 수행할 수 있다.
구체적으로, 서버(200)는 촬영된 신분증이 신분증 발급 기관에서 발급된 신분증이며 위조 신분증이 아님이 확인되고, 제2 사용자 이미지의 사용자 안면 이미지가 라이브니스를 가지는 것으로 판단되고, 신분증 안면 이미지의 안면과 제2 사용자 이미지의 사용자 안면 이미지의 안면이 일치하는 것으로 판단되면 신분증의 신원이 사용자인 것으로 판단하여 사전 인증을 수행할 수 있다.
서버(200)는 수행된 사전 인증 결과를 전자 장치(100)로 송신하고, 전자 장치(100)는 수신된 사전 인증 결과를 메시지로 출력할 수 있다.
또한, 서버(200)는 수행된 사전 인증 결과를 인증 요청 서버로 송신할 수 있다. 인증 요청 서버는 사용자에 대해 사전 인증을 요청한 주체가 운영하는 서버일 수 있다. 예를 들어, 인증 요청 서버는 금융사 서버일 수 있다.
이상에서, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템이 신분증 이미지를 이용하여 상술된 사전 인증을 직접 수행하는 과정에 대해 설명하였다.
상술한 바와 같이, 본 발명의 일 면에 따른 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 시스템은 사전 인증을 직접 수행하거나 외부 서버로부터 사전 인증의 결과에 대해 수신할 수 있다.
S1 단계를 설명하면, 서버(200)는 상술된 과정을 통해 사용자에 대해 사전 인증이 완료되거나 사전 인증의 완료가 확인되면, 사전 인증이 완료된 사용자의 제2 사용자 이미지로부터 생성된 제2 안면 템플릿 데이터를 사용자의 계정에 등록할 수 있다.
즉, 서버(200)는 사전 인증을 수행하여 사전 인증이 완료되면, 사전 인증 과정에서 생성된 제2 안면 템플릿 데이터를 사용자의 계정에 등록할 수 있다.
다른 실시 예에 따르면, 서버(200)는 사전 인증을 직접 수행하지 않고 외부 서버로부터 사전 인증의 결과에 대해 수신하여 사용자에 대한 사전 인증의 완료가 확인되면, 서버(200)는 전자 장치(100)로 제2 안면 템플릿 데이터를 생성 요청하는 생성 요청 신호를 송신하고, 생성 요청 신호를 수신한 전자 장치(100)는 상술된 사전 인증 과정에서 제2 안면 템플릿 데이터를 생성하는 과정과 동일한 과정을 수행하여 제2 안면 템플릿 데이터를 생성 후, 서버(200)로 제2 템플릿 데이터를 송신하며, 서버(200)는 제2 안면 템플릿 데이터를 수신하여 사용자의 계정에 등록할 수 있다.
이후, S2 단계를 설명하면, 서버(200)는 상술된 과정을 통해 사용자에 대해 사전 인증이 완료되거나 사전 인증의 완료가 확인되면, 사전 인증이 완료된 사용자의 제2 사용자 음성 데이터로부터 제2 음성 템플릿 데이터를 사용자의 계정에 등록할 수 있다.
도 9 및 도 10은 본 개시의 일 실시예에 따른 전자 장치가 사용자 음성 데이터를 획득하는 모습에 대한 예시도이다.
전자 장치(100)는 사전 인증이 완료된 이후, 디스플레이에 사용자가 사용자 자신의 음성을 녹음하도록 하는 녹음 UI를 출력하여, 사용자(U)가 자기 자신의 음성을 녹음하도록 할 수 있다.
이때, 전자 장치(100)는 사용자가 특정 키워드(KEY)를 발화하여 사용자의 음성을 녹음하도록 유도할 수도 있고, 특정 키워드가 아닌 임의의 키워드를 발화하여 사용자의 음성을 녹음하도록 유도할 수도 있다.
이후, 전자 장치(100)는 사전 인증이 완료된 사용자의 음성을 녹음하여 생성된 제2 사용자 음성 데이터로부터 복수의 제2 음성 특징점을 추출하고, 복수의 제2 음성 특징점으로 구성된 제2 음성 특징점 데이터를 생성할 수 있다.
여기서, 복수의 제2 음성 특징점은 제2 사용자 음성 데이터가 나타내는 음성의 특징에 대한 정보일 수 있다. 예를 들어, 복수의 제2 음성 특징점은 음성의 주파수, 음성의 세기, 특정 키워드의 반복 빈도, 음성의 높낮이, 주파수 변화 패턴, 음성 높†F이 변화 패턴을 포함할 수 있다.
전자 장치(100)는 제2 음성 특징점 데이터를 암호화 및 토큰화하여 제2 음성 템플릿 데이터를 생성할 수 있다.
이때, 전자 장치(100)는 암호화 처리 모듈을 이용하여 제2 음성 특징점 데이터를 암호화시켜 제2 음성 템플릿 데이터를 생성하거나, 토큰화 처리 모듈을 이용하여 제2 음성 특징점 데이터를 토큰화시켜 제2 음성 템플릿 데이터를 생성하거나, 암호화 처리 모듈을 이용하여 제2 음성 특징점 데이터를 암호화시킨 후 토큰화 처리 모듈을 이용하여 암호화된 제2 음성 특징점 데이터를 토큰화시켜 제2 음성 템플릿 데이터를 생성하거나, 토큰화 처리 모듈을 이용하여 제2 음성 특징점 데이터를 토큰화시킨 후 암호화 처리 모듈을 이용하여 토큰화된 제2 음성 특징점 데이터를 암호화시켜 제2 음성 템플릿 데이터를 생성할 수 있다.
이후, 전자 장치(100)는 제2 음성 템플릿 데이터를 서버(200)로 송신할 수 있다.
상술된 바와 같이, 서버(200)는 상술된 과정을 통해 사용자에 대해 사전 인증이 완료되거나 사전 인증의 완료가 확인되면, 전자 장치(100)로부터 사전 인증이 완료된 사용자의 제2 사용자 음성 데이터로부터 제2 음성 템플릿 데이터를 생성하여 사용자의 계정에 등록할 수 있다.
S3 단계를 설명하면, 전자 장치(100)는 사전 인증이 완료되거나 사전 인증의 완료가 확인된 사용자에 대해 안면 인증을 수행하기 위해, 사용자 인증의 대상이 되는 사용자를 촬영하여 제1 사용자 이미지를 획득할 수 있다.
이때, 사전 인증 과정 동안 또는 사전 인증의 완료가 확인된 이후에 획득된 제2 사용자 이미지와 사용자 인증을 위해 획득된 제1 사용자 이미지는 촬영 시점이 상이한 다른 이미지일 수 있으나, 제1 사용자 이미지 및 제2 사용자 이미지 모두 사용자를 촬영하여 획득되는 이미지로써, 생성 및 획득되는 과정이 동일할 수 있다.
제1 사용자 이미지를 획득하기 위하여, 전자 장치(100)는 디스플레이에 사용자가 사용자 자신을 촬영하도록 하는 사용자 촬영 UI를 출력하여, 사용자(U)가 자기 자신을 촬영하도록 할 수 있다.
이때, 전자 장치(100)는 사용자가 특정 포즈 및 특정 표정을 취하도록 유도하지 않고 임의의 포즈 및 임의의 표정을 취한 사용자를 촬영하여 패시브 라이브니스 여부를 판단할 수 있다.
이후, 전자 장치(100)는 사용자 인증을 위해 사용자를 촬영하여 생성된 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)로부터 복수의 제3 안면 특징점을 추출하고, 복수의 제3 안면 특징점으로 구성된 제3 안면 특징점 데이터를 생성할 수 있다.
여기서, 복수의 제3안면 특징점은 제1 사용자 안면 이미지(U-FI)가 나타내는 안면의 특징에 대한 정보일 수 있다. 예를 들어, 복수의 제3 안면 특징점은 안면 세부 부위(눈꼬리, 입꼬리, 코끝 등) 각각의 좌표 정보, 각 좌표 정보의 변화값, 각 좌표 정보에 대응되는 이미지의 깊이값(카메라와 객체 간의 거리) 및 깊이값의 변화값을 포함할 수 있다.
이를 위해, 전자 장치(100)는 사전에 학습된 3D 얼굴 기하 모델을 이용하여 사용자 안면 이미지(U-FI)로부터 10,000개 이상의 안면 특징점을 추출할 수 있다.
전자 장치(100)는 제3 안면 특징점 데이터를 암호화 및 토큰화하여 제3 안면 템플릿 데이터를 생성할 수 있다.
이때, 전자 장치(100)는 암호화 처리 모듈을 이용하여 제3 안면 특징점 데이터를 암호화시켜 제3 안면 템플릿 데이터를 생성하거나, 토큰화 처리 모듈을 이용하여 제3 안면 특징점 데이터를 토큰화시켜 제3 안면 템플릿 데이터를 생성하거나, 암호화 처리 모듈을 이용하여 제3 안면 특징점 데이터를 암호화시킨 후 토큰화 처리 모듈을 이용하여 암호화된 제3 안면 특징점 데이터를 토큰화시켜 제3 안면 템플릿 데이터를 생성하거나, 토큰화 처리 모듈을 이용하여 제3 안면 특징점 데이터를 토큰화시킨 후 암호화 처리 모듈을 이용하여 토큰화된 제3 안면 특징점 데이터를 암호화시켜 제3 안면 템플릿 데이터를 생성할 수 있다.
이후, 전자 장치(100)는 제3 안면 템플릿 데이터를 서버(200)로 송신할 수 있다.
이어서, 서버(200)는 전자 장치(100)로부터 제3 안면 템플릿 데이터(U-FT)를 수신하면, 제2 인공지능 모델(M2)에 제3 안면 템플릿 데이터(U-FT)를 입력하여, 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 안면 라이브니스 값을 획득할 수 있다.
서버(200)는 획득된 안면 라이브니스 값이 기준 안면 라이브니스 값을 초과하면 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 실제 사용자로부터 촬영된 이미지인 것으로 판단하여 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 라이브니스를 가지는 것으로 판단할 수 있다.
반대로, 서버(200)는 획득된 안면 라이브니스 값이 기준 안면 라이브니스 값을 초과하지 않으면 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 실제 사용자로부터 촬영된 이미지가 아닌 것으로 판단하여 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 라이브니스를 가지는 않는 것으로 판단할 수 있다.
서버(200)는 안면 라이브니스 값에 따른 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 라이브니스 여부에 대한 판단 결과를 전자 장치(100)로 송신할 수 있다.
전자 장치(100)는 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가짐을 나타내면, 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 라이브니스를 가짐을 알리는 메시지를 출력할 수 있다.
또한, 전자 장치(100)는 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가짐을 나타내면, 후속되는 제1 사용자 이미지(U-I)와 제2 사용자 이미지(U-I) 각각이 나타내는 안면 간의 일치 여부를 판단하는 과정에서 요구되는 이미지, 데이터 및 값을 획득하거나 생성할 수 있다.
반대로, 전자 장치(100)는 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가지지 않음을 나타내면, 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)가 라이브니스를 가지지 않음을 알리는 메시지를 출력할 수 있다.
또한, 전자 장치(100)는 제1 사용자 이미지(U-I) 내의 사용자 안면 이미지(U-FI)의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가지지 않음을 나타내면 사용자의 안면을 재촬영 요청하는 메시지를 출력하고, 사용자 안면 이미지(U-FI)가 포함된 제1 사용자 이미지(U-I)를 재촬영하며, 제3 안면 템플릿 데이터(U-FT)의 생성을 재수행하여 서버(200)로 송신할 수 있다.
서버(200)는 전자 장치(100)로부터 제3 안면 템플릿 데이터(U-FT)를 수신하면, 수신된 제3 안면 템플릿 데이터(U-FT)와 사용자 계정에 등록된 제2 안면 템플릿 데이터(U-FT)를 제1 인공지능 모델(M1)에 입력하여, 제1 사용자 이미지 및 제2 사용자 이미지 각각 내의 사용자 안면 이미지 각각이 나타내는 안면 간에 안면 일치 값을 획득할 수 있다.
서버(200)는 획득된 안면 일치 값이 기준 안면 일치 값을 초과하면 제1 사용자 이미지 및 제2 사용자 이미지 각각 내의 사용자 안면 이미지 각각이 나타내는 안면이 동일 즉, 일치하는 것으로 판단하고, 안면 인증을 완료처리할 수 있다.
반대로, 서버(200)는 획득된 안면 일치 값이 기준 안면 일치 값을 초과하지 않으면 제1 사용자 이미지 및 제2 사용자 이미지 각각 내의 사용자 안면 이미지 각각이 나타내는 안면이 동일하지 않는 즉, 불일치하는 것으로 판단할 수 있다.
서버(200)는 제1 사용자 이미지의 안면 라이브니스 값이 기준 안면 라이브니스 값을 초과하고, 제1 사용자 이미지 및 제2 사용자 이미지 각각의 안면 간에 안면 일치 값이 기준 안면 일치 값을 초과하는 경우, 안면이 인증된 것으로 안면 인증을 완료처리할 수 있다.
안면 인증의 결과를 전자 장치(100)로 송신할 수 있다.
전자 장치(100)는 안면 인증의 결과를 메시지로 출력할 수 있다.
S4 단계를 설명하면, 전자 장치(100)는 사전 인증이 완료되거나 사전 인증의 완료가 확인된 사용자에 대해 화자 인증을 수행하기 위해, 사용자 인증의 대상이 되는 사용자의 제1 사용자 음성 데이터를 획득할 수 있다.
이를 위해, 전자 장치(100)는 디스플레이에 사용자가 사용자 자신의 음성을 녹음하도록 하는 녹음 UI를 출력하여, 사용자(U)가 자기 자신의 음성을 녹음하도록 할 수 있다.
이때, 전자 장치(100)는 사용자가 특정 키워드(KEY)를 발화하여 사용자의 음성을 녹음하도록 유도할 수도 있고, 특정 키워드가 아닌 임의의 키워드를 발화하여 사용자의 음성을 녹음하도록 유도할 수도 있다.
이후, 전자 장치(100)는 사전 인증이 완료된 사용자의 음성을 녹음하여 생성된 제1 사용자 음성 데이터로부터 복수의 제1 음성 특징점을 추출하고, 복수의 제1 음성 특징점으로 구성된 제1 음성 특징점 데이터를 생성할 수 있다.
여기서, 복수의 제1 음성 특징점은 제1 사용자 음성 데이터가 나타내는 음성의 특징에 대한 정보일 수 있다. 예를 들어, 복수의 제1 음성 특징점은 음성의 주파수, 음성의 세기, 특정 키워드의 반복 빈도, 음성의 높낮이, 주파수 변화 패턴, 음성 높†F이 변화 패턴을 포함할 수 있다.
전자 장치(100)는 제1 음성 특징점 데이터를 암호화 및 토큰화하여 제1 음성 템플릿 데이터를 생성할 수 있다.
이때, 전자 장치(100)는 암호화 처리 모듈을 이용하여 제1 음성 특징점 데이터를 암호화시켜 제1 음성 템플릿 데이터를 생성하거나, 토큰화 처리 모듈을 이용하여 제1 음성 특징점 데이터를 토큰화시켜 제1 음성 템플릿 데이터를 생성하거나, 암호화 처리 모듈을 이용하여 제1 음성 특징점 데이터를 암호화시킨 후 토큰화 처리 모듈을 이용하여 암호화된 제1 음성 특징점 데이터를 토큰화시켜 제1 음성 템플릿 데이터를 생성하거나, 토큰화 처리 모듈을 이용하여 제1 음성 특징점 데이터를 토큰화시킨 후 암호화 처리 모듈을 이용하여 토큰화된 제1 음성 특징점 데이터를 암호화시켜 제1 음성 템플릿 데이터를 생성할 수 있다.
이후, 전자 장치(100)는 제1 음성 템플릿 데이터를 서버(200)로 송신할 수 있다.
도 11은 본 개시의 일 실시예에 따른 서버가 인공지능 모델을 이용하여 사용자 음성 데이터에 대한 음성 라이브니스 값을 획득하는 과정을 설명하기 위한 도면이다.
도 11을 더 참조하면, 서버(200)는 전자 장치(100)로부터 제1 음성 템플릿 데이터(VT1)를 수신하면, 제4 인공지능 모델(M4)에 제1 음성 템플릿 데이터(VT1)를 입력하여, 제1 사용자 음성 데이터의 음성 라이브니스 값을 획득할 수 있다.
여기서, 음성 데이터에 대한 라이브니스 여부는 음성 데이터가 실제 대상으로부터 획득된 음성 데이터인지를 나타내는 것으로써, 라이브니스 값은 실제 대상으로부터 음성 데이터가 획득되었을 확률을 나타내는 값일 수 있다.
이에 따라, 음성 라이브니스 값은 해당 음성 템플릿 데이터에 대응되는 음성 데이터가 실제 대상(사용자)으로부터 획득되었을 확률을 나타내는 값일 수 있다.
예를 들어, 음성 라이브니스 값이 100%에 가까울수록 해당 음성 템플릿 데이터에 대응되는 음성 데이터가 실제 대상(사용자)으로부터 획득되었을 확률이 높음을 나타낼 수 있다.
반대로, 음성 라이브니스 값이 0%에 가까울수록 해당 음성 템플릿 데이터에 대응되는 음성 데이터가 실제 대상(사용자)이 아닌 사용자 음성이 미리 녹음된 영상 또는 음향 등으로부터 획득되었을 확률이 높음을 나타낼 수 있다.
한편, 제4 인공지능 모델(M4)은 사용자 음성 데이터의 음성 라이브니스 값을 결정하도록 훈련된 인공지능 모델일 수 있다.
이를 위해, 서버(200)는 음성 라이브니스 값을 출력하는 제4 인공지능 모델을 훈련시키는 인공지능 훈련 모듈을 구비할 수 있다.
구체적으로, 서버(200)는 사용자 음성 데이터로부터 생성된 음성 템플릿 데이터 및 음성 템플릿 데이터에 대해 미리 정해진 음성 라이브니스 값으로 구성된 학습 데이터를 이용하여 제4 인공지능 모델(M4)을 학습시킬 수 있다.
이를 통해, 서버(200)는 제4 인공지능 모델(M4)에 입력 데이터로써 제1 음성 템플릿 데이터(VT1)를 입력하고, 제4 인공지능 모델(M4)의 출력 데이터로써 음성 라이브니스 값을 획득할 수 있다.
서버(200)는 획득된 음성 라이브니스 값이 기준 음성 라이브니스 값을 초과하면 제1 사용자 음성 데이터가 실제 사용자로부터 녹음되어 생성된 음성 데이터인 것으로 판단하여 제1 사용자 음성 데이터가 라이브니스를 가지는 것으로 판단할 수 있다.
반대로, 서버(200)는 획득된 음성 라이브니스 값이 기준 음성 라이브니스 값을 초과하지 않으면 제1 사용자 음성 데이터가 실제 사용자로부터 녹음되어 생성된 음성 데이터가 아닌 것으로 판단하여 제1 사용자 음성 데이터가 라이브니스를 가지는 않는 것으로 판단할 수 있다.
서버(200)는 음성 라이브니스 값에 따른 제1 사용자 음성 데이터의 라이브니스 여부에 대한 판단 결과를 전자 장치(100)로 송신할 수 있다.
전자 장치(100)는 제1 사용자 음성 데이터의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가짐을 나타내면, 제1 사용자 음성 데이터가 라이브니스를 가짐을 알리는 메시지를 출력할 수 있다.
또한, 전자 장치(100)는 제1 사용자 음성 데이터의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가짐을 나타내면, 화자 인증 과정에서 요구되는 데이터 및 값을 획득하거나 생성할 수 있다.
반대로, 전자 장치(100)는 제1 사용자 음성 데이터의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가지지 않음을 나타내면, 제1 사용자 음성 데이터가 라이브니스를 가지지 않음을 알리는 메시지를 출력할 수 있다.
또한, 전자 장치(100)는 제1 사용자 음성 데이터의 라이브니스 여부에 대한 판단 결과가 라이브니스를 가지지 않음을 나타내면 사용자의 음성을 재녹음 요청하는 메시지를 출력하고, 사용자의 음성을 재녹음하며, 제1 음성 템플릿 데이터(VT1)의 생성을 재수행하여 서버(200)로 송신할 수 있다.
도 12는 본 개시의 일 실시예에 따른 서버가 인공지능 모델을 이용하여 두 음성 각각의 화자 간의 화자 일치 값을 획득하는 과정을 설명하기 위한 도면이다.
S4 단계를 설명하면, 서버(200)는 전자 장치(100)로부터 제1 음성 템플릿 데이터(VT1)를 수신하면, 수신된 제1 음성 템플릿 데이터(VT1)와 사용자의 계정에 등록된 제2 음성 템플릿 데이터(VT2)를 제3 인공지능 모델(M3)에 입력하여, 제1 사용자 음성 데이터의 화자와 제2 사용자 음성 데이터의 화자 간에 화자 일치 값을 획득할 수 있다.
여기서, 화자 일치 여부는 두 사용자 음성 데이터 각각의 화자가 동일한 화자인지를 나타내는 것으로써, 화자 일치 값은 두 사용자 음성 데이터 각각의 화자가 동일한 정도를 나타내는 값일 수 있으며, 화자 인증이 완료됨이란 사용자 계정에 등록된 제2 음성 템플릿 데이터(VT2)에 대응되는 화자와 제1 음성 템플릿 데이터(VT1)에 대응되는 화자가 동일한 것으로 판단됨을 의미할 수 있다.
예를 들어, 화자 일치 값이 100%에 가까울수록 두 사용자 음성 데이터 각각의 화자가 동일한 화자일 확률이 높음을 나타낼 수 있다.
반대로, 화자 일치 값이 0%에 가까울수록 두 사용자 음성 데이터 각각의 화자가 동일하지 않은 화자일 확률이 높음을 나타낼 수 있다.
한편, 제3 인공지능 모델(M3)은 두 사용자 음성 데이터 간의 화자 일치 값을 결정하도록 훈련된 인공지능 모델일 수 있다.
이를 위해, 서버(200)는 화자 일치 값을 출력하는 제3 인공지능 모델을 훈련시키는 인공지능 훈련 모듈을 구비할 수 있다.
구체적으로, 서버(200)는 두 사용자 음성 데이터로부터 각각 생성된 화자 템플릿 데이터 및 두 사용자 음성 데이터에 대해 미리 정해진 화자 일치 값으로 구성된 학습 데이터를 이용하여 제3 인공지능 모델(M3)을 학습시킬 수 있다.
이를 통해, 서버(200)는 제3 인공지능 모델(M3)에 입력 데이터로써 제1 음성 템플릿 데이터(VT1) 및 제2 음성 템플릿 데이터(VT2)를 입력하고, 제3 인공지능 모델(M3)의 출력 데이터로써 화자 일치 값을 획득할 수 있다.
서버(200)는 획득된 화자 일치 값이 기준 화자 일치 값을 초과하면 제1 사용자 음성 데이터의 화자와 제2 사용자 음성 데이터의 화자가 동일 즉, 일치하는 것으로 판단할 수 있다.
반대로, 서버(200)는 획득된 화자 일치 값이 기준 화자 일치 값을 초과하지 않으면 제1 사용자 음성 데이터의 화자와 제2 사용자 음성 데이터의 화자가 동일하지 않는 즉, 불일치하는 것으로 판단할 수 있다.
서버(200)는 음성 라이브니스 값이 기준 음성 라이브니스 값을 초과하고, 화자 일치 값이 기준 화자 일치 값을 초과하는 경우, 화자가 인증된 것으로 화자인증을 완료 처리할 수 있다.
서버(200)는 화자 인증의 결과를 전자 장치(100)로 송신할 수 있다.
전자 장치(100)는 화자 인증의 결과를 메시지로 출력할 수 있다.
S5 단계를 설명하면, 서버(200)는 안면 인증 및 화자 인증이 모두 완료되는 경우 사용자 인증을 완료처리할 수 있다.
서버(200)는 사용자 인증의 완료처리를 전자 장치(100) 및 인증 요청 서버로 송신할 수 있다. 인증 요청 서버는 사용자에 대해 사용자 인증을 요청한 주체가 운영하는 서버일 수 있다. 예를 들어, 인증 요청 서버는 금융사 서버일 수 있다.
한편, 다른 실시 예에 따른 전자 장치(100)는 사용자 인증을 시도하는 사용자의 위치 정보를 획득하고, 획득된 사용자의 위치 정보를 서버(200)로 송신할 수 있다.
이후, 다른 실시 예에 따른 서버(100)는 신분증 정보 중에서 주소 정보가 나타내는 주소의 위치에 대응되는 국가 정보를 확인할 수 있다.
이후, 다른 실시 예에 따른 서버(100)는 위치 정보가 나타내는 사용자의 위치가 국가 정보가 나타내는 국가 내에 포함되는지 여부를 판단할 수 있다.
이를 위해, 다른 실시 예에 따른 서버(100)는 국가 별 영역 정보 및 국가 별 주소 정보를 미리 참조 데이터를 획득해둘 수 있다.
다른 실시 예에 따른 서버(100)는 위치 정보가 나타내는 사용자의 위치가 국가 정보가 나타내는 국가 내에 포함되는 경우에만 상술된 안면 인증, 음성 인증 및 사용자 인증을 수행할 수 있다.
이에 따라, 다른 실시 예에 따른 서버(100)는 안면 템플릿 데이터의 등록(S1 단계) 및 음성 템플릿 데이터의 등록(S2 단계)을 수행한 이후, 위치 정보가 나타내는 사용자의 위치가 국가 정보가 나타내는 국가 내에 포함되는지 여부를 판단할 수 있다.
이후, 다른 실시 예에 따른 서버(100)는 위치 정보가 나타내는 사용자의 위치가 국가 정보가 나타내는 국가 내에 포함되지 않는 경우, 상술된 안면 인증, 음성 인증 및 사용자 인증을 수행하지 않을 수 있다.
반대로, 다른 실시 예에 따른 서버(100)는 위치 정보가 나타내는 사용자의 위치가 국가 정보가 나타내는 국가 내에 포함되는 경우, 상술된 안면 인증, 음성 인증 및 사용자 인증을 수행할 수 있다.
한편, 또 다른 실시 예에 따른 서버(100)는 주소 정보가 나타내는 주소의 위치와 위치 정보가 나타내는 사용자의 위치 간의 이격 거리에 기초하여 기준 안면 일치 값, 기준 안면 라이브니스 값, 기준 화자 일치 값 및 기준 음성 라이브니스 값 중 하나 이상을 보정할 수 있다.
구체적으로, 또 다른 실시 예에 따른 서버(100)는 이격 거리가 길수록 기준 안면 일치 값, 기준 안면 라이브니스 값, 기준 화자 일치 값 및 기준 음성 라이브니스 값 중 하나 이상이 상향되도록 보정할 수 있다.
이를 통해, 주소의 위치와 사용자의 위치가 먼 경우, 인증의 난도를 높혀 보안성을 향상시킬 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
또한, 본 발명의 서로 다른 실시예들은 상호 보완되거나 결합될 수 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler), 파이썬(Python) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 전자 장치
200 : 서버

Claims (1)

  1. 전자 장치 및 서버를 포함하는 시스템의 제어 방법에 있어서,
    상기 전자 장치가, 사용자 인증의 대상이 되는 사용자를 촬영하여 생성된 제1 사용자 이미지를 획득하는 단계;
    상기 서버가, 사전 인증이 완료된 사용자의 제2 사용자 이미지의 사용자 안면 이미지가 나타내는 안면 및 상기 제1 사용자 이미지 내의 사용자 안면 이미지가 나타내는 안면 간에 안면 일치 값을 획득하는 단계;
    상기 서버가, 상기 제1 사용자 이미지 내의 사용자 안면 이미지의 안면 라이브니스 값을 획득하는 단계;
    상기 서버가, 상기 사전 인증이 완료된 사용자의 음성을 녹음하여 생성된 제2 사용자 음성 데이터로부터 복수의 제2 음성 특징점을 추출하고, 상기 복수의 제2 음성 특징점을 포함하는 제2 음성 특징점 데이터를 암호화 및 토큰화하여 제2 음성 템플릿 데이터를 생성하는 단계;
    상기 전자 장치가, 상기 사용자 인증의 대상이 되는 사용자의 음성을 녹음하여 생성된 제1 사용자 음성 데이터를 획득하는 단계;
    상기 서버가, 상기 제1 사용자 음성 데이터로부터 복수의 제1 음성 특징점을 추출하고, 상기 복수의 제1 음성 특징점을 포함하는 제1 음성 특징점 데이터를 암호화 및 토큰화하여 제1 음성 템플릿 데이터를 생성하는 단계;
    상기 서버가, 두 사용자 음성 데이터 간의 화자 일치 값을 결정하도록 훈련된 제3 인공지능 모델에 상기 제1 음성 템플릿 데이터 및 상기 제2 음성 템플릿 데이터를 입력하여, 상기 사전 인증이 완료된 사용자의 상기 제2 사용자 음성 데이터의 화자 및 상기 제1 사용자 음성 데이터의 화자 간에 화자 일치 값을 획득하는 단계;
    상기 서버가, 사용자 음성 데이터의 음성 라이브니스 값을 결정하도록 훈련된 제4 인공지능 모델에 상기 제1 음성 템플릿 데이터를 입력하여, 상기 제1 사용자 음성 데이터의 음성 라이브니스 값을 획득하는 단계; 및
    상기 서버가, 상기 안면 일치 값, 상기 안면 라이브니스 값, 상기 화자 일치 값 및 상기 음성 라이브니스 값에 기초하여 사용자 인증을 수행하는 단계;를 포함하고,
    상기 제1 음성 특징점은
    상기 사용자 인증의 대상이 되는 사용자의 음성의 주파수, 음성의 세기, 특정 키워드의 반복 빈도, 음성의 높낮이, 주파수 변화 패턴, 음성 높†F이 변화 패턴을 포함하고,
    상기 제2 음성 특징점은
    상기 사전 인증이 완료된 사용자의 음성의 주파수, 음성의 세기, 특정 키워드의 반복 빈도, 음성의 높낮이, 주파수 변화 패턴, 음성 높†F이 변화 패턴을 포함하고,
    상기 시스템의 제어 방법은, 상기의 제1 사용자 이미지를 획득하는 단계 이전에,
    상기 서버가, 두 사용자 음성 데이터로부터 각각 생성된 음성 템플릿 데이터 및 두 사용자 음성 데이터에 대해 미리 정해진 화자 일치 값으로 구성된 학습 데이터를 이용하여 상기 제3 인공지능 모델을 학습시키는 단계; 및
    상기 서버가, 사용자 음성 데이터로부터 음성 템플릿 데이터 및 음성 템플릿 데이터에 대해 미리 정해진 음성 라이브니스 값으로 구성된 학습 데이터를 이용하여 상기 제4 인공지능 모델을 학습시키는 단계;를 더 포함하고,
    상기 사용자 인증을 수행하는 단계는,
    상기 서버가, 상기 안면 일치 값 및 상기 안면 라이브니스 값에 기초하여 상기 제1 사용자 이미지 내의 사용자 안면 이미지가 나타내는 안면이 상기 사용자의 안면인지를 판단하는 안면 인증을 수행하는 단계; 및
    상기 서버가, 상기 화자 일치 값 및 상기 음성 라이브니스 값에 기초하여 상기 제1 사용자 음성 데이터의 화자가 상기 사용자인지를 판단하는 화자 인증을 수행하는 단계;를 포함하고,
    상기 화자 인증을 수행하는 단계는,
    상기 서버가, 상기 화자 일치 값이 기준 화자 일치 값을 초과하는지 여부를 판단하는 단계;
    상기 서버가, 상기 음성 라이브니스 값이 기준 음성 라이브니스 값을 초과하는지 여부를 판단하는 단계; 및
    상기 서버가, 상기 화자 일치 값이 상기 기준 화자 일치 값을 초과하고, 상기 음성 라이브니스 값이 상기 기준 음성 라이브니스 값을 초과하면, 상기 제1 사용자 음성 데이터의 화자가 상기 사용자인 것으로 판단하는 단계;를 포함하고,
    상기 안면 인증을 수행하는 단계는,
    상기 서버가, 상기 안면 인증의 결과를 상기 전자 장치로 송신하는 단계;를 포함하고,
    상기 화자 인증을 수행하는 단계는,
    상기 서버가, 상기 화자 인증의 결과를 상기 전자 장치로 송신하는 단계;를 포함하는, 시스템의 제어 방법.
KR1020230020860A 2022-09-06 2023-02-16 인공지능 모델 기반 비대면 본인 인증 시스템의 제어 방법 KR102640358B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230020860A KR102640358B1 (ko) 2022-09-06 2023-02-16 인공지능 모델 기반 비대면 본인 인증 시스템의 제어 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220113012A KR102502686B1 (ko) 2022-09-06 2022-09-06 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 전자 장치 및 서버를 포함하는 시스템의 제어 방법
KR1020230020860A KR102640358B1 (ko) 2022-09-06 2023-02-16 인공지능 모델 기반 비대면 본인 인증 시스템의 제어 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220113012A Division KR102502686B1 (ko) 2022-09-06 2022-09-06 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 전자 장치 및 서버를 포함하는 시스템의 제어 방법

Publications (1)

Publication Number Publication Date
KR102640358B1 true KR102640358B1 (ko) 2024-02-26

Family

ID=85329878

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020220113012A KR102502686B1 (ko) 2022-09-06 2022-09-06 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 전자 장치 및 서버를 포함하는 시스템의 제어 방법
KR1020230020860A KR102640358B1 (ko) 2022-09-06 2023-02-16 인공지능 모델 기반 비대면 본인 인증 시스템의 제어 방법
KR1020230020861A KR102640359B1 (ko) 2022-09-06 2023-02-16 키워드 반복 빈도 및 음성 특성을 이용한 비대면 본인 인증 시스템의 제어 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220113012A KR102502686B1 (ko) 2022-09-06 2022-09-06 화자 인증 및 안면 인증을 이용하여 비대면 본인 인증을 수행하는 전자 장치 및 서버를 포함하는 시스템의 제어 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230020861A KR102640359B1 (ko) 2022-09-06 2023-02-16 키워드 반복 빈도 및 음성 특성을 이용한 비대면 본인 인증 시스템의 제어 방법

Country Status (1)

Country Link
KR (3) KR102502686B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220016873A (ko) * 2019-05-17 2022-02-10 큐5아이디, 아이엔씨. 아이덴티티 검증 및 관리 시스템
KR20220038015A (ko) * 2018-12-20 2022-03-25 프리사이즈 바이오메트릭스 에이비 모바일 장치를 사용한 생체인식 검증 방법
KR20220081476A (ko) 2020-12-09 2022-06-16 도시공유플랫폼 주식회사 본인 인증을 위해 인공지능 카메라를 활용한 이상행동 감지 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220038015A (ko) * 2018-12-20 2022-03-25 프리사이즈 바이오메트릭스 에이비 모바일 장치를 사용한 생체인식 검증 방법
KR20220016873A (ko) * 2019-05-17 2022-02-10 큐5아이디, 아이엔씨. 아이덴티티 검증 및 관리 시스템
KR20220081476A (ko) 2020-12-09 2022-06-16 도시공유플랫폼 주식회사 본인 인증을 위해 인공지능 카메라를 활용한 이상행동 감지 시스템

Also Published As

Publication number Publication date
KR102640359B1 (ko) 2024-02-28
KR102502686B1 (ko) 2023-02-23

Similar Documents

Publication Publication Date Title
US11170084B2 (en) Biometric authentication
US20230188521A1 (en) Secure authorization for access to private data in virtual reality
US20190188366A1 (en) Authentication device, authentication system, and authentication method
US10275672B2 (en) Method and apparatus for authenticating liveness face, and computer program product thereof
JP6820062B2 (ja) アイデンティティ認証方法ならびに装置、端末及びサーバ
US10102358B2 (en) Face-controlled liveness verification
US10042993B2 (en) Access control through multifactor authentication with multimodal biometrics
JP2021508870A (ja) 生体認証によるユーザー認証のためのシステム及び方法
US11188628B2 (en) Biometric challenge-response authentication
US9213811B2 (en) Methods and systems for improving the security of secret authentication data during authentication transactions
KR102640356B1 (ko) 안면 템플릿 데이터로 학습된 인공지능 모델을 이용한 비대면 본인 인증 시스템의 제어 방법
KR102188979B1 (ko) 블록체인 기반에서 인공지능을 이용한 사용자 인증 시스템
US11704937B2 (en) Iris authentication device, iris authentication method and recording medium
WO2022022346A1 (zh) 一种安全交互方法及装置
KR102640358B1 (ko) 인공지능 모델 기반 비대면 본인 인증 시스템의 제어 방법
US20230290354A1 (en) Systems and apparatus for multifactor authentication using bone conduction and audio signals
CN113826135B (zh) 使用话音识别进行非接触式认证的系统、方法和计算机系统
Bansong et al. Hierarchical Attention Network of Multi-Modal Biometric for a Secure Cloud-Based User Verification
WO2023274933A1 (en) Method and system for automatic proofing of a remote recording
WO2022084444A1 (en) Methods, systems and computer program products, for use in biometric authentication

Legal Events

Date Code Title Description
GRNT Written decision to grant