KR20180062647A - 눈 검출 방법 및 장치 - Google Patents
눈 검출 방법 및 장치 Download PDFInfo
- Publication number
- KR20180062647A KR20180062647A KR1020160162553A KR20160162553A KR20180062647A KR 20180062647 A KR20180062647 A KR 20180062647A KR 1020160162553 A KR1020160162553 A KR 1020160162553A KR 20160162553 A KR20160162553 A KR 20160162553A KR 20180062647 A KR20180062647 A KR 20180062647A
- Authority
- KR
- South Korea
- Prior art keywords
- neural network
- image
- eye
- user
- eyes
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title claims description 42
- 238000013528 artificial neural network Methods 0.000 claims abstract description 248
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 2
- 210000002569 neuron Anatomy 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 210000000225 synapse Anatomy 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
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/18—Eye characteristics, e.g. of the iris
- G06V40/19—Sensors therefor
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G06K9/00604—
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/32—Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- 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
- 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/044—Recurrent networks, e.g. Hopfield 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10048—Infrared image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Ophthalmology & Optometry (AREA)
- Human Computer Interaction (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
깊이 정보를 이용한 눈 검출 방법 및 장치가 개시된다. 일 실시예에 따른 눈 검출 방법은 뉴럴 네트워크에 영상을 입력하고, 뉴럴 네트워크의 출력에 기초하여 영상에 포함된 눈의 위치 정보를 획득하는 단계들을 포함한다.
Description
아래 실시예들은 눈 검출 방법 및 장치에 관한 것이다.
최근 보안의 중요성으로 인해, 디바이스를 통한 뱅킹, 쇼핑 및 잠금 해제 등을 위한 인증 방식으로 생체 인증이 개발되고 있다. 대표적인 생체 인증 방식으로는 지문 인식, 얼굴 인식 및 홍채 인식 등이 있다. 홍채 인식은 적외선 영상에서 눈 영역을 검출하고, 검출된 영역을 분할(segmentation) 및 인식(recognition)함으로써 수행될 수 있다. 눈 검출 과정에서는 MB-LBP(multi-block local binary patterns)가 이용될 수 있다. MB-LBP는 다양한 블록 사이즈를 기반으로 LBP 값을 계산하는 것으로, MB-LBP를 위해 AdaBoost(adaptive boosting) 기반의 케스케이드 분류기(cascade classifier)가 이용될 수 있다.
일 측에 따르면, 눈 검출 방법은 사용자의 눈을 포함하는 적외선 영상을 획득하는 단계; 및 복수의 히든 레이어들을 포함하는 뉴럴 네트워크를 이용하여, 상기 적외선 영상 내 상기 사용자의 눈을 포함하는 영역을 검출하는 단계를 포함한다.
상기 뉴럴 네트워크는 상기 적외선 영상에 내포된, 상기 적외선 영상을 촬영하는 카메라와 상기 사용자 사이의 거리에 관한 정보에 기초하여, 상기 적외선 영상으로부터 상기 영역을 검출할 수 있다. 상기 적외선 영상에 내포된 상기 거리에 관한 정보는 상기 적외선 영상에 포함된 상기 사용자의 눈의 크기에 관한 정보를 포함할 수 있다.
상기 뉴럴 네트워크는 상기 적외선 영상의 입력에 기초하여, 상기 적외선 영상을 촬영한 카메라와 상기 사용자 간의 거리, 상기 적외선 영상에 포함된 눈의 개수, 및 상기 눈의 위치 중 적어도 둘을 동시에(simultaneously) 결정할 수 있다.
상기 사용자의 눈을 포함하는 영역을 검출하는 단계는 상기 적외선 영상을 상기 뉴럴 네트워크에 입력하는 단계; 및 상기 뉴럴 네트워크의 출력에 기초하여, 상기 적외선 영상 내 상기 영역의 위치를 나타내는 좌표를 결정하는 단계를 포함할 수 있다.
일 측에 따르면, 눈 검출 방법은 제1 뉴럴 네트워크에 영상을 입력하는 단계; 상기 제1 뉴럴 네트워크에서 출력된, 상기 영상에 포함된 눈의 개수를 획득하는 단계; 제2 뉴럴 네트워크에 상기 영상을 입력하는 단계; 및 상기 제2 뉴럴 네트워크에서 출력된, 상기 영상을 촬영한 카메라와 사용자 간의 거리를 나타내는 깊이 정보 및 상기 눈의 개수에 대응하는 눈의 위치 정보를 획득하는 단계를 포함한다.
상기 눈 검출 방법은 상기 영상에 포함된 눈의 개수 및 상기 깊이 정보 중 적어도 하나에 기초하여, 상기 영상의 노출을 조절하는 단계를 더 포함할 수 있다. 상기 눈 검출 방법은 상기 노출이 조절된 영상에 관한 상기 제1 뉴럴 네트워크의 출력에 기초하여, 상기 노출이 조절된 영상에 포함된 눈의 위치 정보를 획득하는 단계를 더 포함할 수 있다. 상기 영상에 포함된 눈의 개수가 1개인 경우, 상기 제2 뉴럴 네트워크는 상기 영상에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 하나의 후보 객체에 관한 위치 정보를 출력하고, 상기 영상에 포함된 눈의 개수가 2개인 경우, 상기 제2 뉴럴 네트워크는 상기 영상에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 둘의 후보 객체들에 관한 위치 정보를 출력할 수 있다.
다른 일 측에 따르면, 눈 검출 방법은 제1 뉴럴 네트워크에 영상을 입력하는 단계; 상기 제1 뉴럴 네트워크에서 출력된, 상기 영상에 포함된 눈의 개수 및 사용자의 깊이 정보를 획득하는 단계; 제2 뉴럴 네트워크에 상기 영상 및 상기 사용자의 깊이 정보를 입력하는 단계; 및 상기 제2 뉴럴 네트워크에서 출력된, 상기 눈의 개수에 대응하는 눈의 위치 정보를 획득하는 단계를 포함한다.
상기 눈 검출 방법은 상기 영상에 포함된 눈의 개수 및 상기 깊이 정보 중 적어도 하나에 기초하여, 상기 영상의 노출을 조절하는 단계를 더 포함할 수 있다. 상기 눈 검출 방법은 상기 노출이 조절된 입력 영상을 상기 제1 뉴럴 네트워크에 입력하는 단계; 및 상기 노출이 조절된 영상에 관한 상기 제1 뉴럴 네트워크의 출력에 기초하여, 상기 노출이 조절된 영상에 포함된 눈의 위치 정보를 획득하는 단계를 더 포함할 수 있다.
상기 영상에 포함된 눈의 개수가 1개인 경우, 상기 제2 뉴럴 네트워크는 상기 영상에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 하나의 후보 객체에 관한 위치 정보를 출력하고, 상기 영상에 포함된 눈의 개수가 2개인 경우, 상기 제2 뉴럴 네트워크는 상기 영상에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 둘의 후보 객체들에 관한 위치 정보를 출력할 수 있다.
일 측에 따르면, 학습 방법은 사용자의 깊이 별로 분류된 트레이닝 데이터-상기 사용자의 깊이는 상기 트레이닝 데이터를 촬영한 카메라와 상기 사용자 사이의 거리를 나타냄-를 뉴럴 네트워크에 입력하는 단계; 및 상기 뉴럴 네트워크가 상기 트레이닝 데이터에 포함된 눈의 위치 정보를 출력하도록 상기 뉴럴 네트워크의 파라미터를 조절하는 단계를 포함한다.
상기 뉴럴 네트워크 네트워크의 파라미터를 조절하는 단계는 상기 뉴럴 네트워크가 상기 트레이닝 데이터에 포함된 눈의 개수, 상기 트레이닝 데이터에 포함된 눈의 위치 및 상기 사용자의 깊이 중 적어도 둘을 동시에(simultaneously) 결정하도록 상기 뉴럴 네트워크의 파라미터를 조절하는 단계를 포함할 수 있다.
상기 트레이닝 데이터를 상기 뉴럴 네트워크에 입력하는 단계는 상기 트레이닝 데이터를 상기 뉴럴 네트워크에 포함된 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크 각각에 입력하는 단계를 포함하고, 상기 뉴럴 네트워크 네트워크의 파라미터를 조절하는 단계는 상기 제1 뉴럴 네트워크가 상기 트레이닝 데이터에 포함된 눈의 개수를 출력하도록 상기 제1 뉴럴 네트워크의 파라미터를 조절하는 단계; 및 상기 제2 뉴럴 네트워크가 상기 깊이 및 상기 눈의 개수에 대응하는 눈의 위치 정보를 출력하도록 상기 제2 뉴럴 네트워크의 파라미터를 조절하는 단계를 포함할 수 있다.
상기 트레이닝 데이터를 상기 뉴럴 네트워크에 입력하는 단계는 상기 트레이닝 데이터를 상기 뉴럴 네트워크에 포함된 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크 각각에 입력하는 단계를 포함하고, 상기 뉴럴 네트워크 네트워크의 파라미터를 조절하는 단계는 상기 제1 뉴럴 네트워크가 상기 트레이닝 데이터에 포함된 눈의 개수 및 상기 사용자의 깊이를 출력하도록 상기 제1 뉴럴 네트워크의 파라미터를 조절하는 단계; 상기 제2 뉴럴 네트워크에 상기 깊이를 더 입력하는 단계; 및 상기 제2 뉴럴 네트워크가 상기 깊이에 기초하여 상기 눈의 개수에 대응하는 눈의 위치 정보를 출력하도록 상기 제2 뉴럴 네트워크의 파라미터를 조절하는 단계를 포함할 수 있다.
일 측에 따르면, 눈 검출 장치는 사용자의 눈을 포함하는 적외선 영상을 촬영하는 센서; 및 복수의 히든 레이어들을 포함하는 뉴럴 네트워크를 이용하여, 상기 적외선 영상 내 상기 사용자의 눈을 포함하는 영역을 검출하는 프로세서를 포함한다. 상기 뉴럴 네트워크는 상기 적외선 영상에 내포된, 상기 적외선 영상을 촬영하는 카메라와 상기 사용자 사이의 거리에 관한 정보에 기초하여, 상기 적외선 영상으로부터 상기 영역을 검출할 수 있다.
도 1은 일 실시예에 따른 눈 검출 장치를 나타낸 도면.
도 2 는 일 실시예에 따른 단일 레벨의 뉴럴 네트워크를 나타낸 도면.
도 3은 일 실시예에 따른 멀티 레벨의 뉴럴 네트워크를 나타낸 도면.
도 4는 일 실시예에 따른 멀티 레벨의 뉴럴 네트워크의 구조를 나타낸 도면.
도 5는 다른 실시예에 따른 멀티 레벨의 뉴럴 네트워크를 나타낸 도면.
도 6은 다른 실시예에 따른 멀티 레벨의 뉴럴 네트워크의 구조를 나타낸 도면.
도 7은 일 실시예에 따른 트레이닝 장치를 나타낸 블록도.
도 8은 일 실시예에 따른 트레이닝 데이터들을 나타낸 도면.
도 9는 일 실시예에 따른 깊이에 기반한 노출 조절을 나타낸 도면.
도 10은 일 실시예에 따른 노출이 조절된 영상을 나타낸 도면.
도 11은 일 실시예에 따른 눈 검출 장치를 나타낸 블록도.
도 12는 일 실시예에 따른 눈 검출 방법을 나타낸 동작 흐름도.
도 13은 일 실시예에 따른 학습 방법을 나타낸 동작 흐름도.
도 2 는 일 실시예에 따른 단일 레벨의 뉴럴 네트워크를 나타낸 도면.
도 3은 일 실시예에 따른 멀티 레벨의 뉴럴 네트워크를 나타낸 도면.
도 4는 일 실시예에 따른 멀티 레벨의 뉴럴 네트워크의 구조를 나타낸 도면.
도 5는 다른 실시예에 따른 멀티 레벨의 뉴럴 네트워크를 나타낸 도면.
도 6은 다른 실시예에 따른 멀티 레벨의 뉴럴 네트워크의 구조를 나타낸 도면.
도 7은 일 실시예에 따른 트레이닝 장치를 나타낸 블록도.
도 8은 일 실시예에 따른 트레이닝 데이터들을 나타낸 도면.
도 9는 일 실시예에 따른 깊이에 기반한 노출 조절을 나타낸 도면.
도 10은 일 실시예에 따른 노출이 조절된 영상을 나타낸 도면.
도 11은 일 실시예에 따른 눈 검출 장치를 나타낸 블록도.
도 12는 일 실시예에 따른 눈 검출 방법을 나타낸 동작 흐름도.
도 13은 일 실시예에 따른 학습 방법을 나타낸 동작 흐름도.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 눈 검출 장치를 나타낸 도면이다. 도 1을 참조하면, 눈 검출 장치(100)는 영상(10)을 입력 받고, 영상(10)에 포함된 눈을 포함하는 영역을 검출한다. 눈 검출 장치(100)는 검출 결과로 눈의 위치 정보를 출력할 수 있다. 눈 검출 장치(100)는 소프트웨어 모듈, 하드웨어 모듈, 또는 이들의 조합으로 구현될 수 있다.
눈의 위치 정보는 검출된 영역의 위치를 나타내는 좌표(예를 들어, 검출된 영역이 다각형인 경우, 검출된 영역의 한 꼭지점을 지시하는 좌표 등), 검출된 영역의 중심의 위치를 나타내는 좌표 등을 포함할 수 있다. 검출된 영역의 중심의 위치는 눈의 중심의 위치에 대응할 수 있다.
눈 검출 장치(100)는 뉴럴 네트워크(110)를 이용하여 영상(10) 내 눈을 포함하는 영역을 검출할 수 있다. 눈 검출 장치(100)는 사용자의 눈을 포함하는 영역을 검출하기 위하여, 영상(10)을 뉴럴 네트워크(110)에 입력하고, 뉴럴 네트워크(110)의 출력에 기초하여 영상(10) 내 검출된 영역의 위치를 나타내는 좌표를 결정할 수 있다.
영상(10)은 적외선 영상을 포함한다. 다만, 아래에서 설명하는 실시예들은 영상(10)이 적외선 영상 이외의 영상(예를 들어, 컬러 영상 등)인 경우에도 실질적으로 동일하게 동작하도록 변형될 수 있다.
일 실시예에 따르면, 뉴럴 네트워크(110)는 영상(10)을 촬영하는 카메라와 사용자 사이의 거리에 관한 정보에 기초하여, 영상(10)으로부터 눈을 포함하는 영역을 검출할 수 있다. 영상(10)을 촬영하는 카메라와 사용자 사이의 거리에 관한 정보는 영상(10)에 내포된 정보일 수 있다. 예를 들어, 영상(10)을 촬영하는 카메라와 사용자 사이의 거리에 관한 정보는 영상(10)에 포함된 상기 사용자의 눈의 크기에 관한 정보를 포함할 수 있다.
뉴럴 네트워크(110)는 사용자의 깊이 별로 분류된 트레이닝 데이터에 기초하여, 트레이닝 데이터에 포함된 눈의 위치 정보를 출력하도록 미리 학습될 수 있다. 이에 따라, 뉴럴 네트워크(110)는 사용자의 깊이 정보를 고려하여 영상(10)에 포함된 눈의 위치 정보를 출력할 수 있다. 이하, 사용자의 깊이 정보는 영상(10)을 촬영한 카메라와 사용자 간의 거리를 의미할 수 있다.
뉴럴 네트워크(110)는 딥 러닝과 같은 기계 학습을 통해 미리 학습될 수 있다. 딥 러닝의 지도식(supervised) 또는 비지도식(unsupervised) 학습을 통해 뉴럴 네트워크(110)에서 특징 계층들이 추출될 수 있다. 뉴럴 네트워크(110)는 멀티 레이어 뉴럴 네트워크일 수 있다. 멀티 레이어 뉴럴 네트워크는 완전 연결 네트워크(fully connected network), 컨볼루셔널 네트워크(convolutional network) 및 리커런트 뉴럴 네트워크(recurrent neural network)를 포함할 수 있다.
뉴럴 네트워크(110)에 포함된 복수의 레이어들 각각은 복수의 인공 뉴런들을 포함하고, 해당 인공 뉴런들은 다른 인공 뉴런들과 연결될 수 있다. 상기 다른 인공 뉴런들은 상기 인공 뉴런들과 같은 레이어에 위치하거나, 혹은 다른 레이어에 위치할 수 있다. 뉴럴 네트워크(110)는 다양한 수의 레이어들을 포함할 수 있다. 예를 들어, 뉴럴 네트워크(110)는 입력 레이어를 나타내고, 중간 레이어 및 출력 레이어를 포함할 수 있다. 중간 레이어는 히든 레이어(hidden layer)로 지칭될 수 있다. 출력 레이어를 제외한 레이어들에 포함된 인공 뉴런들은 다음 레이어의 인공 뉴런들에 출력 신호를 전송하기 위한 링크들을 통해 연결될 수 있다. 링크들의 수는 다음 레이어에 포함된 인공 뉴런들의 수에 대응할 수 있다. 이러한 링크는 시냅스로 지칭될 수 있다.
뉴럴 네트워크(110)는 피드포워드 네트워크로 구현될 수 있다. 피드포워드 네트워크에 포함된 각각의 인공 뉴런은, 완전 연결 네트워크가 형성되도록 다음 레이어의 모든 인공 뉴런들에 연결되거나, 컨볼루셔널 네트워크에서와 같이 제한된 공간적 접속 가능성(spatial connectivity)을 가질 수 있다. 뉴럴 네트워크(110)에 포함된 각각의 인공 뉴런은 이전 레이어에 포함된 인공 뉴런들의 입력에 관한 1차 결합(linear combination)을 계산할 수 있다. 입력은 시냅스의 가중치(synaptic weight)와 곱해질 수 있고, 가중된 입력들은 서로 더해질 수 있다. 가중된 입력들의 합은 활성 함수에 입력될 수 있다. 활성 함수는 가중된 입력들의 합에 기초하여 인공 뉴런의 출력을 계산할 수 있다.
뉴럴 네트워크(110)는 영상(10)의 입력에 반응하여 영상(10)에 포함된 눈의 위치를 출력한다. 실시예에 따라, 뉴럴 네트워크(110)는 영상(10)에 포함된 눈의 개수 및 사용자의 깊이 정보 중 적어도 하나를 더 출력할 수 있다. 예를 들어, 뉴럴 네트워크(110)는 영상(10)의 입력에 반응하여, 영상(10)에 포함된 눈의 개수, 영상(10)에 포함된 눈의 위치 및 사용자의 깊이 정보를 동시에(simultaneously) 출력할 수도 있다. 이 경우, 뉴럴 네트워크(110)는 사용자의 깊이 정보를 출력하는 출력 노드를 포함할 수 있고, 사용자의 깊이 별로 분류된 트레이닝 데이터에 기초하여 사용자의 깊이 정보를 출력하도록 미리 학습될 수 있다.
사용자의 깊이는 영상(10)에 촬영된 사용자의 얼굴 크기 및 영상(10)의 노출 등에 영향을 줄 수 있다. 눈 검출에 사용자의 깊이가 고려됨에 따라 눈 검출의 정확도가 향상될 수 있다. 사용자의 깊이 정보를 출력하는 출력 노드는 뉴럴 네트워크(110)의 학습 과정에서 뉴럴 네트워크(110)의 파라미터에 영향을 미칠 수 있다. 따라서, 뉴럴 네트워크(110)가 사용자의 깊이 정보를 출력함에 따라, 뉴럴 네트워크(110)로부터 사용자의 깊이 정보를 획득할 수 있을 뿐만 아니라, 눈 위치 정보의 정확도도 향상될 수 있다.
뉴럴 네트워크(110)는 영상(10)에 포함된 눈의 개수, 영상(10)에 포함된 눈의 위치 및 사용자의 깊이 정보 중 적어도 하나를 출력하기 위한 다양한 구조를 가질 수 있다. 일 실시예에 따르면, 뉴럴 네트워크(110)는 영상(10)의 입력에 반응하여, 영상(10)에 포함된 눈의 개수, 영상(10)에 포함된 눈의 위치 및 사용자의 깊이 정보를 동시에 결정하기 위한 단일 레벨의 네트워크 구조를 가질 수 있다. 다른 실시예에 따르면, 뉴럴 네트워크(110)는 영상(10)의 입력에 반응하여, 영상(10)에 포함된 눈의 개수, 영상(10)에 포함된 눈의 위치 및 사용자의 깊이 정보 중 적어도 둘을 동시에 결정하는 제1 뉴럴 네트워크 및 이들 중 나머지 하나를 결정하는 제2 뉴럴 네트워크를 포함할 수 있다. 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크는 멀티 레벨의 네트워크 구조로 지칭될 수 있다. 이하, '레벨'은 눈을 검출하는데 이용되는 뉴럴 네트워크의 수에 대응하는 개념으로 이해될 수 있다.
일례로, 뉴럴 네트워크(100)는 영상(10)에 포함된 눈의 개수를 출력하는 제1 뉴럴 네트워크, 및 영상(10)에 포함된 눈의 개수에 대응하는 눈의 위치 정보 및 사용자의 깊이 정보를 출력하는 제2 뉴럴 네트워크를 포함할 수 있다. 다른 예로, 뉴럴 네트워크(100)는 영상(10)에 포함된 눈의 개수 및 사용자의 깊이 정보를 출력하는 제1 뉴럴 네트워크, 및 사용자의 깊이 정보에 기초하여 영상(10)에 포함된 눈의 개수에 대응하는 눈의 위치 정보를 출력하는 제2 뉴럴 네트워크를 포함할 수 있다. 보다 구체적인 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크의 동작은 후술하도록 한다.
영상(10)의 노출은 눈 검출의 정확도에 영향을 미칠 수 있다. 예를 들어, 카메라와 사용자 간의 거리가 가까워서 영상(10)의 노출이 과다한 경우, 및 카메라와 사용자 간의 거리가 멀어서 영상(10)의 노출이 부족한 경우, 눈 검출의 정확도가 떨어질 수 있다. 눈 검출 장치(100)는 영상(10)에 포함된 눈의 개수, 혹은 사용자의 깊이에 기초하여 영상(10)의 노출을 조절할 수 있다. 일 실시예에 따르면, 눈 검출 장치(100)는 영상(10)에 포함된 눈의 개수가 0개인 경우, 영상(10)의 노출을 조절할 수 있다.
영상(10)에서 단안 또는 양안이 검출되었는지에 따라, 뉴럴 네트워크(110)는 영상(10)에 포함된 눈의 개수를 1개 또는 2개로 출력할 수 있다. 또는, 영상(10)에서 사용자의 눈이 검출되지 않은 경우, 뉴럴 네트워크(110)는 영상(10)에 포함된 눈의 개수를 0개로 출력할 수 있다. 영상(10)에 포함된 눈의 개수가 0개인 것은, 카메라 앞에 사용자가 존재하지 않는다는 것을 의미할 수도 있지만, 카메라 앞에 사용자가 존재하지만, 영상(10)의 노출이 너무 과다하거나, 영상(10)의 노출이 너무 부족하다는 것을 의미할 수도 있다. 따라서, 눈 검출 장치(100)는 카메라 앞에 사용자가 존재하지만, 영상(10)에 포함된 눈의 개수가 0개인 경우, 영상(10)의 노출을 조절함으로써, 영상(10)에서 눈 검출이 가능하게 하거나, 검출된 눈 위치의 정확도를 향상시킬 수 있다.
다른 실시예에 따르면, 눈 검출 장치(100)는 영상(10)을 촬영하는 카메라와 영상(10) 내 사용자 사이의 거리를 나타내는 깊이 정보에 따라 영상(10)의 노출을 조절할 수 있다. 일례로, 사용자의 깊이가 미리 정해진 제1 임계치를 초과하는 경우, 눈 검출 장치(100)는 영상(10)의 노출을 증가시킬 수 있고, 사용자의 깊이가 미리 정해진 제2 임계치 미만인 경우, 눈 검출 장치(100)는 영상(10)의 노출을 감소시킬 수 있다. 여기서, 제1 임계치는 제2 임계치보다 클 수 있다. 다른 예로, 깊이에 따른 적정 노출 값이 미리 정해질 수 있고, 눈 검출 장치(100)는 사용자의 깊이에 따라 영상(10)의 노출을 적정 노출 값으로 조절할 수 있다. 눈의 개수에 따른 노출 조절 및 깊이에 따른 노출 조절은 동시에 수행되거나, 이 중에 어느 하나만 선택적으로 수행될 수 있다.
눈 검출 장치(100)는, 영상(10)의 노출을 조절한 이후에, 노출이 조절된 영상을 제1 뉴럴 네트워크(110)에 입력하고, 노출이 조절된 영상에 관한 제1 뉴럴 네트워크(110)의 출력에 기초하여, 노출이 조절된 영상에 포함된 눈의 개수를 획득할 수 있다. 영상(10)의 노출을 조절한다는 것은, 카메라에 의해 촬영되어 눈 검출 장치(100)로 입력된 현재 프레임 영상의 노출을 조절하는 것, 및 다음 프레임의 영상의 노출이 조절되도록 카메라의 설정을 조절하는 것을 모두 포함할 수 있다.
뉴럴 네트워크(110)가 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크를 포함하는 경우, 눈 검출 장치(100)는 제2 뉴럴 네트워크에 영상(10) 및 제1 뉴럴 네트워크에서 출력된 눈의 개수를 입력하고, 제2 뉴럴 네트워크에서 출력된, 눈의 위치 정보를 획득할 수 있다. 이 경우, 제2 뉴럴 네트워크는 제1 뉴럴 네트워크에서 출력된 눈의 개수에 대응하는 눈의 위치 정보를 출력할 수 있다. 예를 들어, 영상(10)에 포함된 눈의 개수가 1개인 경우, 제2 뉴럴 네트워크는 1개의 눈에 관한 위치 정보를 출력할 수 있다. 보다 구체적으로, 영상(10)에 포함된 눈의 개수가 1개인 경우, 제2 뉴럴 네트워크는 영상(10)에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 하나의 후보 객체에 관한 위치 정보를 출력할 수 있다. 영상(10)에 포함된 눈의 개수가 2개라면, 제2 뉴럴 네트워크는 영상(10)에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 둘의 후보 객체들에 관한 위치 정보를 출력할 수 있다.
눈의 위치 정보는 눈의 중심을 나타내는 좌표 및 눈이 포함된 영역을 나타내는 좌표를 포함할 수 있다. 예를 들어, 눈의 중심을 나타내는 좌표는 한 쌍의 x, y 좌표를 포함할 수 있고, 눈이 포함된 영역을 나타내는 좌표는 해당 영역의 좌측 상단을 나타내는 한 쌍의 x, y 좌표 및 해당 영역의 우측 하단을 나타내는 한 쌍의 x, y 좌표를 포함할 수 있다. 따라서, 눈의 위치 정보로 눈 하나당 총 세 쌍의 좌표가 출력될 수 있다. 다른 예로, 눈이 포함된 영역은 해당 영역의 좌측 상단과 같은 기준 지점을 나타내는 한 쌍의 x, y 좌표, 해당 영역의 폭 및 해당 영역의 높이로 특정될 수 있다. 눈의 위치 정보는 홍채 인식과 같은 생체 인증에 활용될 수 있다. 실시예들에 따르면 거리에 무관하게 홍채를 정확히 인식할 수 있으므로, 홍채 인식 시 눈의 위치를 미리 정해진 인터페이스에 맞추어야 하는 불편이 감소될 수 있다.
도 2는 일 실시예에 따른 단일 레벨의 뉴럴 네트워크를 나타낸 도면이다. 도 2를 참조하면, 뉴럴 네트워크(200)는 특징 추출기(210), 분류기(220) 및 출력 레이어(230)을 포함한다. 도 2를 통해 설명되는 뉴럴 네트워크(200)의 구조는 하나의 예시에 해당할 뿐 이에 한정되는 것은 아니다.
특징 추출기(210)는 영상(20)을 입력 받고, 영상(20)에서 특징 벡터를 추출할 수 있다. 예를 들어, 특징 추출기(210)는 복수의 레이어들을 포함하는 컨볼루셔널 네트워크를 포함할 수 있다. 특징 추출기(210)의 입력 레이어는 적어도 하나의 커널 행렬을 통해 영상(20)을 스캔함으로써 영상(20)에 관한 특징 맵(feature map)을 생성할 수 있고, 해당 특징 맵을 다음 레이어로 전달할 수 있다. 특징 맵이 다음 레이어도 전달되기 전에, 특징 맵에는 풀링(pooling)을 통한 서브샘플링이 적용될 수 있다. 일례로, 미리 정해진 크기의 윈도우를 통해 특징 맵에서 최대 값을 추출하는 맥스-풀링(max-pooling)이 적용될 수 있다.
특징 추출기(210)의 나머지 레이어들도 적어도 하나의 커널 행렬을 통해 이전 레이어로부터 수신한 특징 맵을 스캔함으로써 새로운 특징 맵을 생성할 수 있고, 새로운 특징 맵을 다음 레이어로 전달할 수 있다. 특징 추출기(210)에 의해 이용되는 커널 행렬의 수에 따라 복수의 특징 맵들이 생성될 수 있다. 특징 추출기(210)의 마지막 레이어들은 자신이 생성한 특징 맵을 분류기(220)로 전달할 수 있다.
분류기(220)는 특징 벡터에 기초하여 영상(20)의 특징을 분류할 수 있다. 예를 들어, 분류기(120)는 복수의 레이어들을 포함하는 완전 연결 뉴럴 네트워크를 포함할 수 있다. 분류기(220)에 포함된 복수의 레이어들 각각은 이전 레이어로부터 가중된 입력들을 수신하고, 가중된 입력들의 합 및 활성 함수에 기초하여 다음 레이어로 출력을 전달할 수 있다. 가중된 입력을 위한 가중치들은 미리 학습될 수 있다.
분류기(220)의 분류 결과는 출력 레이어(230)로 전달될 수 있다. 실시예에 따라, 출력 레이어(230)는 분류기(220)의 일부를 구성할 수 있다. 이 경우, 분류기(220)에 포함된 복수의 레이어들은 완전 연결 네트워크의 중간 레이어 혹은 히든 레이어에 해당할 수 있다. 출력 레이어(230)는 분류기(220)의 분류 결과에 기초하여 영상(20)에 포함된 눈의 개수, 영상(20)에 포함된 눈의 중심 좌표, 영상(20)에 포함된 눈의 영역 좌표 및 사용자의 깊이 정보 중 적어도 하나를 출력할 수 있다. 실시예에 따라, 출력 레이어들(330, 370)은 소프트맥스(softmax) 함수를 위한 추가 모듈을 더 포함할 수 있다. 이 경우, 눈의 개수, 눈의 위치 정보 및 깊이 정보는 소프트맥스 함수에 기초하여 출력될 수 있다.
출력 레이어(230)는 분류기(220)의 출력에 기초하여 영상(20)에 포함된 눈의 개수를 출력할 수 있다. 예를 들어, 눈의 개수는 0개, 1개 또는 2개로 출력될 수 있다. 출력 레이어(230)는 분류기(220)의 출력에 기초하여 눈 중심 좌표와 눈 영역 좌표를 포함하는 눈의 위치 정보, 및 사용자의 깊이 정보를 출력할 수 있다. 깊이 정보는 미리 정해진 수의 깊이 레벨들 중 사용자의 깊이에 대응하는 깊이 레벨을 포함할 수 있다. 예를 들어, 사용자의 깊이에 관해 4 개의 레벨들이 정의된 경우, 깊이 정보는 이들 레벨 중에 사용자의 깊이에 대응하는 레벨을 포함할 수 있다.
출력 레이어(230)는 눈의 개수에 대응하는 눈의 위치 정보를 출력할 수 있다. 예를 들어, 영상(20)에 포함된 눈의 개수가 1개인 경우, 출력 레이어(230)는 영상(20)에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 하나의 후보 객체에 관한 위치 정보를 출력할 수 있다. 영상(20)에 포함된 눈의 개수가 2개라면, 출력 레이어(230)는 영상(20)에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 둘의 후보 객체들에 관한 위치 정보를 출력할 수 있다.
뉴럴 네트워크(200)는 사용자의 깊이 별로 분류된 트레이닝 데이터에 기초하여, 영상(20)에 관한 사용자의 깊이 정보 및 영상(20)에 포함된 눈의 위치 정보를 출력하도록 미리 학습될 수 있다. 지도식 학습에서 트레이닝 데이터들에는 학습 목적에 따른 라벨(label)들이 할당될 수 있는데, 뉴럴 네트워크(200)는 사용자의 깊이에 따른 라벨이 할당된 트레이닝 데이터를 통해 학습될 수 있다. 트레이닝 데이터의 구체적인 예시는 후술한다. 뉴럴 네트워크(200)에 의해 출력된 깊이 정보는 영상(20)의 노출을 조절하는데 이용될 수 있다.
뉴럴 네트워크(200)가 눈의 위치 정보만을 출력하는 경우와, 뉴럴 네트워크(200)가 눈의 위치 정보 및 사용자의 깊이 정보를 출력하는 경우에 뉴럴 네트워크(200)의 학습된 파라미터들은 서로 다를 수 있다. 뉴럴 네트워크(200)의 출력으로 사용자의 깊이 정보가 추가되는 것은, 뉴럴 네트워크(200)의 파라미터들에 영향을 줄 수 있기 때문이다. 이 경우, 뉴럴 네트워크(200)가 깊이 정보를 출력하도록 깊이 별로 분류된 트레이닝 데이터를 학습함으로써, 뉴럴 네트워크(200)가 깊이를 고려하지 않고 학습된 경우에 비해, 뉴럴 네트워크(200)에서 출력되는 눈의 위치 정보의 정확성이 향상될 수 있다.
도 3은 일 실시예에 따른 멀티 레벨의 뉴럴 네트워크를 나타낸 도면이다. 도 3을 참조하면, 제1 뉴럴 네트워크(310)는 영상(30)을 입력 받고, 영상(30)에 포함된 눈의 개수를 출력한다. 제2 뉴럴 네트워크(320)는 영상(30) 및 눈의 개수를 입력 받고, 사용자의 깊이 정보 및 눈의 개수에 대응하는 눈의 위치 정보를 출력한다.
제2 뉴럴 네트워크(320)는 사용자의 깊이 별로 분류된 트레이닝 데이터에 기초하여, 입력 영상에 관한 사용자의 깊이 정보 및 눈의 위치 정보를 출력하도록 미리 학습될 수 있다. 예를 들어, 제2 뉴럴 네트워크(320)는 사용자의 깊이에 따른 라벨이 할당된 트레이닝 데이터를 통해 학습될 수 있다. 트레이닝 데이터의 구체적인 예시는 후술한다. 제2 뉴럴 네트워크(320)에 의해 출력된 깊이 정보는 영상(30)의 노출을 조절하는데 이용될 수 있다.
도 4는 일 실시예에 따른 멀티 레벨의 뉴럴 네트워크의 구조를 나타낸 도면이다. 도 4를 참조하면, 제1 뉴럴 네트워크는 특징 추출기(410), 분류기(420) 및 출력 레이어(430)를 포함하고, 제2 뉴럴 네트워크는 특징 추출기(450), 분류기(460) 및 출력 레이어(470)를 포함한다. 도 4를 통해 설명되는 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크의 구조는 하나의 예시에 해당할 뿐 이에 한정되는 것은 아니다.
특징 추출기들(410, 450)은 복수의 레이어들을 포함하는 컨볼루셔널 네트워크를 포함할 수 있다. 분류기들(420, 460)은 완전 연결 네트워크를 구성하는 복수의 레이어들을 포함할 수 있다. 특징 추출기들(410, 450) 및 분류기들(420, 460)에 관해서는 도 2의 설명이 적용될 수 있다.
출력 레이어(430)는 분류기(420)의 출력에 기초하여 영상(40)에 포함된 눈의 개수를 출력할 수 있다. 분류기(460)는 출력 레이어(430)에서 출력된 눈의 개수를 수신하고, 출력 레이어(470)는 출력 레이어(430)에서 출력된 눈의 개수에 대응하는 눈의 위치 정보를 출력할 수 있다. 예를 들어, 영상(40)에 포함된 눈의 개수가 1개인 경우, 출력 레이어(470)는 영상(40)에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 하나의 후보 객체에 관한 위치 정보를 출력할 수 있다. 영상(40)에 포함된 눈의 개수가 2개라면, 출력 레이어(470)는 영상(40)에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 둘의 후보 객체들에 관한 위치 정보를 출력할 수 있다.
도 5는 다른 실시예에 따른 멀티 레벨의 뉴럴 네트워크를 나타낸 도면이다. 도 5를 참조하면, 제1 뉴럴 네트워크(510)는 영상(50)을 입력 받고, 사용자의 깊이 정보 및 영상(50)에 포함된 눈의 개수를 출력한다. 제2 뉴럴 네트워크(520)는 영상(50), 사용자의 깊이 정보 및 눈의 개수를 입력 받고, 눈의 개수에 대응하는 눈의 위치 정보를 출력한다.
제2 뉴럴 네트워크(520)는 깊이 정보를 포함하는 트레이닝 데이터에 기초하여, 입력 영상에 관한 눈의 위치 정보를 출력하도록 미리 학습될 수 있다. 예를 들어, 제2 뉴럴 네트워크(520)는 학습 영상 및 해당 학습 영상의 깊이 정보로 구성된 트레이닝 데이터를 통해 학습될 수 있다. 이 경우, 깊이 정보에 기반한 학습에 따라, 객체의 깊이가 고려되지 않은 경우에 비해, 제2 뉴럴 네트워크(520)에서 출력된 위치 정보의 정확성이 향상될 수 있다. 또한, 상술된 것처럼, 제2 뉴럴 네트워크(520)에 의해 출력된 깊이 정보는 영상(40)의 노출을 조절하는데 이용될 수 있다.
도 6은 다른 실시예에 따른 멀티 레벨의 뉴럴 네트워크의 구조를 나타낸 도면이다. 도 6을 참조하면, 제1 뉴럴 네트워크는 특징 추출기(610), 분류기(620) 및 출력 레이어(630)를 포함하고, 제2 뉴럴 네트워크는 특징 추출기(650), 분류기(660) 및 출력 레이어(670)를 포함한다. 도 6을 통해 설명되는 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크의 구조는 하나의 예시에 해당할 뿐 이에 한정되는 것은 아니다.
특징 추출기들(610, 650)은 복수의 레이어들을 포함하는 컨볼루셔널 네트워크를 포함할 수 있고, 분류기들(620, 660) 및 출력 레이어들(630, 670)은 완전 연결 네트워크를 포함할 수 있다. 컨볼루셔널 네트워크 및 완전 연결 네트워크에 관해서는 도 2의 설명이 적용될 수 있다. 출력 레이어(630)는 분류기(620)의 출력에 기초하여 영상(60)에 포함된 눈의 개수를 출력할 수 있다. 출력 레이어(670)는 분류기(660)의 출력에 기초하여 눈 중심 좌표와 눈 영역 좌표를 포함하는 눈의 위치 정보를 출력할 수 있다.
특징 추출기(650)는 출력 레이어(630)에서 출력된 깊이 정보를 수신하고, 깊이 정보에 기초하여 영상(60)으로부터 특징을 추출할 수 있다. 깊이 정보는 영상(60)과 병렬적으로 특징 추출기(550)의 입력 레이어에 입력될 수 있다. 분류기(660)는 출력 레이어(630)에서 출력된 눈의 개수를 수신하고, 출력 레이어(670)는 출력 레이어(630)에서 출력된 눈의 개수에 대응하는 눈의 위치 정보를 출력할 수 있다.
도 7은 일 실시예에 따른 트레이닝 장치를 나타낸 블록도이다. 도 7을 참조하면, 트레이닝 장치(700)는 프로세서(710) 및 메모리(720)를 포함한다.
프로세서(710)는 트레이닝 데이터에 기초하여, 뉴럴 네트워크(730)를 학습시킬 수 있다. 트레이닝 데이터는 트레이닝 입력 및 트레이닝 출력을 포함할 수 있다. 트레이닝 입력은 트레이닝 영상을 포함할 수 있고, 트레이닝 출력은 트레이닝 입력으로부터 출력되어야 하는 레이블(label)을 포함할 수 있다. 트레이닝 출력은 트레이닝 입력에 매핑될 수 있다. 예를 들어, 트레이닝 출력은 트레이닝 영상에 매핑된 눈의 개수, 눈의 위치 및 사용자의 깊이 중 적어도 하나를 포함할 수 있다.
프로세서(710)는 트레이닝 입력에 기초하여 트레이닝 출력이 산출되도록, 뉴럴 네트워크(730)를 학습시킬 수 있다. 뉴럴 네트워크(730)를 학습시킨다는 것은 뉴럴 네트워크(730)의 파라미터를 조절하는 것을 포함할 수 있다. 예를 들어, 뉴럴 네트워크(730)의 파라미터는 뉴럴 네트워크(730)의 인공 뉴런들을 연결하는 시냅스의 가중치를 포함할 수 있다. 뉴럴 네트워크(730)는 도 2를 통해 설명된 단일 레벨의 뉴럴 네트워크 및 도 3 내지 도 6을 통해 설명된 멀티 레벨의 뉴럴 네트워크들을 포함할 수 있다. 뉴럴 네트워크(730)가 단일 레벨의 뉴럴 네트워크인 경우, 프로세서(710)는 뉴럴 네트워크(730)에 트레이닝 영상을 입력하고, 뉴럴 네트워크(730)가 트레이닝 영상에 매핑된 눈의 개수, 눈의 위치 및 사용자의 깊이 중 적어도 하나를 결정하도록 뉴럴 네트워크(730)를 학습시킬 수 있다.
뉴럴 네트워크(730)가 멀티 레벨의 뉴럴 네트워크인 경우, 뉴럴 네트워크(730)는 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크를 포함할 수 있다. 일 실시예에 따르면, 프로세서(710)는 트레이닝 영상을 제1 뉴럴 네트워크에 입력하고, 제1 뉴럴 네트워크가 트레이닝 영상에 포함된 눈의 개수를 출력하도록 제1 뉴럴 네트워크의 파라미터를 조절하고, 제2 뉴럴 네트워크가 트레이닝 영상을 촬영한 카메라와 사용자 간의 거리를 나타내는 깊이 정보 및 눈의 개수에 대응하는 눈의 위치 정보를 출력하도록 제2 뉴럴 네트워크의 파라미터를 조절할 수 있다.
다른 실시예에 따르면, 프로세서(710)는 제1 뉴럴 네트워크에 트레이닝 영상을 입력하고, 제1 뉴럴 네트워크가 트레이닝 영상에 포함된 눈의 개수 및 트레이닝 영상을 촬영한 카메라와 사용자 간의 거리를 나타내는 깊이 정보를 출력하도록 제1 뉴럴 네트워크의 파라미터를 조절할 수 있다. 또한, 뉴럴 네트워크(730)는 제2 뉴럴 네트워크에 트레이닝 영상 및 제1 뉴럴 네트워크에서 출력된 깊이 정보를 입력하고, 제2 뉴럴 네트워크가 깊이 정보에 기초하여 눈의 개수에 대응하는 눈의 위치 정보를 출력하도록 제2 뉴럴 네트워크의 파라미터를 조절할 수 있다.
실시예에 따라, 프로세서(710)는 오류 역전파 학습을 통해, 뉴럴 네트워크(730)의 레이어 간의 연결 가중치를 학습시킬 수 있다. 예를 들어, 프로세서(710)는 지도식 학습(supervised learning)을 통해 뉴럴 네트워크를 학습시킬 수 있다. 감독 학습이란 트레이닝 입력과 그에 대응하는 트레이닝 출력을 함께 뉴럴 네트워크에 입력하고, 트레이닝 입력에 대응하는 트레이닝 출력이 출력되도록 연결 가중치를 업데이트하는 방법이다. 예를 들어, 프로세서(710)는 델타 규칙(delta rule)과 오류 역전파 학습(back propagation learning) 등을 통해 뉴런들 사이의 연결 가중치 등을 업데이트할 수 있다.
오류 역전파 학습은, 주어진 트레이닝 데이터에 대해 전방 계산(forward computation)으로 오류를 추정한 후, 출력 레이어에서 시작하여 히든 레이어와 입력 레이어로의 역 방향으로 추정한 오류를 전파하고, 오류를 줄이는 방향으로 연결 가중치를 조절하는 방법이다. 뉴럴 네트워크의 인식은 입력 레이어, 히든 레이어, 출력 레이어의 순서로 진행되지만, 오류 역전파 학습에서 연결 가중치의 업데이트는 출력 레이어, 히든 레이어, 입력 레이어의 순서로 진행될 수 있다.
메모리(720)는 뉴럴 네트워크(730)를 저장한다. 메모리(720)는 트레이닝 과정 동안 순차적으로 업데이트되는 뉴럴 네트워크를 저장할 수 있다. 또한, 메모리(720)는 트레이닝 데이터를 저장할 수 있다.
도 8은 일 실시예에 따른 트레이닝 데이터들을 나타낸 도면이다. 도 8을 참조하면, 사용자의 깊이에 따른 트레이닝 데이터들이 도시되어 있다.
상술된 것처럼, 지도식 학습에서 트레이닝 데이터들에는 학습 목적에 따른 라벨들이 할당될 수 있다. 예를 들어, 라벨은 눈의 개수, 눈의 위치 및 사용자의 깊이 중 적어도 하나를 포함할 수 있다. 사용자의 깊이에 관해서는 미리 정해진 수의 레벨들이 정의될 수 있다. 예를 들어, 사용자의 깊이에 관해 15cm의 깊이를 나타내는 레벨 1, 20cm의 깊이를 나타내는 레벨 2, 25cm의 깊이를 나타내는 레벨 3, 0의 깊이를 나타내는 레벨 4 및 무한대의 깊이를 나타내는 레벨 5가 정의될 수 있다. 레벨 4 및 레벨 5는 사용자가 없는 경우를 나타낼 수 있다. 이 경우, 레벨 1 의 거리에 대응하는 사용자가 표시된 트레이닝 데이터에는 라벨 0이 할당되고, 레벨 2의 거리에 대응하는 사용자가 표시된 트레이닝 데이터에는 라벨 1이 할당되고, 레벨 3의 거리에 대응하는 사용자가 표시된 트레이닝 데이터에는 라벨 2가 할당될 수 있다. 또한, 레벨 4 및 레벨 5에 대응하는 트레이닝 데이터에는 라벨 3이 할당될 수 있다. 뉴럴 네트워크는 이러한 라벨 0 내지 3의 트레이닝 데이터들을 통해 깊이 정보를 출력하도록 학습될 수 있다. 이 경우, 사용자가 카메라에서 15cm내지 25cm만큼 떨어진 경우, 사용자의 깊이는 레벨 1 내지 레벨 3 중 어느 하나로 인식될 수 있다. 또한, 사용자가 카메라에서 15cm 미만으로 떨어지거나, 25cm를 초과하여 떨어진 경우, 카메라 앞에 사용자가 존재하지 않는 것으로 인식될 수 있다.
도 9는 일 실시예에 따른 깊이에 기반한 노출 조절을 나타낸 도면이다. 도 8을 참조하면, 임계치에 따른 노출 조절(910) 및 적정 노출 값에 따른 노출 조절(920)이 도시되어 있다.
일 측에 따르면, 깊이에 관한 임계치들(th1 내지 th4)이 미리 정해질 수 있다. 상술된 것처럼, 제2 뉴럴 네트워크에 의해 사용자의 깊이가 추정될 수 있고, 사용자의 깊이와 임계치들(th1 내지 th4)의 비교에 기초하여 영상의 노출이 조절될 수 있다. 사용자의 깊이는 입력 영상을 촬영한 카메라와 사용자 간의 거리를 의미하므로, 카메라와 사용자 간의 거리가 멀어짐에 따라 깊이 값은 증가하는 것으로 이해될 수 있다. 예를 들어, 사용자의 깊이가 임계치(th1)를 초과하는 경우, 영상의 노출 부족으로 인해 눈 검출의 정확도가 떨어질 수 있다. 이 경우, 눈 검출 장치는 영상의 노출을 증가시킬 수 있다. 또한, 사용자의 깊이가 임계치(th2) 미만인 경우, 영상의 노출 과다로 인해 눈 검출의 정확도가 떨어질 수 있다. 이 경우, 눈 검출 장치는 영상의 노출을 감소시킬 수 있다. 사용자의 깊이가 임계치(th3)를 초과하거나, 사용자의 깊이가 임계치(th4) 미만인 영상들에는 객체가 존재하지 않는 것으로 판단될 수 있다. 상술된 라벨 0에 대응하는 깊이는 임계치(th1)와 임계치(th3) 사이에 위치할 수 있고, 상술된 라벨 2에 대응하는 깊이는 임계치(th2)와 임계치(th4) 사이에 위치할 수 있다. 이 경우, 눈 검출 장치는, 라벨 0에 대응하는 영상의 노출을 증가시킬 수 있고, 상술된 라벨 2에 대응하는 영상의 노출을 감소시킬 수 있다.
다른 일 측에 따르면, 깊이에 따른 적정 노출 값이 미리 정해질 수 있다. 예를 들어, 깊이 D1 내지 D3에 관해 E1 내지 E3의 적정 노출 값이 미리 정해질 수 있다. 이 경우, 눈 검출 장치는 사용자의 깊이를 추정하고, 사용자의 깊이에 대응하는 적정 노출 값에 기초하여 영상의 노출을 조절할 수 있다. 보다 구체적으로, 눈 검출 장치는, 사용자의 깊이가 D1에 해당함에 따라 영상의 노출을 E1으로 조절할 수 있고, 사용자의 깊이가 D2에 해당함에 따라 영상의 노출을 E2로 조절할 수 있고, 사용자의 깊이가 D3에 해당함에 따라 영상의 노출을 E3로 조절할 수 있다. D1 내지 D3는 라벨 0에 따른 깊이 내지 라벨 2에 따른 깊이에 대응할 수 있고, D0 및 D4는 라벨 3에 따른 깊이에 대응할 수 있다.
도 10은 일 실시예에 따른 노출이 조절된 영상을 나타낸 도면이다. 도 9를 참조하면, 노출이 조절된 영상(1020), 노출이 부족한 영상(1010) 및 노출이 과다한 영상(1030)이 도시되어 있다.
영상(1010) 및 영상(1030)에서는 실제로 사용자가 카메라 앞에 존재함에도 사용자의 눈이 검출되지 않거나, 검출된 눈의 위치가 부정확할 수 있다. 상술된 것처럼, 눈 검출 장치는 뉴럴 네트워크의 출력을 통해 확인된 눈의 개수가 0개인 경우, 혹은 사용자의 깊이에 따른 적절한 노출이 필요한 경우에 영상의 노출을 조절함으로써 눈 검출의 정확도를 향상시킬 수 있다.
보다 구체적으로, 눈 검출 장치는 영상(1010)에서 확인된 눈의 개수가 0개이거나, 영상(1010)에서 사용자의 깊이가 임계치보다 먼 것으로 확인된 경우에, 영상(1010)의 노출을 증가시킬 수 있다. 또한, 눈 검출 장치는 영상(1030)에서 확인된 눈의 개수가 0개이거나, 영상(1030)에서 사용자의 깊이가 임계치보다 가까운 것으로 확인된 경우에, 영상(1030)의 노출을 감소시킬 수 있다. 또는, 영상(1010) 또는 영상(1030)의 노출 값이 영상(1010) 또는 영상(1030)에서의 사용자의 깊이에 대한 적정 노출 값이 아닌 경우, 영상(1010) 또는 영상(1030)의 노출을 해당 깊이에 관한 적정 노출 값으로 설정할 수 있다.
도 11은 일 실시예에 따른 눈 검출 장치를 나타낸 블록도이다. 도 11을 참조하면, 눈 검출 장치는 프로세서(1110), 센서(1120) 및 메모리(1130)를 포함한다. 프로세서(1111), 센서(1120) 및 메모리(1130)는 버스(1140)를 통하여 서로 통신할 수 있다.
센서(1120)는 사용자의 얼굴이나 홍채를 감지하기 위한 이미지 센서 및 적외선 센서를 포함할 수 있다. 센서(1120)는 잘 알려진 방식(예를 들어, 광학 이미지를 전기 신호로 변환하는 방식 등)으로 사용자의 얼굴이나 홍채를 감지할 수 있다. 센서(1120)는 촬영된 컬러 영상 또는 적외선 영상을 프로세서(1110) 및 메모리(1130) 중 적어도 하나로 전달할 수 있다.
프로세서(1111)는 도 1 내지 도 10을 통하여 전술한 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 10을 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 예를 들어, 프로세서(1110)는 상술된 뉴럴 네트워크에 관한 동작을 처리할 수 있다. 보다 구체적으로, 프로세서(1110)는 뉴럴 네트워크에 영상을 입력하고, 뉴럴 네트워크에서 출력된, 영상에 포함된 눈의 위치 정보를 획득할 수 있다.
메모리(1130)는 컴퓨터에서 읽을 수 있는 명령어들을 저장할 수 있다. 메모리(1130)에 저장된 명령어들이 프로세서(1110)에서 실행되면, 프로세서(1110)는 상술된 뉴럴 네트워크에 관한 동작을 처리할 수 있다. 또한, 메모리(1130)는 상술된 뉴럴 네트워크 및 뉴럴 네트워크에 관한 데이터들을 저장할 수 있다. 예를 들어, 메모리(1130)는 인공 뉴런들의 막 전위 및 시냅스의 가중치 등을 저장할 수 있다. 메모리(1130)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(1110)는 프로그램을 실행하고, 눈 검출 장치를 제어할 수 있다. 눈 검출 장치는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다. 눈 검출 장치는 이동 전화, 스마트 폰, PDA, 태블릿 컴퓨터, 랩톱 컴퓨터 등 모바일 장치, 퍼스널 컴퓨터, 태블릿 컴퓨터, 넷북 등 컴퓨팅 장치, 또는 텔레비전, 스마트 텔레비전, 게이트 제어를 위한 보안 장치 등 전자 제품 등의 적어도 일부로 구현될 수 있다. 그 밖에, 눈 검출 장치에 관해서는 상술된 내용이 적용될 수 있으며, 보다 상세한 설명은 생략한다.
도 12는 일 실시예에 따른 눈 검출 방법을 나타낸 동작 흐름도이다. 도 12를 참조하면, 단계(1210)에서, 눈 검출 장치는 뉴럴 네트워크에 영상을 입력한다. 단계(1220)에서, 눈 검출 장치는 뉴럴 네트워크에서 출력된, 영상에 포함된 눈의 위치 정보를 획득한다. 그 밖에, 눈 검출 방법에 관해서는 상술된 내용이 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
도 13은 일 실시예에 따른 학습 방법을 나타낸 동작 흐름도이다. 도 13을 참조하면, 단계(1310)에서, 트레이닝 장치는 사용자의 깊이 별로 분류된 트레이닝 데이터를 뉴럴 네트워크에 입력한다. 단계(1320)에서, 트레이닝 장치는 뉴럴 네트워크가 트레이닝 데이터에 포함된 눈의 위치 정보를 출력하도록 뉴럴 네트워크의 파라미터를 조절한다. 그 밖에, 학습 방법에 관해서는 상술된 내용이 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
Claims (20)
- 사용자의 눈을 포함하는 적외선 영상을 획득하는 단계; 및
복수의 히든 레이어들을 포함하는 뉴럴 네트워크를 이용하여, 상기 적외선 영상 내 상기 사용자의 눈을 포함하는 영역을 검출하는 단계
를 포함하는, 눈 검출 방법. - 제1항에 있어서,
상기 뉴럴 네트워크는
상기 적외선 영상에 내포된, 상기 적외선 영상을 촬영하는 카메라와 상기 사용자 사이의 거리에 관한 정보에 기초하여, 상기 적외선 영상으로부터 상기 영역을 검출하는, 눈 검출 방법. - 제2항에 있어서,
상기 적외선 영상에 내포된 상기 거리에 관한 정보는
상기 적외선 영상에 포함된 상기 사용자의 눈의 크기에 관한 정보를 포함하는, 눈 검출 방법. - 제1항에 있어서,
상기 뉴럴 네트워크는
상기 적외선 영상의 입력에 기초하여, 상기 적외선 영상을 촬영한 카메라와 상기 사용자 간의 거리, 상기 적외선 영상에 포함된 눈의 개수, 및 상기 눈의 위치 중 적어도 둘을 동시에(simultaneously) 결정하는, 눈 검출 방법. - 제1항에 있어서,
상기 사용자의 눈을 포함하는 영역을 검출하는 단계는
상기 적외선 영상을 상기 뉴럴 네트워크에 입력하는 단계; 및
상기 뉴럴 네트워크의 출력에 기초하여, 상기 적외선 영상 내 상기 영역의 위치를 나타내는 좌표를 결정하는 단계
를 포함하는, 눈 검출 방법. - 제1 뉴럴 네트워크에 영상을 입력하는 단계;
상기 제1 뉴럴 네트워크에서 출력된, 상기 영상에 포함된 눈의 개수를 획득하는 단계;
제2 뉴럴 네트워크에 상기 영상을 입력하는 단계; 및
상기 제2 뉴럴 네트워크에서 출력된, 상기 영상을 촬영한 카메라와 사용자 간의 거리를 나타내는 깊이 정보 및 상기 눈의 개수에 대응하는 눈의 위치 정보를 획득하는 단계
를 포함하는, 눈 검출 방법. - 제6항에 있어서,
상기 영상에 포함된 눈의 개수 및 상기 깊이 정보 중 적어도 하나에 기초하여, 상기 영상의 노출을 조절하는 단계를 더 포함하는, 눈 검출 방법. - 제7항에 있어서,
상기 노출이 조절된 영상을 상기 제1 뉴럴 네트워크에 입력하는 단계; 및
상기 노출이 조절된 영상에 관한 상기 제1 뉴럴 네트워크의 출력에 기초하여, 상기 노출이 조절된 영상에 포함된 눈의 위치 정보를 획득하는 단계
를 더 포함하는, 눈 검출 방법. - 제6항에 있어서,
상기 영상에 포함된 눈의 개수가 1개인 경우, 상기 제2 뉴럴 네트워크는 상기 영상에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 하나의 후보 객체에 관한 위치 정보를 출력하고,
상기 영상에 포함된 눈의 개수가 2개인 경우, 상기 제2 뉴럴 네트워크는 상기 영상에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 둘의 후보 객체들에 관한 위치 정보를 출력하는, 눈 검출 방법. - 제1 뉴럴 네트워크에 영상을 입력하는 단계;
상기 제1 뉴럴 네트워크에서 출력된, 상기 영상에 포함된 눈의 개수 및 사용자의 깊이 정보를 획득하는 단계;
제2 뉴럴 네트워크에 상기 영상 및 상기 사용자의 깊이 정보를 입력하는 단계; 및
상기 제2 뉴럴 네트워크에서 출력된, 상기 눈의 개수에 대응하는 눈의 위치 정보를 획득하는 단계
를 포함하는, 눈 검출 방법. - 제10항에 있어서,
상기 영상에 포함된 눈의 개수 및 상기 깊이 정보 중 적어도 하나에 기초하여, 상기 영상의 노출을 조절하는 단계를 더 포함하는, 눈 검출 방법. - 제11항에 있어서,
상기 노출이 조절된 입력 영상을 상기 제1 뉴럴 네트워크에 입력하는 단계; 및
상기 노출이 조절된 영상에 관한 상기 제1 뉴럴 네트워크의 출력에 기초하여, 상기 노출이 조절된 영상에 포함된 눈의 위치 정보를 획득하는 단계
를 더 포함하는, 눈 검출 방법. - 제10항에 있어서,
상기 영상에 포함된 눈의 개수가 1개인 경우, 상기 제2 뉴럴 네트워크는 상기 영상에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 하나의 후보 객체에 관한 위치 정보를 출력하고,
상기 영상에 포함된 눈의 개수가 2개인 경우, 상기 제2 뉴럴 네트워크는 상기 영상에 포함된 눈으로 추정되는 후보 객체들 중에, 눈에 해당될 확률이 가장 높은 둘의 후보 객체들에 관한 위치 정보를 출력하는, 눈 검출 방법. - 사용자의 깊이 별로 분류된 트레이닝 데이터-상기 사용자의 깊이는 상기 트레이닝 데이터를 촬영한 카메라와 상기 사용자 사이의 거리를 나타냄-를 뉴럴 네트워크에 입력하는 단계; 및
상기 뉴럴 네트워크가 상기 트레이닝 데이터에 포함된 눈의 위치 정보를 출력하도록 상기 뉴럴 네트워크의 파라미터를 조절하는 단계
를 포함하는, 학습 방법. - 제14항에 있어서,
상기 뉴럴 네트워크 네트워크의 파라미터를 조절하는 단계는
상기 뉴럴 네트워크가 상기 트레이닝 데이터에 포함된 눈의 개수, 상기 트레이닝 데이터에 포함된 눈의 위치 및 상기 사용자의 깊이 중 적어도 둘을 동시에(simultaneously) 결정하도록 상기 뉴럴 네트워크의 파라미터를 조절하는 단계를 포함하는, 학습 방법. - 제14항에 있어서,
상기 트레이닝 데이터를 상기 뉴럴 네트워크에 입력하는 단계는
상기 트레이닝 데이터를 상기 뉴럴 네트워크에 포함된 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크 각각에 입력하는 단계를 포함하고,
상기 뉴럴 네트워크 네트워크의 파라미터를 조절하는 단계는
상기 제1 뉴럴 네트워크가 상기 트레이닝 데이터에 포함된 눈의 개수를 출력하도록 상기 제1 뉴럴 네트워크의 파라미터를 조절하는 단계; 및
상기 제2 뉴럴 네트워크가 상기 깊이 및 상기 눈의 개수에 대응하는 눈의 위치 정보를 출력하도록 상기 제2 뉴럴 네트워크의 파라미터를 조절하는 단계
를 포함하는, 학습 방법. - 제14항에 있어서,
상기 트레이닝 데이터를 상기 뉴럴 네트워크에 입력하는 단계는
상기 트레이닝 데이터를 상기 뉴럴 네트워크에 포함된 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크 각각에 입력하는 단계를 포함하고,
상기 뉴럴 네트워크 네트워크의 파라미터를 조절하는 단계는
상기 제1 뉴럴 네트워크가 상기 트레이닝 데이터에 포함된 눈의 개수 및 상기 사용자의 깊이를 출력하도록 상기 제1 뉴럴 네트워크의 파라미터를 조절하는 단계;
상기 제2 뉴럴 네트워크에 상기 깊이를 더 입력하는 단계; 및
상기 제2 뉴럴 네트워크가 상기 깊이에 기초하여 상기 눈의 개수에 대응하는 눈의 위치 정보를 출력하도록 상기 제2 뉴럴 네트워크의 파라미터를 조절하는 단계
를 포함하는, 학습 방법. - 하드웨어와 결합되어 제1항 내지 제17항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
- 사용자의 눈을 포함하는 적외선 영상을 촬영하는 센서; 및
복수의 히든 레이어들을 포함하는 뉴럴 네트워크를 이용하여, 상기 적외선 영상 내 상기 사용자의 눈을 포함하는 영역을 검출하는 프로세서
를 포함하는, 눈 검출 장치. - 제19항에 있어서,
상기 뉴럴 네트워크는
상기 적외선 영상에 내포된, 상기 적외선 영상을 촬영하는 카메라와 상기 사용자 사이의 거리에 관한 정보에 기초하여, 상기 적외선 영상으로부터 상기 영역을 검출하는, 눈 검출 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160162553A KR102707595B1 (ko) | 2016-12-01 | 2016-12-01 | 눈 검출 방법 및 장치 |
US15/818,924 US20180157892A1 (en) | 2016-12-01 | 2017-11-21 | Eye detection method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160162553A KR102707595B1 (ko) | 2016-12-01 | 2016-12-01 | 눈 검출 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180062647A true KR20180062647A (ko) | 2018-06-11 |
KR102707595B1 KR102707595B1 (ko) | 2024-09-19 |
Family
ID=62243101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160162553A KR102707595B1 (ko) | 2016-12-01 | 2016-12-01 | 눈 검출 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180157892A1 (ko) |
KR (1) | KR102707595B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753925A (zh) * | 2018-12-29 | 2019-05-14 | 深圳三人行在线科技有限公司 | 一种虹膜特征提取的方法和设备 |
KR20210103616A (ko) * | 2020-02-13 | 2021-08-24 | 삼성전자주식회사 | 투명 패널을 제어하기 위한 장치 및 방법 |
WO2022114314A1 (ko) * | 2020-11-27 | 2022-06-02 | 연세대학교 산학협력단 | 경량화 신경망을 이용한 얼굴 인식 장치 및 방법 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018033137A1 (zh) * | 2016-08-19 | 2018-02-22 | 北京市商汤科技开发有限公司 | 在视频图像中展示业务对象的方法、装置和电子设备 |
US11556741B2 (en) | 2018-02-09 | 2023-01-17 | Pupil Labs Gmbh | Devices, systems and methods for predicting gaze-related parameters using a neural network |
WO2019154510A1 (en) | 2018-02-09 | 2019-08-15 | Pupil Labs Gmbh | Devices, systems and methods for predicting gaze-related parameters |
WO2019154509A1 (en) | 2018-02-09 | 2019-08-15 | Pupil Labs Gmbh | Devices, systems and methods for predicting gaze-related parameters |
KR20210029205A (ko) * | 2018-07-31 | 2021-03-15 | 소니 세미컨덕터 솔루션즈 가부시키가이샤 | 적층형 수광 센서 및 전자기기 |
WO2020147948A1 (en) | 2019-01-16 | 2020-07-23 | Pupil Labs Gmbh | Methods for generating calibration data for head-wearable devices and eye tracking system |
CN109840921B (zh) * | 2019-01-29 | 2020-07-03 | 北京三快在线科技有限公司 | 无人驾驶任务结果的确定方法、装置及无人驾驶设备 |
US10839543B2 (en) * | 2019-02-26 | 2020-11-17 | Baidu Usa Llc | Systems and methods for depth estimation using convolutional spatial propagation networks |
US11676422B2 (en) | 2019-06-05 | 2023-06-13 | Pupil Labs Gmbh | Devices, systems and methods for predicting gaze-related parameters |
KR20220085481A (ko) * | 2020-12-15 | 2022-06-22 | 삼성전자주식회사 | 영상 처리 방법 및 영상 처리 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005251224A (ja) * | 2005-04-08 | 2005-09-15 | Mitsubishi Electric Corp | 顔画像処理装置 |
KR20130054767A (ko) * | 2011-11-17 | 2013-05-27 | 주식회사 에스원 | 다중 생체 인식 장치 및 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6717728B2 (en) * | 1999-12-08 | 2004-04-06 | Neurok Llc | System and method for visualization of stereo and multi aspect images |
US7206435B2 (en) * | 2002-03-26 | 2007-04-17 | Honda Giken Kogyo Kabushiki Kaisha | Real-time eye detection and tracking under various light conditions |
JP4460560B2 (ja) * | 2006-09-29 | 2010-05-12 | 富士フイルム株式会社 | 撮像装置及び撮影方法 |
US8212891B2 (en) * | 2009-06-26 | 2012-07-03 | Nokia Corporation | Apparatus, methods and computer readable storage mediums |
US10016130B2 (en) * | 2015-09-04 | 2018-07-10 | University Of Massachusetts | Eye tracker system and methods for detecting eye parameters |
US10466714B2 (en) * | 2016-09-01 | 2019-11-05 | Ford Global Technologies, Llc | Depth map estimation with stereo images |
-
2016
- 2016-12-01 KR KR1020160162553A patent/KR102707595B1/ko active IP Right Grant
-
2017
- 2017-11-21 US US15/818,924 patent/US20180157892A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005251224A (ja) * | 2005-04-08 | 2005-09-15 | Mitsubishi Electric Corp | 顔画像処理装置 |
KR20130054767A (ko) * | 2011-11-17 | 2013-05-27 | 주식회사 에스원 | 다중 생체 인식 장치 및 방법 |
Non-Patent Citations (3)
Title |
---|
A. Salgian and D. socolinsky, ‘Face Recognition in the Dark,’ 2004 Conference on Computer Vision and Pattern Recognition Workshop, Washington, DC, USA, 2004, pp.129-129 (2004.06.27.) * |
M. Marzec et al.,‘Fast eye localization from thermal images using neural networks,’Multimed Tools Appl (2016) (2016.11.09.) 1부.* * |
R. Bednarik et al., ‘Eye-Movements as a Biometric’, H. Kalviainen et al. (Eds.): SCIA 2005, LNCS 3540, pp. 780-789 (2005.) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753925A (zh) * | 2018-12-29 | 2019-05-14 | 深圳三人行在线科技有限公司 | 一种虹膜特征提取的方法和设备 |
KR20210103616A (ko) * | 2020-02-13 | 2021-08-24 | 삼성전자주식회사 | 투명 패널을 제어하기 위한 장치 및 방법 |
WO2022114314A1 (ko) * | 2020-11-27 | 2022-06-02 | 연세대학교 산학협력단 | 경량화 신경망을 이용한 얼굴 인식 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20180157892A1 (en) | 2018-06-07 |
KR102707595B1 (ko) | 2024-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102707595B1 (ko) | 눈 검출 방법 및 장치 | |
US11657525B2 (en) | Extracting information from images | |
KR20230021043A (ko) | 객체 인식 방법 및 장치, 및 인식기 학습 방법 및 장치 | |
KR102696652B1 (ko) | 스테레오 매칭 방법 및 영상 처리 장치 | |
KR102476758B1 (ko) | 영상 정규화 장치 및 방법 | |
JP6754619B2 (ja) | 顔認識方法及び装置 | |
US11941918B2 (en) | Extracting information from images | |
US7697765B2 (en) | Learning method and device for pattern recognition | |
US11423702B2 (en) | Object recognition method and apparatus | |
EP3147827A1 (en) | Face recognition method and apparatus | |
KR20180069452A (ko) | 뉴럴 네트워크의 학습 방법 및 뉴럴 네트워크를 이용한 인식 방법, 및 그 장치 | |
KR20160096460A (ko) | 복수의 분류기를 포함하는 딥 러닝 기반 인식 시스템 및 그 제어 방법 | |
KR102108953B1 (ko) | 센서 품질 저하에 강인한 딥러닝 기반 카메라, 라이더 센서 융합 인지 방법 및 시스템 | |
KR101997479B1 (ko) | 사용자 인증을 위한 생체 영역을 검출하는 방법 및 장치 | |
JP6309549B2 (ja) | 変形可能な表現検出器 | |
KR101175597B1 (ko) | 아다부스트 학습 알고리즘을 이용하여 얼굴 특징점 위치를 검출하기 위한 방법, 장치, 및 컴퓨터 판독 가능한 기록 매체 | |
KR20210069467A (ko) | 뉴럴 네트워크의 학습 방법 및 장치와 뉴럴 네트워크를 이용한 인증 방법 및 장치 | |
EP3832542A1 (en) | Device and method with sensor-specific image recognition | |
JP2019023801A (ja) | 画像認識装置、画像認識方法、及び画像認識プログラム | |
CN112183336A (zh) | 表情识别模型训练方法、装置、终端设备及存储介质 | |
KR102540290B1 (ko) | 이종 센서 카메라 기반 사람 재식별 장치 및 방법 | |
KR102224218B1 (ko) | 비디오 시간 정보를 활용하는 딥러닝 기반 물체 검출 방법 및 장치 | |
CN112800941A (zh) | 基于非对称辅助信息嵌入网络的人脸反欺诈方法及系统 | |
KR101748412B1 (ko) | 특징값 결합 방식을 이용하는 보행자 검출 방법 및 그 장치 | |
CN111401112A (zh) | 人脸识别方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
GRNT | Written decision to grant |