KR20190085890A - 제스처 인식 장치 및 방법 - Google Patents
제스처 인식 장치 및 방법 Download PDFInfo
- Publication number
- KR20190085890A KR20190085890A KR1020190078593A KR20190078593A KR20190085890A KR 20190085890 A KR20190085890 A KR 20190085890A KR 1020190078593 A KR1020190078593 A KR 1020190078593A KR 20190078593 A KR20190078593 A KR 20190078593A KR 20190085890 A KR20190085890 A KR 20190085890A
- Authority
- KR
- South Korea
- Prior art keywords
- gesture
- image sensor
- image
- voice
- input image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000004891 communication Methods 0.000 claims abstract description 15
- 238000003062 neural network model Methods 0.000 claims abstract description 9
- 230000003213 activating effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010801 machine learning Methods 0.000 abstract description 17
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000004148 unit process Methods 0.000 abstract description 2
- 238000013528 artificial neural network Methods 0.000 description 50
- 239000010410 layer Substances 0.000 description 40
- 230000006870 function Effects 0.000 description 29
- 238000012549 training Methods 0.000 description 28
- 210000003811 finger Anatomy 0.000 description 22
- 238000004458 analytical method Methods 0.000 description 19
- 210000002569 neuron Anatomy 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 230000009471 action Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000002372 labelling Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000005406 washing Methods 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 210000000225 synapse Anatomy 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 210000005224 forefinger Anatomy 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 210000003169 central nervous system Anatomy 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000018044 dehydration Effects 0.000 description 1
- 238000006297 dehydration reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000012880 independent component analysis Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/002—Specific input/output arrangements not covered by G06F3/01 - G06F3/16
- G06F3/005—Input arrangements through a video camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/044—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
-
- G06K9/00335—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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/047—Probabilistic or stochastic 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
- 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/09—Supervised learning
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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
- 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/107—Static hand or arm
- G06V40/113—Recognition of static hand signs
-
- 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/20—Movements or behaviour, e.g. gesture recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 머신 러닝 또는 심층 신경망 모델을 통해 제스처를 인식하는 장치 및 방법에 관한 것이다. 본 발명의 일 실시예에 따른 제스처 인식 장치는, 외부 서버와 통신하는 통신부, 제스처에 따른 명령의 결과를 출력하는 출력부, 영상 센서부, 통신부 및 출력부를 제어하는 제어부를 포함하고, 제어부는, 영상 센서부로부터 수신되는 제스처의 영상을 처리하여 제스처의 타입을 판단하고, 제스처가 제 1 타입의 제스처인 경우, 제스처가 나타내는 명령의 내용을 판단하여 출력부로 결과를 출력하고, 제스처가 제 2 타입의 제스처인 경우, 제스처에 대한 정보를 통신부를 통해 외부 서버로 송신하도록 구성된다. 본 발명의 제스처 인식 장치는 5G 통신망을 통해 다른 가전들과 연결되어 사물 인터넷(Internet of Things) 환경 하에 동작할 수 있다.
Description
본 발명은 제스처를 인식하는 장치 및 방법에 관한 것이다. 보다 구체적으로는, 제스처의 타입에 따라 로컬 장치 또는 외부 서버에서 제스처에 관한 분석을 수행하도록 하는 제스처 인식 장치 및 방법에 관한 것이다.
전자기기가 사용자의 명령을 인식하는 방법은 버튼, 키보드, 마우스와 같은 별도의 입력 도구를 사용하는 것에서 나아가 사용자의 음성 및 제스처를 바로 인식하는 단계로 발전하여 왔다.
예를 들어, 인공지능 스피커는 사용자가 음성을 수신하고 자연어 처리를 거쳐 사용자가 음성으로 의도한 명령을 이해하도록 설계되어 사용되고 있다. 더 나아가, 최근에는 사용자의 제스처를 인식하여 사용자가 의도한 명령을 보다 효과적으로 이해하도록 하는 기술들이 제안되고 있다.
이와 관련하여, 미국등록특허 제9,207,768호는 비전 인식을 통해 인식된 사용자 인터랙션을 이용하여 이동 단말을 제어하는 장치 및 방법에 관한 발명으로서, 비전 인식 영상 내에 특정 오브젝트가 사람을 나타내는지를 판단하여 사람인 경우에는 특정 오브젝트의 제스처를 판단하도록 하여 인식되는 움직임이 사람에 의한 명령인지를 판단할 수 있는 방법을 제안하고 있다.
그러나, 해당 발명은 명령을 제공하기 위한 제스처인지 판단하는 방법만을 제안하고 있을 뿐, 명령을 위한 제스처로 인식된 후에 효과적으로 제스처를 분석하기 위한 방법에 대해서는 전혀 개시하는 바가 없다.
한편, 미국등록특허 제9,495,758호에서는 제스처 인식 장치가 입력되는 제스처를 보다 정확하게 인식할 수 있도록 제스처의 이전 방향과 현재 방향에 관한 정보에 기초하여 방향 시퀀스를 추정하고 제스처를 인식하는 방법 및 장치에 대해 개시하고 있다.
그러나, 상술된 문헌에서는 디바이스의 프로세스 능력과 무관하게 제스처의 인식 자체를 개선하기 위한 방법에 대해서만 개시하고 있고, 제스처 분석을 위해 요구되는 프로세스 능력에 따른 제한에 대해서는 전혀 고려하는 바가 없다.
제스처 분석은 복잡한 영상 분석이 요구되는 태스크이므로, 처리 속도와 처리 가능한 프로세스 능력을 고려하여 효과적으로 제스처 분석 태스크가 이루어질 수 있도록 하는 방법이 필요하다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 실시예는, 제스처를 인식하고 분석하는 태스크에 필요한 프로세스 역량이 제스처의 복잡도마다 다름에도 불구하고 동일 디바이스에서 모든 제스처 인식 및 분석이 이루어져 프로세싱 리소스가 낭비되거나 과부화가 일어나는 문제점을 해결하는 것을 목적으로 한다.
본 발명의 다른 실시예는, 명령을 위한 제스처가 아닌 움직임을 오인하여 제스처 명령으로 인식하는 문제점과 제스처를 인식하기 위한 대기 전력이 낭비되는 문제점을 해결하는 것을 목적으로 한다.
본 발명의 또 다른 실시예는, 수집되어야 할 제스처 영상의 상세 정도가 제스처마다 상이함에도 불구하고 동일한 상세 정도로 제스처 영상이 수집되어 리소스가 낭비되는 문제점을 해결하는 것을 목적으로 한다.
본 발명의 또 다른 실시예는, 제스처 영상 자체를 분석의 대상으로 전달함으로써 송신 능력의 낭비와 분석 능력의 낭비가 발생하는 문제점을 해결하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여, 본 발명의 발명가들은 분석되어야 할 제스처의 타입에 따라 제스처를 분석하기 위한 장치를 달리하여 간단한 제스처에 대해서는 프로세싱 능력이 상대적으로 낮은 로컬 디바이스에서 분석을 수행하고, 복잡한 제스처에 대해서는 프로세싱 능력이 상대적으로 높은 외부 서버에서 분석을 수행하도록 하는 방법 및 장치를 창안하였다.
본 발명의 일 실시예는, 입력되는 제스처의 타입을 분석하여 일정 타입의 제스처에 대한 분석은 제스처 인식 장치에서 수행하도록 하고, 다른 타입의 제스처에 대한 분석은 외부 서버로 송신하도록 하는 제스처 인식 장치 및 방법을 제공할 수 있다.
본 발명의 다른 실시예는, 사용자의 음성을 수신하고 음성 신호가 사용자와의 상호작용을 시작하게 하는 기동어(wake-up word)라고 판단되는 경우 영상 센서부를 활성화시켜 제스처 명령을 수신하도록 하는 제스처 인식 장치 및 방법을 제공할 수 있다.
본 발명의 또 다른 실시예는, 사용자가 기기에 근접한 경우에만 영상 센서부가 활성화되도록 하고 영상 센서부를 활성화시키는 경우에도 영상 센서부의 제 1 영상 센서와 제 2 영상 센서를 상황에 따라 차별적으로 활성화시키는 제스처 인식 장치 및 방법을 제공할 수 있다.
본 발명의 일 실시예에 따른 제스처 인식 장치는, 제스처 인식 장치로서, 입력 영상을 감지하는 영상 센서부, 외부 서버와 통신하는 통신부 및 영상 센서부 및 통신부를 제어하는 제어부를 포함할 수 있다.
여기서, 제어부는 제스처의 타입을 판단하고, 제스처가 제 1 타입의 제스처인 경우, 제스처가 나타내는 명령의 내용을 판단하여 명령을 수행하고, 제스처가 제 2 타입의 제스처인 경우, 제스처에 대한 정보를 통신부를 통해 외부 서버로 송신하도록 구성될 수 있다.
본 발명의 다른 실시예에 따른 제스처 인식 장치에서 제어부는, 입력 영상에 대응하는 제스처를 특정하도록 미리 훈련된 심층신경망 모델을 통해 입력 영상을 처리하도록 추가로 구성될 수 있다.사용자의 음성을 감지하는 음성 센서부를 더 포함하고,
본 발명의 또 다른 실시예에 따른 제스처 인식 장치에서 제어부는, 음성 센서부가 감지한 음성 신호가 기동어(wake-up word)에 대응하는 것으로 판단한 경우, 영상 센서부를 활성화하도록 추가로 구성될 수 있다.
본 발명의 또 다른 실시예에 따른 제스처 인식 장치는 일정 범위 내로 접근한 인체를 감지하는 근접 센서부를 더 포함할 수 있다. 여기서, 제어부는 근접 센서부가 인체를 감지한 경우, 영상 센서부를 활성화하도록 추가로 구성될 수 있다.
여기서, 영상 센서부는 제 1 영상 센서 및 제 2 영상 센서를 포함할 수 있다. 또한, 제어부는, 1차적으로 상기 제 1 영상 센서만 활성화하고, 제 1 영상 센서를 통해 감지한 영상을 기동어(wake-up word) 제스처로 판단하는 경우, 2차적으로 제 1 영상 센서에 더하여 제 2 영상 센서를 활성화하도록 추가로 구성될 수 있다.
본 발명의 또 다른 실시예에 따른 제스처 인식 장치는 사용자의 음성을 감지하는 음성 센서부를 더 포함할 수 있다. 여기서, 제어부는, 활성화된 영상 센서부가 감지한 입력 영상에 대응하는 제스처가 기동어 제스처로 판단되는 경우, 음성 인식 모드를 활성화하도록 추가로 구성될 수 있다.
본 발명의 또 다른 실시예에 따른 제스처 인식 장치에서 제어부는, 제스처가 제 2 타입의 제스처인 경우, 입력 영상을 처리하여 제스처를 취하는 각각의 손가락의 방향에 대한 정보를 포함하는 간략화된 제스처 데이터로 변환하고, 통신부를 통해 간략화된 제스처 데이터를 제스처에 대한 정보로서 외부 서버로 송신하도록 추가로 구성될 수 있다.
본 발명의 또 다른 실시예에 따른 제스처 인식 장치에서 제어부는, 영상 센서부에 의해 수신되는 제 1 제스처를 나타내는 제 1 입력 영상 및 제 2 제스처를 나타내는 제 2 입력 영상을 일정 시간 내에 연속적으로 감지한 경우, 제 1 제스처와 제 2 제스처를 그룹화한 제스처 그룹 데이터를 생성하고, 통신부를 통해 제스처 그룹 데이터를 제스처에 대한 정보로서 외부 서버로 송신하도록 추가로 구성될 수 있다.
본 발명의 일 실시예에 따른 제스처를 인식하는 방법은, 영상 센서부를 통해 입력 영상을 감지하는 단계, 입력 영상을 처리하여 상기 입력 영상에 대응하는 제스처 및 상기 제스처의 타입을 판단하는 단계, 및 제스처가 제 1 타입의 제스처인 경우, 제스처가 나타내는 명령의 내용을 판단하여 명령을 수행하고, 제스처가 제 2 타입의 제스처인 경우, 제스처에 대한 정보를 외부 서버로 송신하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따른 제스처를 인식하는 방법에서 제스처의 타입을 판단하는 단계는, 입력 영상에 대응하는 제스처를 특정하도록 미리 훈련된 심층신경망 모델을 통해 상기 입력 영상을 처리하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따른 제스처를 인식하는 방법은 감지하는 단계 이전에, 음성 센서부를 통해 사용자의 음성을 감지하는 단계, 음성 센서부가 감지한 음성 신호가 기동어(wake-up word)에 대응하는지 판단하는 단계, 및 음성 신호가 기동어에 대응하는 경우, 영상 센서부를 활성화하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 제스처를 인식하는 방법은, 감지하는 단계 이전에, 근접 센서부를 통하여 일정 범위 내로 접근한 인체를 감지하는 단계, 및 근접 센서부가 인체를 감지한 것으로 판단한 경우, 영상 센서부를 활성화하는 단계를 더 포함할 수 있다.
여기서, 영상 센서부는 제 1 영상 센서 및 제 2 영상 센서를 포함할 수 있다. 또한, 활성화하는 단계는, 제 1 영상 센서만 활성화는 단계를 포함하고, 감지하는 단계는, 제 1 영상 센서를 통해 감지한 영상에 대응하는 제스처가 기동어(wake-up word) 제스처인지 판단하는 단계, 영상에 대응하는 제스처가 기동어 제스처인 경우, 제 1 영상 센서에 더하여 상기 제 2 영상 센서를 활성화하는 단계, 및 제 1 영상 센서 및 상기 제 2 영상 센서를 통해 상기 입력 영상을 감지하는 단계를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 제스처를 인식하는 방법은, 감지하는 단계 이후에, 제스처가 기동어 제스처인 경우, 음성 인식 모드를 활성화하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 제스처를 인식하는 방법에서 송신하는 단계는, 제스처가 제 2 타입의 제스처인 경우, 입력 영상을 처리하여 제스처를 취하는 각각의 손가락의 방향에 대한 정보를 포함하는 간략화된 제스처 데이터로 변환하는 단계, 및 간략화된 제스처 데이터를 제스처에 대한 정보로서 외부 서버로 송신하는 단계를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 제스처를 인식하는 방법에서 송신하는 단계는, 영상 센서부에 의해 수신되는 제 1 제스처를 나타내는 제 1 입력 영상 및 제 2 제스처를 나타내는 제 2 입력 영상을 일정 시간 내에 연속적으로 감지한 경우, 제 1 제스처와 상기 제 2 제스처를 그룹화한 제스처 그룹 데이터를 생성하는 단계, 및 제스처 그룹 데이터를 제스처에 대한 정보로서 외부 서버로 송신하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨터를 이용하여 상술된 방법들 중 어느 하나의 방법을 실행시키기 위하여 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램일 수 있다.
본 발명의 실시예에 따른 제스처 인식 장치 및 방법은 제스처의 복잡도에 따라 프로세스 능력이 다른 장치에서 제스처의 분석이 이루어지도록 제스처 분석 태스크를 할당함으로써 프로세스 능력의 낭비 또는 과부화가 일어나지 않고 효율적으로 제스처 분석이 수행되도록 할 수 있다.
또한, 본 발명의 실시예에 따른 제스처 인식 장치 및 방법은 장치 주변의 움직임이 명령을 위한 제스처인지 효과적으로 확인하도록 하고 제스처 인식을 위한 대기 전력을 절감할 수 있도록 할 수 있다.
본 발명의 실시예에 따른 제스처 인식 장치 및 방법은, 수집되어야 할 제스처 영상의 상세 정도를 상황에 따라 조절하여 제스처 영상을 처리하기 위한 리소스가 효율적으로 사용되도록 할 수 있다.
본 발명의 실시예에 따른 제스처 인식 장치 및 방법은, 제스처 영상으로부터 제스처를 특정하기 위해 필요한 필수 정보들만을 추출하여 전달되도록 함으로써 송신 리소스 및 분석 리소스를 효율적으로 사용하게 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 제스처 인식 시스템 전반을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 제스처 인식 장치의 블록도 및 제스처 인식 장치가 통신하는 외부 기기를 도시한다.
도 3은 본 발명의 일 실시예에 따른 제스처 인식 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 제스처 인식 방법을 보다 상세하게 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 제스처 인식 장치들이 외부 서버와 통신하는 구성을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 제스처 인식 장치에 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 7은 본 발명의 일 실시예에 따른 제스처 인식 장치에 사용될 수 있는 예시적인 제스처 그룹의 리스트를 나타낸다.
도 8은 본 발명의 일 실시예에 따른 제스처 인식 기능이 세탁기에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 제스처 인식 기능이 냉장고에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 제스처 인식 기능이 오븐에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 제스처 인식 기능이 스타일러에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 제스처 인식 기능이 텔레비전에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 제스처 인식 장치의 블록도 및 제스처 인식 장치가 통신하는 외부 기기를 도시한다.
도 3은 본 발명의 일 실시예에 따른 제스처 인식 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 제스처 인식 방법을 보다 상세하게 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 제스처 인식 장치들이 외부 서버와 통신하는 구성을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 제스처 인식 장치에 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 7은 본 발명의 일 실시예에 따른 제스처 인식 장치에 사용될 수 있는 예시적인 제스처 그룹의 리스트를 나타낸다.
도 8은 본 발명의 일 실시예에 따른 제스처 인식 기능이 세탁기에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 제스처 인식 기능이 냉장고에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 제스처 인식 기능이 오븐에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 제스처 인식 기능이 스타일러에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 제스처 인식 기능이 텔레비전에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 제스처 인식 시스템 전반을 설명하기 위한 도면이다.
제스처 인식 시스템은 제스처 인식 장치(100) 및 서버(300)로 이루어질 수 있다. 제스처 인식 장치(100)는 사용자와의 인터페이스 기능을 하는 디스플레이(110), 사용자의 인체 근접 여부를 감지할 수 있는 근접 센서(130), 사용자의 음성을 수신하기 위한 음성 센서(150), 사용자의 제스처를 촬영하기 위한 영상 센서(170), 및 음향을 출력하기 위한 스피커(190)를 구비할 수 있다.
서버(300)는 제스처 인식 장치(100)와 통신가능하도록 연결된 외부 서버일 수 있다. 서버(300)는 제스처 인식 장치(100)로부터 제스처에 대한 정보 및 음성에 대한 데이터를 수신하여 데이터 처리 및 분석을 수행하여 제스처 또는 음성을 통해 사용자가 원하는 액션이 무엇인지 판단할 수 있다.
서버(300)는 인공 지능 기술, 특히 다양한 종류의 머신 러닝을 이용하여 수신된 제스처의 영상 또는 제스처에 대한 정보로부터 특정 제스처를 식별해낼 수 있다.
인공 지능(artificial intelligence, AI)은 인간의 지능으로 할 수 있는 사고, 학습, 자기계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보기술의 한 분야로, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것을 의미한다.
또한, 인공지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접으로 많은 관련을 맺고 있다. 특히 현대에는 정보기술의 여러 분야에서 인공지능적 요소를 도입하여, 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다.
머신 러닝(machine learning)은 인공지능의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야이다.
구체적으로 머신 러닝은, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취한다.
용어 '머신 러닝'은 용어 '기계 학습'과 혼용되어 사용될 수 있다.
기계 학습에서 데이터를 어떻게 분류할 것인가를 놓고, 많은 기계 학습 알고리즘이 개발되었다. 의사결정나무(Decision Tree)나 베이지안 망(Bayesian network), 서포트벡터머신(SVM: support vector machine), 그리고 인공 신경망(ANN: Artificial Neural Network) 등이 대표적이다.
의사결정나무는 의사결정규칙(Decision Rule)을 나무구조로 도표화하여 분류와 예측을 수행하는 분석방법이다.
베이지안 망은 다수의 변수들 사이의 확률적 관계(조건부독립성: conditional independence)를 그래프 구조로 표현하는 모델이다. 베이지안 망은 비지도 학습(unsupervised learning)을 통한 데이터마이닝(data mining)에 적합하다.
서포트벡터머신은 패턴인식과 자료분석을 위한 지도 학습(supervised learning)의 모델이며, 주로 분류와 회귀분석을 위해 사용한다.
인공신경망은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템이다.
인공 신경망은 기계 학습에서 사용되는 모델로써, 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다.
구체적으로 인공신경망은 시냅스(synapse)의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.
용어 인공신경망은 용어 뉴럴 네트워크(Neural Network)와 혼용되어 사용될 수 있다.
인공신경망은 복수의 레이어(layer)를 포함할 수 있고, 레이어들 각각은 복수의 뉴런(neuron)을 포함할 수 있다. 또한 인공신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다.
인공 신경망은 일반적으로 다음의 세가지 인자, 즉 (1) 다른 레이어의 뉴런들 사이의 연결 패턴 (2) 연결의 가중치를 갱신하는 학습 과정 (3) 이전 레이어로부터 수신되는 입력에 대한 가중 합으로부터 출력값을 생성하는 활성화 함수에 의해 정의될 수 있다.
인공 신경망은, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network), MLP(Multilayer Perceptron), CNN(Convolutional Neural Network)와 같은 방식의 네트워크 모델들을 포함할 수 있으나, 이에 한정되지 않는다.
본 명세서에서 용어 '레이어'는 용어 '계층'과 혼용되어 사용될 수 있다.
인공신경망은 계층 수에 따라 단층 신경망(Single-Layer Neural Networks)과 다층 신경망(Multi-Layer Neural Networks)으로 구분된다.
일반적인 단층 신경망은, 입력층과 출력층으로 구성된다.
또한 일반적인 다층 신경망은 입력층(Input Layer)과 하나 이상의 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성된다.
입력층은 외부의 자료들을 받아들이는 층으로서, 입력층의 뉴런 수는 입력되는 변수의 수와 동일하며, 은닉층은 입력층과 출력층 사이에 위치하며 입력층으로부터 신호를 받아 특성을 추출하여 출력층으로 전달한다. 출력층은 은닉층으로부터 신호를 받고, 수신한 신호에 기반한 출력 값을 출력한다. 뉴런간의 입력신호는 각각의 연결강도(가중치)와 곱해진 후 합산되며 이 합이 뉴런의 임계치보다 크면 뉴런이 활성화되어 활성화 함수를 통하여 획득한 출력값을 출력한다.
한편 입력층과 출력 층 사이에 복수의 은닉층을 포함하는 심층 신경망은, 기계 학습 기술의 한 종류인 딥 러닝을 구현하는 대표적인 인공 신경망일 수 있다.
한편 용어 '딥 러닝'은 용어 '심층 학습'과 혼용되어 사용될 수 있다.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 인공 신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다.
훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화 할 수 있다.
한편 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(a trained model)이라 명칭 할 수 있다.
다음은 인공 신경망의 학습 방식에 대하여 설명한다.
인공 신경망의 학습 방식은 크게, 지도 학습, 비 지도 학습, 준 지도 학습(Semi-Supervised Learning), 강화 학습(Reinforcement Learning)으로 분류될 수 있다.
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법이다.
그리고 이렇게 유추되는 함수 중, 연속 적인 값을 출력하는 것을 회귀분석(Regression)이라 하고, 입력 벡터의 클래스(class)를 예측하여 출력하는 것을 분류(Classification)라고 할 수 있다.
지도 학습에서는, 훈련 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킨다.
여기서 레이블이란, 훈련 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다.
본 명세서에서는 훈련 데이터가 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과값)을 레이블 또는 레이블링 데이터(labeling data)이라 명칭 한다.
또한 본 명세서에서는, 인공 신경망의 학습을 위하여 훈련 데이터에 레이블을 설정하는 것을, 훈련 데이터에 레이블링 데이터를 레이블링(labeling) 한다고 명칭 한다.
이 경우 훈련 데이터와 훈련 데이터에 대응하는 레이블)은 하나의 트레이닝 셋(training set)을 구성하고, 인공 신경망에는 트레이닝 셋의 형태로 입력될 수 있다.
한편 훈련 데이터는 복수의 특징(feature)을 나타내고, 훈련 데이터에 레이블이 레이블링 된다는 것은 훈련 데이터가 나타내는 특징에 레이블이 달린다는 것을 의미할 수 있다. 이 경우 훈련 데이터는 입력 객체의 특징을 벡터 형태로 나타낼 수 있다.
인공 신경망은 훈련 데이터와 레이블링 데이터를 이용하여, 훈련 데이터와 레이블링 데이터의 연관 관계에 대한 함수를 유추할 수 있다. 그리고, 인공 신경망에서 유추된 함수에 대한 평가를 통해 인공 신경망의 파라미터가 결정(최적화)될 수 있다.
비 지도 학습은 기계 학습의 일종으로, 훈련 데이터에 대한 레이블이 주어지지 않는다.
구체적으로, 비 지도 학습은, 훈련 데이터 및 훈련 데이터에 대응하는 레이블의 연관 관계 보다는, 훈련 데이터 자체에서 패턴을 찾아 분류하도록 인공 신경망을 학습시키는 학습 방법일 수 있다.
비 지도 학습의 예로는, 군집화 또는 독립 성분 분석(Independent Component Analysis)을 들 수 있다.
본 명세서에서 용어 '군집화'는 용어 '클러스터링'과 혼용되어 사용될 수 있다.
비지도 학습을 이용하는 인공 신경망의 일례로 생성적 적대 신경망(GAN: Generative Adversarial Network), 오토 인코더(AE: Autoencoder)를 들 수 있다.
생성적 적대 신경망이란, 생성기(generator)와 판별기(discriminator), 두 개의 서로 다른 인공지능이 경쟁하며 성능을 개선하는 머신 러닝 방법이다.
이 경우 생성기는 새로운 데이터를 창조하는 모형으로, 원본 데이터를 기반으로 새로운 데이터를 생성할 수 있다.
또한 판별기는 데이터의 패턴을 인식하는 모형으로, 입력된 데이터가 원본 데이터인지 또는 생성기에서 생성한 새로운 데이터인지 여부를 감별하는 역할을 수행할 수 있다.
그리고 생성기는 판별기를 속이지 못한 데이터를 입력 받아 학습하며, 판별기는 생성기로부터 속은 데이터를 입력 받아 학습할 수 있다. 이에 따라 생성기는 판별기를 최대한 잘 속이도록 진화할 수 있고, 판별기는 원본 데이터와 생성기에 의해 생성된 데이터를 잘 구분하도록 진화할 수 있다.
오토 인코더는 입력 자체를 출력으로 재현하는 것을 목표로 하는 신경망이다.
오토 인코더는 입력층, 적어도 하나의 은닉층 및 출력층을 포함한다.
이 경우 은닉 계층의 노드 수가 입력 계층의 노드 수보다 적으므로 데이터의 차원이 줄어들게 되며, 이에 따라 압축 또는 인코딩이 수행되게 된다.
또한 은닉 계층에서 출력한 데이터는 출력 계층으로 들어간다. 이 경우 출력 계층의 노드 수는 은닉 계층의 노드 수보다 많으므로, 데이터의 차원이 늘어나게 되며, 이에 따라 압축 해제 또는 디코딩이 수행되게 된다.
한편 오토 인코더는 학습을 통해 뉴런의 연결 강도를 조절함으로써 입력 데이터가 은닉층 데이터로 표현된다. 은닉층에서는 입력층보다 적은 수의 뉴런으로 정보를 표현하는데 입력 데이터를 출력으로 재현할 수 있다는 것은, 은닉층이 입력 데이터로부터 숨은 패턴을 발견하여 표현했다는 것을 의미할 수 있다.
준 지도 학습은 기계 학습의 일종으로, 레이블이 주어진 훈련 데이터와 레이블이 주어지지 않은 훈련 데이터를 모두 사용하는 학습 방법을 의미할 수 있다.
준 지도 학습의 기법 중 하나로, 레이블이 주어지지 않은 훈련 데이터의 레이블을 추론한 후 추론된 라벨을 이용하여 학습을 수행하는 기법이 있으며, 이러한 기법은 레이블링에 소요되는 비용이 큰 경우에 유용하게 사용될 수 있다.
강화 학습은, 에이전트(Agent)가 매 순간 어떤 행동을 해야 좋을지 판단할 수 있는 환경이 주어진다면, 데이터 없이 경험으로 가장 좋을 길을 찾을 수 있다는 이론이다.
강화 학습은 주로 마르코프 결정 과정(MDP: Markov Decision Process)에 의하여 수행될 수 있다.
마르코프 결정 과정을 설명하면, 첫 번째로 에이전트가 다음 행동을 하기 위해 필요한 정보들이 구성된 환경이 주어지며, 두 번째로 그 환경에서 에이전트가 어떻게 행동할지 정의하고, 세 번째로 에이전트가 무엇을 잘하면 보상(reward)를 주고 무엇을 못하면 벌점(penalty)을 줄지 정의하며, 네 번째로 미래의 보상이 최고점에 이를 때까지 반복 경험하여 최적의 정책(policy)을 도출하게 된다.
인공 신경망은 모델의 구성, 활성 함수(Activation Function), 손실 함수(Loss Function) 또는 비용 함수(Cost Function), 학습 알고리즘, 최적화 알고리즘 등에 의해 그 구조가 특정되며, 학습 전에 하이퍼파라미터(Hyperparameter)가 미리 설정되고, 이후에 학습을 통해 모델 파라미터(Model Parameter)가 설정되어 내용이 특정될 수 있다.
예컨대, 인공 신경망의 구조를 결정하는 요소에는 은닉층의 개수, 각 은닉층에 포함된 은닉 노드의 개수, 입력 특징 벡터(Input Feature Vector), 대상 특징 벡터(Target Feature Vector) 등이 포함될 수 있다.
하이퍼파라미터는 모델 파라미터의 초기값 등과 같이 학습을 위하여 초기에 설정하여야 하는 여러 파라미터들을 포함한다. 그리고, 모델 파라미터는 학습을 통하여 결정하고자 하는 여러 파라미터들을 포함한다.
예컨대, 하이퍼파라미터에는 노드 간 가중치 초기값, 노드 간 편향 초기값, 미니 배치(Mini-batch) 크기, 학습 반복 횟수, 학습률(Learning Rate) 등이 포함될 수 있다. 그리고, 모델 파라미터에는 노드 간 가중치, 노드 간 편향 등이 포함될 수 있다.
손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표(기준)로 이용될 수 있다. 인공 신경망에서 학습은 손실 함수를 줄이기 위하여 모델 파라미터들을 조작하는 과정을 의미하며, 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다.
손실 함수는 주로 평균 제곱 오차(MSE: Mean Squared Error) 또는 교차 엔트로피 오차(CEE, Cross Entropy Error)를 사용할 수 있으며, 본 발명이 이에 한정되지는 않는다.
교차 엔트로피 오차는 정답 레이블이 원 핫 인코딩(one-hot encoding)된 경우에 사용될 수 있다. 원 핫 인코딩은 정답에 해당하는 뉴런에 대하여만 정답 레이블 값을 1로, 정답이 아닌 뉴런은 정답 레이블 값이 0으로 설정하는 인코딩 방법이다.
머신 러닝 또는 딥 러닝에서는 손실 함수를 최소화하기 위하여 학습 최적화 알고리즘을 이용할 수 있으며, 학습 최적화 알고리즘에는 경사 하강법(GD: Gradient Descent), 확률적 경사 하강법(SGD: Stochastic Gradient Descent), 모멘텀(Momentum), NAG(Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam 등이 있다.
경사 하강법은 현재 상태에서 손실 함수의 기울기를 고려하여 손실 함수값을 줄이는 방향으로 모델 파라미터를 조정하는 기법이다.
모델 파라미터를 조정하는 방향은 스텝(step) 방향, 조정하는 크기는 스텝 사이즈(size)라고 칭한다.
이때, 스텝 사이즈는 학습률을 의미할 수 있다.
경사 하강법은 손실 함수를 각 모델 파라미터들로 편미분하여 기울기를 획득하고, 모델 파라미터들을 획득한 기울기 방향으로 학습률만큼 변경하여 갱신할 수 있다.
확률적 경사 하강법은 학습 데이터를 미니 배치로 나누고, 각 미니 배치마다 경사 하강법을 수행하여 경사 하강의 빈도를 높인 기법이다.
Adagrad, AdaDelta 및 RMSProp는 SGD에서 스텝 사이즈를 조절하여 최적화 정확도를 높이는 기법이다. SGD에서 모멘텀 및 NAG는 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다. Adam은 모멘텀과 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다. Nadam은 NAG와 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다.
인공 신경망의 학습 속도와 정확도는 인공 신경망의 구조와 학습 최적화 알고리즘의 종류뿐만 아니라, 하이퍼파라미터에 크게 좌우되는 특징이 있다. 따라서, 좋은 학습 모델을 획득하기 위하여는 적당한 인공 신경망의 구조와 학습 알고리즘을 결정하는 것뿐만 아니라, 적당한 하이퍼파라미터를 설정하는 것이 중요하다.
통상적으로 하이퍼파라미터는 실험적으로 다양한 값으로 설정해가며 인공 신경망을 학습시켜보고, 학습 결과 안정적인 학습 속도와 정확도를 제공하는 최적의 값으로 설정한다.
서버(300)가 상술된 인공지능 기술을 사용하여 입력된 영상으로부터 특정 제스처를 추출해낼 수 있을 뿐만 아니라, 제스처 인식 장치(100)도 인공지능 기술을 사용하여 입력된 영상으로부터 특정 제스처를 추출해낼 수 있다.
다만, 일반적으로 서버(300)에 비하여 프로세싱 리소스가 작은 로컬 디바이스인 제스처 인식 장치(100)는 상대적으로 적은 데이터양과 간단한 학습 모델을 이용하여 인공지능 학습을 수행할 수 있다.
제스처 인식 장치(100)의 디스플레이(110)는 사용자에게 특정 메세지를 표시할 수 있고 터치 기반 지시를 통해 사용자로부터 특정 메세지를 수신받을 수도 있다.
근접 센서(130)는 인체가 일정 범위 내에 근접하는지를 판단하기 위한 센서로서 적외선 센서 또는 포토 센서 등일 수 있다. 근접 센서(130)를 통해 인체가 일정 범위 내에 근접하였다면, 음성 인식 장치(100)는 제스처를 수신받을 준비를 하도록 영상 센서(170)를 활성화할 수 있다.
영상 센서(170)는 도 1에서 도시된 바와 같이 다양한 제스처를 촬영할 수 있다. 영상 센서(170)에 의해 촬영된 영상, 또는 감지된 영상은 제스처 인식 장치(100)로 입력되어 처리 및 분석을 거치고 제스처 인식 장치(100)의 프로세서, 또는 제어부는 제스처의 타입 및 제스처의 의미를 판단할 수 있다.
프로세서가 제스처의 타입을 판단하여, 제스처의 타입이 상대적으로 분석이 간단한 타입인 제 1 타입인 경우라면, 제스처의 식별 및 제스처가 나타내는 명령의 내용에 대한 파악을 로컬 디바이스인 제스처 인식 장치(100)가 자체적으로 수행하여 제스처가 나타내는 명령을 수행할 수 있다.
반면에, 제스처의 타입이 상대적으로 분석이 복잡한 타입인 제 2 타입인 경우라면, 제스처의 식별 및 제스처가 나타내는 명령의 내용에 대한 파악을 프로세싱 리소스가 풍부한 외부 서버(300)에서 수행하도록 제스처 인식 장치(100)는 제스처에 대한 정보를 외부 서버(300)로 전송할 수 있다.
제스처 인식 장치(100)는 영상 이외에 사용자의 음성도 수신할 수 있도록 음성 센서(150)를 구비할 수 있다. 음성 센서(150)는 마이크로서 외부의 소리를 감지할 수 있으며, 특히 사용자가 제스처 인식 장치(100)를 기동시키기 위한 기동어를 발화하는지와 음성으로 명령 또는 질문을 제공하는지를 포착하기 위해 사용자의 음성을 수집할 수 있다.
제스처 인식 장치(100)는 음향을 출력하기 위한 스피커(190)를 구비하여, 사용자에게 필요한 정보를 음성으로 출력하거나, 사용자의 지시에 따라 음악 등의 음향 파일을 재생할 수도 있다.
도 2는 본 발명의 일 실시예에 따른 제스처 인식 장치의 블록도 및 제스처 인식 장치가 통신하는 외부 기기를 도시한다.
제스처 인식 장치(100)는 정보를 외부로 표시하는 디스플레이(110), 인체의 접근을 감지하는 근접 센서(130), 각종 정보 및 학습 모델 등을 저장하는 메모리(140), 사용자의 음성을 감지하는 음성 센서(150), 외부 기기와 통신하기 위한 통신부(160), 외부를 촬영하여 입력되는 영상을 감지하기 위한 영상 센서(170), 스피커(190) 및 이들과 상호작용하고 이들을 제어할 수 있는 제어부(120)를 포함할 수 있다.
아울러, 제스처 인식 장치(100)는 외부 기기인 사용자 단말(200)과 통신하고, 상술된 바와 같이 외부 서버(300)와도 통신할 수 있다. 도 2에 도시되지는 않았지만, 제스처 인식 장치(100)는 5G로 연결된 홈 네트워크를 통해 다양한 전자 기기들과 통신할 수 있다.
제스처 인식 장치(100)가 사용자의 음성 또는 제스처를 통해 수신하는 명령 또는 질문은 제스처 인식 장치(100)와 통신하는 다른 전자 기기들, 예를 들어, 세탁기, 냉장고, 오븐, 스타일러, TV 등에 전달되어 해당 기기들을 제어하는데 이용될 수 있다.
제스처 인식 장치(100)는 음성 또는 제스처 중 상대적으로 간단한 타입에 대해서는 자체적으로 분석하여 명령 또는 질문 내용을 파악할 수 있다. 그러나, 제스처 인식 장치(100)가 수신하는 음성 또는 제스처 중 상대적으로 복잡한 타입에 대해서는 프로세싱 리소스가 풍부한 외부 서버(300)나 보다 성능이 좋은 외부 기기로 음성 또는 제스처에 대한 정보를 전달할 수 있다.
일 실시예에서, 상대적으로 간단한 타입의 제스처는 간단한 제스처로 이루어진 기동어일 수 있고, 상대적으로 복잡한 타입의 제스처는 기동어 이후에 구체적인 명령을 의미하는 보다 다양한 형태의 제스처일 수 있다.
다른 실시예에서, 상대적으로 간단한 타입의 제스처는 하나의 형태로만 이루어진 제스처일 수 있고, 상대적으로 복잡한 타입의 제스처는 연속되는 두 개 이상의 형태로 의미를 이루는 제스처일 수 있다.
도 3은 본 발명의 일 실시예에 따른 제스처 인식 방법을 설명하기 위한 흐름도이다.
제스처 인식 장치(100)는 근접 센서(130)가 정확한 거리 감지를 수행할 수 있도록 초기화를 수행한다(S110). 근접 센서(130)는 제스처 인식 장치(100)에 근접하는 인체에 대한 거리 측정을 시작한다(S120). 인체가 제스처 인식 장치(100)와 근접하는지 판단하기 위해서는 적외선 센서, 동작 감지 센서, 또는 카메라 등이 사용될 수 있다. 카메라의 경우에는 직접 외부 영상을 촬영하고, 촬영된 영상을 통해 프로세서 또는 제어부(120)가 근접하는 대상이 인체인지 또는 인체 중 사람의 손인지에 대해 판단할 수 있다.
사용자가 제스처 인식 장치(100)에 명령을 입력하기 위해 일정 거리 내로 제스처 인식 장치(100)에 접근하여 근접 센서(130)가 인식하는 객체의 거리가 미리 결정된 임계치 미만이 되면(S130), 근접 센서(130)는 카메라 센서를 초기화할 수 있다(S140).
카메라 센서 또는 영상 센서는 사용자가 수행하는 손동작을 인식하기 시작할 수 있다(S150). 제스처 인식 장치(100)의 프로세서 또는 제어부(120)는 손동작 인식이 성공했는지 판단하고(S160), 인식이 되지 않는 경우 다시 손동작 인식이 수행되도록 할 수 있다.
손동작 인식이 성공하면 제스처 인식 장치(100)의 프로세서 또는 제어부(120)는 인식된 결과로 제스처가 의미하는 명령을 수행하도록 할 수 있다(S170). 첫번째 인식된 제 1 제스처에 이어서 연속적으로 감지되는 제 2 제스처가 있다면 제 2 제스처에 대한 손동작을 인식할 수 있다(S150). 이후, 제 1 제스처에 대해 수행했던 바와 동일하게 제 2 제스처에 대해서도 인식 성공 유무를 판단하고, 인식이 성공되면 제 2 제스처에 대한 인식 결과를 수행할 수 있다. 더 이상 입력되는 제스처가 없으면 제스처 인식 절차를 종료할 수 있다.
도 4는 본 발명의 일 실시예에 따른 제스처 인식 방법을 보다 상세하게 설명하기 위한 흐름도이다. 한편, 제스처 인식 과정을 보다 구체적으로 설명하기 위해 본 발명의 일 실시예에 따른 제스처 인식 장치에 사용될 수 있는 예시적인 제스처 리스트를 나타내는 도 6을 함께 참조한다.
먼저 사용자는 제스처 인식 장치(100)에 명령을 입력하기 위해 사용자의 손을 로컬 디바이스인 제스처 인식 장치(100)로 접근시킬 수 있다(S310). 로컬 디바이스인 제스처 인식 장치(100)는 근접 센서(130)를 통해 사용자의 손을 인식할 수 있다(S410).
근접 센서(130)가 사용자의 손이 근접했다는 것을 인식하면 제스처를 수신할 수 있도록 카메라 센서를 웨이크 업 시킨다(S420).
제스처 인식 장치(100)에 접근한 이후 사용자는, 예를 들어, 도 6의 제스처 리스트에 표시된 바와 같이 기동어 신호로 약속된 주먹 모양을 카메라 센서에 인식시킬 수 있다(S320).
카메라 센서 또는 영상 센서를 통해 외부 영상을 입력받으면 제어부(120)는 입력 영상에 대응하는 제스처가 무엇인지 판단하고, 제스처가 주먹 또는 손바닥을 펼치 모양과 같이 단순한 형태로 이루어진 제스처인지, 아니면 보다 복잡하게 각각의 손가락 방향의 정확한 식별이 필요한 제스처인지를 기준으로 제스처의 타입을 판단할 수 있다.
즉, 제스처가 도 6에 도시된 기동어 제스처와 같이 손가락이 모두 오무려져 있는 주먹의 형태이거나, 날씨 정보 제스처와 같이 손가락이 모두 붙어서 펼쳐진 형태라면, 정교한 형태 인식이 필요하지 않은 제 1 타입의 제스처로 판단하여 로컬 디바이스인 제스처 인식 장치(100)에서 자체적으로 제스처를 식별하고 제스처가 나타내는 명령을 판단하여 상기 명령을 수행할 수 있다.
그러나, 제스처의 형태가 도 6에서 도시된 음악 플레이 제스처나 뉴스 제스처와 같이 일정 개수의 손가락이 펴져 있는지에 더하여 펴져 있는 손가락이 어느 손가락인지, 각각의 손가락은 어떤 방향을 향하고 있는지에 따라 구분되어야 하는 제 2 타입의 제스처라면 프로세싱 리소스가 풍부한 외부 서버(300)로 이러한 제스처 입력 영상을 송신할 수 있다. 프로세싱 리소스가 풍부한 외부 서버(300)가 보다 정교한 제스처 식별 및 제스처의 명령어 대응을 수행할 수 있기 때문이다. 이에 따라, 로컬 디바이스에는 간단한 인식만 가능한 프로세서가 장착되어도 정확한 제스처 식별을 통해 사용자가 원하는 서비스를 정확하게 제공할 수 있게 된다.
여기서, 외부 서버(300)로 송신되는 정보는 제스처 입력 영상 자체가 될 수도 있고, 송신 및 수신 리소스를 절약하기 위해 보다 간략하게 처리된 입력 영상이 송신될 수도 있다. 보다 간략하게 처리된 입력 영상이란 입력 영상 원본이 아닌 화질이 저하된 영상일 수도 있고, 입력 영상 자체가 아닌 제스처를 취하는 손가락의 방향에 대한 정보가 표시된 간략화된 제스처 데이터일 수도 있다.
도 4로 다시 돌아와서, 사용자가 주먹 형태의 기동어 제스처를 취하고 제스처 인식 장치(100)가 이를 수신하여 기동어 제스처로 판단하였다면, 제어부(120)는 보다 상세히 제스처를 촬영할 수 있는 영상 센서(130)를 활성화시키며 명령어 수신을 대기할 수 있다(S440).
예를 들어, 영상 센서(130)는 상대적으로 성능이 낮은 제 1 영상 센서와 상대적으로 성능이 높은 제 2 영상 센서를 포함할 수 있다. 근접 센서(130)의 손 인식 이후, 영상 센서가 1차적으로 웨이크 업 될때는 제어부(120)는 제 1 영상 센서만 활성화할 수 있다. 그리고, 사용자가 제스처 인식 장치(100)와 상호작용하여 명령을 보내겠다는 의미에서 기동어 제스처를 보이고, 제어부(120)가 사용자의 제스처를 기동어 제스처로 판단하면, 제어부(120)는 보다 상세한 제스처 입력 영상을 획득하기 위해 제 2 영상 센서를 활성화할 수 있다.
여기서, 제 1 영상 센서는 모노 카메라일 수 있고, 제 2 영상 센서는 추가 카메라로 제 1 영상 센서와 제 2 영상 센서가 동시에 활성화하면 스테레오 카메라로 기능할 수도 있다.
제 2 영상 센서까지 활성화된 이후에, 사용자는 구체적인 명령어 제스처를 수행할 수 있다(S330). 제스처 인식 장치(100)는 명령어 제스처를 수신하여 보다 복잡한 제스처 타입이라고 판단하여 외부 서버(300)로 명령어 제스처를 송신할 수 있다. 명령어 제스처 중에서도 도 6의 날씨 정보 제스처와 같이 간단한 형태의 제스처는 제스처 인식 장치(100)에서 자체적으로 제스처를 식별하고 명령 내용을 판단하여 해당 명령을 수행할 수도 있다. 다만, 설명의 편의를 위하여, 도 4의 순서도에서는 시동어 제스처는 간단한 타입의 제스처, 명령어 제스처는 보다 복잡한 타입의 제스처인 것을 전제로 하였다.
외부 서버(300)는 명령어 제스처를 수신하여(S510), 해당 제스처가 어떤 형태를 갖는지 식별하고, 대응하는 명령어를 찾을 수 있도록 제스처를 판독한다(S520).
예를 들어, 외부 서버(300)에서 도 6의 음악 플레이 제스처를 수신했다면 외부 서버(300)는 해당 제스처의 형태가 엄지와 검지가 직각을 이루어 펼쳐지고 나머지 손가락은 오무려져 있는 형태라는 것을 식별하고, 이러한 형태의 제스처는 음악을 플레이하라는 명령에 대응한다는 것을 판독할 수 있다.
여기서, 외부 서버(300)는 제스처의 식별을 위해서 입력 영상을 분석하여 대응하는 제스처를 특정할 수 있도록 미리 훈련된 심층신경망 모델을 이용함으로써 제스처를 식별할 수 있다.
심층신경망 모델이 훈련되는 과정은 지도 학습으로 이루어질 수 있으며, 수많은 손가락 형태를 촬영한 영상에 각각의 영상에 포함된 손가락 형태가 어떤 제스처에 대응하는지를 라벨링한 데이터를 통해 학습이 이루어질 수 있다.
이러한 학습을 통해 훈련된 심층신경망 모델은 로컬 디바이스인 제스처 인식 장치(100)로 전달될 수도 있고, 제스처 인식 장치(100)는 전송 받은 미리 훈련된 심층신경망 모델을 이용하여 입력 영상을 처리하여 제스처를 특정할 수도 있다.
도 4로 다시 돌아오면, 외부 서버(300)는 엄지와 검지가 직각을 이루어 펼쳐지고 나머지 손가락은 오무려져 있는 형태라는 것을 식별하고, 이러한 형태의 제스처는 음악을 플레이하라는 명령에 대응한다는 것을 판독한 이후, 음악을 플레이하라는 명령어를 제스처 인식 장치(100)로 송신할 수 있다(S530).
제스처 인식 장치(100)의 통신부(160)는 음악을 플레이하라는 명령어를 수신하고(S470), 해당 명령에 따라 음악을 플레이할 수 있다(S480).
한편, 도 4에서는 제스처 인식 장치(100)의 웨이크 업을 위한 기동어도 제스처로 수신되는 것으로 설명하였으나, 실시예에 따라, 기동어는 음성 신호로 수신되고, 명령어는 제스처로 수신될 수도 있다.
즉, 사용자가 제스처 인식 장치(100)에 근접한 후 "하이 엘지" 등의 약속된 기동어를 발화하면, 제어부(120)는 음성 신호가 약속된 기동어에 대응하는 것으로 판단하고, 제스처 수신이 가능하도록 영상 센서를 활성화할 수 있다.
또 다른 실시예에서는, 사용자가 제스처 인식 장치에 근접하면 제어부(120)는 근접 센서를 통해 이를 감지하여 영상 센서를 활성화하고, 사용자가 기동어 제스처를 취하면, 제어부(120)는 음성 인식 모드를 활성화하여 사용자의 추가 음성 명령을 수신할 수 있도록 제스처 인식 장치(100)를 대기시킬 수 있다.
도 5는 본 발명의 일 실시예에 따른 제스처 인식 장치들이 외부 서버와 통신하는 구성을 설명하기 위한 도면이다.
외부 서버(500)는 네트워크(400)를 통해 여러 대의 제스처 인식 장치(100a, 100b, 100c)와 연결될 수 있다. 이를 통해 각각의 가정에 있는 제스처 인식 장치들을 통해 수신되는 제스처들에 대한 정보가 서버(500)에 축적될 수 있다.
외부 서버(500)는 이러한 축적된 정보를 활용하여, 특정 지역 또는 특정 시간대에 많이 입력되는 제스처가 무엇인지 통계적 분석을 할 수 있고, 이를 통해 컨텍스트에 따라 제스처를 보다 정확히 식별하도록 제스처 식별용 심층신경망 모델을 업그레이드 할 수도 있다.
또한, 축적된 정보를 통해 어떤한 명령어에 대응하는 제스처가 입력될 것인지 예측을 할 수도 있고, 이에 따라, 각 가정에 있는 제스처 인식 장치들 또는 다른 전자 기기들이 사용자가 요청할 명령에 따른 업무를 수행할 수 있도록 미리 준비시킬 수도 있다.
도 6은 본 발명의 일 실시예에 따른 제스처 인식 장치에 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
간단한 주먹 형태는 기동어 제스처로서 "하이 엘지"라는 기동어 음성과 대응될 수 있다. 손가락을 모두 펴고 손바닥을 보이는 형태의 제스처는 날씨 정보를 요청하는 명령어로서 "오늘 날씨 알려줘"라는 음성 명령어에 대응될 수 있다. 엄지와 검지를 직각에 가깝게 쳐고 나머지 손가락은 접형 있는 제스처는 음악 플레이를 요구하는 명령으로 약속될 수 있고, "음악 틀어줘"라는 음성 명령어에 대응될 수 있다. 엄지와 새끼 손가락을 펴고 나머지 손가락은 접혀 있는 제스처는 뉴스를 요구하는 명령으로 약속될 수 있고, "오늘의 뉴스 들려줘"라는 음성 명령어에 대응될 수 있다.
한편, 도 6에서는 하나의 제스처가 하나의 명령어에 대응되는 경우를 보았으나, 도 7에서는 본 발명의 일 실시예에 따른 제스처 인식 장치에 사용될 수 있는 예시적인 제스처 그룹의 리스트를 볼 수 있다.
먼저, 제스처와 음성 명령의 조합의 경우를 보면, 사용자가 기동어로 약속된 주먹 제스처를 보인 후 음성으로 특정 명령을 전달하면, 제스처 인식 장치(100)는 웨이크 업 하여 음성으로 지시된 사용자가 원하는 동작을 수행할 수 있다.
제스처들의 조합으로 명령을 수행하는 경우를 보면, 사용자가 음악 플레이를 요구하는 제스처에 이어서 검지만 편 제스처를 취하면, 메뉴 1에 할당된 재즈 음악을 틀어달라는 명령으로 인식될 수 있다.
사용자가 음악 플레이를 요구하는 제스처에 이어서 손가락 2개를 편 제스처를 취하면, 메뉴 2에 할당된 힙합 음악을 틀어달라는 명령으로 인식될 수 있다.
다른 예로, 사용자가 음악을 틀어달라는 제스처에 이어서 손가락 3개를 편 제스처를 취하면, 메뉴 3에 할당된 최신가요 음악을 틀어달라는 명령으로 인식될 수 있다.
이러한 제 1 제스처와 제 2 제스처의 조합이 입력되는 경우, 즉, 제어부(120)가 제 1 제스처를 나타내는 제 1 입력 영상과 제 2 제스처를 나타내는 제 2 입력 영상을 일정 시간 내에 연속적으로 감지한 경우에는, 각각의 제스처를 별도의 명령어 제스처로 처리하는 것이 아니라 2개의 제스처를 하나의 그룹으로 묶어 명령어를 판독할 수 있다.
제어부(120)는 제 1 제스처와 제 2 제스처를 그룹화하여 제스처 그룹 데이터를 생성하고, 이를 자체 처리하거나, 외부 서버(300)로 송신하도록 구성될 수 있다.
제스처 그룹 데이터를 수신한 외부 서버(300)는 해당 데이터의 제스처는 서로 연관된 제스처임을 인식하고 상술된 바와 같이 2개의 제스처를 조합하여 하나의 명령어에 대응시킬 수 있다.
한편, 제스처 인식 장치(100)의 기능은 지금까지 예시로 든 인공지능 스피커 자체에서만 수행되는 것이 아니라 다른 전자 기기들에도 적용될 수 있다.
도 8은 본 발명의 일 실시예에 따른 제스처 인식 기능이 세탁기에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
세탁기(700)는 제스처를 감지할 수 있는 카메라(710), 사용자의 접근을 감지할 수 있는 근접 센서(720), 음향을 출력할 수 있는 스피커(730)를 구비할 수 있다.
세탁기는 사용을 위해 도어를 열고 다시 닫는 것이 필수적인 동작이므로, 세탁기에 대해서 도어를 닫는 것을 기동어로 설정하고, 도어가 닫힌 후 입력되는 음성 신호나 제스처 신호를 수행해야할 명령어로 인식할 수 있다.
도어가 닫힌 후 음성 명령어가 수신되면 음성 명령에 따라 원하는 동작을 세탁기가 수행할 수 있다.
도어가 닫힌 후 제스처가 입력되면 펼쳐진 손가락의 개수에 따라 표준 빨래 동작, 탈수 동작, 또는 헹굼 동작을 세타기가 수행하도록 제스처 명령어가 설정될 수도 있다.
도 9는 본 발명의 일 실시예에 따른 제스처 인식 기능이 냉장고(800)에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
냉장고의 경우에는 도어를 노크하는 것으로 도어에 배치된 디스플레이를 통해 사용자가 원하는 정보를 보여주거나 냉장고에 배치된 스피커로 음향을 재생하도록 설정될 수 있다.
냉장고(800)는 제스처를 감지할 수 있는 카메라(810), 사용자의 근접을 감지하는 근접 센서(820), 도어에 배치되는 디스플레이(830)를 포함할 수 있다.
도어를 노크하는 노크온 동작이 기동어로 설정되어 노크온 이후 음성이 입력되거나 제스처가 입력되면 냉장고가 특정한 행동을 수행할 수 있다.
예를 들어, 냉장고는 노크온 이후 펼쳐지는 손가락의 개수에 따라, 냉장고 도어에 배치된 화면으로부터 날씨를 출력할지, 오늘의 뉴스를 출력할지를 판단할 수 있다.
냉장고는 노크온 이후 손가락 3개를 펼치면 냉장고의 스피커를 통해 최신가요가 플레이되도록 설정될 수도 있다.
도 10은 본 발명의 일 실시예에 따른 제스처 인식 기능이 오븐에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
오븐(900)은 제스처를 감지할 수 있는 카메라(910), 사용자의 근접을 감지하는 근접 센서(920), 음향을 출력하는 스피커(930)를 포함할 수 있다.
오븐도 냉장고와 유사하게 도어를 노크하는 노크온 동작이 기동어로 설정되어 노크온 이후 음성이 입력되거나 제스처가 입력되면 오븐이 특정한 행동을 수행할 수 있다.
예를 들어, 오븐은 노크온 이후 펼쳐지는 손가락의 개수에 따라, 오븐에 배치된 디스플레이 또는 스피커로 날씨 정보를 출력할지, 오늘의 뉴스 정보를 출력할지, 최신가요를 플레이할지를 판단할 수 있다.
도 11은 본 발명의 일 실시예에 따른 제스처 인식 기능이 스타일러에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
스타일러(1000)는 제스처를 감지할 수 있는 카메라(1010)를 구비할 수 있다. 실시예에 따라 스타일러(1000)는 사용자의 근접을 감지하는 근접 센서 및 음향을 출력하는 스피커를 더 구비할 수 있다.
스타일러도 냉장고 및 오븐과 유사하게 도어를 노크하는 노크온 동작이 기동어로 설정되어 노크온 이후 음성이 입력되거나 제스처가 입력되면 스타일러가 특정한 행동을 수행할 수 있다.
예를 들어, 스타일러는 노크온 이후 펼쳐지는 손가락의 개수에 따라, 표준 동작, 급속 동작 및 강력 동작 중 하나를 수행하도록 설정될 수 있다.
도 12는 본 발명의 일 실시예에 따른 제스처 인식 기능이 텔레비전에 적용되는 경우 사용될 수 있는 예시적인 제스처 리스트를 나타낸다.
텔레비전(1100)은 리모컨(1110)과 통신할 수 있고, 리모컨(110)은 터치를 감지할 수 있는 터치패드를 구비할 수 있다.
텔레비전도 냉장고, 오븐 및 스타일러와 유사하게 화면 또는 리모콘의 일정 부분을 노크하는 노크온 동작이 기동어로 설정되어 노크온 이후 음성이 입력되거나 제스처가 입력되면 텔레비전이 특정한 행동을 수행할 수 있다.
예를 들어, 텔레비전은 리모컨에 대한 노크온 이후 터치패드에 입력되는 모션에 따라, 넷플릭스를 플레이, USB에 연결하여 플레이, HDMI에 연결하여 플레이하는 등의 동작을 수행할 수 있다.
본 발명의 실시예들에 따른 제스처 인식 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
아울러, 본 발명의 다른 실시예에서는, 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금, 본 발명의 상술된 실시예에 따른 방법을 수행하도록 구성된 적어도 하나의 프로그램이 기록된 컴퓨터로 판독가능한 기록매체가 될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이다.
100: 제스처 인식 장치
110: 디스플레이
120: 제어부 130: 근접 센서
140: 메모리 150: 음성 센서
170: 영상 센서 190: 스피커
200: 사용자 단말 300: 서버
120: 제어부 130: 근접 센서
140: 메모리 150: 음성 센서
170: 영상 센서 190: 스피커
200: 사용자 단말 300: 서버
Claims (17)
- 제스처 인식 장치로서,
입력 영상을 감지하는 영상 센서부;
외부 서버와 통신하는 통신부; 및
상기 영상 센서부 및 상기 통신부를 제어하는 제어부를 포함하고,
상기 제어부는,
상기 영상 센서부가 감지한 입력 영상을 처리하여 상기 입력 영상에 대응하는 제스처 및 상기 제스처의 타입을 판단하고,
상기 제스처가 제 1 타입의 제스처인 경우, 상기 제스처가 나타내는 명령의 내용을 판단하여 상기 명령을 수행하고,
상기 제스처가 제 2 타입의 제스처인 경우, 상기 제스처에 대한 정보를 상기 통신부를 통해 상기 외부 서버로 송신하도록 구성되는,
제스처 인식 장치.
- 제 1 항에 있어서,
상기 제어부는,
입력 영상에 대응하는 제스처를 특정하도록 미리 훈련된 심층신경망 모델을 통해 상기 입력 영상을 처리하도록 추가로 구성되는,
제스처 인식 장치.
- 제 1 항에 있어서,
사용자의 음성을 감지하는 음성 센서부를 더 포함하고,
상기 제어부는,
상기 음성 센서부가 감지한 음성 신호가 기동어(wake-up word)에 대응하는 것으로 판단한 경우, 상기 영상 센서부를 활성화하도록 추가로 구성되는,
제스처 인식 장치.
- 제 1 항에 있어서,
일정 범위 내로 접근한 인체를 감지하는 근접 센서부를 더 포함하고,
상기 제어부는,
상기 근접 센서부가 인체를 감지한 경우, 상기 영상 센서부를 활성화하도록 추가로 구성되는,
제스처 인식 장치.
- 제 4 항에 있어서,
상기 영상 센서부는 제 1 영상 센서 및 제 2 영상 센서를 포함하고,
상기 제어부는,
1차적으로 상기 제 1 영상 센서만 활성화하고,
상기 제 1 영상 센서를 통해 감지한 영상을 기동어(wake-up word) 제스처로 판단하는 경우, 2차적으로 상기 제 1 영상 센서에 더하여 상기 제 2 영상 센서를 활성화하도록 추가로 구성되는,
제스처 인식 장치.
- 제 4 항에 있어서,
사용자의 음성을 감지하는 음성 센서부를 더 포함하고,
상기 제어부는,
활성화된 상기 영상 센서부가 감지한 상기 입력 영상에 대응하는 제스처가 기동어 제스처로 판단되는 경우, 음성 인식 모드를 활성화하도록 추가로 구성되는,
제스처 인식 장치.
- 제 1 항에 있어서,
상기 제어부는,
상기 제스처가 제 2 타입의 제스처인 경우, 상기 입력 영상을 처리하여 상기 제스처를 취하는 각각의 손가락의 방향에 대한 정보를 포함하는 간략화된 제스처 데이터로 변환하고, 상기 통신부를 통해 상기 간략화된 제스처 데이터를 상기 제스처에 대한 정보로서 상기 외부 서버로 송신하도록 추가로 구성되는,
제스처 인식 장치.
- 제 1 항에 있어서,
상기 제어부는,
상기 영상 센서부에 의해 수신되는 제 1 제스처를 나타내는 제 1 입력 영상 및 제 2 제스처를 나타내는 제 2 입력 영상을 일정 시간 내에 연속적으로 감지한 경우, 상기 제 1 제스처와 상기 제 2 제스처를 그룹화한 제스처 그룹 데이터를 생성하고, 상기 통신부를 통해 상기 제스처 그룹 데이터를 상기 제스처에 대한 정보로서 상기 외부 서버로 송신하도록 추가로 구성되는,
제스처 인식 장치.
- 제스처를 인식하는 방법으로서,
영상 센서부를 통해 입력 영상을 감지하는 단계;
상기 입력 영상을 처리하여 상기 입력 영상에 대응하는 제스처 및 상기 제스처의 타입을 판단하는 단계; 및
상기 제스처가 제 1 타입의 제스처인 경우, 상기 제스처가 나타내는 명령의 내용을 판단하여 상기 명령을 수행하고, 상기 제스처가 제 2 타입의 제스처인 경우, 상기 제스처에 대한 정보를 외부 서버로 송신하는 단계를 포함하는,
제스처 인식 방법.
- 제 9 항에 있어서,
상기 제스처의 타입을 판단하는 단계는,
입력 영상에 대응하는 제스처를 특정하도록 미리 훈련된 심층신경망 모델을 통해 상기 입력 영상을 처리하는 단계를 포함하는,
제스처 인식 방법.
- 제 9 항에 있어서,
상기 감지하는 단계 이전에,
음성 센서부를 통해 사용자의 음성을 감지하는 단계;
상기 음성 센서부가 감지한 음성 신호가 기동어(wake-up word)에 대응하는지 판단하는 단계; 및
상기 음성 신호가 기동어에 대응하는 경우, 상기 영상 센서부를 활성화하는 단계를 더 포함하는,
제스처 인식 방법.
- 제 9 항에 있어서,
상기 감지하는 단계 이전에,
근접 센서부를 통하여 일정 범위 내로 접근한 인체를 감지하는 단계; 및
상기 근접 센서부가 인체를 감지한 것으로 판단한 경우, 상기 영상 센서부를 활성화하는 단계를 더 포함하는,
제스처 인식 방법.
- 제 10 항에 있어서,
상기 영상 센서부는 제 1 영상 센서 및 제 2 영상 센서를 포함하고,
상기 활성화하는 단계는,
상기 제 1 영상 센서만 활성화는 단계를 포함하고,
상기 감지하는 단계는,
상기 제 1 영상 센서를 통해 감지한 영상에 대응하는 제스처가 기동어(wake-up word) 제스처인지 판단하는 단계;
상기 영상에 대응하는 제스처가 기동어 제스처인 경우, 상기 제 1 영상 센서에 더하여 상기 제 2 영상 센서를 활성화하는 단계; 및
상기 제 1 영상 센서 및 상기 제 2 영상 센서를 통해 상기 입력 영상을 감지하는 단계를 포함하는,
제스처 인식 방법.
- 제 9 항에 있어서,
상기 감지하는 단계 이후에,
상기 제스처가 기동어 제스처인 경우, 음성 인식 모드를 활성화하는 단계를 더 포함하는,
제스처 인식 방법.
- 제 9 항에 있어서,
상기 송신하는 단계는,
상기 제스처가 제 2 타입의 제스처인 경우, 상기 입력 영상을 처리하여 상기 제스처를 취하는 각각의 손가락의 방향에 대한 정보를 포함하는 간략화된 제스처 데이터로 변환하는 단계; 및
상기 간략화된 제스처 데이터를 상기 제스처에 대한 정보로서 상기 외부 서버로 송신하는 단계를 포함하는,
제스처 인식 방법.
- 제 9 항에 있어서,
상기 송신하는 단계는,
상기 영상 센서부에 의해 수신되는 제 1 제스처를 나타내는 제 1 입력 영상 및 제 2 제스처를 나타내는 제 2 입력 영상을 일정 시간 내에 연속적으로 감지한 경우, 상기 제 1 제스처와 상기 제 2 제스처를 그룹화한 제스처 그룹 데이터를 생성하는 단계; 및
상기 제스처 그룹 데이터를 상기 제스처에 대한 정보로서 상기 외부 서버로 송신하는 단계를 포함하는,
제스처 인식 방법.
- 컴퓨터를 이용하여 제 9 항 내지 제 16 항의 방법 중 어느 한 항의 방법을 실행시키기 위하여 상기 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190078593A KR20190085890A (ko) | 2019-07-01 | 2019-07-01 | 제스처 인식 장치 및 방법 |
US16/559,993 US20190391666A1 (en) | 2019-07-01 | 2019-09-04 | Gesture recognition apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190078593A KR20190085890A (ko) | 2019-07-01 | 2019-07-01 | 제스처 인식 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190085890A true KR20190085890A (ko) | 2019-07-19 |
Family
ID=67512097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190078593A KR20190085890A (ko) | 2019-07-01 | 2019-07-01 | 제스처 인식 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190391666A1 (ko) |
KR (1) | KR20190085890A (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112097374A (zh) * | 2020-09-16 | 2020-12-18 | 珠海格力电器股份有限公司 | 设备控制方法、装置、设备及计算机可读介质 |
KR20210056776A (ko) * | 2019-11-11 | 2021-05-20 | 삼성전자주식회사 | 디스플레이형 ai 스피커의 제어방법 및 그 장치 |
KR20210132936A (ko) * | 2020-04-28 | 2021-11-05 | 동명대학교산학협력단 | 인공지능 홈오토메이션 시스템 |
KR20230126158A (ko) * | 2022-02-22 | 2023-08-29 | 주식회사 마인드포지 | 기동 사운드의 방향성 정보를 이용한 인터페이싱 방법 및 장치 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113128323B (zh) * | 2020-01-16 | 2023-08-18 | 中国矿业大学 | 一种基于协同进化卷积神经网络学习的遥感图像分类方法及装置 |
CN112148128B (zh) * | 2020-10-16 | 2022-11-25 | 哈尔滨工业大学 | 一种实时手势识别方法、装置及人机交互系统 |
CN112180755A (zh) * | 2020-10-21 | 2021-01-05 | 南京科振自动化有限公司 | 一种手势交互控制器装置 |
JP7459760B2 (ja) | 2020-10-27 | 2024-04-02 | セイコーエプソン株式会社 | 表示システムの制御方法、表示システム |
CN112507796B (zh) * | 2020-11-10 | 2023-06-20 | 温州大学 | 一种用于医疗传染疾病检测的基于神经网络的手势识别系统 |
CN114515146B (zh) * | 2020-11-17 | 2024-03-22 | 北京机械设备研究所 | 基于电学测量的智能手势识别方法及系统 |
US20220244791A1 (en) * | 2021-01-24 | 2022-08-04 | Chian Chiu Li | Systems And Methods for Gesture Input |
CN112965390A (zh) * | 2021-01-29 | 2021-06-15 | 东莞市皇育智能有限公司 | 一种智能家居控制装置 |
CN113297956B (zh) * | 2021-05-22 | 2023-12-08 | 温州大学 | 一种基于视觉的手势识别方法及系统 |
-
2019
- 2019-07-01 KR KR1020190078593A patent/KR20190085890A/ko unknown
- 2019-09-04 US US16/559,993 patent/US20190391666A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210056776A (ko) * | 2019-11-11 | 2021-05-20 | 삼성전자주식회사 | 디스플레이형 ai 스피커의 제어방법 및 그 장치 |
KR20210132936A (ko) * | 2020-04-28 | 2021-11-05 | 동명대학교산학협력단 | 인공지능 홈오토메이션 시스템 |
CN112097374A (zh) * | 2020-09-16 | 2020-12-18 | 珠海格力电器股份有限公司 | 设备控制方法、装置、设备及计算机可读介质 |
KR20230126158A (ko) * | 2022-02-22 | 2023-08-29 | 주식회사 마인드포지 | 기동 사운드의 방향성 정보를 이용한 인터페이싱 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20190391666A1 (en) | 2019-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190085890A (ko) | 제스처 인식 장치 및 방법 | |
US11583134B2 (en) | Artificial intelligence cooking device | |
US11553075B2 (en) | Apparatus and control method for recommending applications based on context-awareness | |
US11183190B2 (en) | Method and apparatus for recognizing a voice | |
US11189284B2 (en) | Apparatus for communicating with voice recognition device, apparatus with voice recognition capability and controlling method thereof | |
US20190297381A1 (en) | Artificial intelligence device and operating method thereof | |
KR102321855B1 (ko) | 음성으로 상호작용하는 인공 지능 장치 및 그 방법 | |
KR20210074648A (ko) | 조리장치 및 조리장치 제어방법 | |
KR20190082688A (ko) | 시선 추적을 이용한 디스플레이 제어방법 및 디스플레이 제어장치 | |
KR20190094314A (ko) | 콘텐츠 기반의 스타일을 갖는 텍스트 또는 음성을 생성하는 인공 지능 장치 및 그 방법 | |
KR20190101327A (ko) | 구독 제품 가격 산정 방법 및 가격 산정 장치 | |
KR102474246B1 (ko) | 복수 개의 전자 디바이스를 이용하여 신경망 모델을 처리하는 방법 및 시스템 | |
KR20190109337A (ko) | 증강현실 기반의 기기 제어 장치 및 그 방법 | |
US20220254006A1 (en) | Artificial intelligence server | |
US11539546B2 (en) | Home appliances and method for controlling home appliances | |
US11468886B2 (en) | Artificial intelligence apparatus for performing voice control using voice extraction filter and method for the same | |
KR20190096876A (ko) | 음성인식 성능 향상을 위한 비 지도 가중치 적용 학습 시스템 및 방법, 그리고 기록 매체 | |
KR102658112B1 (ko) | 주행 정보에 기반한 오토 스탑 시스템을 제어하는 인공 지능 장치 및 그 방법 | |
KR20190094316A (ko) | 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법 | |
KR102206181B1 (ko) | 단말기 및 그의 동작 방법 | |
KR20210092197A (ko) | 세탁 스케쥴링 장치 | |
KR20190116188A (ko) | 상황 인식에 기반한 방해 금지 모드 추천을 위한 장치 및 제어 방법 | |
KR102573023B1 (ko) | 수면 유도 장치 | |
KR20190119549A (ko) | 음성 기반의 액션 아이템 제안장치 및 제안방법 | |
KR20200092742A (ko) | 보이스 어시스턴트 서비스를 제공하는 시스템 및 방법 |