KR20160018318A - 지문 인식 방법, 장치 및 시스템 - Google Patents

지문 인식 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20160018318A
KR20160018318A KR1020150002414A KR20150002414A KR20160018318A KR 20160018318 A KR20160018318 A KR 20160018318A KR 1020150002414 A KR1020150002414 A KR 1020150002414A KR 20150002414 A KR20150002414 A KR 20150002414A KR 20160018318 A KR20160018318 A KR 20160018318A
Authority
KR
South Korea
Prior art keywords
fingerprint
image
images
information
code
Prior art date
Application number
KR1020150002414A
Other languages
English (en)
Other versions
KR102202690B1 (ko
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 KR1020150002414A priority Critical patent/KR102202690B1/ko
Priority to US14/933,614 priority patent/US10140500B2/en
Publication of KR20160018318A publication Critical patent/KR20160018318A/ko
Priority to US16/181,962 priority patent/US10853617B2/en
Application granted granted Critical
Publication of KR102202690B1 publication Critical patent/KR102202690B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1382Detecting the live character of the finger, i.e. distinguishing from a fake or cadaver finger
    • G06V40/1388Detecting the live character of the finger, i.e. distinguishing from a fake or cadaver finger using image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1335Combining adjacent partial images (e.g. slices) to create a composite input or reference pattern; Tracking a sweeping finger movement
    • G06K9/00107
    • G06K9/00114
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • G06V40/1376Matching features related to ridge properties or fingerprint texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Abstract

지문 인식 기법이 개시된다. 일 실시예에 따른 지문 인식 기법은 쿼리 영상 내 복수의 블록들의 특징들에 기초하여 쿼리 영상에 대응하는 코드를 결정하고, 결정된 코드에 대응하는 정보를 미리 구비된 룩업 테이블로부터 획득하며, 획득된 정보에 기초하여 쿼리 영상을 인증한다.

Description

지문 인식 방법, 장치 및 시스템{METHOD, APPARATUS AND SYSTEM FOR RECOGNIZING FINGERPRINT}
아래 실시예들은 지문 인식 방법, 장치 및 시스템에 관한 것이다.
생체 인식에 의한 인증 기술은 지문, 홍채, 목소리, 얼굴, 혈관 등을 이용하여 사용자를 인증한다. 인증에 사용되는 생체 특성들은 사람마다 다르고, 소지의 불편함이 없을 뿐 아니라, 도용이나 모조의 위험성이 적고, 일생 동안 잘 변하지 않는다는 장점이 있기 때문이다.
특히, 지문 인식 기법은 편리성, 보안성, 경제성 등 여러 가지 이유로 현재 가장 많이 상용화되어 있다. 지문을 이용한 사용자 인증은, 우선 사용자로부터 지문 인증에 사용될 지문 영상을 등록 받아 저장해 두는 것으로부터 시작된다. 이후, 인증을 요청하는 사용자로부터 새로 입력 받은 지문 영상과 미리 등록 받은 지문 영상을 비교하여 일치하는 경우, 해당 사용자를 등록된 사용자로 인증할 수 있다.
최근 휴대용 디바이스들이 소형화되면서, 해당 디바이스들에 포함된 지문 센싱 영역의 크기도 작아질 수 밖에 없다. 지문의 일부만을 센싱하는 센서를 이용하여 지문 등록 및 지문 인증을 하는 기술이 요구된다.
일 측에 따른 지문 인식 방법은 지문 인식을 위한 쿼리 영상(query image)를 수신하는 단계; 상기 쿼리 영상을 복수의 블록들로 분할하는 단계; 상기 복수의 블록들의 특징들에 기초하여, 상기 쿼리 영상에 대응하는 코드를 결정하는 단계; 미리 구비된 룩업 테이블로부터 상기 코드에 대응하는 정보를 획득하는 단계; 및 상기 코드에 대응하는 정보에 기초하여, 상기 쿼리 영상을 인증(verification)하는 단계를 포함한다.
일 측에 따른 룩업 테이블 생성 방법은 복수의 블록들을 포함하는 윈도우를 이용하여 기 등록된 사용자의 지문 영상을 스캔 함으로써, 룩업 테이블에 제1 원소들을 저장하는 단계; 상기 지문 영상을 회전시키는 단계; 및 상기 윈도우를 이용하여 상기 회전된 지문 영상을 스캔 함으로써, 상기 룩업 테이블에 제2 원소들을 저장하는 단계를 포함한다.
일 측에 따른 스티칭 방법은 복수의 부분 영상들 각각에 포함된 지문의 방향 일관성을 계산하는 단계; 상기 방향 일관성들에 기초하여 상기 복수의 부분 영상들을 정렬하는 단계; 및 상기 정렬된 순서에 따라 상기 복수의 부분 영상들을 스티칭 하는 단계를 포함한다.
일 측에 따른 지문 인증 방법은 지문 인식을 위한 쿼리 영상을 수신하는 단계; 미뉴셔에 기반한 제1 매칭에 기초하여, 등록 영상들 중 상기 쿼리 영상과 오버랩 되는 후보 등록 영상들을 검출하는 단계; 및 픽셀 정보에 기반한 제2 매칭에 기초하여, 상기 쿼리 영상과 상기 후보 등록 영상들 사이의 트랜지션 정보 및 로테이션 정보를 결정하는 단계; 및 트랜지션 정보 및 로테이션 정보에 기초하여, 상기 쿼리 영상을 인증하는 단계를 포함한다.
일 측에 따른 지문 등록 방법은 손가락의 근접 움직임(proximity movement)을 추적하는 단계; 및 상기 추적된 근접 움직임에 기초하여 지문 등록 프로시저(procedure)를 가이드(guide)하는 사용자 인터페이스를 제공하는 단계를 포함한다.
일 측에 따른 지문 등록 방법은 복수의 뷰들(views)에서 지문을 입력 받는 단계; 복수의 앵글들(angles)에서 지문을 입력 받는 단계; 및 복수의 뷰들 및 복수의 앵글들의 조합에 따라 지문을 입력 받는 단계 중 적어도 하나를 포함한다.
도 1 및 도 2는 일 실시예에 따른 지문 인식을 위한 등록 영상을 설명하는 도면들.
도 3 내지 도 12는 일 실시예에 따른 룩업 테이블을 이용한 지문 인식 기법을 설명하는 도면들.
도 13 내지 도 23은 일 실시예에 따른 방향 일관성을 이용한 지문 인식 기법을 설명하는 도면들.
도 24 내지 도 28은 일 실시예에 따른 스티칭 결과의 저장 방식을 설명하는 도면들.
도 29 및 도 30은 일 실시예에 따른 지문 등록 시퀀스를 설명하는 도면들.
도 31 내지 도 43은 일 실시예에 따른 비주얼 가이드를 설명하는 도면들.
도 44 내지 도 46은 일 실시예에 따른 멀티 뷰 지문 등록을 설명하는 도면들.
도 47 내지 도 52는 일 실시예에 따른 멀티 앵글 지문 등록을 설명하는 도면들.
도 53 내지 도 56은 일 실시예에 따른 스티칭 영상 생성 방식을 설명하는 도면들.
도 57은 일 실시예에 따른 생체 정보 처리 모듈을 설명하는 도면.
도 58은 일 실시예에 따른 생체 정보 등록 방법을 설명하는 도면.
도 59 내지 도 62는 일 실시예에 따른 생체 정보 인증 방법을 설명하는 도면들.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다. 하기에서 설명될 실시예들은 사용자의 지문을 인식하는 데 사용될 수 있다. 실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다.
지문 인식을 위한 등록 영상
일 실시예에 따르면, 등록(enrollment) 단계에서 사용자의 지문이 등록된다. 지문 인식 센서는 사용자의 지문을 캡쳐 할 수 있다. 지문 인식 센서의 센싱 영역을 통하여 사용자의 지문이 캡쳐 될 수 있다. 이 때, 지문 인식 센서의 센싱 영역의 크기는 지문의 크기보다 작을 수 있다. 예를 들어, 도 1을 참조하면, 지문 인식 센서는 지문의 크기보다 작은 크기의 직사각형 모양을 가질 수 있다.
이 경우, 하나의 지문(100)에 대응하여 복수의 부분 영상(partial image)들(110 내지 170)이 등록될 수 있다. 부분 영상들(110 내지 170)은 각각 지문(100)의 일부를 커버하고, 부분 영상들(110 내지 170)이 모여 지문(100)을 전체적으로 커버할 수 있다. 이 때, 부분 영상들(110 내지 170)은 서로 겹칠 수 있다.
도 1에서 센싱 영역은 직사각형으로 표시되었으나, 센싱 영역의 크기 및 모양은 다양하게 변형될 수 있다. 예를 들어, 도 2를 참조하면, 센싱 영역은 원형일 수 있다. 이 경우에도, 하나의 지문(200)에 대응하여 복수의 부분 영상들(210 내지 295)이 등록될 수 있다. 이하, 등록된 부분 영상은 등록 영상이라고 지칭될 수 있다.
룩업 테이블을 이용한 지문 인식 기법
가) 인증(verification) 단계
일 실시예에 따르면, 인증 단계에서 사용자의 지문이 인식될 수 있다. 지문 인식 센서의 센싱 영역을 통하여 사용자의 지문이 입력되며, 지문 인식 센서의 센싱 영역의 크기는 지문의 크기보다 작을 수 있다. 이 경우, 인증을 위한 지문 영상은 사용자의 지문 중 일부분에 해당할 수 있다. 이하, 인증을 위한 지문 영상은 쿼리(query) 영상이라고 지칭될 수 있다.
도 3을 참조하면, 일 실시예에 따른 쿼리 영상(310)은 복수의 블록들(311 내지 314)로 분할될 수 있다. 분할된 블록들에 대응하는 코드 원소들(321 내지 324)이 계산됨으로써, 쿼리 영상(310)에 대응하는 코드(320)가 계산될 수 있다. 코드 원소들(321 내지 324)을 계산하는 상세한 방법들은 후술한다. 이하, 코드는 아이디라고 지칭될 수도 있다. 이하, 설명의 편의를 위하여 쿼리 영상(310)이 복수의 블록들(311 내지 314)로 분할되는 경우를 설명하나, 쿼리 영상(310)은 하나의 블록으로 구성될 수도 있다.
룩업 테이블(look-up table, LUT)(330)은 복수의 코드들을 포함한다. 룩업 테이블은 미리 구비될 수 있다. 룩업 테이블이 생성되는 구체적인 방법은 후술한다. 룩업 테이블(330)은 각 코드들에 대응하는 정보를 포함한다. 예를 들어, 룩업 테이블(330)은 코드(320)에 대응하는 정보(331)를 포함할 수 있다. 이하, 룩업 테이블은 코드북이라고 지칭될 수도 있다.
각 코드들에 대응하는 정보는 등록된 사용자의 지문 영역 중 일부 영역을 지시할 수 있다. 예를 들어, 쿼리 영상(310)에 기초하여 생성된 코드(320)가 '2361'인 경우, 룩업 테이블 내 코드(320)에 대응하는 정보(331)는 사용자의 지문 영역 중 쿼리 영상(310)이 해당할 수 있는 후보 영역들을 지시할 수 있다.
룩업 테이블에서, 각 코드들에 대응하는 정보는 로테이션 정보 및/또는 트랜지션 정보를 포함할 수 있다. 예를 들어, 각 코드들에 대응하는 정보는 (로테이션 정보, 트랜지션 정보)의 페어일 수 있다. (로테이션 정보, 트랜지션 정보)의 페어는 해당 코드에 대응하는 쿼리 영상이 해당할 수 있는 후보 영역을 지시한다. 룩업 테이블은 하나의 코드에 대응하여 복수의 페어들을 저장할 수도 있다.
예를 들어, 룩업 테이블 내 코드(320)에 대응하는 정보(331)는 (R1, T1), (R2, T2), (Rn, Tn)을 포함할 수 있다. 도 4를 참조하면, (R1, T1)는 사용자의 지문 영역(400) 내 제1 후보 영역(410)을 지시하고, (R2, T2)는 제2 후보 영역(420)을 지시하며, (Rn, Tn)는 제n 후보 영역(430)을 지시할 수 있다.
룩업 테이블에 포함되는 로테이션 정보 및 트랜지션 정보는 다양한 형태로 표현될 수 있다. 일 예로, 도 5를 참조하면, 트랜지션 정보는 지문 영역(500)의 중심(510)을 시작점으로 하는 벡터 (tx, ty)로 표현되고, 로테이션 정보는 회전각도 r로 표현될 수 있다.
실시예들에 따르면, 룩업 테이블을 통하여 제한된 수의 후보 영역들을 획득할 수 있으므로, 인증 단계에서 연산 복잡도가 현저하게 감소될 수 있다. 예를 들어, 룩업 테이블을 통하여 쿼리 영상에 해당할 수 있는 후보 영역이 도출되면, 도출된 후보 영역에서 쿼리 영상과 등록 영상을 비교함으로써 쿼리 영상의 인증이 수행될 수 있다. 이로 인하여, 인증 단계에서 연산 복잡도가 현저하게 감소될 수 있다.
도 6을 참조하면, 특정 쿼리 영상을 인증하기 위하여 등록 영상들(611 내지 613)이 전부 필요한 것은 아니므로, 룩업 테이블 내 특정 코드에 대응하는 정보는 등록 영상들 중 해당 코드에 대응하는 일부의 등록 영상들을 지시하는 정보만을 포함할 수 있다.
도 7을 참조하면, 일부의 등록 영상들(710 내지 750)은 쿼리 영상(700)과 겹치는 영역을 가지는 것들로 선정될 수 있다. 룩업 테이블은 쿼리 영상(700)을 인증하기 위하여 필요한 일부의 등록 영상들(710 내지 750)을 지시하는 인덱스들을 포함할 수 있다. 예를 들어, 쿼리 영상(700)에 대응하는 코드가 도 6의 코드(621)인 경우, 도 6의 룩업 테이블(620) 내 특정 코드(621)에 대응하는 정보(622)는 일부의 등록 영상들(710 내지 750)을 지시하는 인덱스들을 포함할 수 있다.
룩업 테이블에 저장되는 로테이션 정보는 쿼리 영상과 특정 등록 영상 사이의 상대적인 로테이션 정보일 수 있다. 또한, 룩업 테이블에 저장되는 트랜지션 정보는 쿼리 영상과 특정 등록 영상 사이의 상대적인 트랜지션 정보일 수 있다.
일 실시예에 따른 쿼리 영상 및/또는 등록 영상은 복수의 블록들로 분할됨으로써, 쿼리 영상 및/또는 등록 영상을 위한 코드가 생성될 수 있다. 이하, 설명의 편의를 위하여 쿼리 영상 및/또는 등록 영상이 복수의 블록들로 분할되는 경우를 설명하나, 쿼리 영상 및/또는 등록 영상은 하나의 블록으로 구성될 수도 있다. 도 8을 참조하면, 쿼리 영상 및/또는 등록 영상(810)은 복수의 블록들(811 내지 814)로 분할될 수 있다. 이 때, 각각의 블록에 대응하는 코드를 생성하기 위하여 해당 블록의 특징이 추출될 수 있다. 추출되는 특징은 그 블록에 포함된 지문 방향, 그 블록에 포함된 지문 방향의 일관성(coherence), 또는 그 블록에 포함된 지문의 세기(intensity) 등을 포함할 수 있다. 추출된 특징은 미리 정해진 디멘션(dimension)으로 양자화될 수 있다. 양자화 결과는 십진수, 이진수 등 다양하게 표현될 수 있다.
도 9를 참조하면, 각 블록에 대응하는 코드를 생성하기 위하여 해당 블록의 주 방향 및 부 방향이 추출될 수 있다. 추출된 주 방향 및 부 방향은 미리 정해진 디멘션으로 양자화될 수 있다. 예를 들어, 블록(910)의 주 방향(911) 및 부 방향(912)을 8개의 방향들로 양자화하는 경우, 주 방향(911) 및 부 방향(912) 각각을 나타내는데 3 비트가 필요할 수 있다. 주 방향(911) 및 부 방향(912) 각각에 4 비트를 할당하면(1 비트는 여분), 블록(910)의 주 방향(911) 및 부 방향(912)을 나타내는데 1 바이트(920)가 요구될 수 있다. 총 8개의 블록들을 이용하여 코드 또는 아이디를 구성하는 경우, 총 8 바이트(930)가 요구될 수 있다. 물론, 양자화 디멘션, 코드 또는 아이디를 구성하는 블록들의 수 등은 다양하게 변형될 수 있다.
도 10을 참조하면, 코드 또는 아이디를 구성하는 블록들을 마스킹(masking)하는 정보(1020)가 생성될 수 있다. 예를 들어, 지문을 포함하지 않는 블록(1011)의 마스킹 정보(1021)는 '0'으로 설정되고, 지문을 포함하는 블록(1012)의 마스킹 정보(1022)는 '1'로 설정될 수 있다. 총 8개의 블록들을 이용하여 코드 또는 아이디를 구성하는 경우, 총 1 바이트의 마스킹 정보가 생성될 수 있다. 물론, 마스킹 정보를 설정하는 기준, 코드 또는 아이디를 구성하는 블록들의 수 등은 다양하게 변형될 수 있다.
일 실시예에 따르면, 도 9에서 생성된 8 바이트의 주 방향 및 부 방향 정보와 도 10에서 생성된 1 바이트의 마스킹 정보를 조합하여 코드 또는 아이디가 구성될 수 있다. 이 경우, 코드 또는 아이디는 총 9 바이트로 구성될 수 있다.
일 실시예에 따르면, 코드 생성 시 양자화 등으로 인하여 발생되는 오류를 고려하여 코드가 변형될 수 있다. 도 11을 참조하면, 쿼리 영상(1110)으로부터 생성된 코드(1120)를 변형함으로써, 지문 인식의 정확도가 향상될 수 있다. 쿼리 영상(1110)으로부터 생성된 코드(1120)는 복수의 숫자들로 표현될 수 있다. 이 경우, 복수의 숫자들 중 적어도 하나의 숫자가 미리 정해진 범위 내에서 변형될 수 있다. 예를 들어, 코드(1120)의 '1'이 '0' 또는 '2'로 변형되거나, 코드(1120)의 '6'이 '5' 또는 '7'로 변형되거나, 코드(1120)의 '3'이 '2' 또는 '4'로 변형되거나, 코드(1120)의 '2'가 '1' 또는 '3'으로 변형될 수 있다.
도 11에서는 한 자리의 숫자만 변형되는 실시예가 도시되었으나, 두 자리 이상의 숫자들이 변형될 수도 있다. 또한, 도 11에서는 미리 정해진 범위가 +1 내지 -1인 실시예가 도시되었으나, 미리 정해진 범위는 다양하게 변형될 수 있다.
나) 등록(enroll) 단계
일 실시예에 따른 룩업 테이블은 등록 단계에서 생성될 수 있다. 등록 단계에서 지문 전체의 영상이 획득될 수 있다. 일 예로, 지문 전체의 영상은 복수의 부분 영상들이 스티칭(stitching)되어 생성될 수 있다. 복수의 부분 영상들을 지문 영역 내 해당하는 위치에 배치함으로써, 지문 전체의 영상이 획득될 수 있다.
도 12를 참조하면, 지문 전체의 영상(1210)은 복수의 블록들로 분할될 수 있다. 이하, 설명의 편의를 위하여 지문 전체의 영상(1210)이 복수의 블록들로 분할되는 경우를 설명하나, 지문 전체의 영상(1210)은 하나의 블록으로 구성될 수도 있다.
지문 전체의 영상(1210)은 미리 정해진 윈도우(1211)를 이용하여 스캔(1212)될 수 있다. 윈도우(1211)는 쿼리 영상과 동일한 크기를 가질 수 있다. 윈도우(1211)는 복수의 블록들을 포함할 수 있다. 스캔(1212)이 진행되면서, 도 8 내지 도 11을 통하여 전술한 기법들을 통하여, 윈도우(1211)가 현재 커버하는 부분 영역에 대응하는 코드 또는 아이디가 생성될 수 있다. 생성된 코드 또는 아이디는 룩업 테이블에 저장된다.
또한, 생성된 코드 또는 아이디에 대응하는 정보도 룩업 테이블에 저장된다. 생성된 코드 또는 아이디에 대응하는 정보는 트랜지션 정보 및 로테이션 정보를 포함할 수 있다. 트랜지션 정보는 윈도우(1211)이 현재 커버하는 부분 영역의 위치를 지시하는 좌표 정보, 벡터 정보 등으로 설정될 수 있다. 로테이션 정보는 지문 전체의 영상(1210)의 회전 각도로 설정될 수 있다. 예를 들어, 지문 전체의 영상(1210)은 회전되지 않은 영상인 경우, 로테이션 정보는 0도로 설정될 수 있다.
지문 전체의 영상(1210)에 기초하여 룩업 테이블(1220)이 생성되면, 미리 정해진 각도(예를 들어, 20도)로 해당 지문 전체의 영상이 회전될 수 있다. 회전된 지문 전체의 영상(1230)은 복수의 블록들로 분할되고, 분할된 복수의 블록들로부터 코드 또는 아이디가 생성될 수 있다. 또는, 회전된 지문 전체의 영상(1230)은 하나의 블록으로 구성될 수도 있다. 생성된 코드 또는 아이디에 대응하는 정보가 생성되며, 룩업 테이블(1240)이 생성될 수 있다. 이 때, 로테이션 각도는 지문 전체의 영상이 회전된 각도(예를 들어, 20도)로 설정될 수 있다.
전술한 과정을 반복하여 다양한 로테이션 각도에서 샘플링이 수행됨으로써, 각 로테이션 각도에 대응하는 룩업 테이블이 생성될 수 있다. 각 로테이션 각도에 대응하는 룩업 테이블은 단일 룩업 테이블로 관리될 수 있다.
룩업 테이블을 이용하는 경우, 등록 단계에서 저장되는 정보는 다양하게 변형될 수 있다. 예를 들어, 등록 단계에서 저장되는 정보는 표 1과 같이 케이스 별로 변형될 수 있다.
제1 케이스: 룩업 테이블(LUT) + 등록 영상들
제2 케이스: 룩업 테이블(LUT) + 스티칭(stitching) 영상
제3 케이스: 룩업 테이블(LUT) + 등록 영상들 + 스티칭(stitching) 영상
제1 케이스의 경우, 도 6 및 도 7을 통하여 설명한 방식에 따라 룩업 테이블이 활용될 수 있다. 제2 케이스의 경우, 도 3 및 도 4를 통하여 설명한 방식에 따라 룩업 테이블이 활용될 수 있다. 제3 케이스의 경우, 제1 케이스의 방식, 제2 케이스의 방식, 또는 두 방식들의 조합에 따라 룩업 테이블이 활용될 수 있다.
방향 일관성을 이용한 지문 인식 기법
가) 등록(enroll) 단계 - 지문 스티칭
일 실시예에 따르면, 복수의 부분 영상들은 지문의 중심에 가까운지 여부에 기초하여 정렬될 수 있다. 이로 인하여, 지문의 중심에 해당하는 부분 영상을 기준으로 지문의 외곽에 해당하는 부분 영상들이 차례로 스티칭 될 수 있다.
일 예로, 방향 일관성을 통한 지문 스티칭(Fingerprint Stitching via Directional Coherence)이 수행될 수 있다. 실시예들은 지문의 융선(ridge)이 주 방향(dominant orientation)들을 따라 집중적으로 분포(intensively distributed)되는 특성을 이용하여, 하나의 지문에 대응하는 복수의 부분 영상들을 스티칭 할 수 있다. 예를 들어, 실시예들은 부분 영상들 각각을 복수의 블록들로 분할하고, 분할된 블록들의 주 방향들을 계산할 수 있다. 설명의 편의를 위하여 부분 영상들이 복수의 블록들로 분할되는 경우를 설명하나, 부분 영상들은 하나의 블록으로 구성될 수도 있다. 실시예들은 블록들의 주 방향들을 이용하여 부분 영상들을 스티칭 할 수 있다.
부분 영상들을 스티칭 하기 위하여, 부분 영상들을 스티칭 하는 순서가 요구된다. 예를 들어, 지문의 중심부에 해당하는 부분 영상을 기점으로, 지문의 외곽부에 해당하는 부분 영상들을 스티칭 할 수 있다. 지문의 중심부에 해당하는 부분 영상과 지문의 외곽부에 해당하는 부분 영상은 부분 영상들 각각의 방향 일관성(directional coherence)에 기초하여 결정될 수 있다. 부분 영상들 각각의 방향 일관성은 해당 부분 영상이 분할된 블록들의 주 방향들이 일관되는 정도를 의미할 수 있다.
도 13을 참조하면, 지문의 중심부에 해당하는 부분 영상(1310)이 분할된 블록들의 주 방향들(1311 내지 1314)은 일관성이 낮다. 반면, 지문의 외곽부에 해당하는 부분 영상(1320)이 분할된 블록들의 주 방향들(1321 내지 1324)은 일관성이 높다. 따라서, 부분 영상의 방향 일관성이 높을수록 지문의 외곽부에 해당할 확률이 높아지고, 부분 영상의 방향 일관성이 낮을수록 지문의 중심부에 해당할 확률이 높아질 수 있다.
부분 영상의 방향 일관성을 계산하기 위하여 그레디언트(gradient)에 기초한 구조 텐서(structural tensor)가 계산될 수 있다. 예를 들어, 구조 텐서는 수학식 1과 같이 계산될 수 있다.
Figure pat00001
여기서, i는 블록의 인덱스이고, B i i번째 블록이며, S(i)B i 를 위한 구조 텐서이고, jB i 에 속한 픽셀의 인덱스이며, I x (j)j번째 픽셀의 x축 방향의 그레디언트이고, I y (j)j번째 픽셀의 y축 방향의 그레디언트이며, I z (j)j번째 픽셀의 z축 방향의 그레디언트이다.
구조 텐서의 고유 값 분해(Single Value Decomposition, SVD)을 통하여 주 방향 및 방향 일관성이 계산될 수 있다. 예를 들어, 특정 블록을 위한 구조 텐서를 고유 값 분해함으로써 가장 큰 고유 값(Eigen value)이 도출될 수 있다. 수학식 2를 참조하면, 가장 큰 고유 값에 대응하는 고유 벡터(Eigen vector)를 이용하여, 해당 블록의 주 방향이 계산될 수 있다.
Figure pat00002
여기서, v 1 은 가장 큰 고유 벡터이고, v x 1v 1 의 x축 방향 성분이며, v y 1v 1 의 y축 방향 성분이고, θ는 주 방향이다.
또한, 특정 블록을 위한 구조 텐서를 고유 값 분해함으로써 가장 큰 고유 값 및 두 번째로 큰 고유 값이 도출될 수 있다. 수학식 3을 참조하면, 가장 큰 고유 값 및 두 번째로 큰 고유 값을 이용하여, 해당 블록의 방향 일관성이 계산될 수 있다.
여기서, λ 1은 가장 큰 고유 값이고, λ 2는 두 번째로 큰 고유 값이며, c는 방향 일관성이다. 이상에서 그레디언트에 기초한 구조 텐서에 기초하여 부분 영상의 방향 일관성을 계산하는 실시예를 설명하였으나, 부분 영상의 방향 일관성은 방향 히스토그램(orientation histogram) 등 다양한 방법에 의하여 계산되도록 변형될 수 있다.
부분 영상 내 각 블록들을 위한 방향 일관성을 이용하여, 부분 영상을 위한 방향 일관성이 결정될 수 있다. 예를 들어, 수학식 4를 참조하면, 부분 영상 내 블록들을 위한 방향 일관성들 중 최소 방향 일관성이 부분 영상을 위한 방향 일관성으로 결정될 수 있다.
Figure pat00004
여기서, i는 블록의 인덱스이고, λ i 1i번째 블록의 가장 큰 고유 값이며, λ i 2i번째 블록의 두 번째로 큰 고유 값이고, c i i번째 블록의 방향 일관성이다.
방향 일관성은 스티칭을 위한 오디널 시그니처(ordinal signature)를 제공할 수 있다. 부분 영상들의 방향 일관성들은 스티칭 오더링(stitching ordering)에 이용될 수 있다. 예를 들어, 부분 영상들 각각의 방향 일관성이 계산되면, 방향 일관성이 작은 부분 영상부터 방향 일관성이 큰 부분 영상 순으로 정렬될 수 있다. 일 예로, 도 14를 참조하면, 최소 방향 일관성을 가지는 제1 부분 영상(1410)에 다음 방향 일관성을 가지는 제2 부분 영상(1420)이 스티칭 될 수 있다. 최소 방향 일관성을 가지는 제1 부분 영상(1410)은 지문의 중심부에 해당할 수 있다. 나아가, 제1 부분 영상(1410)과 제2 부분 영상(1420)의 스티칭 결과에 다음 방향 일관성을 가지는 제3 부분 영상(1430)이 스티칭 될 수 있다.
표 2는 정밀 매칭(dense matching)에 기초한 영상 스티칭 알고리즘을 설명한다.
Figure pat00005
여기서, (i, j)는 쿼리 영상을 슬라이딩(sliding)하는 위치이고, B ij 는 (i, j) 위치에서 생성된 블록이며, Card(B ij )는 B ij 의 크기이고, (x, y)는 블록 내 픽셀 위치이며, I query (x, y)는 (x, y) 위치에서 쿼리 영상의 밝기(intensity)이고, I stitch (x,y)는 (x, y) 위치에서 스티칭 영상의 밝기이며, D는 평균 밝기 차이(average of intensity difference)이고, s_ pos는 스티칭 여부를 결정하기 위한 기준 값이며, th는 임계 값이다.
일 실시예에 따르면, 등록 세트(enroll set) 내 부분 영상들 사이의 주 방향 차이가 계산될 수 있다. 일 예로, 쿼리 영상이 등록 세트에 추가되는 경우, 기 등록된 등록 영상과 쿼리 영상 사이의 주 방향 차이는 수학식 5와 같이 계산될 수 있다.
Figure pat00006
θ enroll 은 기 등록된 등록 영상의 주 방향이고, θ query 는 쿼리 영상의 주 방향이며, θ d i ff 는 기 등록된 등록 영상과 쿼리 영상 사이의 주 방향 차이이다. θ query 는 수학식 6과 같이 계산될 수 있다.
Figure pat00007
여기서, i는 쿼리 영상 내 블록의 인덱스이다. 또한, θ enroll 은 수학식 7과 같이 계산될 수 있다.
Figure pat00008
여기서, i는 등록 영상 내 블록의 인덱스이다.
일 실시예에 따르면, 주 방향 및 주 방향의 일관성을 통한 지문 매칭(Fingerprint Matching via Dominant Orientation and Its Coherence)이 수행될 수 있다. 방향 일관성 기반 정렬이 완료된 이후, 2-스테이지 지문 스티칭이 수행될 수 있다. 예를 들어, 도 15를 참조하면, 18개의 등록 영상들은 방향 일관성의 오름차순으로 정렬될 수 있다. 정렬된 등록 영상들(1511 내지 1513)은 단계(1510) 내지 단계(1550)을 통하여 하나씩 스티칭 될 수 있다. 도 15에서, k는 정렬된 등록 영상들(1511 내지 1513)의 인덱스이다.
k번째 등록 영상(1510)이 입력되면, 단계(1520)에서 제1 스테이지에 해당하는 특징 정보 기반 매칭이 수행된다. 특징 정보 기반 매칭은 미뉴셔(Minutiae) 기반 매칭을 포함할 수 있다. 미뉴셔는 지문 영상 내 특징을 의미하는 것으로, 예를 들어 끝점(Ridge Ending)과 분기점(Bifurcation) 등을 포함할 수 있다. 미뉴셔 기반 매칭은 지문 영상 내 특징을 이용하여 유사도를 판별하는 기법이다. 단계(1530)에서 D m τ보다 작은지 여부가 판단된다. 여기서, D m 은 특징 정보 기반 거리 또는 특징 정보 기반 차이이고, τ1은 미리 정해진 제1 임계 값이다. D m 이 τ1보다 작은 경우, 스티칭이 수행된다. 2-스테이지 지문 스티칭의 제1 스테이지로 특징 정보 기반 매칭을 이용함으로써, 매칭 스피드가 향상될 수 있다.
D m 이 τ1보다 크거나 같은 경우, 단계(1540)에서 제2 스테이지에 해당하는 픽셀 정보 기반 매칭이 수행된다. 픽셀 정보 기반 매칭은 정밀 매칭을 포함할 수 있다. 단계(1550)에서 D d 가 τ2보다 작은지 여부가 판단된다. 여기서, D d 는 픽셀 정보 기반 거리 또는 픽셀 정보 기반 차이이고, τ2는 미리 정해진 제2 임계 값이다. 제1 임계 값과 제2 임계 값은 서로 동일하게 설정되거나, 서로 다르게 설정될 수 있다. D d 가 τ2보다 작은 경우, 스티칭이 수행된다. D d 가 τ2보다 크거나 같은 경우, 스티칭이 수행되지 않는다. 정렬된 등록 영상들(1511 내지 1513)이 하나씩 스티칭 되면서 중간 스티칭 영상(1560)을 거쳐 최종 스티칭 영상(1570)이 생성될 수 있다.
일 실시예에 따르면, 특징 정보 기반 매칭을 통하여 매칭 스피드가 향상될 수 있다. 보다 구체적으로, 등록 영상들 사이에서 지문의 융선이 일관된 특성에 기초하여, s_pos가 계산될 수 있다. 예를 들어, 융선 끝들(ridge endings) 사이의 관계 및/또는 분기들(bifurcations) 사이의 관계를 이용하여 s_ pos가 계산될 수 있다. 융선 끝은 지문의 융선이 끝나는 지점이고, 분기는 지문의 융선이 분기되는 지점이다.
도 16a를 참조하면, 지문의 중심부에 해당하는 부분 영상(1610)으로부터 융선 끝들과 분기들이 검출될 수 있다. 예를 들어, 부분 영상(1615)에서 네모로 표시된 지점들은 융선 끝들이고, 동그라미로 표시된 지점들은 분기들일 수 있다. 융선 끝들 및/또는 분기들은 부분 영상(1610)에 포함된 융선들을 가늘게 함(thinning)으로써, 검출될 수 있다. 스티칭 순서 상 다음 부분 영상(1620)이 수신되면, 동일한 방식으로 다음 부분 영상(1620)으로부터 융선 끝들과 분기들이 검출될 수 있다. 마찬가지로, 부분 영상(1625)에서 네모로 표시된 지점들은 융선 끝들이고, 동그라미로 표시된 지점들은 분기들일 수 있다.
부분 영상(1610)으로부터 검출된 융선 끝들과 분기들과 다음 부분 영상(1620)으로부터 검출된 융선 끝들과 분기들 사이의 비교를 통하여, s_ pos가 계산될 수 있다. 계산된 s_ pos(1631 내지 1633)에 기초하여, 부분 영상(1610)과 다음 부분 영상(1620)이 매칭될 수 있다.
도 16b를 참조하면, 실제 지문에서 융선 끝에 해당하지 않는 지점들이 스티칭 된 영상의 바운더리(boundary)에서 융선 끝처럼 인식될 수 있다. 이러한 현상은 바운더리 효과(boundary effect)라고 지칭될 수 있다. 스티칭 이후 바운더리 효과(boundary effect)를 제거하기 위하여, 스티칭 된 영상의 바운더리 상에 존재하는 융선 끝들이 배제될 수 있다.
표 3은 특징 정보 기반 매칭 및 픽셀 정보 기반 매칭에 기초한 영상 스티칭 알고리즘을 설명한다.
Figure pat00009
여기서, (rx, ry)는 융선 끝들의 위치이고, B rx , ry 는 (rx , ry) 위치에서 생성된 블록이며, Card(B rx , ry )는 B rx , ry 의 크기이고, (x, y)는 블록 내 픽셀 위치이며, I query (x, y)는 (x, y) 위치에서 쿼리 영상의 밝기이고, I stitch (x,y)는 (x, y) 위치에서 스티칭 영상의 밝기이며, D는 평균 밝기 차이이고, s_ pos는 스티칭 여부를 결정하기 위한 기준 값이며, th는 임계 값이다.
나) 인증(verification) 단계
스티칭 된 영상은 지문 인식을 위한 인증 단계에서 이용될 수 있다. 일 실시예에 따르면, 룩업 테이블을 이용하는 대신, 2-스테이지 매칭 기법을 이용하여 지문 인식을 수행할 수 있다. 2-스테이지 매칭 기법은 도 15의 2-스테이지 지문 스티칭 기법에서 스티칭 동작 수행 여부를 매칭 여부로 치환한 기법일 수 있다.
예를 들어, 도 17을 참조하면, 스티칭 된 영상(1710)으로부터 분기 지도(bifurcation map)가 생성될 수 있다. 분기 지도는 스티칭 된 영상(1710)에서 지문의 융선이 분기되는 지점에 관한 정보를 포함할 수 있다.
지문 인식을 위한 쿼리 영상(1720)이 수신되면, 쿼리 영상(1720)으로부터 이진화 영상(1730)이 생성될 수 있다. 이진화 영상(1730)은 쿼리 영상(1720)이 이진화로 표현된 영상일 수 있다. 이진화 영상(1730)으로부터 지문의 융선이 분기되는 지점에 관한 정보가 추출될 수 있다. 이진화 영상(1730)에 포함된 분기들과 스티칭 된 영상(1710)의 분기 지도에 포함된 분기들 사이의 최적 매칭 영역(best matching region)이 검색될 수 있다. 예를 들어, 이진화 영상(1730)에 10개의 분기들이 포함되고, 스티칭 된 영상(1710)의 분기 지도에 114개의 분기들이 포함되는 경우, 10 x 114 번의 비교를 통하여 최적 매칭 영역이 검색될 수 있다.
도 18을 참조하면, 쿼리 영상에 오버랩 되는 등록 영상들이 검출될 수 있다. 예를 들어, 등록 영상들 중 최적 매칭 영역(1810)에 오버랩 되는 등록 영상들이 검출될 수 있다. 이하, 오버랩 되는 등록 영상들은 오버랩 된 패치들(overlapped patches)이라고 지칭될 수 있다.
일 예로, 2-스테이지 매칭 기법을 이용한 결과 오버랩 된 패치들로 인덱스가 15, 21, 10, 12, 19인 등록 영상들(1821 내지 1825)이 검출될 수 있다. 오버랩 된 패치들은 스티칭 된 영상 내 각 부분 영상들을 지시하는 인덱스를 저장하는 레이블 맵을 이용하여 검출될 수 있다. 오버랩 된 패치들은 쿼리 영상과 겹치는 영역의 크기가 큰 순으로 미리 정해진 수(예를 들어, N개)만큼 선정될 수 있다. 오버랩 된 패치들 중 상위 N개의 패치들(top N patches)이 파인 매칭(fine matching) 또는 부분 매칭(partial matching)에 이용될 수 있다.
이하, 설명의 편의를 위하여 상위 3개의 패치들(top 3 patches)을 이용하여 파인 매칭을 수행하는 실시예를 설명하나, 실시예들은 N이 3 이외의 값을 가지는 경우에도 그대로 적용될 수 있다. 도 19를 참조하면, 스티칭 된 영상(1920) 내 쿼리 영상(1910)과 가장 잘 매칭되는 최적 매칭 영역(1925)이 검출될 수 있다. 또한, 최적 매칭 영역(1925)과 오버랩 된 상위 3개의 패치들(1931 내지 1933)이 검출될 수 있다.
최적 매칭 영역(1925)의 검출 및 상위 3개의 패치들(1931 내지 1933)의 검출에는 도 17 및 도 18을 통하여 전술한 사항들이 그대로 적용될 수 있다. 또는, 도 6 및 도 7을 통하여 설명한 실시예에 의하면, 룩업 테이블을 이용하는 경우에도 쿼리 영상(1910)에 대응하는 상위 3개의 패치들(1931 내지 1933)이 검출될 수 있다. 예를 들어, 룩업 테이블을 참조함으로써 쿼리 영상(1910)의 코드에 대응하는 등록 영상들의 인덱스들이 획득될 수 있다. 획득된 인덱스들의 등록 영상들 중 쿼리 영상과 오버랩 되는 영역의 크기가 가장 큰 세 개의 등록 영상들이 상위 3개의 패치들(1931 내지 1933)로 검출될 수 있다.
쿼리 영상(1910)은 회전된 것일 수 있다. 예를 들어, 쿼리 영상(1910)은 40도 회전된 것일 수 있다. 일 실시예에 따른 주 방향 비교(dominant orientation comparison) 기법을 통하여 쿼리 영상(1910)이 회전된 경우에도 상위 3개의 패치들(1931 내지 1933)과 매칭이 수행될 수 있다. 도 20을 참조하면, 쿼리 영상(1910)과 상위 3개의 패치들(1931 내지 1933)은 각각 복수의 블록들로 분할될 수 있다. 또는, 쿼리 영상(1910)과 상위 3개의 패치들(1931 내지 1933)은 각각 하나의 블록으로 구성될 수도 있다. 각 블록에서 주 방향이 계산될 수 있다.
도 21을 참조하면, 쿼리 영상(1910)의 첫 번째 블록(1911)과 제1 후보(1931)의 첫 번째 블록(1934) 사이에서 주 방향이 비교될 수 있다. 제1 후보(1931)는 상위 3개의 패치들 중 첫 번째 후보일 수 있다. 주 방향 비교 결과 R(rotation)과 T(transition)이 계산될 수 있고, 계산된 R과 T에 기초하여 쿼리 영상과 제1 후보 사이의 매칭 스코어(matching score)가 계산될 수 있다.
도 22를 참조하면, 쿼리 영상(1910)의 첫 번째 블록(1911)과 제1 후보(1931)의 나머지 블록들 각각에 기초하여 쿼리 영상(1910)과 제1 후보(1931) 사이의 매칭 스코어들이 계산될 수 있다. 또한, 쿼리 영상(1910)의 두 번째 블록(1912)과 제1 후보(1931)의 블록들 각각에 기초하여 쿼리 영상(1910)과 제1 후보(1931) 사이의 매칭 스코어들이 계산될 수 있다. 전술한 과정을 반복함으로써, 쿼리 영상(1910)과 제1 후보(1931) 사이의 36개의 매칭 스코어들이 계산될 수 있다. 물론 계산되는 매칭 스코어들의 수는 쿼리 영상(1910)과 제1 후보(1931)를 분할하는 방식에 따라 다양하게 변형될 수 있다. 도면에 표시하지 않았으나, 쿼리 영상(1910)의 블록들 및 제1 후보(1931)의 블록들의 주 방향들은 서로 상이할 수 있다.
최종적으로 계산된 36개의 매칭 스코어들 중 베스트 스코어(best score)가 선택될 수 있다. 또는, 계산된 36개의 매칭 스코어들의 평균이 계산될 수 있다. 또는, 계산된 36개의 매칭 스코어들의 클러스터 평균(clustered average)이 계산될 수 있다. 전술한 과정은 제2 후보(1932) 및 제3 후보(1933)에 대하여도 동일하게 적용될 수 있다.
제1 후보(1931), 제2 후보(1932), 및 제3 후보(1933) 중 가장 높은 베스트 스코어를 가지는 후보가 쿼리 영상의 인증을 위하여 선택될 수 있다. 또는, 제1 후보(1931), 제2 후보(1932), 및 제3 후보(1933) 중 가장 높은 평균 스코어를 가지는 후보가 쿼리 영상의 인증을 위하여 선택될 수 있다. 또는, 제1 후보(1931), 제2 후보(1932), 및 제3 후보(1933) 중 가장 높은 클러스터 평균 스코어를 가지는 후보가 쿼리 영상의 인증을 위하여 선택될 수 있다.
또는, 후보 군을 구별하지 않고 베스트 스코어가 계산될 수 있다. 이 경우, 베스트 스코어를 가지는 후보가 쿼리 영상의 인증을 위하여 선택될 수 있다.
도 23을 참조하면, 로테이션 정보가 32.5도로 계산되고, 트랜지션 정보가 (Tx=72,Ty=1)로 계산될 수 있다.
스티칭 결과의 저장 방식
실시예들에 따르면, 스티칭 결과는 다양한 방식으로 저장될 수 있다. 일 예로, 도 24를 참조하면, 스티칭 영상(2410)만 저장될 수 있다. 다른 예로, 도 25를 참조하면, 스티칭 영상(2510)을 생성하는데 등록 영상들이 모두 이용되지 않을 수 있다. 스티칭 영상(2510)의 생성에 이용되지 않은 등록 영상들(2520)도 별도로 저장되어 관리될 수 있다.
또 다른 예로, 도 26을 참조하면, 복수의 영역들에 대응하는 스티칭 영상들(2610, 2620)이 저장될 수 있다. 여기서, 복수의 영역들 각각은 지문 인식에 주로 사용되는 영역일 수 있다.
또 다른 예로, 도 27을 참조하면, 메인 영역에 대응하는 스티칭 영상(2710) 및 주변 영역들에 대응하는 스티칭 영상들(2720, 2730)이 저장될 수 있다. 메인 영역과 주변 영역들이 분리되도록 전체 스티칭 영상(2700)이 재구성(reconstruct)될 수 있다. 주변 영역들은 상, 하, 좌, 우, 또는 미리 정해진 방향의 다양한 조합으로 구성될 수 있다.
전술한 실시예들은 지문 인식을 위하여 다양하게 조합 및/또는 변경될 수 있다. 일 예로, 스티칭 결과를 저장하는 기법에 의한 스티칭 영상과 룩업 테이블을 이용하는 기법이 조합될 수 있다. 다른 예로, 스티칭 동작으로 인하여 영상에 손실이 발생될 수 있으므로, 쿼리 영상과 가장 면적이 많이 겹치는 등록 영상을 이용하여 인증이 수행될 수 있다. 또 다른 예로, 지문 입력은 슬라이드 방식으로 입력될 수도 있고, 터치 방식으로 입력될 수도 있다.
터치 방식으로 입력되는 경우, 일관성을 이용하여 등록 영상들 사이에 스티칭을 위한 순서가 결정될 수 있다. 일관성이 작은 등록 영상일수록 지문의 중앙에 배치될 수 있으며, 스티칭 순서가 빨라질 수 있다. 등록 영상의 일관성을 평가하기 위하여, 방향 일관성이 이용될 수 있다. 방향 일관성을 계산하기 위하여, 지문의 에지나 그레디언트 등 오리엔테이션(orientation) 정보가 이용될 수 있다.
도 28을 참조하면, 등록 단계에서 스티칭이 수행되어 스티칭 된 지문 영상(2810)이 저장될 수 있다. 예를 들어, 방향 일관성을 이용하여 스티칭이 수행될 수 있다.
인증 단계에서 등록 영상들(2830) 중 쿼리 영상(2820)을 인증하기 위한 후보 등록 영상들(2835)이 선정될 수 있다. 예를 들어, 룩업 테이블을 이용하는 기법 또는 2-스테이지 매칭 기법을 통하여 후보 등록 영상들(2835)이 선정될 수 있다. 후보 등록 영상들(2835)은 쿼리 영상(2820)과 오버랩 된 패치들일 수 있다.
정렬(Alignment)을 통하여 선정된 후보 등록 영상들에 대한 Ri와 Ti가 계산될 수 있다. 예를 들어, 룩업 테이블을 이용하는 기법 또는 2-스테이지 매칭 기법을 통하여 후보 등록 영상들에 대한 Ri와 Ti가 계산될 수 있다. 실시예들은 후보 등록 영상들에 한하여 쿼리 영상(2820)과 비교하고, 후보 등록 영상들에 대한 Ri와 Ti를 계산하므로, 지문 인식을 위한 연산 복잡도를 낮출 수 있다.
후보 등록 영상들에 대한 Ri와 Ti에 기초하여 매칭 스코어가 계산되고, 지문이 인식될 수 있다. 이 때, 지문 인식을 위하여, 쿼리 영상의 특징이 다양한 방식을 통하여 도출될 수 있다.
지문 등록 시퀀스
지문 인식 센서의 센싱 영역의 크기는 지문의 크기보다 작을 수 있다. 이 경우, 지문을 등록하기 위하여 복수의 등록 영상들이 이용될 수 있다.
도 29를 참조하면, 단계(2910)에서 손가락이 센싱 영역에 접촉(contact)되면, 제1 등록 영상이 획득될 수 있다. 도 29는 도 30의 손가락을 왼쪽에서 바라보는 경우를 도시한 것이다.
이어서, 단계(2920)에서 손가락이 근접 거리(proximity) 이내에서 센싱 영역으로부터 떨어진 이후, 단계(2930)에서 수평방향으로(horizontally) 이동될 수 있다. 여기서, 수평방향은 센서의 센싱 영역과 평행한 방향일 수 있다. 경우에 따라서, 손가락이 근접 거리 이내에서 센싱 영역으로부터 떨어지고, 센싱 영역과 수평 하게 방향으로 이동되는 단계들은 동시에(simultaneously) 이루어질 수도 있다.
일 실시예에 따르면, 지문 인식 센서는 근접 센서(proximity sensor)의 역할도 함께 수행할 수 있다. 예를 들어, 지문 인식 센서가 정전 용량 센서로 구성되는 경우, 지문 인식 센서는 접촉된 손가락의 지문을 인식할 뿐 아니라, 근접 거리 이내에서 손가락의 움직임도 센싱 할 수 있다.
다른 실시예에 따르면, 지문 인식 센서와 별도로 근접 센서가 함께 구비될 수 있다. 이 경우, 지문 인식 센서는 접촉된 손가락의 지문을 인식하고, 근접 센서는 근접 거리 이내에서 손가락의 움직임을 센싱 할 수 있다.
손가락이 근접 거리 이내에서 수평방향으로 이동된 이후, 단계(2940)에서 다시 지문 인식 센서의 센싱 영역에 접촉되면, 제2 등록 영상이 획득될 수 있다. 전술한 과정을 반복함으로써, 미리 정해진 수(예를 들어, 18장)의 등록 영상들이 획득될 수 있다.
도 29에서 손가락이 근접 거리 이내에서 아래 방향으로 이동되는 경우가 도시되었으나, 손가락의 이동 방향은 아래 방향으로 국한되지 않는다. 예를 들어, 지문 등록 시퀀스 내에서 손가락은 아래, 위, 오른쪽, 왼쪽 등 어느 방향으로든 이동될 수 있다.
또한, 지문 등록 시퀀스 내에서 손가락은 일관된 방향으로만 이동될 필요가 없다. 예를 들어, 제1 등록 영상이 입력된 이후 제2 등록 영상을 입력하기 위하여 손가락이 아래 방향으로 이동될 수 있다. 이후, 제3 등록 영상을 입력하기 위하여 손가락이 아래 방향이 아닌 다른 방향으로 이동될 수 있다.
비주얼 가이드( Visual Guide )
일 실시예에 따르면, 도 29의 지문 등록 시퀀스를 보조하기 위하여, 비주얼 가이드가 사용자에게 제공될 수 있다. 예를 들어, 도 31을 참조하면, 손가락 모양의 비주얼 가이드(3110)가 디스플레이에 표시될 수 있다. 이 때, 지문의 등록 영상이 기 획득된 영역(3120)이 비주얼 가이드(3110) 위에 추가로 표시될 수 있다. 이하, 지문의 등록 영상이 기 획득된 영역은 기 획득 영역이라고 지칭될 수 있다.
비주얼 가이드 내부가 기 획득 영역들로 채워지는 상황을 실시간으로 사용자에게 제공함으로써, 사용자는 지문 등록 시퀀스의 진행 상황을 직관적으로 알 수 있다. 나아가, 비주얼 가이드 내부에 채워지지 않은 부분은 아직 획득되지 않은 부분이므로, 사용자는 비주얼 가이드를 통하여 아직 획득되지 않은 부분을 용이하게 파악하고 해당 부분을 입력할 수 있다.
도 32를 참조하면, 손가락이 근접 거리 이내에서 이동됨에 따라 획득될 영역을 표시하는 인디케이터(indicator)(3210)가 디스플레이에 표시될 수 있다. 예를 들어, 손가락이 아래 방향으로 이동되면, 획득될 영역을 표시하는 인디케이터(3210)는 위 방향으로 이동될 수 있다. 이로 인하여, 사용자는 새로 획득될 영역을 명확하게 인지할 수 있다.
도 29에서 전술한 바와 같이, 센싱 영역으로부터 근접 거리 이내의 손가락의 움직임이 센싱 되므로, 손가락의 움직임 정보에 기초하여 획득될 영역을 표시하는 인디케이터(3210)가 제어될 수 있다.
도 33을 참조하면, 손가락이 근접 거리 이내에서 이동됨에 따라 손가락의 위치를 지시하는 실루엣(3310)이 디스플레이에 표시될 수 있다. 예를 들어, 손가락이 아래 방향으로 이동되면, 손가락의 위치를 지시하는 실루엣(3310)도 아래 방향으로 이동될 수 있다.
도 34를 참조하면, 손가락이 근접 거리 이내에서 이동됨에 따라 획득될 영역을 표시하는 인디케이터(3210)와 손가락의 위치를 지시하는 실루엣(3310)이 디스플레이에 표시될 수 있다. 예를 들어, 손가락이 아래 방향으로 이동되면, 획득될 영역을 표시하는 인디케이터(3210)는 위 방향으로 이동되고, 손가락의 위치를 지시하는 실루엣(3310)은 아래 방향으로 이동될 수 있다.
도 35를 참조하면, 획득될 영역(3210) 대신 비주얼 가이드(3110)와 기 획득 영역(3120)이 이동될 수 있다. 예를 들어, 손가락이 아래 방향으로 이동되면, 비주얼 가이드(3110) 및 기 획득 영역(3120)도 아래 방향으로 이동될 수 있다. 이로 인하여, 사용자는 새로 획득될 영역을 명확하게 인지할 수 있다.
도 29에서 전술한 바와 같이, 센싱 영역으로부터 근접 거리 이내의 손가락의 움직임이 센싱 되므로, 손가락의 움직임 정보에 기초하여 비주얼 가이드(3110) 및 기 획득 영역(3120)이 제어될 수 있다.
도 36을 참조하면, 비주얼 가이드(3610) 및 목표 획득 영역(3620)이 디스플레이에 표시될 수 있다. 나아가, 손가락의 움직임에 따라 실루엣(3630) 및 획득될 영역(3640)이 디스플레이 상에서 이동될 수 있다.
사용자는 손가락의 움직임에 따라 함께 움직이는 실루엣(3630) 및 획득될 영역(3640)을 비주얼 가이드(3610) 및 목표 획득 영역(3620)에 맞춤으로써, 지문을 입력할 수 있다. 이로 인하여, 필요한 영역의 지문이 효과적으로 입력될 수 있다.
도 37을 참조하면, 기 획득 영역(3710)이 표시되고, 새로운 목표 획득 영역(3720)이 기 획득 영역(3710)에 오버랩 되어 표시될 수 있다. 이에 따라, 실루엣(3630)에 결합된 획득될 영역(3640)의 위치도 새로운 목표 획득 영역(3720)의 위치에 맞게 수정될 수 있다.
사용자는 손가락의 움직임에 따라 함께 움직이는 실루엣(3630) 및 획득될 영역(3640)을 비주얼 가이드(3610) 및 새로운 목표 획득 영역(3720)에 맞춤으로써, 지문을 입력할 수 있다. 전술한 과정들의 반복을 통하여, 비주얼 내부의 등록 영상들을 효과적으로 입력 받을 수 있다.
스티칭을 위하여, 등록 영상들은 서로 오버랩 되는 것이 좋다. 따라서, 새로 획득될 영역이 기 획득된 영역과 오버랩 되도록 지문을 입력해 달라는 알림(notice)가 사용자에게 제공될 수 있다. 도 38은 제1 시점(t0)에 기 획득된 영역(3810)과 제2 시점(t1>t0)에 기 획득된 영역(3820)이 겹쳐진 예시를 보여준다.
실시예들에 따른 센서의 크기는 다양하게 변형될 수 있다. 예를 들어, 도 39 내지 도 42를 참조하면, 센서의 한 변의 길이는 손가락의 너비보다 길 수도 있다. 또는, 도 43을 참조하면, 센서는 정사각형 모양일 수 있다.
전술한 실시예들 이외에도 센서는 원형, 다각형 등 다양한 모양을 가질 수 있으며, 그 크기 또한 다양하게 변형될 수 있다.
멀티 뷰 지문 등록
일 실시예에 따르면, 지문은 멀티 뷰로 등록될 수 있다. 예를 들어, 도 44를 참조하면, 정면 뷰(frontal view)의 지문이 등록될 수 있다. 도 45를 참조하면, 오른쪽 측면 뷰(right-side view)의 지문이 등록될 수 있다. 도 46을 참조하면, 왼쪽 측면 뷰(left-side view)의 지문이 등록될 수 있다. 정면 뷰의 지문, 오른쪽 측면 뷰의 지문, 및 왼쪽 측면 뷰의 지문은 각각 도 29 내지 도 43을 통하여 전술한 방식에 따라 복수의 등록 영상들을 이용하여 등록될 수 있다.
일 실시예에 따르면, 멀티 뷰 지문을 등록하기 위한 가이드 UI(guide UI)가 사용자에게 제공될 수 있다. 예를 들어, 오른쪽 측면 뷰 지문을 등록하기 위하여 손가락을 오른쪽으로 기울이라는 UI가 사용자에게 제공될 수 있다. 또는, 왼쪽 측면 뷰 지문을 등록하기 위하여 손가락을 왼쪽으로 기울이라는 UI가 사용자에게 제공될 수 있다.
멀티 앵글 지문 등록
일 실시예에 따르면, 지문은 멀티 앵글로 등록될 수 있다. 예를 들어, 도 47을 참조하면, 정면 뷰의 지문이 다양한 각도에서 등록될 수 있다. 도 48을 참조하면, 오른쪽 측면 뷰의 지문이 다양한 각도에서 등록될 수 있다. 도 49를 참조하면, 왼쪽 측면 뷰의 지문이 다양한 각도에서 등록될 수 있다.
일 실시예에 따르면, 왼손 손가락의 지문도 동일한 방식에 따라 멀티 앵글로 등록될 수 있다. 예를 들어, 도 50 내지 도 52를 참조하면, 정면 뷰의 지문, 왼쪽 측면 뷰의 지문, 및 오른쪽 측면 뷰의 지문이 각각 다양한 각도에서 등록될 수 있다.
다양한 각도를 위한 왼손 또는 오른손 손가락의 정면 뷰의 지문, 오른쪽 측면 뷰의 지문, 및 왼쪽 측면 뷰의 지문은 각각 도 29 내지 도 43을 통하여 전술한 방식에 따라 복수의 등록 영상들을 이용하여 등록될 수 있다.
스티칭 영상 생성 방식
실시예들에 따르면, 정면 뷰, 왼쪽 측면 뷰, 및 오른쪽 측면 뷰를 이용하여 스티칭 영상을 생성하는 방식은 다양하게 변형될 수 있다. 예를 들어, 도 53을 참조하면, 정면 뷰(5310), 왼쪽 측면 뷰(5320), 및 오른쪽 측면 뷰(5330)를 모두 이용하여 스티칭 영상이 생성될 수 있다.
도 54를 참조하면, 정면 뷰(5310) 및 왼쪽 측면 뷰(5320)를 이용하여 스티칭 영상이 생성될 수 있다. 예를 들어, 사용자가 왼손 잡이인 경우, 사용자는 왼손으로 휴대 장치를 홀딩(holding)한 상태에서 왼손 엄지 손가락으로 지문을 입력할 수 있다. 이 경우, 정면 뷰(5310) 및 왼쪽 측면 뷰(5320)를 이용하여 생성된 스티칭 영상이 지문 인식에 이용될 수 있다.
도 55를 참조하면, 정면 뷰(5310) 및 오른쪽 측면 뷰(5330)를 이용하여 스티칭 영상이 생성될 수 있다. 예를 들어, 사용자가 오른손 잡이인 경우, 사용자는 오른손으로 휴대 장치를 홀딩 한 상태에서 오른손 엄지 손가락으로 지문을 입력할 수 있다. 이 경우, 정면 뷰(5310) 및 오른쪽 측면 뷰(5330)를 이용하여 생성된 스티칭 영상이 지문 인식에 이용될 수 있다.
도 56을 참조하면, 정면 뷰(5310), 왼쪽 측면 뷰(5320), 및 오른쪽 측면 뷰(5330)를 위한 각각의 스티칭 영상이 생성될 수 있다.
경우에 따라, 정면 뷰(5310)를 위한 스티칭 영상만 생성되거나, 왼쪽 측면 뷰(5320)를 위한 스티칭 영상만 생성되거나, 오른쪽 측면 뷰(5330)를 위한 스티칭 영상만 생성될 수 있다. 또는, 정면 뷰(5310)를 위한 스티칭 영상, 왼쪽 측면 뷰(5320)를 위한 스티칭 영상, 및 오른쪽 측면 뷰(5330)를 위한 스티칭 영상 중 적어도 둘을 포함하는 다양한 조합으로 스티칭 영상들이 생성될 수도 있다.
멀티 뷰의 지문이 멀티 앵글로 등록된 경우, 각각의 앵글에서 도 53 내지 도 56을 통하여 전술한 스티칭 영상 생성 방식이 적용될 수 있다. 예를 들어, 0도의 정면 뷰(5310), 왼쪽 측면 뷰(5320), 및 오른쪽 측면 뷰(5330)를 이용하여 제1 스티칭 영상이 생성되고, 20도의 정면 뷰(5310), 왼쪽 측면 뷰(5320), 및 오른쪽 측면 뷰(5330)를 이용하여 제2 스티칭 영상이 생성될 수 있다.
도 53 내지 도 56을 통하여 전술한 스티칭 영상 생성 방식에 따라 적어도 하나의 스티칭 영상이 생성되면, 생성된 스티칭 영상에 대응하여 코드북이 생성될 수 있다. 생성된 코드북은 인증 단계에서 활용될 수 있다.
생체 정보 처리 모듈
도 57는 일 실시예에 따른 생체 정보 처리 모듈을 나타낸 블록도이다. 도 57을 참조하면, 일 실시예에 따른 보안 영역의 생체 정보 처리 모듈(5700)은 생체 데이터 생성부(5710), 데이터 매칭부(5720) 및 보안 처리부(5730)로 이루어질 수 있다.
생체 데이터 생성부(5710)는 생체 센싱 모듈로부터 획득된 센싱 데이터를 기초로 인식 객체의 고유 특징 정보를 산출할 수 있다. 생체 데이터 생성부(5710)는 산출된 고유 특징 정보를 템플릿(template)으로 변환하여 생체 데이터를 생성할 수 있다.
생체 데이터 생성부(5710)는 센싱 데이터로부터 생체 이미지(예; 지문 이미지, 홍채 이미지, 얼굴 이미지 등)를 획득할 수 있다. 예를 들면, 생체 이미지는 빛의 반사를 이용하는 광학식 또는 압력, 열, 초음파 등을 이용하는 비 광학식으로 획득할 수 있다. 생체 데이터 생성부(5710)는 생체 이미지를 기반으로 개인 고유의 특징 정보를 추출할 수 있다. 예를 들면, 지문 인식을 위한 특징 정보는 지문 인식일 경우, 융선 끝점, 분기점, 중심점(core point), 삼각 주(delta point) 등의 미뉴셔 일 수 있다. 특징 정보는 저장된 생체 등록 데이터와 매칭되는 정도를 확인하기 위해 기 설정된 포맷(또는 프레임) 형식으로 산출 될 수 있다. 예를 들면, 기 설정된 포맷의 정보 형식은 템플릿 형태일 수 있다.
생체 데이터 생성부(5710)는 생체 정보 등록 요청이 검출되면, 생성된 생체 데이터를 등록 정보로서 메모리에 저장할 수 있다. 여기서, 생체 정보 등록 요청은 일반 영역으로부터 전달된 보안 신호를 통해 요청될 수 있다.
상기 데이터 매칭부(5720)는 생체 인식 요청이 검출되면, 생체 인식을 위해 입력된 생체 인증 데이터가 저장된 생체 등록 데이터와 매칭되는지 판단할 수 있다. 여기서, 생체 인식 요청은 일반 영역으로부터 전달된 보안 신호를 통해 요청될 수 있다.
다양한 실시예에서, 상기 데이터 매칭부(5720)는 생체 인식을 위해 입력된 생체 인증 데이터로부터 산출된 특징 정보를 등록된 적어도 하나의 등록 데이터와 비교하고, 매칭값을 산출할 수 있다. 매칭값은 생체 인증 데이터가 생체 등록 데이터와 매칭되는 정보를 나타낸 값일 수 있다.
예를 들면, 매칭 값은 데이터 매칭 시 각각의 생체 데이터에 포함된 특징점들 중에서, 서로 대응되는 (또는 서로 일치하는) 것으로 판단되는 특징점들의 개수를 나타낸 값으로 산출될 수 있다. 또는, 매칭값은 각각의 생체 데이터에 포함된 특징점들간의 거리, 방향 또는 특징점들의 배치 형태의 유사성 등을 고려하여 통계적 데이터 또는 확률적 함수에 따라 산출될 수 있다.
상기 데이터 매칭부(5720)는 특징 정보의 매칭값을 기준으로 생체 인증 성공 여부를 판단할 수 있다. 예를 들면, 데이터 매칭부(5720)는 매칭값이 설정된 임계 값을 초과하는 경우, 생체 인증이 성공된 것으로 판단하고, 매칭값이 설정된 임계 값 이하인 경우, 생체 인증이 실패한 것으로 판단할 수 있다.
상기 데이터 매칭부(5720)는 인증 성공 여부에 대한 결과 정보(예; 진위 형 타입의 신호)를 일반 영역 내의 생체 인식 기능 제어 모듈로 전달하도록 제어할 수 있다.
보안 처리부(5730)는 생체 데이터를 암호화 및 복호화 하도록 제어할 수 있다. 보안 처리부(5730)는 장치의 고유 식별 정보를 기반으로 유니크 키를 생성할 수 있다. 예를 들면, 유니크 키는 보안 모드 시 접근 가능한 값일 수 있다.
일 실시예에서, 보안 처리부(5730)는 생체 정보 등록 시, 유니크 키를 이용하여 생체 데이터를 암호화하고, 암호화된 생체 데이터를 메모리의 보안 영역에 저장하도록 제어할 수 있다. 보안 처리부(5730)는 생체 인식 인증 시, 암호화된 생채 데이터를 메모리의 보안 영역으로부터 획득하고, 유니크 키를 이용하여 복호화 할 수 있다. 보안 처리부(5730)는 복호화 된 생체 데이터를 상기 데이터 매칭부로 전달할 수 있다. 이 경우, 유니크 키를 생성하기 위한 함수는 가상 보안 코어 시스템으로 동작 시 생성될 수 있는 값이며, 일반 보상 코어 시스템으로 동작 시 접근이 제한될 수 있다.
일 실시예에서, 보안 처리부(5730)는 유니크 키를 이용해 생체 데이터를 암호화하고, 암호화된 생체 데이터를 일반 영역의 생체 인식 기능 제어 모듈로 전달하도록 제어할 수 있다. 보안 처리부(5730)는 생체 인식 시, 일반 영역의 생체 인식 기능 제어 모듈로부터 암호화된 생체 데이터를 전달받고, 암호화된 생체 데이터를 보안 모드에서 생성된 유니크 키를 이용하여 복호화 할 수 있다. 보안 처리부(5730)는 복호화 된 생체 데이터를 상기 데이터 매칭부로 전달할 수 있다.
일 실시예에서, 보안 처리부(5730)는 변형 함수를 통해 생체 데이터를 변형하여 모조 데이터(pseudo data)를 생성할 수 있다. 변형 함수는 일방 함수(one way), 데이터 배열 함수 등을 포함할 수 있으며, 보안 모드 시 또는 별도의 보안 하드웨어에서 획득 가능한 값을 이용한 함수를 이용할 수 있다. 변형 함수는 생체 데이터의 메타데이터로 저장될 수 있다.
보안 처리부(5730)는 생성된 모조 데이터를 데이터 매칭부(5720) 및 데이터 생성부(5710)로 전달할 수 있다. 예를 들면, 데이터 생성부(5710)는 모조 데이터를 등록 정보로서 저장할 수 있다. 데이터 매칭부(5710)는 등록된 모조 데이터와, 새로 생성된 모조 데이터를 비교함으로써, 생체 인증 성공 여부를 판단할 수 있다.
보안 처리부(5730)는 모조 데이터를 생성하기 위한 변형 함수를 가변적으로 운용할 수 있다. 예를 들면, 생체 인식 정보가 의도하지 않게 외부로 노출될 경우, 보안 처리부(5730)는 변형 함수를 변경하고, 변경된 변형 함수를 통해 모조 데이터를 새롭게 생성할 수 있다. 외부 노출 시 생체 데이터의 메타 데이터 역시 갱신되므로, 보안 처리부(5730)는 기존의 생체 데이터를 새로 갱신하거나 폐기하도록 처리할 수 있다.
다양일 실시예에 따르면, 하나의 프로세서를 통해 일반 영역 및 보안 영역으로 동작되는 전자 장치에 있어서, 생체 인식을 위한 생체 센서 모듈; 및 일반 영역에서 생체 센서 모듈로부터 생체 정보 입력 이벤트를 검출하고, 상기 일반 영역에서 생체 정보 입력 이벤트를 보안 영역으로 전달하고, 상기 보안 영역에서 생체 정보 입력 이벤트에 응답하여 생체 센서 모듈로부터 센싱 데이터를 획득하고, 상기 보안 영역에서 획득된 센싱 데이터를 처리하여 생체 정보 등록 결과 정보 및 생체 인식 결과 정보를 일반 영역으로 전달하도록 제어하는 프로세서를 포함할 수 있다.
상기 프로세서는, 보안 영역에서, 센싱 데이터로부터 특징 정보를 산출하고, 특징 정보를 기반으로 생체 데이터를 생성하고, 상기 생체 데이터를 고유의 식별 정보를 기반으로 생성된 유니크 키를 이용하여 암호화하고, 암호화된 생체 데이터를 생체 정보로 등록하도록 제어할 수 있다.
상기 프로세서는, 상기 암호화된 생체 데이터를 일반 영역으로 전달하고, 일반 영역에서 암호화된 생체 데이터를 저장할 수 있다.
상기 프로세서는, 보안 영역 또는 일반 영역으로 할당된 메모리로부터 암호화된 등록 데이터를 획득하고, 암호화된 등록 데이터를 고유의 식별 정보를 기반으로 생성된 유니크 키를 이용하여 복호화 하고, 복호화 된 등록 데이터와 생성된 생체 데이터를 비교하여 생체 인증을 수행하고, 상기 비교 결과, 데이터의 매칭값이 설정된 임계 값을 초과하는 경우, 생체 인식 성공한 것으로 판단하고, 매칭 값이 설정된 임계 값 이하인 경우, 생체 인식 실패한 것으로 판단할 수 있다.
상기 프로세서는, 등록 또는 인식 결과에 대응하는 진위 형 타입의 신호로 전달할 수 있다.
생체 정보 등록 방법
도 58는 다양일 실시예에 따른, 전자 장치의 생체 정보 등록 방법을 도시한다. 도 58를 참조하면, 생체 정보 등록(예; 등록 모드)을 위해 동작(5810)에서 프로세서는 일반 영역에서 생체 센서 모듈로부터 전달되는 인터럽트 신호를 기반으로 생체 정보 입력 이벤트를 검출할 수 있다. 상기 일반 영역에서 프로세서는, 생체 정보 등록을 위한 기능 요청이 발생되면, 생체 센서 모듈을 활성화시키고, 생체 센싱 모듈을 통해 센싱 객체를 센싱 할 수 있다. 예를 들면, 전자 장치는 지문 센서를 이용하여 사용자가 손가락을 센서와 접촉하는 동작을 인식할 수 있다. 전자 장치는 홍채 센서를 이용하여 사용자의 눈이 센서에 접근하는 동작을 인식할 수 있다. 전자 장치는 정맥 센서를 이용하여 사용자의 손이 센서에 접근하는 동작을 인식할 수 있다. 전자 장치는 음성 센서를 이용하여 사용자가 음성을 입력하는 동작을 인식할 수 있다. 전자 장치는 안면 센서를 이용하여 사용자의 얼굴이 센서에 접근하는 동작을 인식할 수 있다.
동작(5820)에서, 프로세서는, 생체 정보 입력 이벤트가 검출되면, 가상 보안 코어 시스템을 호출하기 위해 이벤트 검출 신호를 보안 영역으로 전달할 수 있다. 이때, 이벤트 검출 신호는 보안 인터럽트 신호일 수 있다.
동작(5830)에서, 보안 영역의 프로세서는 생체 센싱 모듈로부터 센싱 데이터를 획득할 수 있다. 센싱 데이터는 생체 정보의 로우 데이터(law data)일 수 있다. 예를 들면, 센싱 데이터는, 사용자의 지문, 손 무늬, 망막 패턴, 홍채 패턴, 귀 모양, 얼굴 모양, 사용자의 음성 및 필체 정보 중 적어도 하나를 포함할 수 있다.
동작(5840)에서 보안 영역의 프로세서는, 센싱 데이터를 기반으로 인식 객체의 고유 특징 정보를 산출할 수 있다. 예를 들면, 프로세서는, 센싱 데이터로부터 센싱 이미지를 획득하고, 센싱 이미지로부터 특징 정보를 추출할 수 있다.
동작(5850)에서, 보안 영역의 프로세서는, 특징 정보를 템플릿(template) 형태로 변환하여 생체 데이터를 생성할 수 있다.
동작(5860)에서, 보안 영역의 프로세서는, 생체 데이터를 암호화할 수 있다. 예를 들면, 프로세서는 보안 영역에서 장치의 고유 식별 정보를 기반으로 유니크 키를 생성할 수 있다. 유니크 키는 보안 모드 시 접근 가능한 값일 수 있다. 예를 들면, 프로세서는, 유니크 키 생성을 위한 함수 정보를 보안 영역으로 할당된 메모리에 저장하고, 보안 모드 시 함수 정보를 통해 유니크 키를 생성할 수 있다. 한편, 동작(5860)은 생략될 수 있으나, 이에 한정하는 것은 아니다.
동작(5865)에서 보안 영역의 프로세서는, 암호화된 생체 데이터를 일반 영역으로 전달할 수 있다. 예를 들면, 일반 영역의 프로세서는 암호화된 생체 데이터를 일반 영역으로 할당된 메모리(예; REE file system)에 저장할 수 있다.
동작(5870)에서 보안 영역의 프로세서는 생체 데이터 또는 암호화된 생체 데이터를 생체 인식을 위한 등록 정보로 저장 및 등록할 수 있다.
일 실시예에서, 프로세서는 생체 데이터를 보안 모드 시 접근 가능한 보안 영역에 저장 및 등록할 수 있다.
일 실시예에서, 프로세서는, 암호화 시 이용된 유니크 키 또는 유니크 키 생성을 위한 함수 정보를 보안 모드 시 접근 가능한 보안 영역에 저장하고, 암호화된 생체 데이터는 일반 영역으로 전달할 수 있다. 일반 영역 내의 프로세서는, 보안 영역으로부터 전달받은 암호화된 생체 데이터를 접근 제한이 없는 일반 영역에 저장 및 등록할 수 있다.
동작(5880)에서 보안 영역의 프로세서는 생체 등록 결과를 일반 영역으로 전달할 수 있다. 동작(5890)에서, 일반 영역의 프로세서는 가상의 일반 코어를 통해 생체 정보의 등록이 완료 정보를 사용자 인터페이스 또는 전자 장치의 구성요소를 통해 사용자에게 제공할 수 있다.
한편, 프로세서는, 로우 데이터의 품질 저하 등의 원인으로 생체 정보 등록이 실패할 경우, 재등록 절차를 수행하도록 처리할 수 있다. 이를 위해, 일반 영역에서 프로세서는, 등록 실패에 대한 피드백(예; 시각적, 청각적 효과 등) 및 새로운 센싱 데이터의 획득 중 적어도 하나를 사용자 인터페이스를 통해 제공되도록 제어할 수 있다.
생체 정보 인증 방법
도 59은 다양일 실시예에 따른, 전자 장치의 생체 정보 인증 방법을 도시한다. 도 59을 참조하면, 생체 인식 인증(예; 인증 모드)을 위해 동작(5910)에서 프로세서는, 일반 영역에서 생체 센서 모듈로부터 전달되는 인터럽트 신호를 기반으로 생체 정보 입력 이벤트를 검출할 수 있다. 상기 일반 영역에서 프로세서는, 생체 인식 인증을 위한 기능 요청이 발생되면, 생체 센서 모듈을 활성화시키고, 생체 센싱 모듈을 통해 센싱 객체를 센싱 할 수 있다.
동작(5920)에서 일반 영역의 프로세서는, 생체 정보 입력 이벤트가 검출되면, 이벤트 검출 신호를 보안 영역으로 전달할 수 있다. 이때, 이벤트 검출 신호는 보안 인터럽트 신호일 수 있다.
동작(5930)에서, 보안 영역의 프로세서는 생체 센싱 모듈로부터 센싱 데이터를 획득할 수 있다. 동작(5940)에서, 보안 영역의 프로세서는, 센싱 데이터를 기반으로 인식 객체의 고유 특징 정보를 산출하고, 생체 인증을 위한 생체 인증 데이터를 생성할 수 있다. 여기서, 생체 인증 데이터는 기 설정된 포맷 예를 들면, 템플릿 형태일 수 있다.
동작(5950)에서 보안 영역의 프로세서는, 일반 영역으로부터 암호화된 생체 등록 데이터를 전달받거나, 보안 영역으로 할당된 메모리로부터 암호화된 생체 등록 데이터를 획득할 수 있다.
동작(5960)에서 보안 영역의 프로세서는, 저장된 생체 등록 데이터(예; 암호화된 생체 데이터)를 복호화 할 수 있다. 예를 들면, 보안 영역의 프로세서는, 암호화된 생체 데이터가 획득되면, 암호화된 생체 데이터를 유니크 키를 이용하여 복호화 할 수 있다. 프로세서는, 유니크 키 생성을 위한 함수 정보를 접근 제한이 있는 보안 영역으로 할당된 메모리로부터 획득하고, 획득된 함수 정보를 통해 유니크 키를 생성할 수 있다.
동작(5970)에서 보안 영역의 프로세서는 생체 인증 데이터 및 생체 등록 데이터로부터 산출된 특징 정보를 비교하여 매칭값을 산출할 수 있다.
동작(5980)에서 보안 영역의 프로세서는, 특징 정보의 매칭값을 기준으로 생체 인증 성공 여부를 판단할 수 있다. 예를 들면, 프로세서는, 매칭값이 설정된 임계 값을 초과하는 경우, 생체 인증이 성공된 것으로 판단하고, 매칭값이 설정된 임계 값 이하인 경우, 생체 인증이 실패한 것으로 판단할 수 있다.
동작(5985)에서 보안 영역의 프로세서는, 생체 인식 인증 결과를 일반 영역으로 전달할 수 있다. 동작(5990)에서 일반 영역의 프로세서는, 생체 인식 인증 결과를 사용자 인터페이스 또는 전자 장치의 구성요소를 통해 사용자에게 제공할 수 있다.
한편, 프로세서는, 로우 데이터의 품질 저하 등의 원인으로 생체 정보 인식이 실패할 경우, 재인식 절차를 수행하도록 처리할 수 있다. 이를 위해, 일반 영역에서 프로세서는, 인식 실패에 대한 피드백(예; 시각적, 청각적 효과 등) 및 새로운 센싱 데이터의 획득 중 적어도 하나를 사용자 인터페이스를 통해 제공되도록 제어할 수 있다.
도 60을 참조하면, 운영 체제는 일반 영역과 보안 영역으로 구분될 수 있다. 보안 영역은 신뢰 영역(trusted region)일 수 있다. 생체 정보 인식 엔진은 운영체제의 보안 영역에 포함될 수 있다.
생체 센서로부터 신호를 수신하면, 생체 정보 인식 드라이버는 생체 센서로부터 신호가 수신되었다는 것을 생체 정보 입력 모듈에 알릴 수 있다. 생체 정보 입력 모듈은 생체 센서로부터 신호를 읽어올 수 있다. 생체 정보 처리 모듈 내 생체 정보 인식 엔진은 지문의 등록 알고리즘 및/또는 지문의 인식 알고리즘을 수행할 수 있다.
생체 정보 입력 모듈은 지문의 등록 알고리즘 및/또는 지문의 인식 알고리즘의 결과를 생체 정보 인식 드라이버에 전달할 수 있다. 생체 정보 인식 App은 보안 영역으로부터 출력된 결과에 기초하여 생체 정보 인식 서비스를 제공할 수 있다.
도 61은 일 실시예에 따른 운영 체제의 동작 방법을 나타낸 동작 흐름도이다. 도 61을 참조하면, 일 실시예에 따른 운영 체제의 동작 방법은 생체 센서를 이용하여 생체 정보 입력 동작을 감지하는 단계(6110), 생체 정보 입력 동작에 대응하는 인터럽트를 발생시켜 보안영역 내 생체 정보 입력 모듈에 전달하는 단계(6120), 보안영역 내 생체 정보 입력 모듈을 이용하여 사용자의 생체 정보를 읽는 단계(6130), 및 사용자의 생체 정보를 생체 정보 처리 모듈로 전달하는 단계(6140)를 포함한다.
도 62를 참조하면, 보안 영역에 생체 정보 입력 모듈을 포함하고, 일반 영역에 생체 정보 인식 엔진을 포함할 수도 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 비록 한정된 도면에 의해 실시예들이 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (37)

  1. 지문 인식을 위한 쿼리 영상(query image)를 수신하는 단계;
    상기 쿼리 영상의 특징에 기초하여, 상기 쿼리 영상에 대응하는 코드를 결정하는 단계;
    미리 구비된 룩업 테이블로부터 상기 코드에 대응하는 정보를 획득하는 단계; 및
    상기 코드에 대응하는 정보에 기초하여, 상기 쿼리 영상을 인증(verification)하는 단계
    를 포함하는, 지문 인식 방법.
  2. 제1항에 있어서,
    상기 특징은
    상기 쿼리 영상에 포함된 지문의 주 방향;
    상기 쿼리 영상에 포함된 지문의 부 방향;
    상기 쿼리 영상에 포함된 지문 방향의 일관성(coherence);
    상기 쿼리 영상에 포함된 지문의 세기(intensity); 및
    상기 쿼리 영상에 지문이 포함되는지 여부
    중 적어도 하나를 포함하는, 지문 인식 방법.
  3. 제1항에 있어서,
    상기 코드를 결정하는 단계는
    상기 코드를 미리 정해진 범위 내에서 변형하는 단계; 및
    상기 변형된 코드를 이용하여, 상기 쿼리 영상에 대응하는 코드를 결정하는 단계
    를 포함하는, 지문 인식 방법.
  4. 제1항에 있어서,
    상기 인증하는 단계는
    상기 코드에 대응하는 정보에 기초하여, 복수의 등록 영상들 중 적어도 하나의 후보 등록 영상을 선정하는 단계; 및
    상기 적어도 하나의 후보 등록 영상과 상기 쿼리 영상을 매칭하는 단계
    를 포함하는, 지문 인식 방법.
  5. 제4항에 있어서,
    상기 코드에 대응하는 정보는
    상기 코드에 대응하여, 상기 적어도 하나의 후보 등록 영상을 지시하는 인덱스를 포함하는, 지문 인식 방법.
  6. 제4항에 있어서,
    상기 복수의 등록 영상들 각각은
    기 등록된 사용자의 부분 지문에 해당하는, 지문 인식 방법.
  7. 제1항에 있어서,
    상기 인증하는 단계는
    상기 코드에 대응하는 정보에 기초하여, 기 등록된 사용자의 지문 영역 내 적어도 하나의 후보 영역을 검출하는 단계; 및
    상기 적어도 하나의 후보 영역과 상기 쿼리 영상을 매칭하는 단계
    를 포함하는, 지문 인식 방법.
  8. 제7항에 있어서,
    상기 코드에 대응하는 정보는
    상기 코드에 대응하여, 상기 적어도 하나의 후보 영역을 지시하는 트랜지션 정보 및 로테이션 정보를 포함하는, 지문 인식 방법.
  9. 제7항에 있어서,
    상기 기 등록된 사용자의 지문 영역은
    복수의 등록 영상들-상기 복수의 등록 영상들 각각은 상기 지문 영역의 일부에 해당함-이 스티칭 됨으로써 생성되는, 지문 인식 방법.
  10. 제1항에 있어서,
    상기 쿼리 영상은
    사용자의 지문 중 일부를 캡쳐 함으로써 생성되는, 지문 인식 방법.
  11. 제1항에 있어서,
    상기 쿼리 영상을 복수의 블록들로 분할하는 단계
    를 더 포함하고,
    상기 결정하는 단계는
    상기 복수의 블록들 각각의 특징에 기초하여, 상기 코드를 결정하는 단계
    를 포함하는, 지문 인식 방법.
  12. 기 등록된 사용자의 지문 영상으로부터 제1 특징을 추출하는 단계;
    상기 제1 특징에 기초하여, 룩업 테이블에 제1 원소를 저장하는 단계;
    상기 지문 영상을 회전시키는 단계;
    상기 회전된 지문 영상으로부터 제2 특징을 추출하는 단계; 및
    상기 제2 특징에 기초하여, 상기 룩업 테이블에 제2 원소를 저장하는 단계
    를 포함하는, 지문 인식을 위한 룩업 테이블 생성 방법.
  13. 제12항에 있어서,
    상기 제1 원소를 저장하는 단계는
    상기 제1 특징에 대응하는 코드를 결정하는 단계; 및
    상기 결정된 코드에 대응하여, 상기 지문 영상의 회전 각도와 관련된 정보를 상기 룩업 테이블에 저장하는 단계
    를 포함하는, 지문 인식을 위한 룩업 테이블 생성 방법.
  14. 제13항에 있어서,
    상기 제1 특징이 상기 지문 영상의 일부 영역에 대응하는 경우,
    상기 제1 원소를 저장하는 단계는
    상기 일부 영역의 위치와 관련된 정보를 상기 룩업 테이블에 저장하는 단계
    를 더 포함하는, 지문 인식을 위한 룩업 테이블 생성 방법.
  15. 제12항에 있어서,
    상기 제2 원소를 저장하는 단계는
    상기 제2 특징에 대응하는 코드를 결정하는 단계; 및
    상기 결정된 코드에 대응하여, 상기 회전된 지문 영상의 회전 각도와 관련된 정보를 상기 룩업 테이블에 저장하는 단계
    를 포함하는, 지문 인식을 위한 룩업 테이블 생성 방법.
  16. 제15항에 있어서,
    상기 제2 특징이 상기 지문 영상의 일부 영역에 대응하는 경우,
    상기 제2 원소를 저장하는 단계는
    상기 일부 영역의 위치와 관련된 정보를 상기 룩업 테이블에 저장하는 단계
    를 더 포함하는, 지문 인식을 위한 룩업 테이블 생성 방법.
  17. 복수의 부분 영상들을 수신하는 단계;
    지문의 중심에 가까운지 여부에 기초하여, 상기 복수의 부분 영상들을 정렬하는 단계; 및
    상기 정렬된 순서에 따라 상기 복수의 부분 영상들을 스티칭 하는 단계
    를 포함하는, 스티칭 방법.
  18. 제17항에 있어서,
    상기 정렬하는 단계는
    복수의 부분 영상들 각각에 포함된 지문의 방향 일관성을 계산하는 단계; 및
    상기 방향 일관성들에 기초하여 상기 복수의 부분 영상들을 정렬하는 단계
    를 포함하는, 스티칭 방법.
  19. 제18항에 있어서,
    상기 방향 일관성들을 계산하는 단계는
    해당하는 부분 영상 내 픽셀들의 그레디언트를 계산하는 단계; 및
    상기 계산된 그레디언트에 기초하여 상기 해당하는 부분 영상의 방향 일관성을 계산하는 단계
    를 포함하는, 스티칭 방법.
  20. 제18항에 있어서,
    상기 복수의 부분 영상들을 정렬하는 단계는
    상기 방향 일관성들의 오름차순으로 상기 부분 영상들을 정렬하는 단계
    를 포함하는, 스티칭 방법.
  21. 제17항에 있어서,
    상기 스티칭 하는 단계는
    특징 정보에 기반한 제1 매칭에 기초하여, 현재까지 스티칭 된 영상과 상기 정렬된 순서에 따른 다음 부분 영상을 스티칭 하는 단계; 및
    픽셀 정보에 기반한 제2 매칭에 기초하여, 현재까지 스티칭 된 영상과 상기 정렬된 순서에 따른 다음 부분 영상을 스티칭 하는 단계
    중 적어도 하나를 포함하는, 스티칭 방법.
  22. 제17항에 있어서,
    상기 스티칭 하는 단계는
    특징 정보에 기반한 제1 매칭에 기초하여, 현재까지 스티칭 된 영상과 상기 정렬된 순서에 따른 다음 부분 영상을 매칭함으로써 차이 값을 결정하는 단계;
    상기 차이 값이 미리 정해진 임계 값보다 작은 경우, 상기 매칭 결과에 따라 상기 현재까지 스티칭 된 영상과 상기 다음 부분 영상을 스티칭 하는 단계; 및
    상기 차이 값이 상기 임계 값보다 큰 경우, 픽셀 정보에 기반한 제2 매칭에 기초하여, 상기 현재까지 스티칭 된 영상과 상기 다음 부분 영상을 스티칭 하는 단계
    를 포함하는, 스티칭 방법.
  23. 제17항에 있어서,
    상기 복수의 부분 영상들이 스티칭 됨으로써 생성된 지문 영상을 저장하는 단계
    를 더 포함하는, 스티칭 방법.
  24. 제23항에 있어서,
    스티칭에 관여하지 못한 적어도 하나의 부분 영상을 저장하는 단계
    를 더 포함하는, 스티칭 방법.
  25. 제17항에 있어서,
    상기 복수의 부분 영상들 중 적어도 일부의 부분 영상들이 스티칭 됨으로써 생성된 제1 지문 영상-상기 제1 지문 영상은 지문 인식을 위한 주요 영역에 해당함-을 저장하는 단계
    를 더 포함하는, 스티칭 방법.
  26. 제25항에 있어서,
    상기 복수의 부분 영상들 중 나머지 부분 영상들이 스티칭 됨으로써 생성된 제2 지문 영상-상기 제2 지문 영상은 상기 주요 영역의 주변 영역에 해당함-을 저장하는 단계
    를 더 포함하는, 스티칭 방법.
  27. 지문 인식을 위한 쿼리 영상을 수신하는 단계;
    특징 정보에 기반한 제1 매칭에 기초하여, 등록 영상들 중 상기 쿼리 영상과 오버랩 되는 후보 등록 영상들을 검출하는 단계;
    픽셀 정보에 기반한 제2 매칭에 기초하여, 상기 쿼리 영상과 상기 후보 등록 영상들을 비교하는 단계; 및
    상기 비교 결과에 기초하여, 상기 쿼리 영상을 인증하는 단계
    를 포함하는, 지문 인증 방법.
  28. 제27항에 있어서,
    상기 검출하는 단계는
    상기 쿼리 영상과 오버랩 되는 영역의 크기에 기초하여, 미리 정해진 수의 후보 등록 영상들을 검출하는 단계
    를 포함하는, 지문 인증 방법.
  29. 제27항에 있어서,
    상기 비교하는 단계는
    상기 쿼리 영상과 상기 후보 등록 영상들 사이의 트랜지션 정보 및 로테이션 정보를 결정하는 단계
    를 포함하는, 지문 인증 방법.
  30. 제29항에 있어서,
    상기 비교하는 단계는
    상기 쿼리 영상을 분할하는 블록들의 제1 주 방향들을 계산하는 단계;
    상기 후보 등록 영상들 각각을 분할하는 블록들의 제2 주 방향들을 계산하는 단계; 및
    상기 제1 주 방향들 중 적어도 일부와 상기 제2 주 방향들 중 적어도 일부를 비교함으로써, 상기 트랜지션 정보 및 상기 로테이션 정보를 결정하는 단계
    를 포함하는, 지문 인증 방법.
  31. 손가락의 근접 움직임(proximity movement)을 추적하는 단계; 및
    상기 추적된 근접 움직임에 기초하여 지문 등록 프로시저(procedure)를 가이드(guide)하는 사용자 인터페이스를 제공하는 단계
    를 포함하는, 지문 등록 방법.
  32. 제31항에 있어서,
    상기 사용자 인터페이스는
    지문 등록을 위한 손가락의 외형을 표시하는 제1 인터페이스;
    기 획득된 지문 영역을 표시하는 제2 인터페이스;
    획득될 지문 영역을 표시하는 제3 인터페이스; 및
    상기 추적되는 손가락의 외형을 표시하는 제4 인터페이스
    중 적어도 하나를 포함하는, 지문 등록 방법.
  33. 제32항에 있어서,
    상기 사용자 인터페이스를 제공하는 단계는
    상기 추적된 근접 움직임에 기초하여 상기 제1 인터페이스, 상기 제2 인터페이스, 상기 제3 인터페이스, 및 상기 제4 인터페이스 중 적어도 하나를 제어하는 단계
    를 포함하는, 지문 등록 방법.
  34. 복수의 뷰들(views)에서 지문을 입력 받는 단계;
    복수의 앵글들(angles)에서 지문을 입력 받는 단계; 및
    복수의 뷰들 및 복수의 앵글들의 조합에 따라 지문을 입력 받는 단계
    중 적어도 하나를 포함하는, 지문 등록 방법.
  35. 제34항에 있어서,
    상기 복수의 뷰들은
    지문 등록을 위한 손가락의 정면 뷰, 왼쪽 측면 뷰, 및 오른쪽 측면 뷰 중 적어도 둘을 포함하는, 지문 등록 방법.
  36. 제34항에 있어서,
    상기 복수의 뷰들에서 입력된 등록 영상들을 저장하는 단계;
    상기 복수의 뷰들에서 입력된 등록 영상들이 스티칭 된 영상을 저장하는 단계;
    상기 복수의 앵글들에서 입력된 등록 영상들을 저장하는 단계;
    상기 복수의 앵글들에서 입력된 등록 영상들이 스티칭 된 영상을 저장하는 단계;
    상기 조합에 따라 입력된 등록 영상들을 저장하는 단계; 및
    상기 조합에 따라 입력된 등록 영상들이 스티칭 된 영상을 저장하는 단계
    중 적어도 하나를 더 포함하는, 지문 등록 방법.
  37. 하드웨어와 결합되어 제1항 내지 제36항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
KR1020150002414A 2015-01-08 2015-01-08 지문 인식 방법, 장치 및 시스템 KR102202690B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150002414A KR102202690B1 (ko) 2015-01-08 2015-01-08 지문 인식 방법, 장치 및 시스템
US14/933,614 US10140500B2 (en) 2015-01-08 2015-11-05 Method, apparatus, and system for recognizing fingerprint
US16/181,962 US10853617B2 (en) 2015-01-08 2018-11-06 Method, apparatus, and system for recognizing fingerprint

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150002414A KR102202690B1 (ko) 2015-01-08 2015-01-08 지문 인식 방법, 장치 및 시스템

Publications (2)

Publication Number Publication Date
KR20160018318A true KR20160018318A (ko) 2016-02-17
KR102202690B1 KR102202690B1 (ko) 2021-01-13

Family

ID=55457576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150002414A KR102202690B1 (ko) 2015-01-08 2015-01-08 지문 인식 방법, 장치 및 시스템

Country Status (2)

Country Link
US (2) US10140500B2 (ko)
KR (1) KR102202690B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017183830A1 (ko) * 2016-04-22 2017-10-26 아이리텍 잉크 홍채템플릿 분산 저장 및 매칭을 이용한 홍채인식 보안 강화 방법 및 장치
EP3258418A1 (en) * 2016-06-17 2017-12-20 Beijing Xiaomi Mobile Software Co., Ltd. Fingerprint entry prompting method and device
KR20180012882A (ko) * 2016-07-05 2018-02-07 주식회사 슈프리마 지문 인증 방법 및 장치
KR20190107053A (ko) * 2017-01-04 2019-09-18 지원 루 물체무늬 코드의 부호화 방법 및 시스템
US10445546B2 (en) 2017-01-23 2019-10-15 Samsung Electronics Co., Ltd. Authentication method and authentication apparatus using synthesized code for iris

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9514349B2 (en) * 2015-02-27 2016-12-06 Eaton Corporation Method of guiding a user of a portable electronic device
US10339178B2 (en) * 2015-06-30 2019-07-02 Samsung Electronics Co., Ltd. Fingerprint recognition method and apparatus
KR101639986B1 (ko) * 2015-10-07 2016-07-15 크루셜텍 (주) 지문 등록 및 인증 속도 향상을 위한 지문 정보 프로세싱 방법 및 그 장치
KR102020638B1 (ko) 2016-09-20 2019-11-04 삼성전자주식회사 가이드를 통해 지문 정보를 입력받는 장치 및 방법
KR20180086087A (ko) 2017-01-20 2018-07-30 삼성전자주식회사 지문 정보 처리 방법
KR102320024B1 (ko) 2017-04-24 2021-11-01 삼성전자 주식회사 생체 인증 정보에 기반한 인증 방법 및 장치
CN111052133B (zh) * 2017-09-07 2023-09-08 指纹卡安娜卡敦知识产权有限公司 用于确定手指与指纹传感器接触的方法和指纹感测系统
CN107689030A (zh) * 2017-09-18 2018-02-13 上海联影医疗科技有限公司 一种图像处理的方法及装置
TWI735821B (zh) * 2018-04-12 2021-08-11 神盾股份有限公司 指紋註冊方法以及使用其的電子裝置
US10755068B2 (en) 2017-10-16 2020-08-25 Egis Technology Inc. Fingerprint registration method and electronic device using the same
WO2019135700A1 (en) * 2018-01-08 2019-07-11 Fingerprint Cards Ab Improved fingerprint matching in in-display solutions
JP7086630B2 (ja) * 2018-02-09 2022-06-20 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
CN109919276A (zh) * 2019-01-13 2019-06-21 湖南省农业信息与工程研究所 一种基于产品表面纹理图像特征的防伪方法
US11241173B2 (en) * 2020-07-09 2022-02-08 Mediatek Inc. Physiological monitoring systems and methods of estimating vital-sign data
CN117173818A (zh) * 2023-10-16 2023-12-05 东莞市安邦德智能锁具科技有限公司 一种基于指纹识别的智能锁使用方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124669A (ja) * 1996-10-17 1998-05-15 Chuo Spring Co Ltd 指紋照合装置
US20050129291A1 (en) * 2003-10-01 2005-06-16 Authentec, Inc. State Of Incorporation: Delaware Methods for finger biometric processing and associated finger biometric sensors
KR20080069809A (ko) * 2007-01-24 2008-07-29 (주) 대성하이텍 지문인식장치에서 이미지 세그먼트를 이용한 지문 인식방법
KR20120047991A (ko) * 2009-08-19 2012-05-14 해리스 코포레이션 지문 인페인팅 타겟 영역의 자동 식별

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100393753B1 (en) 2002-02-28 2003-08-02 Smart Technology Co Ltd Method for recognizing fingerprint using dual mode matching
KR100613697B1 (ko) 2003-07-18 2006-08-21 학교법인연세대학교 손가락의 슬라이딩/롤링에 따른 지문영상획득방법
KR100617292B1 (ko) 2003-11-14 2006-08-30 한국전자통신연구원 지문 인식 방법 및 그 장치
JP4389971B2 (ja) 2007-06-19 2009-12-24 ミツミ電機株式会社 指紋画像形成装置及びこれに用いる指移動量推定方法
JP4535104B2 (ja) 2007-09-06 2010-09-01 ミツミ電機株式会社 画像補正装置及び画像補正方法及びこれらを用いた指紋画像読取装置及び指紋画像読取方法
KR101006861B1 (ko) 2008-06-30 2011-01-12 주식회사 유니온커뮤니티 지문인증 장치의 인증방법
JP5247295B2 (ja) 2008-08-13 2013-07-24 ラピスセミコンダクタ株式会社 画像処理方法及び画像処理装置
KR101054312B1 (ko) 2009-08-28 2011-08-08 연세대학교 산학협력단 다시점 지문영상의 결합방법
KR20110114191A (ko) 2010-04-13 2011-10-19 (주)아와시스템 특징점 구조 기반의 지문 매칭 방법
US20120127179A1 (en) * 2010-11-19 2012-05-24 Nokia Corporation Method, apparatus and computer program product for user interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124669A (ja) * 1996-10-17 1998-05-15 Chuo Spring Co Ltd 指紋照合装置
US20050129291A1 (en) * 2003-10-01 2005-06-16 Authentec, Inc. State Of Incorporation: Delaware Methods for finger biometric processing and associated finger biometric sensors
KR20080069809A (ko) * 2007-01-24 2008-07-29 (주) 대성하이텍 지문인식장치에서 이미지 세그먼트를 이용한 지문 인식방법
KR20120047991A (ko) * 2009-08-19 2012-05-14 해리스 코포레이션 지문 인페인팅 타겟 영역의 자동 식별

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017183830A1 (ko) * 2016-04-22 2017-10-26 아이리텍 잉크 홍채템플릿 분산 저장 및 매칭을 이용한 홍채인식 보안 강화 방법 및 장치
EP3258418A1 (en) * 2016-06-17 2017-12-20 Beijing Xiaomi Mobile Software Co., Ltd. Fingerprint entry prompting method and device
US10346669B2 (en) 2016-06-17 2019-07-09 Beijing Xiaomi Mobile Software Co., Ltd. Fingerprint entry prompting method and device
KR20180012882A (ko) * 2016-07-05 2018-02-07 주식회사 슈프리마 지문 인증 방법 및 장치
US10244969B2 (en) 2016-07-05 2019-04-02 Suprema Inc. Method and device for fingerprint authentication
KR20190107053A (ko) * 2017-01-04 2019-09-18 지원 루 물체무늬 코드의 부호화 방법 및 시스템
US10445546B2 (en) 2017-01-23 2019-10-15 Samsung Electronics Co., Ltd. Authentication method and authentication apparatus using synthesized code for iris

Also Published As

Publication number Publication date
KR102202690B1 (ko) 2021-01-13
US20190073512A1 (en) 2019-03-07
US10140500B2 (en) 2018-11-27
US20160203354A1 (en) 2016-07-14
US10853617B2 (en) 2020-12-01

Similar Documents

Publication Publication Date Title
KR102202690B1 (ko) 지문 인식 방법, 장치 및 시스템
US11188734B2 (en) Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
US9361507B1 (en) Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
US11263432B2 (en) Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
JP6226802B2 (ja) ユーザーの指紋から得られるバイオメトリックデータを認証する方法及びシステム、および、バイオメトリック認証システム
US10877568B2 (en) Three-dimensional in-the-air finger motion based user login framework for gesture interface
US9922237B2 (en) Face authentication system
US10509943B2 (en) Method of processing fingerprint information
KR102313981B1 (ko) 지문 인증 방법 및 장치
SE1451336A1 (en) Enrolling templates for biometric authentication
KR102558741B1 (ko) 사용자 등록 장치 및 방법
KR102279550B1 (ko) 홍채를 위한 합성 코드를 이용한 인증 방법 및 인증 장치
CA3166863A1 (en) System and method for disentangling features specific to users, actions and devices recorded in motion sensor data
KR102387569B1 (ko) 지문 인증 방법 및 장치
CN110651268B (zh) 认证用户的方法和电子设备
KR20170130796A (ko) 사용자 동작 기반 인증 시스템 및 그 방법
US20180157814A1 (en) Personal authentication method and apparatus based on recognition of fingertip gesture and identification of fake pattern

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant