KR102450374B1 - 데이터 인식 및 트레이닝 장치 및 방법 - Google Patents
데이터 인식 및 트레이닝 장치 및 방법 Download PDFInfo
- Publication number
- KR102450374B1 KR102450374B1 KR1020160153539A KR20160153539A KR102450374B1 KR 102450374 B1 KR102450374 B1 KR 102450374B1 KR 1020160153539 A KR1020160153539 A KR 1020160153539A KR 20160153539 A KR20160153539 A KR 20160153539A KR 102450374 B1 KR102450374 B1 KR 102450374B1
- Authority
- KR
- South Korea
- Prior art keywords
- cluster
- data
- input data
- belongs
- input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/1365—Matching; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24143—Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19147—Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/1347—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/197—Matching; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/50—Maintenance of biometric data or enrolment thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Ophthalmology & Optometry (AREA)
- Image Analysis (AREA)
Abstract
데이터 인식 및 트레이닝과 관련된 장치 및 방법이 제공된다. 트레이닝 장치는 트레이닝 데이터를 그룹핑하고, 그룹핑된 데이터에서 대표 정보를 배제한 후에 클러스터링을 수행하며, 클러스터링된 데이터를 다시 서브 그룹으로 그룹핑함으로써 인식 모델을 생성할 수 있다. 인식 장치는 인식 모델을 이용하여 입력 데이터로부터 특징 데이터 및 해당 특징 데이터가 속하는 클러스터를 식별하고, 그에 기초하여 입력 데이터를 인식할 수 있다.
Description
이하, 데이터 인식 및 트레이닝과 연관된 기술에 제공된다.
최근 들어, 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하기 위하여, 인간이 지니고 있는 효율적인 패턴 인식 방법을 실제 컴퓨터에 적용시키려는 연구가 활발히 진행되고 있다. 이러한 연구 중 하나로, 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링 한 인공 뉴럴 네트워크(artificial neural network)에 대한 연구가 있다. 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하기 위해, 인공 뉴럴 네트워크는 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여 인공 뉴럴 네트워크는 입력 패턴과 출력 패턴들 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 인공 뉴럴 네트워크의 학습 능력이라고 표현된다. 또한, 인공 뉴럴 네트워크는 학습된 결과에 기초하여 학습에 이용되지 않았던 입력 패턴에 대하여 비교적 올바른 출력을 생성할 수 있는 일반화 능력을 가진다.
일 실시예에 따른 인식 방법은, 인식 모델에 기초하여, 입력 데이터로부터 상기 입력 데이터에 대응하는 특징 데이터를 산출하고, 상기 입력 데이터가 속하는 클러스터를 식별하는 단계; 및 상기 특징 데이터 및 상기 입력 데이터가 속하는 클러스터에 기초하여, 상기 입력 데이터를 인식하는 단계를 포함할 수 있다.
상기 입력 데이터를 인식하는 단계는, 상기 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 동일한 경우에 응답하여, 상기 입력 데이터가 상기 검증 대상 데이터에 매칭하는지를 검증하는 단계를 포함할 수 있다.
상기 입력 데이터를 인식하는 단계는, 상기 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 동일한 경우, 해당 클러스터에 지정된 임계 정보에 기초하여 상기 입력 데이터가 상기 검증 대상 데이터에 매칭하는지를 검증하는 단계를 포함할 수 있다.
상기 입력 데이터를 인식하는 단계는, 상기 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 다른 경우에 응답하여, 상기 입력 데이터가 속하는 클러스터의 클러스터 정보 및 상기 검증 대상 데이터가 속하는 클러스터의 클러스터 정보에 기초하여, 상기 입력 데이터가 등록 데이터에 매칭하는지를 검증하는 단계를 포함할 수 있다.
상기 입력 데이터를 인식하는 단계는, 상기 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 다른 경우에 응답하여, 상기 검증 대상 데이터가 속하는 클러스터에 지정된 임계 정보에 기초하여 상기 입력 데이터가 상기 검증 데이터에 매칭하는지를 검증하는 단계를 포함할 수 있다.
상기 입력 데이터를 인식하는 단계는, 복수의 등록 데이터의 각각이 속하는 클러스터 및 상기 입력 데이터가 속하는 클러스터에 기초하여, 상기 복수의 등록 데이터 중 상기 입력 데이터가 매칭하는 등록 데이터를 식별하는 단계를 포함할 수 있다.
상기 등록 데이터를 식별하는 단계는, 상기 복수의 등록 데이터 중 식별 대상 데이터를 순차적으로 선택하는 단계; 및 상기 입력 데이터가 속하는 클러스터 및 상기 식별 대상 데이터가 속하는 클러스터가 동일한 경우에 응답하여, 상기 입력 데이터의 특징 데이터 및 상기 식별 대상 데이터 간의 유사도를 산출하는 단계를 포함할 수 있다.
상기 등록 데이터를 식별하는 단계는, 상기 복수의 등록 데이터 중 식별 대상 데이터를 순차적으로 선택하는 단계; 및 상기 입력 데이터가 속하는 클러스터 및 상기 식별 대상 데이터가 속하는 클러스터가 다른 경우에 응답하여, 상기 입력 데이터가 속하는 클러스터의 클러스터 정보 및 상기 식별 대상 데이터가 속하는 클러스터의 클러스터 정보를 이용하여 상기 입력 데이터의 특징 데이터 및 상기 식별 대상 데이터 간의 유사도를 산출하는 단계를 포함할 수 있다.
인식 방법은 복수의 클러스터들의 각각에 대한 클러스터 정보를 저장하는 단계를 더 포함할 수 있다.
일 실시예에 따른 트레이닝 방법은, 트레이닝 데이터를 복수의 그룹들로 그룹핑하는 단계; 상기 복수의 그룹들 중 각 그룹에 속하는 그룹 데이터로부터 그룹 대표 정보를 배제하는 단계; 상기 그룹 대표 정보가 배제된 그룹 데이터를 복수의 클러스터들로 클러스터링하는 단계; 및 상기 복수의 클러스터들 중 각 클러스터에 속하는 클러스터 데이터를 복수의 서브 그룹들로 그룹핑하는 단계를 포함할 수 있다.
상기 복수의 그룹들로 그룹핑하는 단계는, 동일한 트레이닝 출력이 매핑된 복수의 트레이닝 입력으로부터 산출되는 특징 데이터를 상기 복수의 그룹들 중 상기 트레이닝 출력에 대응하는 그룹으로 그룹핑하는 단계를 포함할 수 있다.
상기 복수의 그룹들로 그룹핑하는 단계는, 상기 트레이닝 데이터의 트레이닝 입력으로부터 제1 모델을 이용하여 산출되는 특징 벡터에 대응하는 출력 및 상기 트레이닝 입력에 대응하는 트레이닝 출력 간의 오차가 감소되도록, 상기 제1 모델을 트레이닝시킴으로써, 상기 특징 벡터를 그룹핑하는 단계를 포함할 수 있다.
상기 그룹 대표 정보를 배제하는 단계는, 상기 복수의 그룹들 중 각 그룹에 대하여 그룹 대표 정보를 산출하는 단계; 및 상기 복수의 그룹들 중 각 그룹에 속하는 그룹 데이터로부터 상기 그룹 대표 정보를 감산(subtract)하는 단계를 포함할 수 있다.
상기 복수의 클러스터들로 클러스터링하는 단계는, 상기 복수의 클러스터들의 각각에 대해 클러스터 정보를 산출하는 단계; 및 상기 클러스터 정보를 해당 클러스터에 매핑하여 저장하는 단계를 포함할 수 있다.
상기 복수의 클러스터들로 클러스터링하는 단계는, 상기 그룹 대표 정보가 배제된 그룹 데이터로부터 제2 모델을 이용하여 산출되는 코스트(cost)가 감소되도록, 상기 제2 모델을 트레이닝 시킴으로써, 상기 그룹 데이터를 상기 복수의 클러스터들로 클러스터링하는 단계를 포함할 수 있다.
상기 복수의 서브 그룹들로 그룹핑하는 단계는, 상기 복수의 클러스터들 중 각 클러스터에 속하는 클러스터 데이터로부터 제3 모델을 이용하여 산출되는 출력 및 해당 클러스터 데이터에 대응하는 트레이닝 출력 간의 오차가 감소되도록, 상기 제3 모델을 트레이닝시킴으로써, 상기 클러스터 데이터를 상기 복수의 서브 그룹들로 그룹핑하는 단계를 포함할 수 있다.
트레이닝 방법은 상기 복수의 클러스터들의 각각에 대하여 임계 정보를 결정하는 단계를 더 포함할 수 있다.
상기 임계 정보를 결정하는 단계는, 상기 복수의 클러스터들 중 하나의 클러스터 내에서 제1 서브 그룹에 속하는 특징 데이터 간의 제1 유사도 분포를 산출하는 단계; 해당 클러스터 내에서 상기 제1 서브 그룹과 구별되는 제2 서브 그룹 내에 속하는 특징 데이터와 상기 제1 서브 그룹에 속하는 특징 데이터 간의 제2 유사도 분포를 산출하는 단계; 및 상기 제1 유사도 분포 및 상기 제2 유사도 분포에 기초하여, 해당 클러스터에 대한 상기 임계 정보를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 인식 장치는 인식 모델을 저장하는 메모리; 및 상기 인식 모델에 기초하여, 입력 데이터로부터 상기 입력 데이터에 대응하는 특징 데이터를 산출하고, 상기 입력 데이터가 속하는 클러스터를 식별하고, 상기 특징 데이터 및 상기 입력 데이터가 속하는 클러스터에 기초하여, 상기 입력 데이터를 인식하는 프로세서를 포함할 수 있다.
일 실시예에 따른 인식 방법은 객체를 포함하는 입력 이미지로부터, 인식 모델에 기초하여 상기 입력 이미지에 대응하는 특징 데이터를 산출하는 단계; 상기 특징 데이터에 기초하여, 상기 입력 이미지에 포함된 상기 객체가 속하는 클러스터를 식별하는 단계; 및 상기 특징 데이터 및 상기 클러스터에 기초하여, 상기 객체를 인식하는 단계를 포함할 수 있다.
상기 클러스터를 식별하는 단계는, 상기 특징 데이터에 기초하여, 복수의 객체 자세들(object poses)에 대응하는 클러스터들 중 상기 객체가 가지는 자세에 대응하는 클러스터를 결정하는 단계를 포함할 수 있다.
상기 클러스터를 식별하는 단계는, 상기 특징 데이터에 기초하여, 복수의 주변 환경들에 대응하는 클러스터들 중 상기 객체의 주변 환경에 대응하는 클러스터를 결정하는 단계를 포함할 수 있다.
상기 객체를 인식하는 단계는, 상기 식별된 클러스터 내에서 상기 입력 이미지에 매칭하는 등록 이미지를 인식하는 단계를 포함할 수 있다.
인식 방법은 등록 사용자에 대응하는 등록 이미지에 상기 등록 이미지가 속하는 클러스터를 매핑하여 저장하는 단계; 및 상기 등록 이미지가 속하는 클러스터를 제외한 나머지 클러스터들 중 적어도 하나에 대응하는 가상 등록 이미지를 생성하여 저장하는 단계를 더 포함할 수 있다.
도 1은 일 실시예에 따른 뉴럴 네트워크를 설명하는 도면이다.
도 2는 일 실시예에 따른 트레이닝 방법을 설명하는 흐름도이다.
도 3은 일 실시예에 따른 인식 모델 및 특징 공간을 설명하는 도면이다.
도 4 및 도 5는 일 실시예에 따른 인식 방법을 설명하는 흐름도이다.
도 6은 일 실시예에 따라 입력 데이터 및 등록 데이터가 서로 다른 클러스터에 속하는 경우의 검증을 설명하는 도면이다.
도 7은 일 실시예에 따른 클러스터 별 임계 정보의 지정을 설명하는 도면이다.
도 8은 일 실시예에 따른 트레이닝 장치의 구성을 설명하는 블록도이다.
도 9는 일 실시예에 따른 인식 장치의 구성을 설명하는 블록도이다.
도 2는 일 실시예에 따른 트레이닝 방법을 설명하는 흐름도이다.
도 3은 일 실시예에 따른 인식 모델 및 특징 공간을 설명하는 도면이다.
도 4 및 도 5는 일 실시예에 따른 인식 방법을 설명하는 흐름도이다.
도 6은 일 실시예에 따라 입력 데이터 및 등록 데이터가 서로 다른 클러스터에 속하는 경우의 검증을 설명하는 도면이다.
도 7은 일 실시예에 따른 클러스터 별 임계 정보의 지정을 설명하는 도면이다.
도 8은 일 실시예에 따른 트레이닝 장치의 구성을 설명하는 블록도이다.
도 9는 일 실시예에 따른 인식 장치의 구성을 설명하는 블록도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수 개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 뉴럴 네트워크를 설명하는 도면이다.
일 실시예에 따른 인식 장치는 인식 모델을 이용하여 입력 데이터로부터 해당 입력 데이터가 속하는 클러스터 및 해당 입력 데이터에 대한 인식 결과를 산출할 수 있다. 트레이닝 장치는 트레이닝 입력으로부터 트레이닝 출력 및 해당 트레이닝 입력이 속하는 클러스터가 출력되도록 인식 모델을 트레이닝시킬 수 있다.
예를 들어, 인식 모델은 적어도 하나의 뉴럴 네트워크(100)를 포함할 수 있다. 뉴럴 네트워크(100)에 기초하여, 인식을 수행하는 방법 및 그 방법을 수행하는 장치(이하, 인식 장치)가 제안되고, 해당 뉴럴 네트워크(100)를 트레이닝시키는 방법 및 장치(이하, 트레이닝 장치)가 제안될 수 있다. 본 명세서에서, 인식(recognition)은 검증(verification) 및 식별(identification)을 포함할 수 있다. 검증은 입력 데이터가 참인지 거짓인지를 판단하는 동작을 나타낼 수 있고, 식별은 복수의 레이블들 중 입력 데이터가 지시하는 레이블을 판단하는 동작을 나타낼 수 있다.
우선, 일 실시예에 따른 인식을 설명하기에 앞서 뉴럴 네트워크(100)의 개략적인 구조에 대해 하기와 같이 설명한다.
일 실시예에 따르면 뉴럴 네트워크(100)는 복수의 노드들로 구성되는 복수의 레이어들을 포함할 수 있다. 또한, 뉴럴 네트워크(100)는 복수의 레이어들의 각각에 포함된 복수의 노드들을 다른 레이어에 포함된 노드에 연결시키는 연결 가중치들을 포함할 수 있다. 트레이닝 장치는 뉴럴 네트워크(100)를 메모리에 저장된 내부 데이터베이스로부터 획득하거나, 통신부를 통해 외부 서버로부터 수신하여 획득할 수 있다.
예를 들어, 뉴럴 네트워크(100)는 연결선(edge)으로 연결된 많은 수의 인공 뉴런들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 인식 모델을 나타낼 수 있다. 뉴럴 네트워크(100)는 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 뉴럴 네트워크(100)는 인공(artificial) 뉴럴 네트워크라고 지칭될 수 있다.
뉴럴 네트워크(100)는 생물학적인 뉴런의 기능을 단순화시킨 인공 뉴런들을 이용한다. 인공 뉴런은 노드(node)라고 지칭될 수 있다. 인공 뉴런들은 연결 가중치(connection weight)를 가지는 연결선을 통해 상호 연결될 수 있다. 연결 가중치는 연결선이 갖는 특정한 값으로, 시냅스 가중치(synapse weight) 또는 연결 강도라고 지칭될 수 있다.
뉴럴 네트워크(100)는 복수의 레이어들을 포함할 수 있다. 예를 들어, 뉴럴 네트워크(100)는 입력 레이어(input layer)(110), 히든 레이어(hidden layer)(120), 출력 레이어(output layer)(130)을 포함할 수 있다. 입력 레이어(110)는 트레이닝 또는 인식을 수행하기 위한 입력을 수신하여 히든 레이어(120)에 전달할 수 있고, 출력 레이어(130)는 히든 레이어(120)로부터 수신한 신호에 기초하여 뉴럴 네트워크(100)의 출력을 생성할 수 있다. 히든 레이어(120)는 입력 레이어(110)와 출력 레이어(130) 사이에 위치하고, 입력 레이어(110)를 통해 전달된 트레이닝 데이터의 트레이닝 입력을 예측하기 쉬운 값으로 변화시킬 수 있다.
본 명세서에서 트레이닝 데이터는 복수의 트레이닝 쌍(training pair)들로 구성되는 데이터 셋트(data set)를 나타낼 수 있다. 예를 들어, 트레이닝 쌍은 트레이닝 입력 및 트레이닝 출력을 포함할 수 있고, 트레이닝 출력은 쌍을 이루는 트레이닝 입력으로부터 출력되어야 하는 값을 나타낼 수 있다. 따라서, 트레이닝 데이터는 복수의 트레이닝 입력들을 포함하고, 복수의 트레이닝 입력들의 각각에 매핑된 트레이닝 출력을 포함할 수 있다.
입력 레이어(110), 히든 레이어(120) 및 출력 레이어(130)는 복수 개의 노드들을 포함할 수 있다. 입력 레이어(110)에 포함된 노드는 입력 노드(input node)라고 지칭되고, 히든 레이어(120)에 포함된 노드는 히든 노드(hidden node)라고 지칭되며, 출력 레이어(130)에 포함된 노드는 출력 노드(output node)라고 지칭될 수 있다.
입력 레이어(110)에 포함된 입력 노드들과 히든 레이어(120)에 포함된 히든 노드들은 연결 가중치를 가지는 연결선들을 통해 서로 연결될 수 있다. 히든 레이어(120)에 포함된 히든 노드들과 출력 레이어(130)에 포함된 출력 노드들은 연결 가중치를 가지는 연결선들을 통해 서로 연결될 수 있다.
도면에 도시하지 않았으나, 뉴럴 네트워크는 복수 개의 히든 레이어들을 포함할 수 있다. 복수 개의 히든 레이어들을 포함하는 뉴럴 네트워크는 깊은 뉴럴 네트워크(deep neural network)라고 지칭될 수 있다. 깊은 뉴럴 네트워크를 학습시키는 것은 깊은 학습(deep learning)이라고 지칭될 수 있다. 히든 레이어(120)에 제1 히든 레이어, 제2 히든 레이어, 및 제3 히든 레이어가 포함되는 경우를 가정하면, 제1 히든 레이어에 속한 히든 노드의 출력은 제2 히든 레이어에 속한 히든 노드들에 연결될 수 있다. 제2 히든 레이어에 속한 히든 노드의 출력은 제3 히든 레이어에 속한 히든 노드들에 연결될 수 있다.
예를 들어, 트레이닝 장치 및 인식 장치는, 각 히든 레이어에 이전 히든 레이어에 포함된 이전 히든 노드들의 출력들을 연결 가중치를 가지는 연결선들을 통해 입력할 수 있고, 이전 히든 노드들의 출력들에 연결 가중치가 적용된 값들 및 활성화 함수에 기초하여 히든 레이어에 포함된 히든 노드들의 출력을 생성할 수 있다. 일 예시에 따르면, 다음 히든 노드로 출력를 발화하기 위하여, 활성화 함수의 결과는 현재 히든 노드의 임계 값을 초과해야 한다. 이 경우, 노드는 입력 벡터들을 통하여 특정 임계 활성화 강도에 도달하기 전에는 다음 노드로 신호를 발화하지 않고, 비활성화 상태를 유지할 수 있다.
일 실시예에 따른 트레이닝 장치는 뉴럴 네트워크(100)의 적어도 일부를 감독 학습(supervised learning)을 통해 트레이닝시킬 수 있다. 트레이닝 장치는 소프트웨어 모듈, 하드웨어 모듈, 또는 이들의 조합으로 구현될 수 있다. 감독 학습은 트레이닝 데이터의 트레이닝 입력 그에 대응하는 트레이닝 출력을 함께 뉴럴 네트워크(100)에 입력하고, 트레이닝 데이터의 트레이닝 출력에 대응하는 출력 데이터가 출력되도록 연결선들의 연결 가중치를 업데이트하는 기법이다.
또한, 트레이닝 장치는 뉴럴 네트워크(100)의 적어도 일부를 자율 학습(unsupervised learning)을 통해 트레이닝시킬 수도 있다. 자율 학습은 트레이닝 데이터의 트레이닝 입력을 전방 전파(forward propagate)한 출력에 기초하여 손실(예를 들어, 엔트로피 손실)을 산출할 수 있고, 손실이 감소되도록 연결선들의 연결 가중치를 업데이트하는 기법을 나타낼 수 있다.
도 1은 뉴럴 네트워크의 구조를 노드 구조로 표현하였으나, 실시예들은 이러한 노드 구조에 국한되지 않는다. 메모리 스토리지에 뉴럴 네트워크를 저장하기 위하여 다양한 데이터 구조가 이용될 수 있다.
일 실시예에 따르면, 트레이닝 장치는 뉴럴 네트워크에 역전파되는 손실 및 뉴럴 네트워크에 포함된 노드들의 출력 값에 기초한 기울기 하강(gradient descent) 기법을 통하여, 노드들의 파라미터를 결정할 수 있다. 예를 들어, 트레이닝 장치는 손실 역 전파 학습(back-propagation learning)을 통해 노드들 사이의 연결 가중치를 업데이트할 수 있다. 손실 역 전파 학습은, 주어진 트레이닝 데이터에 대해 포워드 계산(forward computation)을 통하여 손실을 추정한 후, 출력 레이어(130)에서 시작하여 히든 레이어(120) 및 입력 레이어(110)를 향하는 역 방향으로 추정한 손실을 전파하면서, 손실을 줄이는 방향으로 연결 가중치를 업데이트하는 방법이다. 뉴럴 네트워크(100)의 처리는 입력 레이어(110), 히든 레이어(120), 및 출력 레이어(130)의 방향으로 진행되지만, 손실 역 전파 트레이닝에서 연결 가중치의 업데이트 방향은 출력 레이어(130), 히든 레이어(120), 및 입력 레이어(110)의 방향으로 진행될 수 있다. 하나 또는 그 이상의 프로세서는 뉴럴 네트워크를 원하는 방향으로 처리하기 위하여, 레이어 또는 일련의 계산 데이터를 저장하는 버퍼 메모리를 이용할 수 있다.
트레이닝 장치는 현재 설정된 연결 가중치들이 얼마나 최적에 가까운지를 측정하기 위한 목적 함수(objective function)를 정의하고, 목적 함수의 결과에 기초하여 연결 가중치들을 계속 변경하고, 트레이닝을 반복적으로 수행할 수 있다. 예를 들어, 목적 함수는 뉴럴 네트워크(100)가 트레이닝 데이터의 트레이닝 입력에 기초하여 실제 출력한 출력 값과 출력되기로 원하는 기대 값 사이의 손실을 계산하기 위한 손실 함수일 수 있다. 트레이닝 장치는 손실 함수의 값을 줄이는 방향으로 연결 가중치들을 업데이트할 수 있다.
도 2는 일 실시예에 따른 트레이닝 방법을 설명하는 흐름도이다.
우선, 단계(210)에서 트레이닝 장치는 트레이닝 데이터를 복수의 그룹들로 그룹핑할 수 있다. 예를 들어, 트레이닝 장치는 제1 모델을 트레이닝시킴으로써, 트레이닝 입력으로부터 제1 모델에 기초하여 산출되는 특징 데이터를 그룹핑할 수 있다. 복수의 그룹의 각각은 하나의 레이블(label) (예를 들어, ID(identification) 정보)에 대응할 수 있다. 예를 들어, 트레이닝 데이터가 N개의 ID에 관한 데이터일 경우, 복수의 그룹의 각각은 하나의 ID에 대응할 수 있다. 여기서, N은 1이상의 정수일 수 있다. 또한, 트레이닝 데이터의 트레이닝 출력은 N개의 ID 중 하나의 ID를 지시하는 레이블일 수 있다. 트레이닝 장치는 트레이닝 입력으로부터 제1 모델을 이용하여 산출되는 특징 데이터는 N개의 ID 중 하나의 ID에 대응하는 그룹으로 분류할 수 있다.
이어서 단계(220)에서 트레이닝 장치는 복수의 그룹들 중 각 그룹에 속하는 그룹 데이터로부터 그룹 대표 정보를 배제(exclude)할 수 있다. 그룹 대표 정보는 상술한 단계(210)에서 생성된 그룹들의 각각을 대표하는 정보를 나타낼 수 있다. 일 실시예에 따르면 트레이닝 장치는 각 그룹에 속하는 특징 데이터로부터 해당 그룹의 그룹 대표 정보를 차감(subtract)할 수 있다.
예를 들어, 그룹 대표 정보는 각 그룹에 포함되는 특징 데이터들에 대한 통계값일 수 있다. 그룹 대표 정보는 특징 데이터의 평균값 벡터(mean value vector)일 수 있다. 임의의 그룹에 대한 평균값 벡터의 i번째 원소(element)는, 해당 그룹에 포함되는 각 특징 벡터의 i번째 원소(element)들의 평균값으로 계산될 수 있다. 특징 데이터 및 평균값 벡터는 m차원 특징 벡터일 수 있고, i는 1 이상 m이하의 정수일 수 있고, m은 1이상의 정수일 수 있다.
그리고 단계(230)에서 트레이닝 장치는 그룹 대표 정보가 제거된 그룹 데이터를 복수의 클러스터들로 클러스터링할 수 있다. 예를 들어, 트레이닝 장치는 제2 모델을 트레이닝시킴으로써, 그룹 대표 정보가 배제된 그룹 데이터의 각각을 복수의 클러스터들 중 하나의 클러스터로 분류할 수 있다. 복수의 클러스터들의 각각은 공통된 특징(trait)를 가지는 데이터를 포함할 수 있다. 예를 들어, 트레이닝 데이터가 객체에 관한 이미지인 경우, 복수의 클러스터들은 특정 조명 환경 하에서 촬영된 이미지를 포함하는 클러스터, 및 객체가 특정 자세를 가지는 이미지를 포함하는 클러스터 등으로 분류될 수 있다. 다만, 트레이닝 장치는 각 클러스터에 대해 미리 특징(trait)를 지정할 필요 없이, 제2 모델을 자율학습(unsupervised learning)을 통해 트레이닝시킴으로써, 그룹 대표 정보가 제거된 그룹 데이터를 자동으로 클러스터링할 수 있다.
본 명세서에서 클러스터는 특징 공간(feature space)에 주어진 특징 데이터들이 서로 가깝게 모여서 무리를 이루고 있는 집합을 나타낼 수 있다. 클러스터링은 각 클러스터를 형성하도록 특징 데이터들을 처리하는 동작을 나타낼 수 있다.
이어서 단계(240)에서 트레이닝 장치는 복수의 클러스터들 중 각 클러스터에 속하는 클러스터 데이터를 복수의 서브 그룹들로 그룹핑할 수 있다. 예를 들어, 트레이닝 장치는 제3 모델을 트레이닝시킴으로써, 각 클러스터에 속하는 클러스터 데이터를 복수의 서브 그룹들 중 하나의 서브 그룹으로 분류할 수 있다. 복수의 서브 그룹들의 각각은 하나의 레이블에 대응할 수 있다. 따라서, 하나의 클러스터에 속하는 복수의 서브 그룹들에 속하는 서브 그룹 데이터는 공통된 특징(trait)을 가질 수 있고, 각 서브 그룹에 속하는 서브 그룹 데이터는 공통된 특징(trait)을 가지면서 공통된 레이블을 가질 수 있다.
도 3은 일 실시예에 따른 인식 모델 및 특징 공간을 설명하는 도면이다.
트레이닝 장치는 트레이닝 데이터(301)를 이용하여 인식 모델(300)을 트레이닝시킬 수 있다. 인식 모델(300)은 제1 모델(310), 대표 정보 배제부(320), 제2 모델(330), 및 제3 모델(340)을 포함할 수 있다. 예를 들어, 제1 모델(310), 제2 모델(330), 및 제3 모델(340)은 도 1에서 상술한 뉴럴 네트워크의 적어도 일부로 구성될 수 있다. 트레이닝 장치는 제1 모델(310) 및 제3 모델(340)을 지도 학습(supervised learning)에 기초하여 트레이닝시킬 수 있고, 제2 모델(330)을 자율 학습(unsupervised learning)에 기초하여 트레이닝시킬 수 있다. 대표 정보 배제부(320)는 제1 모델로부터 출력되는 값으로부터 그룹 대표 정보를 배제하도록 구성될 수 있다.
일 실시예에 따르면, 트레이닝 장치는 제1 모델(310), 제2 모델(330), 및 제3 모델(340)을 순차적으로, 개별적으로 트레이닝시킬 수 있다.
우선, 트레이닝 장치는 동일한 트레이닝 출력이 매핑된 복수의 트레이닝 입력으로부터 산출되는 특징 데이터를 복수의 그룹들 중 트레이닝 출력에 대응하는 그룹으로 그룹핑할 수 있다. 예를 들어, 트레이닝 장치는 트레이닝 데이터(301)의 트레이닝 입력으로부터 제1 모델(310)을 이용하여 산출되는 특징 벡터에 대응하는 출력 및 트레이닝 입력에 대응하는 트레이닝 출력 간의 오차가 감소되도록, 제1 모델(310)을 트레이닝시킴으로써, 특징 벡터를 그룹핑할 수 있다. 트레이닝 장치는 트레이닝 데이터(301)의 트레이닝 입력으로부터 제1 모델(310)을 이용하여 특징 벡터를 산출할 수 있고, 산출된 특징 벡터 및 트레이닝 출력에 기초하여 손실(예를 들어, 소프트맥스 손실(Softmax Loss) 또는 트리플릿 손실(Triplet Loss))을 산출할 수 있다. 특징 데이터는 특징 공간(391) 내의 그룹(302) 별로 분류될 수 있다.
그리고 트레이닝 장치는 복수의 그룹들 중 각 그룹(302)에 대하여 그룹 대표 정보를 산출할 수 있다. 트레이닝 장치는 복수의 그룹들 중 각 그룹(302)에 속하는 그룹 데이터로부터 그룹 대표 정보를 감산(subtract)할 수 있다. 따라서, 트레이닝 장치는 대표 정보 배제부(320)를 통해 각 그룹(302)에 속하는 그룹 데이터로부터 해당 그룹의 그룹 대표 정보(예를 들어, 해당 그룹(302)의 평균값(mean value)을 차감함으로써, 특징 공간(392)에 나타나는 바와 같이 모든 레이블 별 그룹에 속하는 그룹 데이터를 특징 공간(392)의 중심 공간(303)으로 병합할 수 있다. 각 그룹에 속하는 그룹 데이터는 레이블 속성(예를 들어, ID 속성)이 제거될 수 있다. 따라서, 그룹 대표 정보가 배제된 그룹 데이터는 레이블 속성을 제외하고, 나머지 속성, 예를 들어 환경 및 객체의 자세 등의 특징을 가질 수 있다.
이어서 트레이닝 장치는 그룹 대표 정보가 배제된 그룹 데이터를 복수의 클러스터들로 클러스터링할 수 있다. 일 실시예에 따르면, 트레이닝 장치는 복수의 클러스터들의 각각에 대해 클러스터 정보를 산출할 수 있다. 트레이닝 장치는 클러스터 정보를 해당 클러스터에 매핑하여 저장할 수 있다. 예를 들어, 트레이닝 장치는 그룹 대표 정보가 배제된 그룹 데이터로부터 제2 모델(330)을 이용하여 산출되는 코스트(cost)가 감소되도록, 제2 모델(330)을 트레이닝 시킴으로써, 그룹 데이터를 복수의 클러스터들로 클러스터링할 수 있다.
클러스터 정보는 클러스터를 대표하는 정보를 나타낼 수 있다. 예를 들어, 클러스터 정보는 각 클러스터에 포함되는 특징 데이터들에 대한 통계값일 수 있다. 클러스터 정보는 특징 데이터의 평균값 벡터(mean value vector)일 수 있다. 임의의 클러스터에 대한 평균값 벡터의 j번째 원소(element)는, 해당 그룹에 포함되는 각 특징 벡터의 j번째 원소(element)들의 평균값으로 계산될 수 있다.
특징 공간(393)에 나타난 바와 같이, 그룹 데이터는 각 클러스터(304)로 분류될 수 있다. 각 클러스터(304)는 예를 들어, 환경 영향에 따른 특징, 객체 자세에 따른 특징, 및 복합적인 요소에 따른 특징 등을 공통적으로 가질 수 있다. 예로, 제1 클러스터는 저조도 영향을 받은 이미지에 대한 특징 데이터를 포함할 수 있고, 제2 클러스터는 옆 얼굴 이미지에 대한 특징 데이터를 포함할 수 있고, 제3 클러스터는 저조도의 옆 얼굴 이미지에 대한 특징 데이터를 포함할 수도 있다. 또한, 도 3에서 클러스터가 K개(여기서, K는 1이상의 정수)로 도시되었는데, 클러스터의 개수는 미리 정해지거나, 클러스터링 방식에 따라 결정될 수 있다.
그리고 트레이닝 장치는 각 클러스터에 속하는 클러스터 데이터를 복수의 서브 그룹들로 그룹핑할 수 있다. 트레이닝 장치는 복수의 클러스터들 중 각 클러스터에 속하는 클러스터 데이터로부터 제3 모델(340)을 이용하여 산출되는 출력 및 해당 클러스터 데이터에 대응하는 트레이닝 출력 간의 오차가 감소되도록, 제3 모델(340)을 트레이닝시킴으로써, 클러스터 데이터를 복수의 서브 그룹들로 그룹핑할 수 있다. 특징 공간(394)에 나타난 바와 같이, 각 데이터는 클러스터 내에서도 레이블 단위의 서브 그룹(305)으로 세부 분류될 수 있다.
도 4 및 도 5는 일 실시예에 따른 인식 방법을 설명하는 흐름도이다.
우선, 단계(410)에서 인식 장치는 인식 모델에 기초하여, 입력 데이터로부터 입력 데이터에 대응하는 특징 데이터를 산출하고, 입력 데이터가 속하는 클러스터를 식별할 수 있다. 인식 모델은 도 1 내지 도 3에서 상술한 바와 같이 트레이닝 데이터에 기초하여, 주어진 입력에 대해 특징 데이터 및 해당 입력이 속하는 클러스터를 출력하도록 트레이닝된 모델일 수 있다.
그리고 단계(420)에서 인식 장치는 특징 데이터 및 입력 데이터가 속하는 클러스터에 기초하여 입력 데이터를 인식할 수 있다. 일 실시예에 따르면, 인식 장치는 입력 데이터가 등록 데이터 중 하나에 매칭하는지를 식별하거나, 주어진 검증 대상 데이터에 매칭하는지를 검증할 수 있다. 예를 들어, 인식 장치는 인식 모델을 이용하여 산출된 입력 데이터에 대응하는 특징 데이터가 기 등록된 등록 데이터에 매칭하는지를 판단하거나, 검증 대상 데이터에 매칭하는지를 판단할 수 있다.
인식 장치는 단계(521)에서 입력 데이터 및 대상 데이터가 속하는 클러스터가 동일한 지 여부를 판단할 수 있다. 인식 장치가 식별을 수행하는 경우, 대상 데이터는 등록 데이터 중 하나일 수 있다. 인식 장치가 검증을 수행하는 경우 대상 데이터는 주어진 검증 대상 데이터일 수 있다.
그리고 단계(522)에서 인식 장치는 입력 데이터 및 대상 데이터가 동일한 클러스터로 판단되는 경우에 응답하여, 동일 클러스터 내에서 인식할 수 있다.
일 실시예에 따르면 인식 장치는 복수의 등록 데이터의 각각이 속하는 클러스터 및 입력 데이터가 속하는 클러스터에 기초하여, 복수의 등록 데이터 중 입력 데이터가 매칭하는 등록 데이터를 식별할 수 있다. 예를 들어, 인식 장치는 복수의 등록 데이터 중 식별 대상 데이터를 순차적으로 선택할 수 있다. 인식 장치는 입력 데이터가 속하는 클러스터 및 식별 대상 데이터가 속하는 클러스터가 동일한 경우에 응답하여, 입력 데이터의 특징 데이터 및 식별 대상 데이터 간의 유사도를 산출할 수 있다. 인식 장치는 유사도가 임계 정보를 초과하는 경우에 응답하여, 입력 데이터가 식별 대상 데이터에 매칭하는 것으로 결정할 수 있다. 임계 정보는 하기 도 7에서 상세히 설명한다.
본 명세서에서 특징 데이터 및 식별 대상 데이터가 m차원 특징 벡터인 경우, 유사도는 두 특징 벡터 간의 유클리드 거리일 수 있다. 다만, 유사도를 이로 한정하는 것은 아니고, 설계에 따라 다양한 수식이 사용될 수 있다.
다른 일 실시예에 따르면 인식 장치는 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 동일한 경우에 응답하여, 입력 데이터가 검증 대상 데이터에 매칭하는지를 검증할 수 있다. 예를 들어, 인식 장치는 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 동일한 경우, 해당 클러스터에 지정된 임계 정보에 기초하여 입력 데이터가 검증 대상 데이터에 매칭하는지를 검증할 수 있다.
이어서 단계(523)에서 인식 장치는 입력 데이터 및 대상 데이터가 다른 클러스터로 판단되는 경우에 응답하여, 다른 클러스터 간에 인식을 수행할 수 있다.
일 실시예에 따르면 인식 장치는 입력 데이터가 속하는 클러스터 및 식별 대상 데이터가 속하는 클러스터가 다른 경우에 응답하여, 입력 데이터가 속하는 클러스터의 클러스터 정보 및 식별 대상 데이터가 속하는 클러스터의 클러스터 정보를 이용하여 입력 데이터의 특징 데이터 및 식별 대상 데이터 간의 유사도를 산출할 수 있다. 인식 장치는 식별 대상 데이터가 속하는 클러스터에 지정된 임계 정보를 유사도가 초과하는 경우에 응답하여, 입력 데이터가 식별 대상 데이터에 매칭하는 것으로 결정할 수 있다. 임계 정보는 하기 도 7에서 설명한다.
다른 일 실시예에 따르면, 인식 장치는 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 다른 경우에 응답하여, 입력 데이터가 속하는 클러스터의 클러스터 정보 및 검증 대상 데이터가 속하는 클러스터의 클러스터 정보에 기초하여, 입력 데이터가 등록 데이터에 매칭하는지를 검증할 수 있다. 예를 들어, 인식 장치는 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 다른 경우에 응답하여, 검증 대상 데이터가 속하는 클러스터에 지정된 임계 정보에 기초하여 입력 데이터가 검증 데이터에 매칭하는지를 검증할 수 있다.
일 실시예에 따르면 인식 장치는 객체를 포함하는 입력 이미지를 획득할 수 있고, 인식 모델을 이용하여 입력 이미지로부터 객체를 지시하는 레이블을 산출할 수 있다. 예를 들어, 객체는 사람의 얼굴일 수 있으나, 이로 한정하는 것은 아니다. 객체를 지시하는 레이블은 예를 들어, 사람의 신원(ID)일 수 있다. 인식 장치는 조명 및 객체의 자세 등을 고려하여, 사람의 신원을 보다 정밀하게 인식할 수 있다.
도 6은 일 실시예에 따라 입력 데이터 및 등록 데이터가 서로 다른 클러스터에 속하는 경우의 검증을 설명하는 도면이다.
인식 장치는 등록 데이터(621)의 클러스터(620) 및 입력 데이터(611)의 클러스터(610)가 서로 상이한 경우에도, 클러스터에 기반하여 유사도를 산출할 수 있다. 도 6은 특징 공간을 도시한 것으로서, 등록 데이터(621) 및 입력 데이터(611)는 특징 공간 내의 특징 데이터로 표현될 수 있다.
일 실시예에 따르면 인식 장치는 등록 데이터(621) 및 입력 데이터(611)가 동일한 클러스터에 속하도록, 등록 데이터(621) 및 입력 데이터(611) 중 하나를 변환할 수 있다. 예를 들어, 인식 장치는 입력 데이터(611)를 등록 데이터(621)가 속하는 클러스터(620)로 이동시킬 수 있다. 인식 장치는 입력 데이터(611)가 속하는 클러스터(610)의 클러스터 정보(예를 들어, 평균값 벡터(mean value)) 및 등록 데이터(621)가 속하는 클러스터(620)의 클러스터 정보 간의 클러스터 차이를 입력 데이터(611)에 적용함으로써 입력 데이터(611)를 등록 데이터(621)의 클러스터(620)로 이동시킬 수 있다. 인식 장치는 입력 데이터(611)에 대해 클러스터 차이를 가산(add)함으로써 변환된 데이터(612)를 생성할 수 있다.
인식 장치는 입력 데이터(611)가 등록 데이터(621)의 클러스터(620)로 이동된 변환된 데이터(612)와 등록 데이터(621) 간의 유사도를 산출할 수 있다. 따라서, 인식 장치는 입력 데이터(611) 및 등록 데이터(621)가 서로 다른 클러스터에 속하더라도, 두 데이터(611, 621)를 동일한 클러스터로 변환한 후에 인식을 수행함으로써, 조명, 환경, 및 자세 등의 요소를 인식 결과에 반영할 수 있다.
인식 장치는 등록 데이터(621)가 속하는 클러스터(620)에 지정된 임계 정보를 변환된 데이터(612)와 등록 데이터(621) 간의 유사도가 초과하는 경우에 응답하여, 입력 데이터(611)가 등록 데이터(621)에 매칭하는 것으로 판단할 수 있다. 임계 정보는 하기 도 7에서 상세히 설명한다.
도 7은 일 실시예에 따른 클러스터 별 임계 정보의 지정을 설명하는 도면이다.
트레이닝 장치는 복수의 클러스터들의 각각에 대하여 임계 정보를 결정할 수 있다. 상술한 바와 같이, 트레이닝 장치는 K개의 클러스터들(721, 722)를 포함하는 특징 공간(720)을 형성하는 인식 모델(710)을 트레이닝시킬 수 있다.
주어진 데이터(701)는 동일 클러스터 내에서 동일한 레이블을 가지는 데이터 셋트 및 다른 레이블을 가지는 데이터 셋트로 구성될 수 있다. 동일한 레이블을 가지는 데이터 셋트는 제1 유사도 분포(731)의 산출에 사용될 수 있고, 다른 레이블을 가지는 데이터 셋트는 제2 유사도 분포(732)의 산출에 사용될 수 있다.
예를 들어, 트레이닝 장치는 주어진 데이터(701) 및 인식 모델(710)을 이용하여 복수의 클러스터들 중 하나의 클러스터 내에서 제1 서브 그룹에 속하는 특징 데이터 간의 제1 유사도 분포를 산출할 수 있다. 또한, 트레이닝 장치는 주어진 데이터(701) 및 인식 모델(710)을 이용하여 해당 클러스터 내에서 제1 서브 그룹과 구별되는 제2 서브 그룹 내에 속하는 특징 데이터와 제1 서브 그룹에 속하는 특징 데이터 간의 제2 유사도 분포를 산출할 수 있다. 도 7에 도시된 바와 같이 트레이닝 장치는 제1 클러스터(721)에 대하여 제1 유사도 분포(731) 및 제2 유사도 분포(732)를 산출할 수 있다. 제1 유사도 분포(731) 및 제2 유사도 분포(732)의 가로 축은 유사도(예를 들어, 유클리드 거리(Euclidean distance))를 나타낼 수 있고, 세로 축은 각 유사도의 분포(예를 들어, 개수 등)를 나타낼 수 있다.
트레이닝 장치는 제1 유사도 분포 및 제2 유사도 분포에 기초하여, 해당 클러스터에 대한 임계 정보를 결정할 수 있다. 도 7에 도시된 바와 같이, 트레이닝 장치는 제1 유사도 분포 및 제2 유사도 분포가 구분될 수 있는 유사도를 임계 정보로 결정할 수 있다. 트레이닝 장치는 각 클러스터에 대해 개별적으로 임계 정보(733)를 결정할 수 있다. 도 7에 도시된 바와 같이, 트레이닝 장치는 제2 클러스터(722)에 대한 임계 정보(743)를 제1 클러스터(733)와는 다른 값으로 결정할 수 있다. 도 7에서, 임계 정보(733, 743)의 좌측은 기준이 되는 데이터 셋트에 대해 동일한 레이블을 가지는 데이터 셋트에 대응하고, 우측은 기준이 되는 데이터 셋트에 대해 다른 레이블을 가지는 데이터 셋트에 대응할 수 있다.
트레이닝 장치는 상술한 바에 따라 결정된 임계 정보를 각 클러스터에 대해 지정할 수 있다. 인식 장치는 각 클러스터에 대해 지정된 임계 정보에 기초하여, 입력 데이터 및 등록 데이터 간의 매칭 여부를 클러스터 별로 판단할 수 있다.
도 8은 일 실시예에 따른 트레이닝 장치의 구성을 설명하는 블록도이다.
트레이닝 장치(800)는 프로세서(810) 및 메모리(820)를 포함한다.
프로세서(810)는 트레이닝 데이터(891)에 기초하여 인식 모델(892)을 트레이닝시킬 수 있다. 예를 들어, 프로세서(810)는 트레이닝 데이터(891)의 트레이닝 입력으로부터 트레이닝 출력 및 클러스터가 출력되도록 인식 모델(892)을 트레이닝시킬 수 있다.
메모리(820)는 트레이닝 데이터(891) 및 인식 모델(892)을 저장할 수 있다.
프로세서(810) 및 메모리(820)의 동작을 간략하게 설명하였으나 이로 한정하는 것은 아니고, 도 1 내지 도 7에서 설명한 동작들과 결합될 수도 있다.
도 9는 일 실시예에 따른 인식 장치의 구성을 설명하는 블록도이다.
인식 장치(900)는 프로세서(910) 및 메모리(920)를 포함한다.
프로세서(910)는 인식 모델(992)에 기초하여 입력 데이터로부터 특징 데이터 및 해당 특징 데이터가 속하는 클러스터를 산출할 수 있다. 프로세서(910)는 산출된 특징 데이터 및 클러스터에 기초하여, 입력 데이터가 등록 데이터 중 하나에 매칭하는지를 식별하거나, 검증 대상 데이터에 매칭하는지를 검증할 수 있다.
메모리(920)는 인식 모델(992)을 저장할 수 있다. 인식 모델(992)은 도 8의 트레이닝 장치에 의해 트레이닝된 모델일 수 있다.
프로세서(910) 및 메모리(920)의 동작을 간략하게 설명하였으나, 이로 한정하는 것은 아니고, 도 1 내지 도 7에서 설명한 동작들과 결합될 수도 있다.
일 실시예에 따른 인식 장치(900)는 클러스터가 반영된 인식 모델(992)을 이용하여 환경(예를 들어, 저조도, 흐릿함(Blur)), 및 객체 자세 등을 고려하여 입력 데이터를 인식할 수 있다. 따라서, 인식 장치(900)는 다양한 환경 및 다양한 객체 자세를 가지는 이미지에 대해서도 높은 인식률을 나타낼 수 있다.
또한, 인식 장치(900)는 클러스터 별로 지정된 임계 정보를 이용함으로써, 동일 클러스터 내 뿐 아니라 다른 클러스터에 대해서도 정밀하게 입력 이미지를 인식할 수 있다. 동일 클러스터에 속하는 경우는 두 이미지가 유사한 환경 또는 유사한 자세를 가지는 것을 나타낼 수 있다. 다른 클러스터에 속하는 경우는 두 이미지가 다른 환경 또는 다른 자세를 가지는 것을 나타낼 수 있다.
일 실시예에 따른 인식 장치(900)의 프로세서(910)는 객체를 포함하는 입력 이미지로부터, 인식 모델에 기초하여 입력 이미지에 대응하는 특징 데이터를 산출할 수 있다. 여기서, 인식 장치(900)는 카메라 등을 통해 입력 이미지를 촬영 및 획득할 수 있다. 입력 이미지에 포함되는 객체는 사람의 얼굴일 수 있으나, 이로 한정하는 것은 아니고, 홍채 및 지문 등일 수도 있다. 특징 데이터는 객체(예를 들어, 사람의 얼굴)의 특징을 나타내는 데이터일 수 있다.
프로세서(910)는 특징 데이터에 기초하여, 입력 이미지에 포함된 객체가 속하는 클러스터를 식별할 수 있다.
예를 들어, 프로세서(910)는 특징 데이터에 기초하여, 복수의 객체 자세들(object poses)에 대응하는 클러스터들 중 객체가 가지는 자세에 대응하는 클러스터를 결정할 수 있다. 객체 자세는 객체가 사람의 얼굴인 경우, 정면 얼굴 자세 및 측면 얼굴 자세 등을 포함할 수 있으나, 이로 한정하는 것은 아니다.
다른 예를 들어, 프로세서(910)는 특징 데이터에 기초하여, 복수의 주변 환경들에 대응하는 클러스터들 중 객체의 주변 환경에 대응하는 클러스터를 결정할 수 있다. 주변 환경은 제1 조명 환경(예를 들어, 실내) 및 제2 조명 환경(예를 들어, 실외) 등을 포함할 수 있으나, 이로 한정하는 것은 아니다.
프로세서(910)는 특징 데이터 및 클러스터에 기초하여, 객체를 인식할 수 있다. 프로세서(910)는 식별된 클러스터 내에서 입력 이미지에 매칭하는 등록 이미지를 인식할 수 있다. 여기서, 인식 장치(900)의 메모리(920)는 등록 데이터베이스를 포함할 수 있고, 등록 데이터베이스는 사람의 ID 별로 각 클러스터에 해당하는 등록 이미지를 포함할 수 있다. 예를 들어, 등록 데이터베이스는 사람 A에 대하여 복수의 조명 환경들 및 복수의 객체 자세들의 각각에 대응하는 클러스터에 속하는 등록 이미지를 포함할 수 있다.
다만, 이로 한정하는 것은 아니고, 프로세서(910)는 등록 과정에서 제한된 개수의 등록 이미지로부터 다양한 클러스터에 속하는 가상 등록 이미지를 생성하여 등록 데이터베이스에 추가할 수도 있다. 예를 들어, 프로세서(910)는 등록 사용자에 대응하는 등록 이미지에 등록 이미지가 속하는 클러스터를 매핑하여 저장할 수 있다. 프로세서(910)는 등록 이미지가 속하는 클러스터를 제외한 나머지 클러스터들 중 적어도 하나에 대응하는 가상 등록 이미지를 생성하여 저장할 수 있다.
따라서, 인식 장치(900)는 초기에 다양한 클러스터에 속하는 이미지의 획득이 어려운 경우에도, 하나의 클러스터에 해당하는 등록 이미지로부터 다른 클러스터에 해당하는 가상 등록 이미지를 등록할 수도 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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: 메모리
992: 인식 모델
910: 프로세서
920: 메모리
992: 인식 모델
Claims (25)
- 인식 방법에 있어서,
인식 모델에 기초하여, 입력 데이터로부터 상기 입력 데이터에 대응하는 특징 데이터를 산출하고, 상기 입력 데이터가 속하는 클러스터를 식별하는 단계; 및
상기 특징 데이터 및 상기 입력 데이터가 속하는 클러스터에 기초하여, 상기 입력 데이터를 인식하는 단계
를 포함하고,
상기 입력 데이터를 인식하는 단계는,
상기 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 다른 경우에 응답하여, 상기 입력 데이터가 속하는 클러스터의 클러스터 정보 및 상기 검증 대상 데이터가 속하는 클러스터의 클러스터 정보에 기초하여, 상기 입력 데이터가 상기 검증 대상 데이터에 매칭하는지를 검증하는 단계
를 포함하는 인식 방법. - 제1항에 있어서,
상기 입력 데이터를 인식하는 단계는,
상기 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 동일한 경우에 응답하여, 상기 입력 데이터가 상기 검증 대상 데이터에 매칭하는지를 검증하는 단계
를 포함하는 인식 방법. - 제1항에 있어서,
상기 입력 데이터를 인식하는 단계는,
상기 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 동일한 경우, 해당 클러스터에 지정된 임계 정보에 기초하여 상기 입력 데이터가 상기 검증 대상 데이터에 매칭하는지를 검증하는 단계
를 포함하는 인식 방법. - 삭제
- 제1항에 있어서,
상기 입력 데이터가 상기 검증 대상 데이터에 매칭하는지를 검증하는 단계는,
상기 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 다른 경우에 응답하여, 상기 검증 대상 데이터가 속하는 클러스터에 지정된 임계 정보에 기초하여 상기 입력 데이터가 상기 검증 대상 데이터에 매칭하는지를 검증하는 단계
를 포함하는 인식 방법. - 제1항에 있어서,
상기 입력 데이터를 인식하는 단계는,
복수의 등록 데이터의 각각이 속하는 클러스터 및 상기 입력 데이터가 속하는 클러스터에 기초하여, 상기 복수의 등록 데이터 중 상기 입력 데이터가 매칭하는 등록 데이터를 식별하는 단계
를 포함하는 인식 방법. - 제6항에 있어서,
상기 등록 데이터를 식별하는 단계는,
상기 복수의 등록 데이터 중 식별 대상 데이터를 순차적으로 선택하는 단계; 및
상기 입력 데이터가 속하는 클러스터 및 상기 식별 대상 데이터가 속하는 클러스터가 동일한 경우에 응답하여, 상기 입력 데이터의 특징 데이터 및 상기 식별 대상 데이터 간의 유사도를 산출하는 단계
를 포함하는 인식 방법. - 제6항에 있어서,
상기 등록 데이터를 식별하는 단계는,
상기 복수의 등록 데이터 중 식별 대상 데이터를 순차적으로 선택하는 단계; 및
상기 입력 데이터가 속하는 클러스터 및 상기 식별 대상 데이터가 속하는 클러스터가 다른 경우에 응답하여, 상기 입력 데이터가 속하는 클러스터의 클러스터 정보 및 상기 식별 대상 데이터가 속하는 클러스터의 클러스터 정보를 이용하여 상기 입력 데이터의 특징 데이터 및 상기 식별 대상 데이터 간의 유사도를 산출하는 단계
를 포함하는 인식 방법. - 제1항에 있어서,
복수의 클러스터들의 각각에 대한 클러스터 정보를 저장하는 단계
를 더 포함하는 인식 방법. - 제1항 내지 제3항 및 제5항 내지 제9항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 기록 매체.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 인식 장치에 있어서,
인식 모델을 저장하는 메모리; 및
상기 인식 모델에 기초하여, 입력 데이터로부터 상기 입력 데이터에 대응하는 특징 데이터를 산출하고, 상기 입력 데이터가 속하는 클러스터를 식별하고, 상기 특징 데이터 및 상기 입력 데이터가 속하는 클러스터에 기초하여, 상기 입력 데이터를 인식하는 프로세서
를 포함하고,
상기 프로세서는,
상기 입력 데이터가 속하는 클러스터 및 검증 대상 데이터가 속하는 클러스터가 다른 경우에 응답하여, 상기 입력 데이터가 속하는 클러스터의 클러스터 정보 및 상기 검증 대상 데이터가 속하는 클러스터의 클러스터 정보에 기초하여, 상기 입력 데이터가 상기 검증 대상 데이터에 매칭하는지를 검증하는,
인식 장치. - 객체를 포함하는 입력 이미지로부터, 인식 모델에 기초하여 상기 입력 이미지에 대응하는 특징 데이터를 산출하는 단계;
상기 특징 데이터에 기초하여, 상기 입력 이미지에 포함된 상기 객체가 속하는 클러스터를 식별하는 단계;
상기 특징 데이터 및 상기 클러스터에 기초하여, 상기 객체를 인식하는 단계;
등록 사용자에 대응하는 등록 이미지에 상기 등록 이미지가 속하는 클러스터를 매핑하여 저장하는 단계; 및
상기 등록 이미지가 속하는 클러스터를 제외한 나머지 클러스터들 중 적어도 하나에 대응하는 가상 등록 이미지를 생성하여 저장하는 단계
를 포함하는 인식 방법. - 제21항에 있어서,
상기 클러스터를 식별하는 단계는,
상기 특징 데이터에 기초하여, 복수의 객체 자세들(object poses)에 대응하는 클러스터들 중 상기 객체가 가지는 자세에 대응하는 클러스터를 결정하는 단계
를 포함하는 인식 방법. - 제21항에 있어서,
상기 클러스터를 식별하는 단계는,
상기 특징 데이터에 기초하여, 복수의 주변 환경들에 대응하는 클러스터들 중 상기 객체의 주변 환경에 대응하는 클러스터를 결정하는 단계
를 포함하는 인식 방법. - 제21항에 있어서,
상기 객체를 인식하는 단계는,
상기 식별된 클러스터 내에서 상기 입력 이미지에 매칭하는 등록 이미지를 인식하는 단계
를 포함하는 인식 방법. - 삭제
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160153539A KR102450374B1 (ko) | 2016-11-17 | 2016-11-17 | 데이터 인식 및 트레이닝 장치 및 방법 |
US15/470,956 US10474933B2 (en) | 2016-11-17 | 2017-03-28 | Recognition and training method and apparatus |
KR1020220122797A KR102564857B1 (ko) | 2016-11-17 | 2022-09-27 | 데이터 인식 및 트레이닝 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160153539A KR102450374B1 (ko) | 2016-11-17 | 2016-11-17 | 데이터 인식 및 트레이닝 장치 및 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220122797A Division KR102564857B1 (ko) | 2016-11-17 | 2022-09-27 | 데이터 인식 및 트레이닝 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180055573A KR20180055573A (ko) | 2018-05-25 |
KR102450374B1 true KR102450374B1 (ko) | 2022-10-04 |
Family
ID=62106916
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160153539A KR102450374B1 (ko) | 2016-11-17 | 2016-11-17 | 데이터 인식 및 트레이닝 장치 및 방법 |
KR1020220122797A KR102564857B1 (ko) | 2016-11-17 | 2022-09-27 | 데이터 인식 및 트레이닝 장치 및 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220122797A KR102564857B1 (ko) | 2016-11-17 | 2022-09-27 | 데이터 인식 및 트레이닝 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10474933B2 (ko) |
KR (2) | KR102450374B1 (ko) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11798064B1 (en) | 2017-01-12 | 2023-10-24 | Digimarc Corporation | Sensor-based maximum-likelihood estimation of item assignments |
KR102481885B1 (ko) * | 2017-09-08 | 2022-12-28 | 삼성전자주식회사 | 클래스 인식을 위한 뉴럴 네트워크 학습 방법 및 디바이스 |
US10809796B2 (en) * | 2017-09-29 | 2020-10-20 | Apple Inc. | Monitoring a user of a head-wearable electronic device |
US11265168B2 (en) | 2018-03-07 | 2022-03-01 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US11789699B2 (en) | 2018-03-07 | 2023-10-17 | Private Identity Llc | Systems and methods for private authentication with helper networks |
US10938852B1 (en) | 2020-08-14 | 2021-03-02 | Private Identity Llc | Systems and methods for private authentication with helper networks |
US11170084B2 (en) | 2018-06-28 | 2021-11-09 | Private Identity Llc | Biometric authentication |
US11210375B2 (en) | 2018-03-07 | 2021-12-28 | Private Identity Llc | Systems and methods for biometric processing with liveness |
US11394552B2 (en) | 2018-03-07 | 2022-07-19 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US11392802B2 (en) | 2018-03-07 | 2022-07-19 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US11502841B2 (en) | 2018-03-07 | 2022-11-15 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US11489866B2 (en) | 2018-03-07 | 2022-11-01 | Private Identity Llc | Systems and methods for private authentication with helper networks |
US10721070B2 (en) | 2018-03-07 | 2020-07-21 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
US11138333B2 (en) | 2018-03-07 | 2021-10-05 | Private Identity Llc | Systems and methods for privacy-enabled biometric processing |
KR102641116B1 (ko) * | 2018-08-23 | 2024-02-27 | 삼성전자주식회사 | 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치 |
US11216541B2 (en) | 2018-09-07 | 2022-01-04 | Qualcomm Incorporated | User adaptation for biometric authentication |
CN111275060B (zh) * | 2018-12-04 | 2023-12-08 | 北京嘀嘀无限科技发展有限公司 | 识别模型更新处理方法、装置、电子设备及存储介质 |
CN109766799B (zh) * | 2018-12-28 | 2021-02-12 | 百度在线网络技术(北京)有限公司 | 车位识别模型训练方法及装置和车位识别方法及装置 |
KR102002549B1 (ko) * | 2019-01-23 | 2019-07-22 | 주식회사 솔리드웨어 | 다단계 분류모델 생성 방법 및 그 장치 |
US10565471B1 (en) | 2019-03-07 | 2020-02-18 | Capital One Services, Llc | Systems and methods for transfer learning of neural networks |
JP7378221B2 (ja) * | 2019-04-17 | 2023-11-13 | シャープ株式会社 | 画像処理装置、画像形成装置、画像読取装置、制御方法、コンピュータプログラム、および記録媒体 |
CN110210731A (zh) * | 2019-05-20 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 提醒任务分配方法、装置、计算机设备和存储介质 |
CN110533085B (zh) * | 2019-08-12 | 2022-04-01 | 大箴(杭州)科技有限公司 | 同人识别方法及装置、存储介质、计算机设备 |
US20210056425A1 (en) * | 2019-08-23 | 2021-02-25 | Samsung Electronics Co., Ltd. | Method and system for hybrid model including machine learning model and rule-based model |
EP4209989A4 (en) * | 2020-10-27 | 2024-04-03 | Samsung Electronics Co., Ltd. | DEVICE AND METHOD FOR GENERATING AN IMAGE WITH A SUBJECT RECORDED THEREIN |
KR102464945B1 (ko) * | 2021-08-18 | 2022-11-10 | 한국과학기술정보연구원 | 기계 학습을 이용한 신호 데이터 상태 분석 장치 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020103574A1 (en) | 2001-01-30 | 2002-08-01 | Junichi Funada | Robot, identifying environment determining method, and program thereof |
US20130050461A1 (en) | 2011-08-25 | 2013-02-28 | Canon Kabushiki Kaisha | Information processing apparatus, image capturing apparatus and control method thereof |
US20170140213A1 (en) | 2015-11-18 | 2017-05-18 | Adobe Systems Incorporated | Recognizing unknown person instances in an image gallery |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6964023B2 (en) * | 2001-02-05 | 2005-11-08 | International Business Machines Corporation | System and method for multi-modal focus detection, referential ambiguity resolution and mood classification using multi-modal input |
KR100597004B1 (ko) * | 2004-11-22 | 2006-07-06 | 삼성전자주식회사 | 심볼 사전 재배치 방식을 이용한 이진 영상 처리 장치 및방법 |
US9690979B2 (en) | 2006-03-12 | 2017-06-27 | Google Inc. | Techniques for enabling or establishing the use of face recognition algorithms |
EP2630474A4 (en) * | 2010-10-19 | 2017-04-19 | 3M Innovative Properties Company | Computer-aided assignment of ratings to digital samples of a manufactured web product |
KR101087765B1 (ko) | 2010-10-22 | 2011-11-30 | 고려대학교 산학협력단 | 얼굴 인식 기반의 범죄 용의자 탐지 및 식별 시스템 |
KR101273237B1 (ko) * | 2011-03-29 | 2013-06-11 | 한국과학기술원 | 고장발생시 협업로봇들의 클러스터링 시스템 및 방법과 그 방법을 수행하는 명령어를 포함하는 컴퓨터 판독가능 기록매체 |
KR101433472B1 (ko) | 2012-11-27 | 2014-08-22 | 경기대학교 산학협력단 | 상황 인식 기반의 객체 검출, 인식 및 추적 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 |
EP2797030B1 (en) | 2013-04-24 | 2021-06-16 | Accenture Global Services Limited | Biometric recognition |
KR101901911B1 (ko) * | 2013-05-21 | 2018-09-27 | 삼성전자주식회사 | 악성 프로그램을 탐지하는 방법 및 장치 |
KR102190484B1 (ko) | 2013-11-11 | 2020-12-11 | 삼성전자주식회사 | 인식기 학습 방법 및 장치, 데이터 인식 방법 및 장치 |
KR20160011916A (ko) * | 2014-07-23 | 2016-02-02 | 삼성전자주식회사 | 얼굴 인식을 통한 사용자 식별 방법 및 장치 |
KR102239714B1 (ko) * | 2014-07-24 | 2021-04-13 | 삼성전자주식회사 | 신경망 학습 방법 및 장치, 데이터 처리 장치 |
US11343156B2 (en) | 2014-09-08 | 2022-05-24 | Pivotal Software, Inc. | Compute intensive stream processing with context data routing |
KR102486699B1 (ko) * | 2014-12-15 | 2023-01-11 | 삼성전자주식회사 | 영상 인식 방법, 영상 검증 방법, 장치, 및 영상 인식 및 검증에 대한 학습 방법 및 장치 |
US9704054B1 (en) * | 2015-09-30 | 2017-07-11 | Amazon Technologies, Inc. | Cluster-trained machine learning for image processing |
-
2016
- 2016-11-17 KR KR1020160153539A patent/KR102450374B1/ko active IP Right Grant
-
2017
- 2017-03-28 US US15/470,956 patent/US10474933B2/en active Active
-
2022
- 2022-09-27 KR KR1020220122797A patent/KR102564857B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020103574A1 (en) | 2001-01-30 | 2002-08-01 | Junichi Funada | Robot, identifying environment determining method, and program thereof |
US20130050461A1 (en) | 2011-08-25 | 2013-02-28 | Canon Kabushiki Kaisha | Information processing apparatus, image capturing apparatus and control method thereof |
US20170140213A1 (en) | 2015-11-18 | 2017-05-18 | Adobe Systems Incorporated | Recognizing unknown person instances in an image gallery |
Also Published As
Publication number | Publication date |
---|---|
KR20180055573A (ko) | 2018-05-25 |
US10474933B2 (en) | 2019-11-12 |
US20180137395A1 (en) | 2018-05-17 |
KR102564857B1 (ko) | 2023-08-08 |
KR20220137852A (ko) | 2022-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102564857B1 (ko) | 데이터 인식 및 트레이닝 장치 및 방법 | |
KR102308871B1 (ko) | 객체의 속성에 기반하여 객체를 인식 및 트레이닝하는 방법 및 장치 | |
KR102564855B1 (ko) | 표정 변화에 강인한 객체 및 표정 인식 장치 및 방법, 객체 및 표정 트레이닝 장치 및 방법 | |
KR102608470B1 (ko) | 데이터 인식 장치 및 방법과 트레이닝 장치 및 방법 | |
KR102641116B1 (ko) | 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치 | |
KR102486699B1 (ko) | 영상 인식 방법, 영상 검증 방법, 장치, 및 영상 인식 및 검증에 대한 학습 방법 및 장치 | |
KR102692671B1 (ko) | 이미지 생성 장치 및 방법과 생성 모델을 트레이닝시키는 장치 및 방법 | |
JP6754619B2 (ja) | 顔認識方法及び装置 | |
KR20230021043A (ko) | 객체 인식 방법 및 장치, 및 인식기 학습 방법 및 장치 | |
KR102374747B1 (ko) | 객체를 인식하는 장치 및 방법 | |
KR20180057096A (ko) | 표정 인식과 트레이닝을 수행하는 방법 및 장치 | |
KR20200045128A (ko) | 모델 학습 방법 및 장치, 및 데이터 인식 방법 | |
KR20180027887A (ko) | 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 트레이닝 방법 | |
KR20180055070A (ko) | 재질 인식 및 재질 트레이닝을 수행하는 방법 및 장치 | |
KR102252439B1 (ko) | 이미지에서 오브젝트 검출 및 표현 | |
KR102476758B1 (ko) | 영상 정규화 장치 및 방법 | |
CN110321870B (zh) | 一种基于lstm的掌静脉识别方法 | |
KR20200128938A (ko) | 모델 학습 방법 및 장치 | |
KR102570070B1 (ko) | 일반화된 사용자 모델을 이용한 사용자 인증 방법 및 장치 | |
KR20200083119A (ko) | 사용자 인증 장치 및 방법 | |
KR20200003444A (ko) | 영상 모델 구축 장치 및 방법 | |
KR20200110064A (ko) | 변환 모델을 이용한 인증 방법 및 장치 | |
KR102579116B1 (ko) | 클라우드 기반 인공지능 자동 학습 및 배포를 위한 장치 및 이를 위한 방법 | |
US20220012464A1 (en) | Method and apparatus with fake fingerprint detection | |
EP3832542A1 (en) | Device and method with sensor-specific image recognition |
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 |