KR20200140571A - 데이터 인식 방법 및 장치 - Google Patents

데이터 인식 방법 및 장치 Download PDF

Info

Publication number
KR20200140571A
KR20200140571A KR1020190067363A KR20190067363A KR20200140571A KR 20200140571 A KR20200140571 A KR 20200140571A KR 1020190067363 A KR1020190067363 A KR 1020190067363A KR 20190067363 A KR20190067363 A KR 20190067363A KR 20200140571 A KR20200140571 A KR 20200140571A
Authority
KR
South Korea
Prior art keywords
data
input
score
vector
feature
Prior art date
Application number
KR1020190067363A
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 KR1020190067363A priority Critical patent/KR20200140571A/ko
Priority to US16/845,464 priority patent/US11574641B2/en
Publication of KR20200140571A publication Critical patent/KR20200140571A/ko

Links

Images

Classifications

    • G06K9/481
    • 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
    • G10L17/08Use of distortion metrics or a particular distance between probe pattern and reference templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • 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
    • G06K9/6201
    • 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
    • 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/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • 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
    • G10L17/00Speaker identification or verification techniques
    • G10L17/18Artificial neural networks; Connectionist approaches
    • 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/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction

Landscapes

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

Abstract

데이터를 인식하는 장치 및 방법이 제공된다. 일 실시예에 따른 데이터를 인식하는 장치는 입력 특징 데이터, 등록 사용자에 대응하는 복수의 등록 특징 데이터의 공통 성분 데이터 및 분포 성분 데이터로부터 매칭 스코어를 산출하고, 산출된 매칭 스코어에 기초하여 상기 입력 데이터를 인식할 수 있다.

Description

데이터 인식 방법 및 장치{METHOD AND DEVICE FOR DATA RECOGNITION}
이하, 데이터를 인식하는 기술이 제공된다.
최근 들어, 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하기 위하여, 인간이 지니고 있는 효율적인 패턴 인식 방법을 실제 컴퓨터에 적용시키려는 연구가 활발히 진행되고 있다. 이러한 연구 중 하나로, 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링 한 인공 뉴럴 네트워크(artificial neural network)에 대한 연구가 있다. 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하기 위해, 인공 뉴럴 네트워크는 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여 인공 뉴럴 네트워크는 입력 패턴과 출력 패턴들 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 인공 뉴럴 네트워크의 학습 능력이라고 표현된다. 또한, 인공 뉴럴 네트워크는 학습된 결과에 기초하여 학습에 이용되지 않았던 입력 패턴에 대하여 비교적 올바른 출력을 생성할 수 있는 일반화 능력을 가진다.
일 실시예에 따르면 데이터 인식 방법은 입력 데이터를 수신하여, 상기 입력 데이터로부터 입력 특징 데이터를 추출하는 단계; 상기 입력 특징 데이터, 등록 사용자에 대응하는 복수의 등록 특징 데이터의 공통 성분 데이터 및 분포 성분 데이터로부터 매칭 스코어를 산출하는 단계; 및 상기 매칭 스코어에 기초하여 상기 입력 데이터를 인식하는 단계를 포함할 수 있다.
상기 공통 성분 데이터는, 각 인덱스마다 상기 복수의 등록 특징 벡터들의 원소들 중 동일한 인덱스의 원소들의 평균 값을 원소로 가지는 평균 특징 벡터를 포함하며, 상기 분포 성분 데이터는, 각 인덱스마다 상기 복수의 등록 특징 벡터들에서 동일한 인덱스의 원소들의 분산 값을 원소로 가지는 분산 특징 벡터를 포함할 수 있다.
상기 매칭 스코어를 산출하는 단계는, 상기 입력 특징 데이터의 적어도 일부 원소, 상기 공통 성분 데이터의 적어도 일부 원소, 및 상기 분포 성분 데이터의 적어도 일부 원소로부터 부분 스코어(partial score)를, 상기 매칭 스코어로서, 산출하는 단계를 포함할 수 있다.
상기 부분 스코어를 산출하는 단계는, 상기 입력 특징 데이터에서 대상 인덱스(target index)에 대응하는 원소, 상기 공통 성분 데이터에서 상기 대상 인덱스에 대응하는 원소, 및 상기 분포 성분 데이터에서 상기 대상 인덱스에 대응하는 원소에 기초하여, 상기 대상 인덱스에서의 원소 스코어(entry score)를 산출하는 단계; 및 적어도 하나의 다른 인덱스에서의 원소 스코어에 상기 대상 인덱스에서의 원소 스코어를 누적함(accumulate)으로써 상기 부분 스코어를 산출하는 단계를 포함할 수 있다.
상기 입력 특징 데이터, 상기 공통 성분 데이터, 및 상기 분포 성분 데이터는 서로 동일한 차원(dimension)을 가지는 차원 벡터(dimension vector)로 구성되고, 상기 입력 데이터를 인식하는 단계는, 상기 차원의 모든 인덱스에 대한 스코어가 산출되기 전, 상기 차원의 일부 인덱스에 대해 산출된 부분 스코어에 기초하여 상기 입력 데이터를 인식하는 단계를 포함할 수 있다.
상기 입력 데이터를 인식하는 단계는, 상기 부분 스코어를 부분 성공 임계 레벨에 비교한 결과에 기초하여, 상기 입력 데이터에 기초한 인식의 성공 여부를 결정하는 단계; 및 상기 부분 스코어를 부분 실패 임계 레벨에 비교한 결과에 기초하여, 상기 입력 데이터에 기초한 인식의 실패 여부를 결정하는 단계를 포함할 수 있다.
상기 입력 데이터를 인식하는 단계는, 상기 입력 데이터에 의해 지시되는 사용자가 상기 등록 사용자에 매칭하는 것으로 결정된 경우에 응답하여, 장치에 대한 억세스를 허용하는 단계를 포함할 수 있다.
상기 매칭 스코어를 산출하는 단계는, 복수의 등록 벡터 데이터를 복수의 그룹들로 클러스터링하여 저장한 등록 데이터베이스로부터, 상기 복수의 그룹들의 각각에 대응하는 대표 평균 벡터(representative mean vector) 및 대표 분산 벡터(representative variance vector)를 로딩(load)하는 단계; 상기 입력 특징 데이터, 상기 대표 평균 벡터 및 상기 대표 분산 벡터에 기초하여, 상기 복수의 그룹들 중 상기 입력 특징 데이터가 매칭하는 그룹을 식별하는 단계; 및 상기 식별된 그룹 내에 속한 등록 벡터 데이터에 상기 입력 데이터가 매칭하는지 여부를 결정하는 단계를 포함하고, 상기 복수의 등록 벡터 데이터의 각각은, 공통 성분 데이터 및 분포 성분 데이터를 포함할 수 있다.
상기 입력 특징 데이터를 추출하는 단계는, 사용자로부터 입력 이미지를 상기 입력 데이터로서 수신하는 단계; 및 상기 입력 이미지로부터 상기 입력 특징 데이터를 추출하는 단계를 포함하고, 상기 입력 데이터를 인식하는 단계는,상기 매칭 스코어에 기초하여, 상기 입력 이미지에 나타난 객체가 상기 등록 사용자인 지 여부를 결정하는 단계를 포함할 수 있다.
상기 입력 특징 데이터를 추출하는 단계는, 사용자로부터 음성 신호를 상기 입력 데이터로서 수신하는 단계; 및 상기 음성 신호로부터 상기 입력 특징 데이터를 추출하는 단계를 포함하고, 상기 입력 데이터를 인식하는 단계는,상기 매칭 스코어에 기초하여 상기 음성 신호의 화자(speaker)가 상기 등록 사용자인 지 여부를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 데이터 인식 장치는 입력 데이터를 수신하는 입력부; 및 상기 입력 데이터로부터 입력 특징 데이터를 추출하고, 상기 입력 특징 데이터, 등록 사용자에 대응하는 복수의 등록 특징 데이터의 공통 성분 데이터 및 분포 성분 데이터로부터 매칭 스코어를 산출하며, 상기 매칭 스코어에 기초하여 상기 입력 데이터를 인식하는 프로세서를 포함할 수 있다.
상기 프로세서는, 상기 입력 특징 데이터를 추출하도록 구성되는 뉴럴 프로세서(Neural Processor); 및 상기 뉴럴 프로세서로부터 전달된 상기 입력 특징 데이터, 상기 공통 성분 데이터, 및 상기 분포 성분 데이터로부터 상기 매칭 스코어를 산출하도록 구성되는 메인 프로세서를 포함할 수 있다.
상기 프로세서는, 상기 입력 데이터로부터 대상 데이터를 검출하는 디지털 신호 프로세서(DSP, digital signal processor); 및 상기 대상 데이터로부터 상기 입력 특징 데이터를 추출하는 메인 프로세서를 포함할 수 있다.
도 1은 일 실시예에 따른 특징 추출 모델을 설명하는 도면이다.
도 2는 일 실시예에 따른 데이터 인식 방법을 설명하는 흐름도이다.
도 3은 일 실시예에 따른 데이터 인식 과정을 설명하는 도면이다.
도 4는 일 실시예에 따른 공통 성분 데이터 및 분포 성분 데이터의 예시를 설명하는 도면이다.
도 5 및 도 6은 일 실시예에 따른 매칭 스코어 산출 및 데이터 인식을 설명하는 도면이다.
도 7은 다른 일 실시예에 따른 데이터 인식을 설명하는 도면이다.
도 8a 내지 도 8c는 일 실시예에 따른 프로세서의 구성을 설명하는 도면이다.
도 9 및 도 10은 일 실시예에 따른 데이터 인식 장치의 구성을 설명하는 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수 개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 특징 추출 모델을 설명하는 도면이다.
일 실시예에 따른 데이터 인식 장치는 입력 이미지로부터 추출된 특징 데이터를 이용하여 사용자를 인식할 수 있다. 예를 들어, 데이터 인식 장치는 특징 추출 모델에 기초하여, 입력 이미지로부터 특징 데이터를 추출할 수 있다. 특징 데이터는 이미지가 추상화된 데이터로서, 예를 들어, 벡터의 형태로 나타낼 수 있다. 특징 추출 모델은 이미지로부터 특징 데이터를 추출하도록 설계된 모델로서, 예를 들어, 기계 학습 구조일 수 있고, 뉴럴 네트워크(100)를 포함할 수 있다.
뉴럴 네트워크(neural network)(100)는 딥 뉴럴 네트워크(DNN, deep neural network)의 예시에 해당할 수 있다. DNN은 완전 연결 네트워크(fully connected network), 딥 컨볼루셔널 네트워크(deep convolutional network) 및 리커런트 뉴럴 네트워크(recurrent neural network) 등을 포함할 수 있다. 뉴럴 네트워크(100)는 딥 러닝에 기반하여 비선형적 관계에 있는 입력 데이터 및 출력 데이터를 서로 매핑함으로써 객체 분류, 객체 인식, 음성 인식 및 이미지 인식 등을 수행할 수 있다. 딥 러닝은 빅 데이터 세트로부터 이미지 또는 음성 인식과 같은 문제를 해결하기 위한 기계 학습 기법으로 지도식(supervised) 또는 비지도식(unsupervised) 학습을 통해 입력 데이터 및 출력 데이터를 서로 매핑할 수 있다.
본 명세서에서 인식(recognition)은 데이터의 검증(verification) 또는/및 데이터의 식별(identification)을 포함할 수 있다. 검증은 입력 데이터가 참인지 또는 거짓인지를 판단하는 동작을 나타낼 수 있다. 예를 들어, 검증은 임의의 입력 이미지에 의해 지시되는 객체(예를 들어, 사람의 얼굴)가 기준 이미지에 의해 지시되는 객체와 동일한 지 여부를 판단하는 판별 동작을 나타낼 수 있다. 일 실시예에 따른 데이터 인식 장치는 입력 이미지로부터 추출되어 획득된 데이터가 장치 내에 기 등록된 등록 데이터와 동일한 지 여부를 검증하고, 두 데이터가 동일한 것으로 검증된 경우에 응답하여 입력 이미지에 대응하는 사용자에 대한 검증이 성공한 것으로 결정할 수 있다. 다만, 이로 한정하는 것은 아니고, 데이터 인식 장치 내에 복수의 등록 데이터가 저장된 경우, 데이터 인식 장치는 입력 이미지로부터 추출되어 획득된 데이터를 복수의 등록 데이터의 각각에 대해 순차적으로 검증할 수도 있다.
식별은 복수의 레이블들 중 입력 데이터가 지시하는 레이블(label)을 판단하는 분류 동작을 나타낼 수 있고, 예를 들어, 각 레이블은 클래스(예를 들어, 등록된 사용자들의 신원(ID, identity))를 지시할 수 있다. 예를 들어, 식별 동작을 통해 입력 데이터에 포함된 사용자가 남성인 지 또는 여성인 지 여부가 지시될 수 있다.
도 1을 참조하면, 뉴럴 네트워크(100)는 입력 레이어(110), 히든 레이어(120) 및 출력 레이어(130)를 포함한다. 입력 레이어(110), 히든 레이어(120) 및 출력 레이어(130)는 각각 복수의 인공 노드들을 포함한다.
도 1에는 설명의 편의를 위해 히든 레이어(120)가 3개의 레이어를 포함하는 것으로 도시되었나, 히든 레이어(120)는 다양한 수의 레이어들을 포함할 수 있다. 또한, 도 1에는 뉴럴 네트워크(100)는 입력 데이터를 수신하기 위한 별도의 입력 레이어를 포함하는 것으로 도시되었으나, 입력 데이터가 히든 레이어(120)에 직접 입력될 수 있다. 뉴럴 네트워크(100)에서 출력 레이어(130)를 제외한 레이어들의 인공 노드들은 출력 신호를 전송하기 위한 링크들을 통해 다음 레이어의 인공 노드들과 연결될 수 있다. 링크들의 수는 다음 레이어에 포함된 인공 노드들의 수에 대응할 수 있다.
히든 레이어(120)에 포함된 각각의 인공 노드에는 이전 레이어에 포함된 인공 노드들의 가중된 입력들(weighted inputs)에 관한 활성 함수(activation function)의 출력이 입력될 수 있다. 가중된 입력은 이전 레이어에 포함된 인공 노드들의 입력에 가중치(weight)가 곱해진 것이다. 가중치는 뉴럴 네트워크(100)의 파라미터로 지칭될 수 있다. 활성 함수는 시그모이드(sigmoid), 하이퍼볼릭 탄젠트(hyperbolic tangent; tanh) 및 렐루(rectified linear unit; ReLU)를 포함할 수 있고, 활성 함수에 의해 뉴럴 네트워크(100)에 비선형성이 형성될 수 있다. 출력 레이어(130)에 포함된 각각의 인공 노드에는 이전 레이어에 포함된 인공 노드들의 가중된 입력들이 입력될 수 있다.
일 실시예에 따르면 뉴럴 네트워크(100)는 입력 데이터가 주어지면 히든 레이어(120)를 거쳐 출력 레이어(130)에서 식별하고자 하는 클래스의 수에 따라 함수 값을 계산하고, 이들 중 가장 큰 값을 갖는 클래스로 입력 데이터를 식별할 수 있다. 뉴럴 네트워크(100)는 입력 데이터를 식별할 수 있으나, 이로 한정하는 것은 아니고, 뉴럴 네트워크(100)는 입력 데이터를 기준 데이터(예를 들어, 등록 데이터)에 대해 검증할 수도 있다. 아래의 인식 과정에 관한 설명은 주로 검증 과정으로 설명하지만, 성격에 반하지 않는 한 식별 과정에도 적용될 수 있다.
뉴럴 네트워크(100)의 폭과 깊이가 충분히 크면 임의의 함수를 구현할 수 있을 만큼의 용량(capacity)을 가질 수 있다. 뉴럴 네트워크(100)가 적절한 트레이닝 과정을 통해 충분히 많은 트레이닝 데이터를 학습하면, 최적의 인식 성능을 달성할 수 있다.
위에서는 특징 추출 모델의 예시로서, 뉴럴 네트워크(100)를 설명하였으나, 특징 추출 모델을 뉴럴 네트워크(100)로 한정하는 것은 아니다. 아래에서는 특징 추출 모델을 이용하여 추출된 특징 데이터를 이용한 검증 동작을 주로 설명한다.
도 2는 일 실시예에 따른 데이터 인식 방법을 설명하는 흐름도이다.
우선, 단계(210)에서 데이터 인식 장치는 입력 데이터를 수신하여, 입력 데이터로부터 입력 특징 데이터를 추출할 수 있다. 일 실시예에 따르면 데이터 인식 장치는 특징 추출 모델에 기초하여 입력 데이터로부터 입력 특징 데이터를 추출할 수 있다. 특징 추출 모델은 예를 들어, 도 1에서 설명한 트레이닝된 뉴럴 네트워크일 수 있다. 입력 특징 데이터가 벡터 형태의 데이터인 경우, 입력 특징 벡터라고 나타낼 수도 있다. 입력 데이터는 사용자로부터 입력된 이미지 및/또는 음성 신호일 수 있다.
그리고 단계(220)에서 데이터 인식 장치는 입력 특징 데이터, 등록 사용자에 대응하는 복수의 등록 특징 데이터의 공통 성분 데이터 및 분포 성분 데이터로부터 매칭 스코어를 산출할 수 있다. 데이터 인식 장치는 메모리에 저장된 등록 데이터베이스로부터, 임의의 등록 사용자에 대응하는 공통 성분 데이터 및 분포 성분 데이터를 로딩할 수 있다. 데이터 인식 장치는 로딩된 공통 성분 데이터, 분포 성분 데이터, 및 단계(210)에서 추출된 입력 특징 데이터로부터 매칭 스코어를 산출할 수 있다.
본 명세서에서 공통 성분 데이터는 동일한 등록 사용자에 대응하는 복수의 등록 특징 데이터의 공통 성분을 지시하는 데이터일 수 있다. 예를 들어, 공통 성분 데이터는 해당 등록 사용자의 얼굴 이미지 및/또는 음성 신호로부터 다양한 환경에서 일정하게 유지되는 공통되는 성분에 관한 정보를 나타낼 수 있다. 분포 성분 데이터는 동일한 등록 사용자에 대응하는 복수의 등록 특징 데이터의 분포 성분을 지시하는 데이터일 수 있다. 분포 성분 데이터는 해당 등록 사용자의 특성 등에 따라 고유하게 변화하는 분포에 관한 정보를 나타낼 수 있다. 참고로, 공통 성분 데이터는 평균 특징 벡터일 수 있고, 분포 성분 데이터는 분산 특징 벡터일 수 있는데, 평균 특징 벡터 및 분산 특징 벡터는 매칭 스코어의 산출과 함께 아래 도 4에서 설명한다.
이어서 단계(230)에서 데이터 인식 장치는 매칭 스코어에 기초하여 입력 데이터를 인식할 수 있다. 예를 들어, 데이터 인식 장치는 매칭 스코어로서 유사도를 산출할 수 있고, 유사도가 임계 유사 레벨을 초과하는 경우에 응답하여, 입력 데이터에 의해 지시되는 객체가 등록 사용자에 매칭하는 것으로 결정할 수 있다. 유사도가 임계 유사 레벨 이하인 경우에 응답하여, 데이터 인식 장치는 입력 데이터에 의해 지시되는 객체가 등록 사용자에 매칭되지 않는 것으로 결정할 수 있다. 다만, 이로 한정하는 것은 아니고, 데이터 인식 장치는 매칭 스코어로서, 유클리드 거리 값과 같이 두 데이터(예를 들어, 두 벡터) 간의 차이 정도(difference level)를 나타내는 값을 산출할 수 있다. 이 때, 데이터 인식 장치는 산출된 거리 값이 임계 거리 레벨 이하인 경우에 응답하여, 입력 데이터에 의해 지시되는 객체가 등록 사용자에 매칭하는 것으로 결정할 수 있다. 반대로, 산출된 거리 값이 임계 거리 레벨을 초과하는 경우에 응답하여, 데이터 인식 장치는 입력 데이터에 의해 지시되는 객체가 등록 사용자에 매칭되지 않는 것으로 결정할 수 있다.
일 실시예에 따른 데이터 인식 장치는 공통 성분 데이터 뿐만 아니라 분포 성분 데이터도 함께 고려하여 입력 특징 데이터에 대한 매칭 스코어를 산출함으로써, 공통 성분만 고려한 경우보다 등록 사용자에 대해 보다 정확한 인식율을 달성할 수 있다. 더 나아가, 데이터 인식 장치는 두 벡터에 대해 코사인 유사도를 산출하는 방식과 달리, 특징 벡터들의 일부 원소에 대한 부분 매칭 스코어(이하, 부분 스코어)를 산출할 수도 있다. 데이터 인식 장치는 부분 스코어에 기초하여 사용자를 인식함으로써, 보다 신속하게 지연 없이 입력 사용자에 대한 인식 결과를 생성할 수 있다.
도 3은 일 실시예에 따른 데이터 인식 과정을 설명하는 도면이다.
우선, 데이터 인식 장치는 사용자로부터 획득된 등록 데이터(391)에 기초하여 등록 데이터베이스를 구성할 수 있다. 본 명세서에서 등록 데이터(391)는 등록하고자 하는 사용자로부터 획득되는 데이터로서, 예를 들어, 등록하고자 하는 사용자의 신체 일부(예를 들어, 얼굴)이 촬영된 이미지 및/또는 등록하고자 하는 사용자의 음성 등을 나타내는 데이터일 수 있다.
일 실시예에 따르면 데이터 인식 장치는 등록 데이터(391)로부터 등록 벡터 데이터(392)를 생성하여 등록 데이터베이스에 저장할 수 있다. 등록 벡터 데이터(392)는 평균 특징 벡터(381) 및 분산 특징 벡터(382)를 포함할 수 있다.
데이터 인식 장치는 평균 특징 벡터(381) 및 분산 특징 벡터(382)를 산출하기 위해 복수의 등록 특징 벡터들을 획득할 수 있다. 예를 들어, 데이터 인식 장치는 복수의 등록 특징 벡터들을 생성하기 위해, 복수의 등록 데이터(391)를 획득할 수 있다. 등록 과정에서 데이터 인식 장치는 사용자에게 복수의 등록 데이터(391)를 입력하도록 요구하거나 복수의 등록 데이터(391)를 사용자로부터 획득할 수 있다. 예를 들어, 데이터 인식 장치는 사용자에게 복수의 등록용 음성을 말하도록 요청하여, 동일한 사용자로부터 등록을 위한 복수의 음성 신호들을 획득할 수 있다. 다른 예를 들어, 데이터 인식 장치는 사용자의 신체 일부를 여러 번 촬영함으로써, 복수의 등록용 이미지들을 획득할 수도 있다. 데이터 인식 장치는 상술한 바에 따라 획득된 복수의 등록 데이터(391)의 각각으로부터 뉴럴 네트워크(350)에 기초하여 등록 특징 벡터를 추출할 수 있다.
데이터 인식 장치는 복수의 등록 특징 벡터들로부터 평균 특징 벡터(381) 및 분산 특징 벡터(382)를 포함할 수 있다. 아래 도 4에서 상세히 설명하겠으나, 평균 특징 벡터(381)는 복수의 등록 특징 벡터들의 각 원소의 평균값을 나타낼 수 있고, 분산 특징 벡터(382)는 각 원소의 분산값을 나타낼 수 있다. 따라서 평균 특징 벡터(381) 및 분산 특징 벡터(382)를 포함하는 등록 벡터 데이터(392)는 등록 특징 벡터들의 분포 성향을 나타낼 수 있다.
여기서, 평균 특징 벡터(381) 및 분산 특징 벡터(382)를 생성하기 위해 사용되는 복수의 등록 특징 벡터들의 개수는 설계에 따라 달라질 수 있다. 예를 들어, 데이터 인식 장치는 매 등록마다 동일한 개수의 등록 특징 벡터를 생성해야하는 것은 아니고, 필요에 따라 등록 과정에서 사용자로부터 획득되는 등록 데이터(391)의 개수를 조정할 수도 있다. 아울러, 도 3에서는 설명의 편의상 한번의 등록 과정에서 획득되는 일련의 등록 데이터(391)로부터 평균 특징 벡터(381), 분산 특징 벡터(382)를 생성하는 것으로 설명하였으나, 이로 한정하는 것도 아니다. 기존 등록 데이터(391)의 사용자와 동일한 사용자를 지시하는 등록 데이터(391)라면, 해당 등록 데이터(391)가 기존 등록 데이터(391)와 다른 타이밍에 획득되더라도, 해당 기존 등록 데이터(391)는 기존 등록 데이터(391)와 함께 평균 특징 벡터(381), 분산 특징 벡터(382)를 생성하는 데 사용될 수 있다.
등록 데이터베이스가 구성된 후, 데이터 인식 장치는 단계(311)에서 사용자로부터 인식을 위한 입력 데이터를 획득할 수 있다. 데이터 인식 장치는 입력 데이터로부터 뉴럴 네트워크(350)에 기초하여 입력 특징 벡터(312)를 추출할 수 있다.
그리고 단계(320)에서 데이터 인식 장치는 입력 특징 벡터(312) 및 등록 벡터 데이터(392)로부터 매칭 스코어를 산출할 수 있다. 매칭 스코어는, 입력 데이터에 의해 지시되는 객체가 등록 사용자에 매칭되는 정도(level)를 나타내는 스코어일 수 있다. 본 명세서에서 매칭 스코어는 주로 유사도인 것으로 설명하지만, 이로 한정하는 것은 아니고, 매칭 스코어는 연산 속도 향상을 위해 거리 값일 수도 있다. 매칭 스코어의 산출은 하기 도 4에서 상세히 설명한다.
이어서 단계(330)에서 데이터 인식 장치는 매칭 스코어가 조건에 부합하는 지 여부를 판단할 수 있다. 데이터 인식 장치는 매칭 스코어를 임계 값에 비교한 결과에 기초하여, 입력 데이터의 인식이 성공하였는지 또는 실패하였는지 여부를 결정할 수 있다. 데이터 인식 장치는 입력 데이터의 인식이 성공하는 경우에 응답하여, 입력 데이터를 입력한 사용자의 억세스를 수용(accept)할 수 있다. 반대로, 데이터 인식 장치는 입력 데이터의 인식이 실패하는 경우에 응답하여, 입력 데이터는 입력한 사용자의 억세스는 거절(reject)할 수 있다. 이 때, 데이터 인식 장치는 임의의 등록 사용자에 대응하는 등록 벡터 데이터(392) 및 입력 특징 벡터(312)로부터 산출된 매칭 스코어가 조건에 부합하지 않은 경우, 다른 등록 사용자에 대한 검증을 시도할 수 있다. 데이터 인식 장치는 등록 데이터베이스에 저장된 복수의 등록 사용자들의 각각에 대응하는 등록 벡터 데이터(392) 및 입력 특징 벡터(312)로부터 단계(320)의 매칭 스코어를 산출하여 단계(330)의 조건에 해당 매칭 스코어가 부합하는지 여부를 판단할 수 있다. 모든 등록 사용자들에 대해 산출된 모든 매칭 스코어들이 단계(330)의 조건에 부합하지 않는 경우, 데이터 인식 장치는 최종적으로 인식이 실패한 것으로 결정하고, 사용자의 억세스를 제한할 수 있다.
여기서, 입력 데이터에 적용되는 뉴럴 네트워크(350) 및 등록 데이터(391)에 적용되는 뉴럴 네트워크(350)는 동일한 구조 및 동일한 파라미터를 가지도록 트레이닝된 것일 수 있다.
도 4는 일 실시예에 따른 공통 성분 데이터 및 분포 성분 데이터의 예시를 설명하는 도면이다.
우선, 등록 벡터 데이터(430)를 산출하기 위해, 데이터 인식 장치는 등록 특징 벡터들(411, 412, 413)을 등록 데이터로부터 추출할 수 있다. 도 4에서는, 3개의 등록 데이터의 각각으로부터 데이터 인식 장치가 3개의 등록 특징 벡터들(411, 412, 413)을 추출한 예시를 설명한다. 등록 특징 벡터들(411, 412, 413)은 임의의 기준 벡터에 대해 임의의 분포(410)를 나타낼 수 있다. 참고로, 도 4에서는 기준 벡터가 입력 특징 벡터 B로 도시되었으나, 이로 한정하는 것은 아니다.
데이터 인식 장치는 추출된 등록 특징 벡터들(411, 412, 413)을 정규화(normalize)하여, 정규화된 벡터들(421, 422, 423)을 생성할 수 있다. 예를 들어, 데이터 인식 장치는 등록 특징 벡터들(411, 412, 413)의 각각을 해당 벡터의 절대값 크기로 나눔으로써 정규화할 수 있다. 정규화된 특징 벡터들(421, 422, 423)의 벡터 크기는 1로 제한될 수 있다. 다만, 정규화된 특징 벡터들(421, 422, 423)의 벡터 크기를 이로 한정하는 것은 아니고, 설계에 따라 등록 특징 벡터들(411, 412, 413)의 각각을 해당 벡터의 절대값 크기로 나눈 후에 임의의 상수를 곱함으로써 다른 크기를 가지도록 구성될 수도 있다.
이 때, 동일 객체(예를 들어, 동일 사용자)에 관한 정규화된 벡터들(421, 422, 423)의 집합 A를 하기 수학식 1과 같이 나타낼 수 있고, 집합 A를 구성하는 정규화된 특징 벡터들(421, 422, 423)을 하기 수학식 2와 같이 나타낼 수 있다.
Figure pat00001
Figure pat00002
상술한 수학식 1에서 m은 정규화된 특징 벡터들(421, 422, 423)의 개수로서, 1이상의 정수일 수 있다. 도 4에 도시된 예시에서 m은 3일 수 있다. n은 정규화된 특징 벡터의 차원을 나타낼 수 있고, 1이상의 정수일 수 있다. 상술한 수학식 2에서
Figure pat00003
는 j번째 정규화된 특징 벡터를 나타낼 수 있고, j는 1이상 m이하의 정수일 수 있다.
Figure pat00004
는 j번째 정규화된 특징 벡터의 i번째 원소(entry)의 값을 나타낼 수 있고, i는 특징 벡터의 특정 원소를 지칭하는 인덱스로서 1이상 n이하의 정수일 수 있다. 참고로, 상술한 수학식 1 및 수학식 2에서는 특징 벡터가 정규화된 특징 벡터인 예시를 설명하였으나, 이로 한정하는 것은 아니고 정규화되지 않은 특징 벡터에 적용될 수도 있다.
일 실시예에 따르면 데이터 인식 장치는 정규화된 특징 벡터들(421, 422, 423)로부터 등록 벡터 데이터를 생성할 수 있다. 등록 벡터 데이터는 상술한 바와 같이 공통 성분 데이터 및 분포 성분 데이터를 포함할 수 있다.
공통 성분 데이터는, 동일 객체에 대응하는 복수의 등록 특징 데이터의 공통 성분을 지시하는 데이터로서, 예를 들어, 각 인덱스마다 복수의 등록 특징 벡터들의 원소들 중 동일한 인덱스의 원소들의 평균 값을 원소로 가지는 평균 특징 벡터를 포함할 수 있다. 평균 특징 벡터는 하기 수학식 3과 같이 나타낼 수 있다. 평균 특징 벡터의 각 원소는 하기 수학식 4와 같이 나타낼 수 있다.
Figure pat00005
Figure pat00006
상술한 수학식 3에서
Figure pat00007
는 동일 객체에 관한 특징 분포(410)를 구성하는 정규화된 특징 벡터들(421, 422, 423)의 평균 특징 벡터를 나타낼 수 있다. 평균 특징 벡터
Figure pat00008
의 각 원소는 상술한 바와 같이 정규화된 특징 벡터들(421, 422, 423)에서 동일한 인덱스의 원소들의 평균값일 수 있다. 수학식 4에서는 평균 특징 벡터
Figure pat00009
의 i번째 원소
Figure pat00010
가 정규화된 특징 벡터들(421, 422, 423)의 i번째 인덱스에 대응하는 원소 값들의 평균 값(mean value)인 것을 나타낼 수 있다. Mean()은 평균을 산출하는 함수를 나타낼 수 있다.
분포 성분 데이터는 동일 객체에 대응하는 복수의 등록 특징 데이터의 분포 성분을 지시하는 데이터로서, 예를 들어, 각 인덱스마다 복수의 등록 특징 벡터들에서 동일한 인덱스의 원소들의 분산 값을 원소로 가지는 분산 특징 벡터를 포함할 수 있다. 분산 특징 벡터는 하기 수학식 5와 같이 나타낼 수 있다. 분산 특징 벡터의 각 원소는 하기 수학식 6과 같이 나타낼 수 있다.
Figure pat00011
Figure pat00012
상술한 수학식 5에서
Figure pat00013
는 동일 객체에 관한 특징 분포(410)를 구성하는 정규화된 특징 벡터들(421, 422, 423)의 분산 특징 벡터를 나타낼 수 있다. 분산 특징 벡터
Figure pat00014
의 각 원소는 상술한 바와 같이 정규화된 특징 벡터들(421, 422, 423)에서 동일한 인덱스의 원소들의 분산 값일 수 있다. 다만 이로 한정하는 것은 아니고, 데이터 인식 장치는 동일한 화자 또는 다른 화자로부터 비롯된(originated) 다양한 데이터로부터 특징 벡터들을 추출하고, 추출된 특징 벡터들의 각 원소들의 분산 값을 미리 산출하여 분산 특징 벡터를 생성할 수 있으며, 이렇게 생성된 동일한 분산 특징 벡터를 동일 화자 또는 다른 화자에 대해서 공통적으로 사용 할 수 있다. 수학식 6에서는 분산 특징 벡터
Figure pat00015
의 i번째 원소
Figure pat00016
가 정규화된 특징 벡터들(421, 422, 423)의 i번째 인덱스에 대응하는 원소들의 분산 값(variance value)인 것을 나타낼 수 있다. Var()은 분산을 산출하는 함수를 나타낼 수 있다.
상술한 수학식 3 및 수학식 5에 따라 산출된 평균 특징 벡터
Figure pat00017
및 분산 특징 벡터
Figure pat00018
를 포함하는 등록 벡터 데이터(430)는 상술한 집합 A 및 특징 분포(410)을 대표하는 정보이다. 도 4에서는 등록 벡터 데이터(430)가 매칭 스코어를 설명하기 위해 개념적으로 단일 벡터로 도시되었으나, 이는 이해를 돕기 위한 것일 뿐, 실제로는 평균 특징 벡터
Figure pat00019
및 분산 특징 벡터
Figure pat00020
로 구성될 수 있다.
일 실시예에 따른 데이터 인식 장치는 상술한 평균 특징 벡터
Figure pat00021
및 분산 특징 벡터
Figure pat00022
에 대하여, 입력 특징 벡터 B를 이용하여 매칭 스코어를 산출할 수 있다. 입력 특징 벡터 B는 하기 수학식 7과 같이 나타낼 수 있다.
Figure pat00023
데이터 인식 장치는 평균 특징 벡터
Figure pat00024
, 분산 특징 벡터
Figure pat00025
, 및 입력 특징 데이터 B로부터 하기 수학식 8 내지 수학식 13과 같은 유사도를 매칭 스코어로서 산출할 수 있다.
Figure pat00026
Figure pat00027
Figure pat00028
Figure pat00029
Figure pat00030
Figure pat00031
상술한 수학식 8에서 Dist(A,B)2는 입력 특징 벡터 B 및 등록 특징 벡터들의 집합 A에 대응하는 등록 벡터 데이터(520) 간의 거리 값을 산출하는 함수를 나타낼 수 있다.
Figure pat00032
Figure pat00033
를 전치(transpose)시킨 결과를 나타낼 수 있다.
Figure pat00034
는 분산 특징 벡터
Figure pat00035
의 인버스(inverse)를 나타낼 수 있다. 상술한 수학식 8에서 행렬 연산으로 표현된 텀(term)은 평균 특징 벡터
Figure pat00036
의 i번째 원소
Figure pat00037
와 입력 특징 벡터 B의 i번째 원소
Figure pat00038
간의 차의 제곱을 분산 특징 벡터
Figure pat00039
의 i번째 원소
Figure pat00040
로 나눈 값들의 합으로
Figure pat00041
와 같이 나타낼 수 있다. 예를 들어, 수학식 9와 같이 나타낼 수 있다. 참고로, 데이터 인식 장치는 매칭 스코어로서 상술한 수학식 8의 유사도를 사용할 수 있으나, 이로 한정하는 것은 아니고, 거리 값 Dist(A,B)2을 매칭 스코어로 사용할 수도 있다. 이 경우, 데이터 인식 장치는 1로부터 감산하는 연산을 생략하고,
Figure pat00042
만 산출할 수 있으므로 비교적 연산 속도가 향상될 수 있다. 추가적으로 수학식 10 내지 수학식 13에서 설명된 스코어와 같이, 연산 속도 향상을 위하여 2로 나누어지는 부분이 모두 생략되거나 제곱 대신 절댓값이 사용된 매칭 스코어가 사용될 수도 있다. 아래에서는 설명의 편의를 위해 주로 수학식 8을 기준으로 설명하였으나, 이로 한정하는 것은 아니다.
일 실시예에 따른 데이터 인식 장치는 상술한 수학식 8과 같이 평균 특징 벡터
Figure pat00043
및 분산 특징 벡터
Figure pat00044
를 고려하여, 입력 특징 벡터 B의 등록 특징 벡터들의 집합 A에 대한 매칭 스코어를 산출하면서, 원소 단위 별로 스코어를 산출할 수 있다. 데이터 인식 장치는 원소 단위 별로 산출된 스코어를 누적하면서 부분 스코어를 산출할 수 있으므로, 전체 매칭 스코어를 산출하기 전에 부분 스코어를 이용하여 입력 데이터를 인식할 수 있다. 따라서 데이터 인식 장치는 입력 데이터에 의해 지시되는 객체가 등록 사용자에 매칭하는지 여부를 보다 빠른 속도로 결정할 수 있다. 달리 말해, 데이터 인식 장치는 계산 도중 억세스 허용(예를 들어, 화면 잠금 해제)을 위해 설정된 특정 임계 조건을 만족하는지 여부 또는 더 계산을 진행하여도 특정 임계 조건에 도달 할 수 없는지 여부를 판단함으로써, 특징 벡터의 차원을 구성하는 전체 인덱스에 대해 매칭 스코어를 계산하기 이전에 미리 결과를 판단 할 수 있다.
원소 단위 별 스코어 산출 및 그에 따른 부분 스코어의 산출은 하기 도 5 및 도 6에서 설명한다.
도 5 및 도 6은 일 실시예에 따른 매칭 스코어 산출 및 데이터 인식을 설명하는 도면이다.
일 실시예에 따르면, 데이터 인식 장치는 입력 특징 데이터(510)의 적어도 일부 원소, 공통 성분 데이터(521)의 적어도 일부 원소, 및 분포 성분 데이터(522)의 적어도 일부 원소로부터 부분 스코어(531)(partial score)를, 매칭 스코어(530)로서, 산출할 수 있다. 예를 들어, 데이터 인식 장치는 입력 특징 데이터(510)에서 대상 인덱스(target index)(예를 들어, i번째 인덱스)에 대응하는 원소, 공통 성분 데이터(521)에서 대상 인덱스에 대응하는 원소, 및 분포 성분 데이터(522)에서 대상 인덱스에 대응하는 원소에 기초하여, 대상 인덱스에서의 원소 스코어(entry score)를 산출할 수 있다. 데이터 인식 장치는 적어도 하나의 다른 인덱스에서의 원소 스코어에 대상 인덱스에서의 원소 스코어를 누적함(accumulate)으로써 부분 스코어(531)를 산출할 수 있다.
예를 들어, 상술한 수학식 8에서
Figure pat00045
텀(term)은 벡터 곱 또는 행렬 곱 연산이므로, 아래 수학식 14와 같이 표현될 수 있다.
Figure pat00046
상술한 수학식 14에서
Figure pat00047
Figure pat00048
또는
Figure pat00049
의 i번째 인덱스에 대응하는 원소에 곱해지는
Figure pat00050
의 원소를 나타낼 수 있다. 코사인 유사도와 달리, 수학식 8에 따른 매칭 유사도는 개별 인덱스에 대한 연산이 아래 수학식 15과 같이 분리될 수 있다.
Figure pat00051
상술한 수학식 15은 i번째 인덱스에서의 원소 스코어를 나타낼 수 있다. 이와 같이 수학식 8에 따른 매칭 스코어 연산에서, 데이터 인식 장치는 개별 인덱스 별로 원소 스코어를 분리하여 산출할 수 있으므로, 부분 스코어(531)를 산출할 수 있다.
따라서, 데이터 인식 장치는 여러 인덱스에서 상술한 수학식 15에 따른 원소 스코어를 산출하고, 산출된 원소 스코어들을 합산하여 부분 스코어(531)를 산출할 수 있다. 예를 들어, 도 5에 도시된 바와 같이 데이터 인식 장치는 순차적으로 인덱스를 증가시키면서 원소 스코어를 산출하여 누적할 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 데이터 인식 장치는 i는 1인 원소 스코어부터 i를 1씩 증가시켜 i는 n인 원소 스코어를 산출할 수 있다.
일 실시예에 따르면 입력 특징 데이터(510), 공통 성분 데이터(521), 및 분포 성분 데이터(522)는 서로 동일한 차원(dimension)을 가지는 차원 벡터(dimension vector)로 구성될 수 있다.
데이터 인식 장치는 차원의 모든 인덱스에 대한 스코어가 산출되기 전, 차원의 일부 인덱스에 대해 산출된 부분 스코어(531)에 기초하여 입력 데이터를 인식할 수 있다. 예를 들어, 도 5에서 데이터 인식 장치는 1번째 인덱스 내지 3번째 인덱스에 대응하는 평균 특징 벡터의 원소, 분산 특징 벡터의 원소, 및 입력 특징 벡터의 원소로부터 상술한 수학식 15에 따른 원소 스코어를 산출하여 부분 스코어(531)를 산출할 수 있다. 도 5에서 데이터 인식 장치는 n개의 인덱스들 중 3번째 인덱스까지만 산출된 부분 스코어(531)를 부분 임계값과 비교할 수 있다.
참고로, 부분 임계값은 임의의 대상 인덱스(target index)까지의 원소 스코어가 누적된 부분 스코어에 대하여 인식 성공 여부를 판별하기 위해 대상 인덱스에 대해 설정된 임계값을 나타낼 수 있다. 부분 임계값은 전체 인덱스에 설정된 전체 임계 거리 값에서 전체 인덱스 대비 대상 인덱스의 비율에 해당하는 값으로 설정될 수 있다. 예를 들어, 모든 인덱스 n에 대해 산출되는 전체 임계 거리 값에 대해 Thdistance_total가 설정되면, 대상 인덱스 i까지 산출된 부분 스코어에 대한 부분 임계 거리 값은 Thdistance_total*i/n이 될 수 있다. 다만, 이는 설명의 편의를 위한 것으로서 부분 임계값은 다른 비율에 따라 설정될 수도 있다.
도 6은 복수의 등록 벡터 데이터에 대한 매칭 여부를 판별하는 동작의 예시를 설명한다. 예를 들어, 데이터 인식 장치는 복수의 등록 벡터 데이터로부터 매 인덱스마다 산출되는 부분 스코어를 부분 임계 레벨과 비교한 결과에 기초하여 각 등록 벡터 데이터에 대한 매칭 여부를 결정할 수 있다.
참고로, 수학식 15의 원소 스코어는 거리 값이므로, 원소 스코어의 값이 작을수록 입력 데이터의 객체가 등록 사용자와 유사한 것을 나타내고, 원소 스코어의 값이 클수록 입력 데이터의 객체가 등록 사용자와 비유사한 것을 나타낼 수 있다. 부분 스코어로서 원소 스코어를 합산한 값을 사용할 경우, 부분 스코어의 값이 작을수록 입력 데이터의 객체가 등록 사용자와 유사하고, 부분 스코어의 값이 클수록 입력 데이터의 객체가 등록 사용자와 비유사한 것을 나타낼 수 있다. 따라서 데이터 인식 장치는 이렇게 산출된 부분 스코어와 부분 임계 레벨을 비교하여, 부분 스코어가 부분 임계 레벨을 초과하면 입력 데이터의 객체가 등록 사용자에 매칭하지 않는 것으로 결정할 수 있다. 반대로, 부분 스코어가 부분 임계 레벨 이하이면, 데이터 인식 장치는 입력 데이터의 객체가 등록 사용자에 매칭하는 것으로 결정할 수 있다. 도 5 및 도 6 에서는 매칭 스코어, 원소 스코어 및 부분 스코어는 거리 값인 예시를 주로 설명한다. 다만, 도 5 및 도 6에서 원소 스코어 및 부분 스코어를 거리 값으로 설정한 것은 설명의 편의를 위한 것으로서 이로 한정하는 것은 아니고, 원소 스코어 및 부분 스코어를 유사도로 설정할 수도 있다. 예를 들어, 부분 스코어를 유사도로 구성하기 위해, 부분 스코어는 상술한 수학식 15에 따른 원소 스코어들이 합산된 값이 임의의 상수(예를 들어, 1)로부터 감산된 값으로 설정될 수도 있다.
일 실시예에 따르면 데이터 인식 장치는 부분 스코어를 부분 성공 임계 레벨에 비교한 결과에 기초하여, 입력 데이터에 기초한 인식의 성공 여부를 결정할 수 있다. 데이터 인식 장치는 부분 스코어를 부분 실패 임계 레벨에 비교한 결과에 기초하여, 입력 데이터에 기초한 인식의 실패 여부를 결정할 수 있다.
예를 들어, 데이터 인식 장치는 인덱스 1부터 인덱스 n까지 순차적으로 원소 스코어를 산출 및 합산함으로써 부분 스코어를 산출해나갈 수 있다. 다만, 인덱스 1부터 인덱스 n까지 순차적으로 산출하는 것으로 한정하는 것은 아니고, 데이터 인식 장치는 미리 정해진 순서로 일부 인덱스를 선택하여 선택된 인덱스에 대해 부분 스코어를 산출해나갈 수도 있다. 도 6에서 데이터 인식 장치는 제1 등록 벡터 데이터(631), 제3 등록 벡터 데이터(633), 제P 등록 벡터 데이터(639)에 대해서는 최종 매칭 스코어까지 산출할 수 있다. 여기서, P는 1이상의 정수일 수 있다.
데이터 인식 장치는 제2 등록 벡터 데이터(632)의 인덱스 1에서 원소 스코어로서 0.019를 산출하고, 인덱스 2에서 원소 스코어로서 0.012를 산출하며, 인덱스 3에서 원소 스코어로서 0.910을 산출할 수 있다. 따라서, 데이터 인식 장치는 대상 인덱스 3에 대하여 부분 스코어로서 0.941을 산출할 수 있다. 3번째 인덱스에서의 부분 실패 임계 레벨로서 부분 임계 거리 값을 0.9라고 가정할 경우, 대상 인덱스 3에서의 부분 스코어는 부분 임계 거리 값을 초과하므로, 데이터 인식 장치는 제2 등록 벡터 데이터(632)와 입력 특징 데이터는 매칭하지 않는 것으로 결정할 수 있다.
유사하게, 제4 등록 벡터 데이터(634)에 대하여 데이터 인식 장치는 인덱스 1에서 부분 스코어로서 0.703을 산출할 수 있고, 1번째 인덱스에서의 부분 실패 임계 레벨로서 부분 임계 거리 값을 0.5라고 가정하면, 데이터 인식 장치는 제4 등록 벡터 데이터(634)와 입력 특징 데이터가 매칭하지 않는 것으로 결정할 수 있다. 제P-1 등록 벡터 데이터(638)에 대해서 데이터 인식 장치는 인덱스 2에서 부분 스코어로서 0.821을 산출할 수 있고, 2번째 인덱스에서의 부분 실패 임계 레벨로서 부분 임계 거리 값을 0.7이라고 가정하면, 데이터 인식 자이는 제P-1 등록 벡터 데이터(638)와 입력 특징 데이터가 매칭하지 않는 것으로 결정할 수 있다.
상술한 예시에서 부분 실패 임계 레벨만 예를 들어 설명하였으나, 이로 한정하는 것은 아니다. 부분 성공 임계 레벨도 적어도 일부 인덱스에 대해 설정될 수 있다. 이 때, 거리 값으로서 산출된 부분 스코어가 부분 성공 임계 레벨 미만이면, 데이터 인식 장치는 입력 특징 데이터가 등록 벡터 데이터에 매칭하는 것으로 결정할 수 있다.
따라서, 데이터 인식 장치는 복수의 등록 벡터 데이터(도 6에서는 P개의 등록 벡터 데이터)에 대하여 차원을 구성하는 모든 인덱스에 대하여 매칭 스코어(예를 들어, 유사도 또는 거리 값)를 연산하지 않더라도, 일부 인덱스까지만 부분 스코어를 산출하여 입력 특징 데이터가 등록 벡터 데이터에 매칭하는지 여부를 결정할 수 있다. 데이터 인식 장치는 모든 인덱스에 대해 연산을 수행하지 않더라도 연산 도중에 입력 특징 데이터와 등록 벡터 데이터가 충분히 유사하거나 충분히 비유사한 경우, 보다 빠르게 입력 특징 데이터가 등록 벡터 데이터에 매칭하는지 여부를 결정할 수 있다. 결과적으로 데이터 인식 장치는 보다 적은 연산량으로 인식 결과를 고속으로 생성할 수 있다. 더 나아가 데이터 인식 장치는 등록 특징 벡터들의 분포 성향도 고려하므로, 기존에 단순한 특징 벡터끼리의 비교보다 정확하게 인식할 수 있다.
참고로, 도 6에서는 부분 스코어가 거리 값인 경우를 주로 설명하였는데, 부분 스코어가 수학식 15에 따른 원소 스코어들이 합산된 값이 임의의 상수(예를 들어, 1)로부터 감산된 값과 같은 부분 유사도로 설정될 수도 있다. 부분 스코어가 부분 유사도인 경우, 데이터 인식 장치는 대상 인덱스에서의 부분 유사도가 부분 성공 임계 레벨을 초과하는 경우에 응답하여 인식이 성공한 것으로 결정하고, 반대로 부분 유사도가 부분 실패 임계 레벨 미만인 경우에 응답하여 인식이 실패한 것으로 결정할 수 있다.
도 7은 다른 일 실시예에 따른 데이터 인식을 설명하는 도면이다.
일 실시예에 따른 데이터 인식 장치는 복수의 등록 벡터 데이터를 복수의 그룹들로 클러스터링하여 저장한 등록 데이터베이스로부터, 복수의 그룹들의 각각에 대응하는 대표 평균 벡터(representative mean vector) 및 대표 분산 벡터(representative variance vector)를 로딩(load)할 수 있다. 대상 그룹에 대응하는 대표 평균 벡터 및 대표 분산 벡터는, 대상 그룹에 속하는 등록 특징 벡터들의 평균 벡터 및 분산 벡터일 수 있다. 예를 들어, 도 7에서 제1 그룹이 루트 노드이고, 제2 그룹 및 제3 그룹이 제1 그룹의 자식 노드일 수 있다. 제2 그룹 및 제3 그룹의 대표 평균 벡터 및 대표 분산 벡터는 각 그룹의 등록 특징 벡터들의 평균 벡터 및 분산 벡터일 수 있다. 제1 그룹이 제2 그룹 및 제3 그룹을 포함하는 경우, 제1 그룹의 대표 평균 벡터 및 대표 분산 벡터는 제2 그룹 및 제3 그룹의 두 그룹에 포함된 모든 등록 특징 벡터들의 평균 벡터 및 분산 벡터일 수 있다. 따라서, 데이터 인식 장치는 등록 특징 벡터들을 트리 구조로 그룹화하여 관리할 수 있다.
데이터 인식 장치는 입력 특징 데이터, 대표 평균 벡터 및 대표 분산 벡터에 기초하여, 복수의 그룹들 중 입력 특징 데이터가 매칭하는 그룹을 식별할 수 있다. 예를 들어, 도 7을 예로 들면, 데이터 인식 장치는 입력 특징 벡터(701)가 제1 클러스터 조건(710)에 충족하는 지 여부를 판단할 수 있다. 제1 클러스터 조건(710)은 입력 특징 벡터(701), 제1 그룹의 대표 평균 벡터(711), 및 제1 그룹의 대표 분산 벡터(712)로부터 산출된 매칭 스코어가 제1 그룹 임계 유사도를 초과하는 지 여부를 나타낼 수 있다. 데이터 인식 장치는 산출된 매칭 스코어가 임계 유사도를 초과하는 경우, 입력 특징 벡터(701)가 제1 그룹에 매칭되는 것으로 결정할 수 있다. 반대로, 매칭 스코어가 임계 유사도 이하인 경우에 응답하여, 데이터 인식 장치는 단계(792)에서 입력 특징 벡터(701)에 대한 검증이 실패한 것으로 결정할 수 있다.
데이터 인식 장치는 제1 그룹으로 식별된 입력 특징 벡터(701)에 대해 다시 제2 클러스터 조건(720) 및/또는 제3 클러스터 조건(730)에 기초하여 제1 그룹 내의 제2 그룹 및/또는 제3 그룹에 속하는 지 여부를 판단할 수 있다. 제2 클러스터 조건(720)은 입력 특징 벡터(701), 제2 그룹의 대표 평균 벡터 대표 분산 벡터로부터 산출된 매칭 스코어가 제2 그룹 임계 유사도를 초과하는 지 여부를 나타낼 수 있다. 제3 클러스터 조건 내지 제7 클러스터 조건(730 내지 770)도 유사하게 설정될 수 있다. 데이터 인식 장치는 트리 구조의 상위 계층으로부터 하위 계층까지 각 그룹을 대표하는 대표 평균 벡터 및 대표 분산 벡터를 이용하여 입력 특징 벡터(701)와의 매칭 유사도를 산출하고, 매칭 유사도와 각 그룹의 그룹 임계 값을 비교한 결과에 기초하여, 최종적으로 입력 특징 벡터(701)에 매칭되는 최하위 그룹을 식별할 수 있다.
데이터 인식 장치는 식별된 그룹 내에 속한 등록 벡터 데이터에 입력 데이터가 매칭하는지 여부를 결정할 수 있다. 예를 들어, 단계(780)에서 데이터 인식 장치는 식별된 최하위 그룹에 속하는 등록 벡터 데이터의 평균 특징 벡터 및 분산 특징 벡터를 이용하여 입력 특징 벡터(701)와의 매칭 스코어를 산출할 수 있다. 매칭 스코어가 유사도인 경우, 데이터 인식 장치는 매칭 유사도를 임계 유사도에 비교한 결과에 기초하여, 매칭 스코어가 임계 유사도를 초과하는 경우에 응답하여 단계(791)에서 인식이 성공한 것으로 결정할 수 있다. 반대로, 매칭 스코어가 임계 유사도 이하인 경우에 응답하여, 데이터 인식 장치는 단계(792)에서 인식이 실패한 것으로 결정할 수 있다.
참고로, 설명의 편의를 위하여 각 그룹 별로 대표 평균 벡터 및 대표 분산 벡터가 1개씩 있는 것으로 설명하였으나, 이로 한정하는 것은 아니다. 그룹들은 각 그룹 별로 k개(여기서, k는 1이상의 정수)의 대표 평균 벡터 및 k개의 대표 분산 벡터를 가지도록 P개의 등록 벡터 데이터가 클러스터링될 수도 있다. N이 2이고, P가 1000일 때, 1000개의 모든 벡터에 대해 유사도를 측정하는 대신, 일 실시예에 따른 데이터 인식 장치는 최대 20번 (log21000*2)의 비교 연산으로 입력 특징 데이터에 대해 최대 유사도를 가지는 등록 벡터 데이터를 찾을 수 있다. 더 나아가 데이터 인식 장치는 도 5 및 도 6에서 상술한 방식과 결합하여 각 연산 과정에서 전체 인덱스에 대한 연산 대신 일부 인덱스에 대한 부분 스코어를 통해 하위 그룹 노드의 탐색 방향을 식별할 수도 있다.
도 8a 내지 도 8c는 일 실시예에 따른 프로세서의 구성을 설명하는 도면이다.
도 8a 내지 도 8c는 다양한 구조로 구현된 프로세서들을 설명한다. 일 실시예에 따른 데이터 인식 장치는 다양한 구조로 구현된 프로세서들을 통해 이미지 및/또는 음성을 인식할 수 있다. 예를 들어, 데이터 인식 장치의 프로세서는 사용자로부터 입력 이미지를 입력 데이터로서 수신할 수 있다. 프로세서는 입력 이미지로부터 입력 특징 데이터를 추출할 수 있다. 프로세서는 매칭 스코어에 기초하여, 입력 이미지에 나타난 객체가 등록 사용자인 지 여부를 결정할 수 있다. 다른 예를 들어, 프로세서는 사용자로부터 음성 신호를 입력 데이터로서 수신할 수 있다. 프로세서는 음성 신호로부터 입력 특징 데이터를 추출할 수 있다. 프로세서는 매칭 스코어에 기초하여 음성 신호의 화자(speaker)가 등록 사용자인 지 여부를 결정할 수 있다. 도 8a 내지 도 8c는 음성 신호를 입력 데이터로서 수신하는 예시를 설명한다.
도 8a에서 프로세서는, 디지털 신호 프로세서(810)(DSP, digital signal processor) 및 어플리케이션 프로세서(820)(AP, application processor)를 포함할 수 있다. 어플리케이션 프로세서(820)는 메인 프로세서로서 동작할 수 있다. 예를 들어, 디지털 신호 프로세서(810)는 입력 데이터로부터 대상 데이터를 검출할 수 있다. 도 8a에 도시된 바와 같이 디지털 신호 프로세서(810)는 특정 패턴의 구간 음성 신호(예를 들어, "하이, 빅스비"와 같은 키워드)를 검출할 수 있다. 디지털 신호 프로세서(810)는 검출된 대상 데이터를 어플리케이션 프로세서(820)로 전달할 수 있다. 디지털 신호 프로세서(810)는 저전력으로 동작하므로 항상 활성화된 상태를 유지할 수 있다. 더 나아가 디지털 신호 프로세서(810)는 화자(speaker)인 지 여부를 나이브(naive)하게 판단할 수 있다. 어플리케이션 프로세서(820)는 대상 데이터로부터 입력 특징 데이터를 추출할 수 있다. 어플리케이션 프로세서(820)는 추출된 입력 특징 데이터와 함께 등록 벡터 데이터로부터 매칭 스코어를 산출하여, 대상 데이터에 의해 지시되는 사용자의 억세스를 수용할 지 거절할 지 결정할 수 있다. 참고로, 어플리케이션 프로세서(820)는 슬립 모드에서 동작하다가, 디지털 신호 프로세서(810)로부터 대상 데이터가 수신되는 경우에 응답하여 활성화될 수 있다.
도 8b에서 프로세서는, 뉴럴 프로세서(830)(Neural Processor) 및 디지털 신호 프로세서(810)를 포함할 수 있다. 디지털 신호 프로세서(810)는 메인 프로세서로서 동작할 수 있다. 뉴럴 프로세서(830)는 입력 특징 데이터를 추출하도록 구성될 수 있다. 뉴럴 프로세서(830)는, 예를 들어, 디지털 신호 프로세서(810)로부터 키워드 구간의 음성 신호를 입력 데이터로부터 수신할 수 있고, 수신된 구간 음성 신호로부터 입력 특징 데이터를 추출할 수 있다. 디지털 신호 프로세서(810)는 음성 신호를 모니터링하여 키워드 음성이 사용자로부터 입력되는지 여부를 모니터링할 수 있다. 디지털 신호 프로세서(810)는 항상 활성화된 상태를 유지할 수 있다. 또한, 디지털 신호 프로세서(810)는 뉴럴 프로세서(830)로부터 전달된 입력 특징 데이터, 공통 성분 데이터, 및 분포 성분 데이터로부터 매칭 스코어를 산출하도록 구성될 수 있다. 디지털 신호 프로세서(810)는 매칭 스코어에 기초하여 입력 데이터의 사용자가 등록된 사용자에 매칭하는 지 여부를 결정하여 장치에 대한 억세스를 수용 및/또는 거절할 지 여부를 결정할 수 있다. 참고로, 뉴럴 프로세서(830)는 도 1에서 설명된 뉴럴 네트워크의 동작을 수행하도록 구성된 전용 프로세서로 구현될 수 있다.
도 8c에서 프로세서는 디지털 신호 프로세서(810), 어플리케이션 프로세서(820), 및 뉴럴 프로세서(830)를 포함할 수 있다. 디지털 신호 프로세서(810)는 도 8a에서 상술한 바와 유사하게, 입력된 음성 신호로부터 키워드 구간의 음성을 포함하는 대상 데이터를 검출하여 어플리케이션 프로세서(820) 및 뉴럴 프로세서(830)로 전달할 수 있다. 뉴럴 프로세서(830)는 구간 음성에 대응하는 대상 데이터로부터 입력 특징 데이터를 추출할 수 있다. 어플리케이션 프로세서(820)는 슬립 모드에서 동작하다가 디지털 신호 프로세서(810)로부터 키워드가 검출되는 경우에 응답하여 활성화될 수 있고, 뉴럴 프로세서(830)로부터 전달된 입력 특징 데이터 및 등록 벡터 데이터에 기초하여 매칭 스코어를 산출할 수 있다. 어플리케이션 프로세서(820)는 산출된 매칭 스코어에 기초하여 사용자의 억세스를 허용할 지 여부를 결정할 수 있다.
참고로, 도 8a 내지 도 8c에서 디지털 신호 프로세서(810)에 비해 어플리케이션 프로세서(820)는 컴퓨팅 성능이 높고, 상대적으로 많은 전력으로 소모하도록 설계된 칩일 수 있다. 다만, 이는 예시적인 것으로서 이로 한정하는 것은 아니다.
일 실시예에 따르면 데이터 인식 장치는 입력 데이터에 의해 지시되는 사용자가 등록 사용자에 매칭하는 것으로 결정된 경우에 응답하여, 장치에 대한 억세스를 허용할 수 있다. 본 명세서에서 억세스 허용은 장치의 적어도 일부 기능 및/또는 어플리케이션에 대한 권한을 해당 사용자에게 주는 동작을 나타낼 수 있다. 예를 들어, 인식 성공시 데이터 인식 장치는 잠금 상태에 있던 장치를 언락 상태로 변경할 수 있다.
도 9 및 도 10은 일 실시예에 따른 데이터 인식 장치의 구성을 설명하는 도면이다.
도 9에 도시된 데이터 인식 장치(900)는 입력부(910), 프로세서(920), 및 메모리(930)를 포함할 수 있다.
입력부(910)는 입력 데이터를 수신할 수 있다. 예를 들어, 입력부(910)는 입력 데이터로서 입력 이미지 및/또는 입력 음성을 수신할 수 있다. 입력부(910)는 이미지를 캡쳐하기 위한 카메라를 포함할 수 있다. 다른 예를 들어, 입력부(910)는 음성 신호를 캡쳐하기 위한 마이크로폰을 포함할 수도 있다.
프로세서(920)는 입력 데이터로부터 입력 특징 데이터를 추출할 수 있다. 프로세서(920)는 입력 특징 데이터, 등록 사용자에 대응하는 복수의 등록 특징 데이터의 공통 성분 데이터 및 분포 성분 데이터로부터 매칭 스코어를 산출할 수 있다. 프로세서(920)는 매칭 스코어에 기초하여 입력 데이터를 인식할 수 있다. 다만, 프로세서(920)의 동작을 이로 한정하는 것은 아니고, 도 1 내지 도 8에서 상술한 동작들 중 적어도 하나와 함께 시계열적으로 또는 병렬적으로 수행될 수 있다.
메모리(930)는 복수의 그룹들로 클러스터링된 복수의 등록 벡터 데이터를 포함하는 등록 데이터베이스를 저장할 수 있다. 메모리(930)는 여러 등록 특징 벡터들을 일일이 저장하는 대신, 복수의 등록 특징 벡터들의 평균 특징 벡터 및 분산 특징 벡터를 포함하는 등록 벡터 데이터를 저장하므로, 저장 공간이 절감될 수 있다. 다만, 이로 한정하는 것은 아니고, 메모리(930)는 데이터 인식 방법을 수행하는데 요구되는 데이터를 임시적으로 또는 영구적으로 저장할 수 있다.
도 10를 참조하면, 컴퓨팅 장치(1000)는 위에서 설명한 데이터 인식 방법을 이용하여 데이터를 인식하는 장치이다. 일 실시예에서, 컴퓨팅 장치(1000)는 도 9에서 설명된 장치(900)에 대응할 수 있다. 컴퓨팅 장치(1000)는, 예를 들어 이미지 처리 장치, 스마트폰, 웨어러블 기기(wearable device), 태블릿 컴퓨터, 넷북, 랩탑, 데스크탑, PDA(personal digital assistant), HMD(head mounted display)일 수 있다.
도 10를 참조하면, 컴퓨팅 장치(1000)는 프로세서(1010), 저장 장치(1020), 카메라(1030), 입력 장치(1040), 출력 장치(1050) 및 네트워크 인터페이스(1060)를 포함할 수 있다. 프로세서(1010), 저장 장치(1020), 카메라(1030), 입력 장치(1040), 출력 장치(1050) 및 네트워크 인터페이스(1060)는 통신 버스(1070)를 통해 서로 통신할 수 있다.
프로세서(1010)는 컴퓨팅 장치(1000) 내에서 실행하기 위한 기능 및 인스트럭션들을 실행한다. 예를 들어, 프로세서(1010)는 저장 장치(1020)에 저장된 인스트럭션들을 처리할 수 있다. 프로세서(1010)는 도 1 내지 도 9을 통하여 전술한 하나 이상의 동작을 수행할 수 있다.
저장 장치(1020)는 프로세서의 실행에 필요한 정보 내지 데이터를 저장한다. 저장 장치(1020)는 컴퓨터 판독가능한 저장 매체 또는 컴퓨터 판독가능한 저장 장치를 포함할 수 있다. 저장 장치(1020)는 프로세서(1010)에 의해 실행하기 위한 인스트럭션들을 저장할 수 있고, 컴퓨팅 장치(1000)에 의해 소프트웨어 또는 애플리케이션이 실행되는 동안 관련 정보를 저장할 수 있다.
카메라(1030)는 복수의 이미지 프레임들로 구성되는 이미지를 캡쳐할 수 있다. 예를 들어, 카메라(1030)는 프레임 이미지를 생성할 수 있다.
입력 장치(1040)는 촉각, 비디오, 오디오 또는 터치 입력을 통해 사용자로부터 입력을 수신할 수 있다. 입력 장치(1040)는 키보드, 마우스, 터치 스크린, 마이크로폰, 또는 사용자로부터 입력을 검출하고, 검출된 입력을 전달할 수 있는 임의의 다른 장치를 포함할 수 있다.
출력 장치(1050)는 시각적, 청각적 또는 촉각적인 채널을 통해 사용자에게 컴퓨팅 장치(1000)의 출력을 제공할 수 있다. 출력 장치(1050)는 예를 들어, 디스플레이, 터치 스크린, 스피커, 진동 발생 장치 또는 사용자에게 출력을 제공할 수 있는 임의의 다른 장치를 포함할 수 있다. 네트워크 인터페이스(1060)는 유선 또는 무선 네트워크를 통해 외부 장치와 통신할 수 있다. 출력 장치(1050)는 입력 데이터를 인식한 결과(예를 들어, 억세스 허용 및/또는 억세스 거절)를 시각 정보(visual information), 청각 정보(auditory information), 및 촉각 정보(haptic information) 중 적어도 하나를 이용하여 사용자에게 제공할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.  
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
900: 데이터 인식 장치
910: 입력부
920: 프로세서
930: 메모리

Claims (20)

  1. 입력 데이터를 수신하여, 상기 입력 데이터로부터 입력 특징 데이터를 추출하는 단계;
    상기 입력 특징 데이터, 등록 사용자에 대응하는 복수의 등록 특징 데이터의 공통 성분 데이터 및 분포 성분 데이터로부터 매칭 스코어를 산출하는 단계; 및
    상기 매칭 스코어에 기초하여 상기 입력 데이터를 인식하는 단계
    를 포함하는 데이터 인식 방법.
  2. 제1항에 있어서,
    상기 공통 성분 데이터는,
    각 인덱스마다 상기 복수의 등록 특징 벡터들의 원소들 중 동일한 인덱스의 원소들의 평균 값을 원소로 가지는 평균 특징 벡터를 포함하며,
    상기 분포 성분 데이터는,
    각 인덱스마다 상기 복수의 등록 특징 벡터들에서 동일한 인덱스의 원소들의 분산 값을 원소로 가지는 분산 특징 벡터를 포함하는,
    데이터 인식 방법.
  3. 제1항에 있어서,
    상기 매칭 스코어를 산출하는 단계는,
    상기 입력 특징 데이터의 적어도 일부 원소, 상기 공통 성분 데이터의 적어도 일부 원소, 및 상기 분포 성분 데이터의 적어도 일부 원소로부터 부분 스코어(partial score)를, 상기 매칭 스코어로서, 산출하는 단계
    를 포함하는 데이터 인식 방법.
  4. 제3항에 있어서,
    상기 부분 스코어를 산출하는 단계는,
    상기 입력 특징 데이터에서 대상 인덱스(target index)에 대응하는 원소, 상기 공통 성분 데이터에서 상기 대상 인덱스에 대응하는 원소, 및 상기 분포 성분 데이터에서 상기 대상 인덱스에 대응하는 원소에 기초하여, 상기 대상 인덱스에서의 원소 스코어(entry score)를 산출하는 단계; 및
    적어도 하나의 다른 인덱스에서의 원소 스코어에 상기 대상 인덱스에서의 원소 스코어를 누적함(accumulate)으로써 상기 부분 스코어를 산출하는 단계
    를 포함하는 데이터 인식 방법.
  5. 제3항에 있어서,
    상기 입력 특징 데이터, 상기 공통 성분 데이터, 및 상기 분포 성분 데이터는 서로 동일한 차원(dimension)을 가지는 차원 벡터(dimension vector)로 구성되고,
    상기 입력 데이터를 인식하는 단계는,
    상기 차원의 모든 인덱스에 대한 스코어가 산출되기 전, 상기 차원의 일부 인덱스에 대해 산출된 부분 스코어에 기초하여 상기 입력 데이터를 인식하는 단계
    를 포함하는 데이터 인식 방법.
  6. 제3항에 있어서,
    상기 입력 데이터를 인식하는 단계는,
    상기 부분 스코어를 부분 성공 임계 레벨에 비교한 결과에 기초하여, 상기 입력 데이터에 기초한 인식의 성공 여부를 결정하는 단계; 및
    상기 부분 스코어를 부분 실패 임계 레벨에 비교한 결과에 기초하여, 상기 입력 데이터에 기초한 인식의 실패 여부를 결정하는 단계
    를 포함하는 데이터 인식 방법.
  7. 제1항에 있어서,
    상기 입력 데이터를 인식하는 단계는,
    상기 입력 데이터에 의해 지시되는 사용자가 상기 등록 사용자에 매칭하는 것으로 결정된 경우에 응답하여, 장치에 대한 억세스를 허용하는 단계
    를 포함하는 데이터 인식 방법.
  8. 제1항에 있어서,
    상기 매칭 스코어를 산출하는 단계는,
    복수의 등록 벡터 데이터를 복수의 그룹들로 클러스터링하여 저장한 등록 데이터베이스로부터, 상기 복수의 그룹들의 각각에 대응하는 대표 평균 벡터(representative mean vector) 및 대표 분산 벡터(representative variance vector)를 로딩(load)하는 단계;
    상기 입력 특징 데이터, 상기 대표 평균 벡터 및 상기 대표 분산 벡터에 기초하여, 상기 복수의 그룹들 중 상기 입력 특징 데이터가 매칭하는 그룹을 식별하는 단계; 및
    상기 식별된 그룹 내에 속한 등록 벡터 데이터에 상기 입력 데이터가 매칭하는지 여부를 결정하는 단계
    를 포함하고,
    상기 복수의 등록 벡터 데이터의 각각은,
    공통 성분 데이터 및 분포 성분 데이터를 포함하는,
    데이터 인식 방법.
  9. 제1항에 있어서,
    상기 입력 특징 데이터를 추출하는 단계는,
    사용자로부터 입력 이미지를 상기 입력 데이터로서 수신하는 단계; 및
    상기 입력 이미지로부터 상기 입력 특징 데이터를 추출하는 단계
    를 포함하고,
    상기 입력 데이터를 인식하는 단계는,
    상기 매칭 스코어에 기초하여, 상기 입력 이미지에 나타난 객체가 상기 등록 사용자인 지 여부를 결정하는 단계
    를 포함하는 데이터 인식 방법.
  10. 제1항에 있어서,
    상기 입력 특징 데이터를 추출하는 단계는,
    사용자로부터 음성 신호를 상기 입력 데이터로서 수신하는 단계; 및
    상기 음성 신호로부터 상기 입력 특징 데이터를 추출하는 단계
    를 포함하고,
    상기 입력 데이터를 인식하는 단계는,
    상기 매칭 스코어에 기초하여 상기 음성 신호의 화자(speaker)가 상기 등록 사용자인 지 여부를 결정하는 단계
    를 포함하는 데이터 인식 방법.
  11. 제1항 내지 제10항 중 어느 한 항의 방법을 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체.
  12. 입력 데이터를 수신하는 입력부; 및
    상기 입력 데이터로부터 입력 특징 데이터를 추출하고, 상기 입력 특징 데이터, 등록 사용자에 대응하는 복수의 등록 특징 데이터의 공통 성분 데이터 및 분포 성분 데이터로부터 매칭 스코어를 산출하며, 상기 매칭 스코어에 기초하여 상기 입력 데이터를 인식하는 프로세서
    를 포함하는 데이터 인식 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 입력 특징 데이터의 적어도 일부 원소, 상기 공통 성분 데이터의 적어도 일부 원소, 및 상기 분포 성분 데이터의 적어도 일부 원소로부터 부분 스코어(partial score)를, 상기 매칭 스코어로서, 산출하는,
    를 포함하는 데이터 인식 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 입력 특징 데이터에서 대상 인덱스(target index)에 대응하는 원소, 상기 공통 성분 데이터에서 상기 대상 인덱스에 대응하는 원소, 및 상기 분포 성분 데이터에서 상기 대상 인덱스에 대응하는 원소에 기초하여, 상기 대상 인덱스에서의 원소 스코어(entry score)를 산출하고, 적어도 하나의 다른 인덱스에서의 원소 스코어에 상기 대상 인덱스에서의 원소 스코어를 누적함(accumulate)으로써 상기 부분 스코어를 산출하는,
    데이터 인식 장치.
  15. 제13항에 있어서,
    상기 입력 특징 데이터, 상기 공통 성분 데이터, 및 상기 분포 성분 데이터는 서로 동일한 차원(dimension)을 가지는 차원 벡터(dimension vector)로 구성되고,
    상기 프로세서는,
    상기 차원의 모든 인덱스에 대한 스코어가 산출되기 전, 상기 차원의 일부 인덱스에 대해 산출된 부분 스코어에 기초하여 상기 입력 데이터를 인식하는,
    데이터 인식 장치.
  16. 제13항에 있어서,
    상기 프로세서는,
    상기 부분 스코어를 부분 성공 임계 레벨에 비교한 결과에 기초하여, 상기 입력 데이터에 기초한 인식의 성공 여부를 결정하고, 상기 부분 스코어를 부분 실패 임계 레벨에 비교한 결과에 기초하여, 상기 입력 데이터에 기초한 인식의 실패 여부를 결정하는,
    데이터 인식 장치.
  17. 제12항에 있어서,
    상기 프로세서는,
    상기 입력 데이터에 의해 지시되는 사용자가 상기 등록 사용자에 매칭하는 것으로 결정된 경우에 응답하여, 장치에 대한 억세스를 허용하는,
    데이터 인식 장치.
  18. 제12항에 있어서,
    복수의 그룹들로 클러스터링된 복수의 등록 벡터 데이터를 포함하는 등록 데이터베이스를 저장한 메모리
    를 더 포함하고,
    상기 복수의 등록 벡터 데이터의 각각은,
    공통 성분 데이터 및 분포 성분 데이터를 포함하며,
    상기 프로세서는,
    상기 메모리로부터 상기 복수의 그룹들의 각각에 대응하는 대표 평균 벡터(representative mean vector) 및 대표 분산 벡터(representative variance vector)를 로딩(load)하고, 상기 입력 특징 데이터, 상기 대표 평균 벡터 및 상기 대표 분산 벡터에 기초하여, 상기 복수의 그룹들 중 상기 입력 특징 데이터가 매칭하는 그룹을 식별하며, 상기 식별된 그룹 내에 속한 등록 벡터 데이터에 상기 입력 데이터가 매칭하는지 여부를 결정하는,
    데이터 인식 장치.
  19. 제12항에 있어서,
    상기 프로세서는,
    상기 입력 특징 데이터를 추출하도록 구성되는 뉴럴 프로세서(Neural Processor); 및
    상기 뉴럴 프로세서로부터 전달된 상기 입력 특징 데이터, 상기 공통 성분 데이터, 및 상기 분포 성분 데이터로부터 상기 매칭 스코어를 산출하도록 구성되는 메인 프로세서
    를 포함하는 데이터 인식 장치.
  20. 제12항에 있어서,
    상기 프로세서는,
    상기 입력 데이터로부터 대상 데이터를 검출하는 디지털 신호 프로세서(DSP, digital signal processor); 및
    상기 대상 데이터로부터 상기 입력 특징 데이터를 추출하는 메인 프로세서
    를 포함하는 데이터 인식 장치.
KR1020190067363A 2019-06-07 2019-06-07 데이터 인식 방법 및 장치 KR20200140571A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190067363A KR20200140571A (ko) 2019-06-07 2019-06-07 데이터 인식 방법 및 장치
US16/845,464 US11574641B2 (en) 2019-06-07 2020-04-10 Method and device with data recognition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190067363A KR20200140571A (ko) 2019-06-07 2019-06-07 데이터 인식 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20200140571A true KR20200140571A (ko) 2020-12-16

Family

ID=73650355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190067363A KR20200140571A (ko) 2019-06-07 2019-06-07 데이터 인식 방법 및 장치

Country Status (2)

Country Link
US (1) US11574641B2 (ko)
KR (1) KR20200140571A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200140571A (ko) * 2019-06-07 2020-12-16 삼성전자주식회사 데이터 인식 방법 및 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067517A (en) * 1996-02-02 2000-05-23 International Business Machines Corporation Transcription of speech data with segments from acoustically dissimilar environments
GB9706174D0 (en) * 1997-03-25 1997-11-19 Secr Defence Recognition system
US6182037B1 (en) * 1997-05-06 2001-01-30 International Business Machines Corporation Speaker recognition over large population with fast and detailed matches
JP2003256429A (ja) 2002-03-01 2003-09-12 Kyodo Printing Co Ltd 模様検索装置及びその方法
JP2005250562A (ja) 2004-03-01 2005-09-15 Tama Tlo Kk 判別分析を行う方法、類似画像検索方法、及び、そのプログラム、装置
JP5020513B2 (ja) 2006-01-11 2012-09-05 シャープ株式会社 パターン認識装置、パターン認識方法、パターン認識プログラム、および記録媒体
US9183429B2 (en) * 2012-08-15 2015-11-10 Qualcomm Incorporated Method and apparatus for facial recognition
US20160293167A1 (en) * 2013-10-10 2016-10-06 Google Inc. Speaker recognition using neural networks
US20150235073A1 (en) * 2014-01-28 2015-08-20 The Trustees Of The Stevens Institute Of Technology Flexible part-based representation for real-world face recognition apparatus and methods
US20150302856A1 (en) * 2014-04-17 2015-10-22 Qualcomm Incorporated Method and apparatus for performing function by speech input
US9837102B2 (en) * 2014-07-02 2017-12-05 Microsoft Technology Licensing, Llc User environment aware acoustic noise reduction
KR102299819B1 (ko) 2014-12-30 2021-09-08 삼성전자주식회사 생체 신호를 이용한 사용자 인증 방법 및 장치
CN108173871B (zh) 2018-01-19 2020-02-21 西安电子科技大学 基于射频指纹和生物指纹无线网接入认证***及方法
US10693872B1 (en) * 2019-05-17 2020-06-23 Q5ID, Inc. Identity verification system
KR20200140571A (ko) * 2019-06-07 2020-12-16 삼성전자주식회사 데이터 인식 방법 및 장치
KR20210050884A (ko) * 2019-10-29 2021-05-10 삼성전자주식회사 화자 인식을 위한 등록 방법 및 장치

Also Published As

Publication number Publication date
US11574641B2 (en) 2023-02-07
US20200388286A1 (en) 2020-12-10

Similar Documents

Publication Publication Date Title
KR102608470B1 (ko) 데이터 인식 장치 및 방법과 트레이닝 장치 및 방법
KR102564857B1 (ko) 데이터 인식 및 트레이닝 장치 및 방법
KR102486699B1 (ko) 영상 인식 방법, 영상 검증 방법, 장치, 및 영상 인식 및 검증에 대한 학습 방법 및 장치
KR102308871B1 (ko) 객체의 속성에 기반하여 객체를 인식 및 트레이닝하는 방법 및 장치
KR20230021043A (ko) 객체 인식 방법 및 장치, 및 인식기 학습 방법 및 장치
CN106415594B (zh) 用于面部验证的方法和***
KR102374747B1 (ko) 객체를 인식하는 장치 및 방법
CN109344731B (zh) 基于神经网络的轻量级的人脸识别方法
US8837786B2 (en) Face recognition apparatus and method
Centeno et al. Mobile based continuous authentication using deep features
KR102570070B1 (ko) 일반화된 사용자 모델을 이용한 사용자 인증 방법 및 장치
KR102483650B1 (ko) 사용자 인증 장치 및 방법
CN110414550B (zh) 人脸识别模型的训练方法、装置、***和计算机可读介质
US11403878B2 (en) Apparatus and method with user verification
US20220318354A1 (en) Anti-spoofing method and apparatus
KR20200110064A (ko) 변환 모델을 이용한 인증 방법 및 장치
CN113312989A (zh) 一种基于聚合描述子与注意力的指静脉特征提取网络
Zhang et al. Low-rank and joint sparse representations for multi-modal recognition
US20220012464A1 (en) Method and apparatus with fake fingerprint detection
CN112926574A (zh) 图像识别方法、图像识别装置和***
KR20200140571A (ko) 데이터 인식 방법 및 장치
KR20220136017A (ko) 스푸핑 방지 방법 및 장치
Kang et al. Neural network architecture and transient evoked otoacoustic emission (TEOAE) biometrics for identification and verification
Kundu et al. A modified RBFN based on heuristic based clustering for location invariant fingerprint recognition and localization with and without occlusion
Sagiroglu et al. Artificial neural network based automatic face parts prediction system from only fingerprints