KR101347840B1 - 신체 제스처 인식 방법 및 장치 - Google Patents
신체 제스처 인식 방법 및 장치 Download PDFInfo
- Publication number
- KR101347840B1 KR101347840B1 KR1020120032416A KR20120032416A KR101347840B1 KR 101347840 B1 KR101347840 B1 KR 101347840B1 KR 1020120032416 A KR1020120032416 A KR 1020120032416A KR 20120032416 A KR20120032416 A KR 20120032416A KR 101347840 B1 KR101347840 B1 KR 101347840B1
- Authority
- KR
- South Korea
- Prior art keywords
- code
- gesture
- link
- basic
- gesture recognition
- Prior art date
Links
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/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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/529—Depth or shape recovery from texture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 발명은 깊이 카메라에 의해서 획득된 신체의 자세를 추정하여 이를 바탕으로 얻어진 신체 모델에 기반한 사람-로봇 상호작용을 위한 신체 제스처 인식 방법 및 장치에 관한 것으로, 본 발명에 의하면 기초적 신체 모델 인코딩과 선택적 및 비동시적 입력을 갖는 병렬 상태 기계의 이용에 의하여 의미 있는 제스처와 의미 없는 제스처를 강인하게 구별하고, 제스처의 동시다발적 인식에 의해서 시간 지연이 없이 연속적으로 제스처를 인식할 수 있다.
Description
본 발명은 신체의 제스처 인식 방법 및 장치에 관한 것으로, 더욱 상세하게는 기초적 신체 모델 인코딩과 선택적 및 비동시적 입력을 갖는 병렬 상태 기계를 통하여 동시다발적으로 제스처를 인식할 수 있는 방법 및 장치에 관한 것이다.
제스처 인식(Gesture Recognition)이란 얼굴의 표정, 손의 움직임, 팔 또는 다리의 움직임, 시선 방향, 머리 동작 등의 움직임으로부터 의미 있는 표현을 인식하는 과정이다. 제스처 인식은 다양한 분야에서 연구되고 있는데, 제스처 인식이 사용되는 분야로는 사람-컴퓨터 상호작용(Human-Computer Interaction), 인간-로봇 상호작용(Human-Robot Interaction), 원격 조종(remote control), 수화 인식(recognizing sign language), 환자 상태 모니터링(medically monitoring patients' states), 가상 환경 조종(manipulating virtual environments) 등이 있다.
제스처 인식을 위해서는 센서 데이터로부터 자세를 추정한 후에, 추정된 신체의 자세를 바탕으로 제스처를 인식해야 하고, 이를 위해서 다양한 방법이 연구되고 있다. 일례로, 다중 카메라를 이용하여 3D 신체 모델을 추정하고, 은닉 마르코프 모델(Hidden Markov Model, "HMM")을 바탕으로 신체 제스처 인식을 수행하되, 제스처 인식 과정에서 제스처가 아닌 동작을 의미 없는 제스처(garbage gesture)로 정의하여 의미 있는 제스처 사이에 발생하는 의미 없는 제스처의 검출을 위한 garbage gesture model을 이용하는 방법이 제안되었다.
그러나 사람의 동작은 헤아릴 수 없이 다양하기 때문에, 이런 다양한 의미 없는 제스처를 한정된 수의 HMM으로 모델링하여 의미 있는 제스처로부터 구별해내는 데에는 한계가 있고, 이는 인식하고자 하는 제스처의 종류가 많아질수록 더 어려워진다. 또한, HMM을 이용한 제스처 인식은 제스처의 끝점을 인식한 후 거꾸로 거슬러 올라가며 시작점을 찾는 제스처 분할(gesture segmentation) 과정을 거친 후 HMM을 통해 제스처 인식을 수행하기 때문에, 지연 없이 연속적인 제스처 인식이 불가능하다는 문제점이 있다.
한편, 기존의 HMM을 이용한 제스처 인식에서, 제스처 분할 이후 제스처 인식을 수행함에 따른 지연으로 인해 연속적인 제스처 인식이 불가능한 한계를 극복하기 위해서 forward spotting accumulative HMM을 이용한 연속적인 신체 제스처 인식 방법이 제안되었다. 그러나 HMM의 큰 틀을 벗어나지 않았기 때문에 의미 있는 제스처와 의미 없는 제스처간의 강인한 구분이 어렵다.
또 다른 방법으로 일반적인 가비지 제스처 모델(general garbage gesture model)과 특정 가비지 제스처 모델(specific garbage gesture model)을 동시에 학습시키고, 이를 제스처 HMM 모델과 병렬적으로 연결하여 제스처를 인식하는 방법도 제안되었으나, 이러한 방법 역시 기존의 HMM을 이용한 제스처 인식과 마찬가지로 제스처 분할 이후 제스처 인식을 수행하기 때문에 지연으로 인한 연속적인 제스처 인식이 불가능하다는 한계점이 있다.
본 발명은 상술한 종래 기술의 문제점을 극복하기 위한 것으로,본 발명의 하나의 목적은 우수한 인식률을 유지하면서도 의미 없는 제스처의 제외에 강인하고, 제스처 분할 이후 제스처 인식을 수행할 때 발생하는 지연이 없어 연속적인 제스처 인식을 수행할 수 있는 신체 제스처 인식 방법을 제공하는 것이다.
본 발명의 다른 목적은 지연 없는 연속적인 제스처 인식을 수행할 수 있는 신체 제스처 인식 장치를 제공하는 것이다.
상술한 목적을 달성하기 위한 본 발명의 하나의 양상은
신체 자세의 깊이 영상(depth images)을 획득하는 단계;
획득된 신체의 깊이 영상 데이터로부터 신체 모델을 추정(estimation)하는 단계;
신체 모델의 동작을 시공간적으로 양자화하여 코드를 생성하는 기초적 신체 모델 인코딩 단계;
전단계에서 수득된 코드를 병렬 상태 기계를 이용하여 선택적 및 비동시적 다중 입력으로부터 동시다발적으로 제스처를 인식하는 단계를 포함하는 신체 제스처 인식 방법에 관한 것이다.
상술한 목적을 달성하기 위한 본 발명의 다른 양상은
신체 자세의 깊이 영상(depth images)을 획득하는 깊이 영상 획득부;
획득된 신체의 깊이 영상 데이터로부터 신체 모델을 추정하는 신체 모델 추정부;
신체 모델의 동작을 시공간적으로 양자화 및 코드화하는 기초 신체 모델 인코딩부;
상기 인코딩 수단에 의해서 생성된 코드로부터 선택적 및 비동시적 입력을 갖는 병렬 상태 기계를 이용하여 동시다발적으로 제스처를 인식하는 제스처 인식부를 포함하는 것을 특징으로 하는 신체 제스처 인식 장치에 관한 것이다.
상술한 목적을 달성하기 위한 본 발명의 또 다른 양상은
신체 자세의 깊이 영상을 획득하는 하나 이상의 깊이 카메라;
상기 깊이 카메라와 서로 통신하는 로직 시스템(logic system); 및
상기 로직 시스템에 의해서 실행가능한 명령들을 저장하고 있는 메모리부를 포함하고, 상기 명령들은
상기 깊이 카메라로부터의 신체 자세의 깊이 영상(depth images) 수신;
획득된 신체의 깊이 영상 데이터로부터 신체 모델 추정(estimation);
신체 모델의 동작을 시공간적으로 양자화하여 코드 생성;
생성된 코드를 병렬 상태 기계를 이용하여 선택적 및 비동시적 다중 입력으로부터 동시다발적으로 제스처를 인식하는 것을 포함하는 것을 특징으로 하는 신체 제스처 인식 장치에 관한 것이다.
상기 제스처 인식 방법을 컴퓨터에서 실행시키는 신체 제스처 인식 장치의 제어 프로그램 및 그것을 기록한 컴퓨터 판독 가능한 기록 매체도 본 발명의 범주에 포함된다.
본 발명에서는 제스처를 단위 동작으로 나누어 정의하고 이 동작이 발생하는지의 여부를 기초 코드와 SAI-PSM을 통해 직접적으로 검사하여 제스처 인식을 수행하기 때문에, 의미 없는 제스처, 즉 정의된 SAI-PSM에 해당하지 않는 제스처의 경우에는 인식될 수 있는 가능성이 매우 낮아서, 의미 없는 제스처를 강인하게 제외할 수 있다.
또한 본 발명의 병렬 상태 기계의 구조를 이용하는 제스처 인식 방법 및 장치는 각 제스처에 해당하는 유한 상태 기계가 동시에 동작하면서 동시다발적인 제스처를 수행할 수 있기 때문에, 제스처 분할 과정으로 인한 지연 문제를 해결할 뿐만 아니라 한 시점에서 동시에 여러 제스처를 인식할 수 있기 때문에, 지연이 없는 연속적인 제스처 인식을 수행할 수 있다.
인간 로봇 상호작용(Human-Robot Interaction: HRI) 기술에 본 발명의 제스처 인식을 이용한 정보 교환 방식을 적용하면 보다 인간 친화적 HRI 기술을 구현할 수 있을 것이다.
도 1은 본 발명의 일실시예의 신체 제스처 인식 방법을 설명하는 흐름도이다.
도 2a-b는 본 발명의 일실시예의 신체 제스처 인식 장치의 개략블록도이다.
도 3은 본 발명의 신체 제스처 인식 방법의 개념을 설명하는 모식도이다.
도 4는 본 발명에서 제스처 인식을 위해서 사용된 골격 신체 모델(skeletal body model)의 모식도이다.
도 5는 골격 신체 모델로부터 기초 신체 모델 인코딩하여 기초 코드(primitive code)를 생성하는 과정을 설명하는 모식도이다.
도 6은 도 5의 기초 코드를 이용한 기초 신체 모델 인코딩의 개념도이다.
도 7a는 링크의 회전이 가질 수 있는 세 개의 회전 궤도를 도시한 도면이다.
도 7b는 도 7a의 회전 궤도와 각 궤도에 해당하는 링크의 자세 범위를 도시한 것이다.
도 8은 수직 궤도 상의 각도로부터 회전 여부를 검출하는 과정을 설명하기 위한 도면이다.
도 9는 기초 자세 코드를 위한 링크 자세의 공간적 양자화를 도시한 도면이다.
도 10은 중립 구간(neutral region)을 이용한 기초 자세 코드 매핑의 개념을 설명하기 위한 모식도이다.
도 11은 간단한 유한 상태 기계의 상태 전이를 나타낸 모식도이다.
도 12는 무어 머신과 밀리 머신의 상태 전이를 비교 도시한 것이다.
도 13은 기초 코드와 유한 상태 기계(밀리 기계)를 이용한 제스처 인식의 개념을 설명하기 위한 모식도이다.
도 14는 본 발명에서 사용되는 병렬 상태 기계의 구조도이다.
도 15a는 SAI-PSM에 의한 제스처 인식 개념을 설명하는 모식도이다.
도 15b는 비동시적 다중 입력의 처리를 설명하기 위한 모식도이다.
도 16은 SAI-PSM 내의 각각의 유한 상태 기계의 선택적인 입력 처리를 설명하기 위한 모식도이다.
도 17은 기초 코드와 SAI-PSM을 이용한 신체 제스처 인식 과정을 설명하는 모식도이다.
도 2a-b는 본 발명의 일실시예의 신체 제스처 인식 장치의 개략블록도이다.
도 3은 본 발명의 신체 제스처 인식 방법의 개념을 설명하는 모식도이다.
도 4는 본 발명에서 제스처 인식을 위해서 사용된 골격 신체 모델(skeletal body model)의 모식도이다.
도 5는 골격 신체 모델로부터 기초 신체 모델 인코딩하여 기초 코드(primitive code)를 생성하는 과정을 설명하는 모식도이다.
도 6은 도 5의 기초 코드를 이용한 기초 신체 모델 인코딩의 개념도이다.
도 7a는 링크의 회전이 가질 수 있는 세 개의 회전 궤도를 도시한 도면이다.
도 7b는 도 7a의 회전 궤도와 각 궤도에 해당하는 링크의 자세 범위를 도시한 것이다.
도 8은 수직 궤도 상의 각도로부터 회전 여부를 검출하는 과정을 설명하기 위한 도면이다.
도 9는 기초 자세 코드를 위한 링크 자세의 공간적 양자화를 도시한 도면이다.
도 10은 중립 구간(neutral region)을 이용한 기초 자세 코드 매핑의 개념을 설명하기 위한 모식도이다.
도 11은 간단한 유한 상태 기계의 상태 전이를 나타낸 모식도이다.
도 12는 무어 머신과 밀리 머신의 상태 전이를 비교 도시한 것이다.
도 13은 기초 코드와 유한 상태 기계(밀리 기계)를 이용한 제스처 인식의 개념을 설명하기 위한 모식도이다.
도 14는 본 발명에서 사용되는 병렬 상태 기계의 구조도이다.
도 15a는 SAI-PSM에 의한 제스처 인식 개념을 설명하는 모식도이다.
도 15b는 비동시적 다중 입력의 처리를 설명하기 위한 모식도이다.
도 16은 SAI-PSM 내의 각각의 유한 상태 기계의 선택적인 입력 처리를 설명하기 위한 모식도이다.
도 17은 기초 코드와 SAI-PSM을 이용한 신체 제스처 인식 과정을 설명하는 모식도이다.
이하에서 첨부 도면을 참조하여 본 발명의 실시예들에 대해서 더욱 상세하게 설명한다. 본 발명의 실시예들은 예시로서 도시된 것이며, 첨부된 도면의 구성으로 제한되는 것은 아니다. 본 발명의 범주로부터 벗어나지 않는 한 다른 실시예들이 사용될 수 있으며, 구조적 또는 논리적 변화가 이루어질 수 있음을 이해할 것이다. 본 발명을 모호하게 하지 않기 위해 공지된 구성들에 대한 상세한 설명은 생략되거나 간략화될 수 있다.
본 발명은 센서 데이터로부터 추정된 신체 모델의 동작을 시간적/공간적으로 양자화 및 코드화하는 기초적 신체 모델 인코딩(primitive body model encoding)과, 선택적 및 비동시적 입력을 갖는 병렬 상태 기계(Selective/Asynchronous Input-Parallel State Machine, SAI-PSM)를 이용한 제스처 인식에 의해서, 기존의 HMM을 이용한 시간적/공간적 변화를 가지는 신체 제스처의 모델링에서 벗어나, 제스처를 작은 단위 동작(motion primitives)들의 연속으로 모델링하고, 이 단위 동작들의 순차적인 발생을 검출하여 제스처를 인식함으로써, 기존의 HMM 기반 제스처 인식 알고리즘의 인식률을 유지한 채 의미 없는 제스처의 제외에 강인하고, 제스처 분할 이후 제스처 인식을 수행할 때 발생하는 지연이 없는 연속적인 제스처 인식을 수행한다.
도 1은 본 발명의 일 실시예의 신체 제스처 인식 방법을 설명하는 흐름도이고, 도 3은 기초적 신체 모델 인코딩과 선택적 및 비동시적 입력을 갖는 병렬 상태 기계를 이용한 동시다발적 제스처 인식 과정을 설명하는 개념도이다. 도 1 및 도 3을 참조하여 이하에서 본 발명의 방법의 각 단계에 대해서 상세히 설명한다.
본 발명의 일실시예는 신체 제스처 인식 방법에 관한 것으로, 본 발명에서는 신체 자세의 깊이 영상(depth images)을 획득하고(S10), 획득된 신체의 깊이 영상 데이터로부터 신체 모델을 추정(estimation)한다(S20). 이어서 신체 모델의 동작을 시공간적으로 양자화하여 코드를 생성하는 기초적 신체 모델 인코딩을 행한 다음(S30), 전단계에서 수득된 기초 코드를 병렬 상태 기계를 이용하여 선택적 및 비동시적 다중 입력으로부터 동시다발적으로 제스처를 인식한다(S40).
도 1을 참조하면, 단계 S10에서 깊이 카메라 등을 이용해서 인체의 자세를 캡쳐하여 깊이 영상을 획득한다.
단계 S20에서, 획득된 신체의 깊이 영상 데이터로부터 신체 모델을 추정(estimation)한다. 하나의 깊이 영상으로부터 신체 관절의 3차원 좌표를 추정하되, 깊이 영상으로부터 총 15개의 관절 좌표를 얻고, 이를 통해 관절과 관절 사이의 12개의 활성 링크(active link)를 가지는 골격 신체 모델(skeletal body model)을 추정한다. 도 4는 깊이 영상으로부터 실시간으로 추정되는 골격 신체 모델을 도시한 것이다. 신체 모델 인코딩에 사용되는 12개의 링크의 명칭을 하기 표 1에 나타내었다.
단계 S30에서, 도 3에 도시된 바와 같이, 추정된 신체 모델의 동작을 시공간적으로 양자화하여 코드를 생성하는 기초적 신체 모델 인코딩(primitive body model encoding)을 수행한다. 기초적 신체 모델 인코딩은 영상으로부터 추정된 신체 모델의 연속적인 시퀀스를 시간적/공간적으로 양자화하는 단계이다. 신체 관절의 좌표로부터 얻어지는 관절과 관절 사이의 링크(link)의 3차원 각도를 계산하고, 각 링크별로 각도의 변화를 관찰하여 링크의 동작을 시간적/공간적으로 양자화한다. 각 링크의 양자화된 동작은 하나의 코드(code)로 표현되며, 이 코드를 기초 코드(primitive code)라고 정의한다. 즉, 기초적 신체 모델 인코딩은, 도 6에 도시된 바와 같이, 추정된 골격 신체 모델을 각 링크에 해당하는 기초 코드로 변환하는 과정으로, 이러한 코드들의 조합을 바탕으로 제스처를 인식하게 된다.
기초 코드는 각 링크의 동작을 양자화한 정보를 담고 있으며, 기초 동작 코드(Primitive Motion Code, “PMC”)와 기초 자세 코드(Primitive Pose Code, “PPC”) 의 두 개의 서브 코드(sub codes)로 구성된다. 두 개의 서브 코드는 서로 다른 정보를 양자화하기 위해 각각 다른 알고리즘을 통해 인코딩된다. 기초 코드 가운데 기초 동작 코드(PMC)는 링크의 회전 방향 및 회전 각도를 시간적/공간적으로 양자화한 정보를 가지며, 기초 자세 코드(PPC)는 회전의 끝점에 해당하는 링크의 자세를 공간적으로 양자화한 정보를 갖는다.
기초 동작 코드(PMC)는 링크의 회전 방향을 나타내는 코드 워드 와, 회전 각도를 나타내는 코드 워드 로 구성된다. 따라서 신체의 관절과 관절 사이의 각각의 링크의 회전은 한정된 수의 회전 방향과 회전 각도를 갖는 기초 동작 코드 (, )로 매핑된다.
링크의 회전 방향은, 도 7a에 도시된 바와 같이, 세 개의 궤도(trajectory)에 대해 각각 두 개의 방향, 즉 총 6개의 방향으로 정의된다. 세 개의 궤도는 정면을 기준으로 가로 방향 회전을 위한 궤도(horizontal trajectory), 세로 방향의 회전을 위한 궤도(vertical trajectory), 그리고 정면에 대해 원을 그리는 회전을 위한 궤도(circular trajectory)로 정의되며, 각 궤도는 링크의 시작점을 중심으로 원호를 그리는 형태이다. 세 개의 궤도에 대해 회전 방향은 시계 방향과 반시계 방향이 존재하기 때문에 이를 통해 총 6개의 회전 방향이 정의된다.
회전 방향으로의 회전 각도는 0°에서 최대 180°로 정의하고, 이를 양자화 하기 위해 20도 간격으로 나눈다. 즉, 각 링크의 회전 각도는 0°, 20°, 40°, …, 180°까지 총 10개의 불연속적인 값으로 정의되며, 각 회전 각도에 해당하는 코드가 부여된다. 하기 표 2는 각 링크가 가질 수 있는 모든 기초 동작 코드를 나타낸 것이다. 결과적으로, 각 링크의 회전은 55개의 기초 동작 코드(모든 궤도에 대해 회전 각도가 0°일 때에 대한 코드 1개, 그리고 6개의 회전 방향에 대한 9개의 회전 각도에 해당하는 코드 6×9 = 54개)를 통해 표현된다.
골격 신체 모델의 각 링크의 회전을 앞서 정의한 55개의 기초 동작 코드에 매핑시키기 위해서는 각 궤도에 해당하는 회전 여부 및 회전 각도를 검출해야 한다. 궤도에 해당하는 회전을 검출하기 위해서 먼저 각 궤도상의 회전을 가질 수 있는 링크의 각도 범위를 정의하고, 각 궤도에 해당하는 범위에 링크가 존재할 때 그 궤도에 해당하는 회전 여부 및 회전 각도를 검출한다. 각 궤도상의 회전을 가질 수 있는 링크의 각도 범위는 도 7b에 도시된 바와 같다.
도 8은 세로 방향 궤도에 대한 회전 검출 과정을 도시한 도면이다. 링크가 각 궤도에 해당하는 각도 범위에 존재할 때, 링크의 3차원 벡터를 궤도 위로 투사하여 궤도상의 벡터로 변환한 후, 궤도 위에서 각도의 변화를 관찰하여 회전 여부 및 회전 각도를 검출한다. 회전 검출을 위해서 우선 궤도상의 각도가 일정한 방향으로 증가하거나 감소하는 경향을 보이는 회전 상태(rotating state)인지, 아니면 증가하는 경향이 없는 정지 상태(static state)인지를 판별한다. 정지 상태일 때는 그 궤도에 대한 회전은 없는 상태가 되고, 회전 상태일 때는 변화하는 각도를 누적하여 그 합이 양자화 레벨 이상이 되는지를 확인하여 그에 해당하는 기초 동작 코드를 출력한다.
이상에서 설명한 기초 동작 코드는 링크의 회전 방향 및 각도에 대한 정보만을 담고 있기 때문에 회전의 시작점이나 끝점, 즉 절대적인 정보가 제외된 상대적인 정보만을 가진다.
기초 자세 코드(Primitive Pose Code, PPC)는 기초 동작 코드가 포함하지 않는 회전의 시작점이나 끝점의 정보, 즉 회전의 절대적인 위치 정보를 표현하기 위해 정의된다. 이 때, 회전의 방향 및 각도 정보를 기초 동작 코드를 통해 가지고 있기 때문에, 회전의 시작점과 끝점 둘 중에 하나만 있으면 그 회전에 대한 절대적인 위치 정보를 얻게 된다. 기초적 신체 모델 인코딩에서는, 기초 자세 코드(PPC)가 회전의 끝점을 표현함으로써, 기초 동작 코드와 함께 회전의 시작점, 회전 정보, 그리고 회전의 끝점까지 모두 표현할 수 있다.
도 9를 참조하면, 기초 자세 코드(PPC)는 링크의 자세를 공간적으로 양자화하기 위해, 링크의 구좌표상에서의 위도(φ)를 나타내는 코드 워드 γ와, 경도()를 나타내는 코드 워드 δ로 구성된다. 이 때 구좌표계의 원점은 각 링크의 시작 관절이 된다. 각 링크의 구좌표계에 대해, 위도()와 경도()를 45°간격으로 분할하여 양자화 레벨을 설정하고, 이에 해당하는 기초 자세 코드를 정의한다. 하기 표 3에 각각의 링크가 가질 수 있는 기초 자세 코드를 나타내었다. 결과적으로, 각 회전의 끝점에 해당하는 자세는 26개의 기초 자세 코드 가 0°일 때와 180°일 때에 대한 코드 2개, 그리고 그 외 3개의 값에 대해 8개의 에 해당하는 코드 3×8 = 24개)를 통해 표현된다.
각 링크의 현재 자세로부터 자세 코드 매핑은, 각 링크에 해당하는 구좌표계로부터 얻어진 와 에 대해 개별적으로 이루어진다. 단순히 가장 가까운 양자화 값으로 매핑하게 되면, 두 양자화 값의 중간 지점에서 링크의 작은 움직임이 급격한 기초 자세 코드의 변화를 초래하게 된다. 예를 들면, 0°와 45°의 중간 지점인 22.5°부근에서 작은 움직임이 있을 때, 기초 자세 코드는 0°와 45°를 왔다 갔다 하며 급격한 변화를 보이게 된다.
이 같은 현상을 방지하며 양자화 값으로 매핑하기 위해, 본 발명에서는 도 10에 도시된 바와 같이, 기초 자세 코드의 변화가 없는 중립 구간(neutral region)을 정의하고, 중립 구간에서는 기존의 기초 자세 코드를 유지한다. 하기 식(1)과 식(2)는 각각 각 링크의 위도()와 경도()에 해당하는 매핑 함수로서, 는 중립 구간의 크기를 나타낸다.
이어서 상술한 기초 동작 코드(PMC)와 기초 자세 코드(PPC)로 이루어진 기초 코드를 바탕으로 신체 모델의 동작이 표현되는 원리에 대해 설명한다. 기초 동작 코드(PMC)는 각 링크별 회전의 방향과 각도를 55개의 코드로 표현하며, 기초 자세 코드(PCC)는 각 링크별 회전의 끝점을 26개의 코드로 표현한다. 즉, 아래와 같이, 각 링크의 동작은 55개의 기초 동작 코드와 26개의 기초 자세 코드의 조합으로 표현된다.
기초 코드를 이용한 링크의 동작 표현은 멈춰있을 때와 움직였을 때 두 가지로 나뉠 수 있다. 링크의 동작이 없어 멈춰 있는 경우에는, 그에 해당하는 기초 동작 코드 PMC = (0, 0)로 표현되며, 멈춰있는 자세에 따른 기초 자세 코드 PPC = (γ, δ)로 표현된다. 예를 들어, 자세가 위도 90°, 경도 180°에 해당한다면 기초 자세 코드는 PPC = (2, 5)가 되므로, 기초 코드 primitive code = (0, 0, 2, 5)로 표현된다.
한편, 동작이 수행되는 경우, 즉, 특정 방향으로의 링크의 회전이 검출되는 경우에는, 회전 방향과 회전한 각도에 따라 기초 동작 코드가 부여된다. 예를 들어, 가로 방향 궤도의 시계 방향으로 40°만큼 회전했다면 기초 동작 코드는 PMC = (3, 2)가 된다. 또, 그 동작이 검출된 시점에서의 자세가 위도 90°, 경도 180°라면, 이는 회전의 끝점이 되며 이에 해당하는 기초 자세 코드 PPC = (2, 5)로 나타내어지게 된다. 즉, 가로 방향 궤도의 시계 방향으로 40°만큼 회전하여 끝점이 위도 90°, 경도 180°위치인 동작에 해당하는 기초 코드는 primitive code = (3, 2, 2, 5)가 된다.
본 발명의 신체 모델 인코딩 단계(S30)에서는 상술한 원리를 바탕으로 동작의 상대적인 정보를 가지는 기초 동작 코드와, 자세의 절대적인 정보를 가지는 기초 자세 코드의 조합에 의해 관절과 관절 사이의 링크의 동작을 표현한다.
신체 모델 인코딩에 의해서 수득된 변환된 기초 코드로부터 제스처를 인식하기 위해서는, 기초 코드를 이용한 신체 제스처의 모델링이 필요하다. 즉, 기초 코드를 이용해서 제스처를 모델링하고, 실시간으로 들어오는 신체 모델의 기초 코드로부터 제스처가 발생했는지를 검출해야 한다.
제스처의 인식은 신체 모델의 인식하고자 하는 제스처 모델과 현재 입력되고 있는 입력 사이의 시간적/공간적 매칭을 통해서 이루어진다. 기초 코드를 이용해 신체 모델을 표현하게 되면, 신체 모델의 시간적/공간적 매칭은 어떠한 기초 코드가 어떠한 순서로 발생되느냐, 즉 기초 코드의 순차적 발생을 검출하는 것이 제스처 인식과정이 된다.
기존의 유한 상태 기계를 이용해서 기초 코드로부터 제스처 인식을 수행하는 경우에는 비동시적 다중 입력이 불가능하고, 또한 여러 제스처를 동시다발적으로 인식할 수 없는 한계가 있다. 따라서 본 발명에서는 이러한 한계를 극복하기 위해서, 본 발명에서는 골격 신체 모델을 링크별로 인코딩한 기초 코드들을 바탕으로 동시다발적인(multiple simultaneous) 제스처 인식을 위한 선택적 및 비동시적 입력을 갖는 병렬 상태 기계(Selective/Asynchronous Input-Parallel State Machine, “SAI-PSM”)를 이용한다.
본 발명의 SAI-PSM은 여러 제스처를 동시다발적으로 인식할 수 있는 병렬 상태 기계를 사용하는데, 도 14에 도시된 바와 같이, 하나의 제스처 당 하나의 유한 상태 기계를 설계하고, 병렬적으로 제스처 인식을 수행함으로써 동시다발적인 제스처 인식을 수행한다. 각각의 유한 상태 기계에 기초 코드가 순차적으로 입력되면 상태가 전이됨에 따라 제스처의 인식 과정 단계가 올라가고, 기초 코드가 순차적으로 입력되어 최종 상태에 도달하게 되면서 제스처가 인식되었다는 신호인 출력을 발생시킴으로써 제스처 인식을 수행한다(도 11 참조).
한편, 유한 상태 기계는 출력 방식에 따라 무어 기계(Moore machine)와 밀리 기계(Mealy machine)로 구분된다(도 12 참조). 무어 기계는 출력이 오직 현재 상태에 의해 결정되며, 밀리 기계는 출력이 현재 상태와 입력 모두에 의해서 결정된다. 본 발명에서는 유한 상태 기계를 이용한 제스처 인식을 보다 더 유연하게 구사하기 위해, 출력이 현재 상태와 입력 모두에 의해 결정되는 밀리 기계를 통해 제스처 인식을 수행한다(도 13 참조).
병렬 상태 기계 내에 총 n개의 유한 상태 기계가 존재한다고 가정할 때, 번째 유한 상태 기계의 현재 상태를 라 하면 전체 병렬 상태 기계의 상태는 하기 식 (3)과 같이 정의된다.
도 15a에 도시된 바와 같이, 입력들이 약간의 시간차를 두고 입력되는 경우가 있는데, 본 발명의 SAI-PSM은 약간의 시간차를 두고 입력되는 다중 입력을 처리할 수 있다. 도 15b를 참고하면, 다중 입력 중 하나가 처음으로 들어온 시점으로부터 일정 시간 내에 모든 입력이 들어오면 다중 입력에 성공해 상태 이전이 일어나고, 일정 시간 내에 모든 입력이 들어오지 못하면 다중 입력에 실패하게 되어, 상태 전이에 실패하게 된다. 즉, 상태 전이에 필요한 n개의 입력이 있을 때, 처음 입력이 들어온 순간부터 n개가 모두 입력되는데 까지 걸리는 시간이 일정 시간 이내일 때에 다중 입력에 성공해 상태 이전이 일어난다.
도 16은 병렬 상태 기계 내의 여러 유한 상태 기계가 각각의 선택적 입력 군을 갖는 것을 도시한 것이다. 도 16에 도시된 바와 같이, SAI-PSM내의 각 유한 상태 기계는 미리 정해진 입력만을 선택적으로 처리한다. 병렬적으로 동작하는 각 유한 상태 기계는, 처리할 수 있는 모든 입력의 부분 집합을 입력으로 가지며, 그 외의 입력에 대해서는 처리하지 않는다. 이러한 정의를 통해, 제스처를 인식하기 위한 각 유한 상태 기계는 인식하고자 하는 제스처를 구성하는 신체 부위로부터의 기초 코드만을 입력으로 갖는다.
SAI-PSM이 처리할 수 있는 모든 m개의 입력을 이고, 병렬 상태 기계가 n개의 유한 상태 기계로 구성되며, 각 유한 상태 기계가 처리할 수 있는 입력의 집합을 라 가정하면, 식(4)는 SAI-PSM에 입력이 들어왔을 때, 입력과 이를 처리하는 유한 상태 기계를 나타낸다.
본 발명에서는 선택적인 입력 처리를 통해 제스처 인식을 위한 유한 상태 기계의 모델링을 보다 효율적으로 수행할 수 있고, 제스처에 해당하는 신체 부위의 동작만으로 강인한 제스처 인식을 수행할 수 있다.
SAI-PSM을 바탕으로 기초 코드를 통한 동시다발적 제스처 인식을 수행하려면, 인식하고자 하는 제스처에 따른 SAI-PSM을 설계해야 한다. 제스처 인식을 위한 SAI-PSM을 설계하는 과정은 SAI-PSM의 “상태”를 정의하는 것과 “상태 전이”를 정의하는 것으로 나뉜다.
기초 코드와 SAI-PSM를 이용한 제스처 인식에서 상태는 제스처의 인식 단계를 나타낸다. 그러므로 SAI-PSM의 상태는 인식하고자 하는 제스처의 특징적인 자세나 동작을 기준으로 정의되어야 한다. 다음은 제스처에 해당하는 SAI-PSM의 상태를 정의하기 위한 가정이다.
가정 (1): 인식하고자 하는 제스처의 설명(gesture description)은, 제스처가 가지는 의미와 더불어 그 제스처를 수행하기 위해 어떤 신체 부위를 어떻게 움직여야 하는지에 대한 정보를 포함한다.
가정 (2): SAI-PSM의 상태는 제스처의 설명으로부터 사용자에 의해 별다른 규칙 없이 직관적으로 정의될 수 있다.
가정 (1)과 (2)로부터, SAI-PSM의 상태는 인식하고자 하는 제스처에 따라 직관적으로 정의될 수 있다. 하기 표 4는 “안녕하세요”라는 제스처의 설명에 따른 SAI-PSM의 상태 정의의 예시이다.
SAI-PSM의 상태가 정의되고 나면 상태 사이의 전이를 일으키는 입력, 즉 상태 전이에 해당하는 기초 코드를 정의해야 한다. 이를 위해 SAI-PSM의 상태 전이를 세 가지로 나누고, 상태 전이를 위한 기초 코드를 정한다. SAI-PSM의 상태 전이에 해당하는 기초 코드를 하기 표 5에 나타내었다.
상기 표 5는 SAI-PSM의 상태 전이를 세 가지로 나누어 정의하였을 때, 각 상태 전이를 위해 필요한 입력, 즉 기초 코드를 정하는 규칙을 보여준다. 각 제스처에 해당하는 유한 상태 기계가 선택적으로 입력 받는 모든 기초 코드는 포워드/제자리/백워드 상태 전이 중 하나에 해당하게 되며, 표 5에서 정의된 규칙은 어떤 기초 코드가 어떤 상태 전이에 해당하는 입력인지를 사용자가 정하는 과정에서 적용되는 규칙이다. 상기 표 5에서 바닥상태는 아무런 움직임이 일어나지 않았음을 나타내는 처음 상태를 의미한다.
포워드 상태 전이의 경우 다음 상태로 가기 위해 어떤 링크를 어떻게 움직여야 하는지에 대한 정보를 알고 있기 때문에, 그 동작에 해당하는 기초 코드를 찾는 과정이 필요하다. 동작에 해당하는 기초 코드는, 제스처를 수행하였을 때 그 제스처에 해당하는 링크의 기초 코드를 관찰함으로써 찾을 수 있으며, 이 같은 과정은 반복적인 수행을 통한 포상(reward) 경험으로부터 최적의 행동(action)을 찾는 강화 학습(reinforcement learning)의 원리로 진행된다. 제자리 상태 전이의 경우도 마찬가지로 제스처의 수행 과정에서 현재 상태로 오는 움직임과 다음 상태로 가는 움직임 사이에서 발생할 수 있는 기초 코드를 관찰하고, 강화 학습의 원리를 통해 제자리 상태 전이에 해당하는 최적의 기초 코드를 정하게 된다. 백워드 상태 전이는 제스처를 인식하는 과정에 존재하는 기초 코드, 즉 포워드 상태 전이와 제자리 상태 전이를 위한 기초 코드 이외에 기초 코드가 입력되었을 때 발생하며, 이를 통해 바닥 상태로 돌아가며 인식 중이던 제스처 인식을 중단하게 된다.
도 17은“Hello”와 “Kick”의 두 가지 제스처의 인식을 위한 SAI-PSM의 예를 도시한 것이다. 도 17을 참조하면, 두 제스처를 위한 각각의 유한 상태 기계가 병렬적으로 동시에 동작하게 되며, “Hello” 제스처를 인식하기 위한 유한 상태 기계 1(FSM1)은 오른쪽 팔뚝의 기초 코드만을 입력으로 가지고, “Kick” 제스처를 인식하기 위한 유한 상태 기계 2(FSM2)는 오른쪽 허벅지와 종아리에 해당하는 기초 코드만을 입력으로 가진다.
유한 상태 기계 1(FSM1)의 경우, 오른손을 바깥으로 흔드는 동작에 해당하는 기초 코드인 PC1이 입력으로 들어왔을 때 처음 상태 에서 상태로 포워드 상태 전이가 일어나게 되고, 오른손을 안쪽으로 흔드는 동작에 해당하는 기초 코드인 PC3이 입력으로 들어오면 에서 로 상태 전이가 일어나면서 “Hello” 제스처가 출력되게 된다. 이 때, 에서 만약 제자리 상태 전이에 해당하는 기초 코드가 입력되면 상태는 에 머무르게 된다.
유한 상태 기계 2(FSM2)의 경우, 오른쪽 허벅지와 종아리가 앞으로 올라가는 동작에 해당하는 코드가 약간의 시간차를 가지고 연속으로 입력되게 되면, 다중 입력에 성공하며 에서 로의 상태 전이가 일어나고, “Kick” 제스처가 출력되게 된다. 유한 상태 기계 2의 상태 전이는 병렬 상태 기계의 원리를 통해 “Hello”제스처의 상태 전이와 독립적으로 일어날 수 있기 때문에, “Hello”와 “Kick” 제스처를 동시에 인식할 수 있게 된다.
본 발명에 따른 방법은 컴퓨터 지원 시스템에 포함되어 사용될 수 있는 복잡한 제스처를 검출할 수 있다. 이러한 시스템은 의료 및 산업 분야의 기술적 제어 시스템, 정보 단말기 및 컴퓨터 게임 등을 사용하기 위한 멀티미디어 시스템을 포함할 수 있다.
본 발명의 다른 양상은 신체 제스처 인식 장치에 관한 것이다. 도 2a를 참조하면, 본 발명의 신체 제스처 인식 장치는 신체 자세의 깊이 영상을 획득하는 하나 이상의 깊이 카메라(10)와 상기 깊이 카메라와 서로 통신하는 로직 시스템(logic system)(20); 및 상기 로직 시스템에 의해서 실행가능한 일정한 명령들을 저장하고 있는 메모리부(30)를 포함한다. 상기 로직 시스템(20)에 의해서 실행되는 명령들은 상기 깊이 카메라(10)로부터 신체 자세의 깊이 영상(depth images) 획득, 획득된 신체의 깊이 영상 데이터로부터의 신체 모델 추정(estimation), 신체 모델의 동작을 시공간적으로 양자화하여 코드 생성, 및 생성된 코드를 병렬 상태 기계를 이용하여 선택적 및 비동시적 다중 입력으로부터 동시다발적으로 제스처 인식하는 것을 포함할 수 있다.
깊이 카메라(10)는 신체의 자세를 촬영하여 3D 데이터를 생성한다. 이러한 깊이 카메라(10)로부터의 데이터를 이용하여 제스처 인식을 수행할 수 있다. 여러 가지 상이한 종류의 깊이 카메라가 사용될 수 있는데, 스테레오카메라 뿐만 아니라 전파 시간(time-of-flight) 원리 또는 구조화된 광 기술에 의존하는 카메라를 사용할 수 있다.
메모리부(3)는 제스처 인식 장치(100)가 취급하는 각종 데이터를 저장하는 구성요소이고, 데이터를 휘발적으로 기억하는 일시 메모리부와, 불휘발적으로 기억하는 기억 장치가 포함된다. 일시 메모리부는, 제스처 인식 장치(100)가 실행하는 각종 처리의 과정에서, 연산에 사용하는 데이터 및 연산 결과 등을 일시적으로 저장하는 이른바 워킹 메모리이고, RAM 등으로 구성된다. 기억 장치는, 로직 시스템(20)이 실행하는 제어 프로그램 및 OS 프로그램, 및, 로직 시스템(20)이 제스처 인식 장치(100)가 갖는 각종 기능을 실행할 때에 판독하는 각종 데이터를 저장하고, ROM 등으로 구현된다.
본 발명의 제스처 인식 장치(100)는 도 2b에 도시된 바와 같이, 신체 자세의 깊이 영상(depth images)을 깊이 영상 획득부(31), 획득된 신체의 깊이 영상 데이터로부터 신체 모델을 추정하는 신체 모델 추정부(32); 신체 모델의 동작을 시공간적으로 양자화 및 코드화하는 기초 신체 모델 인코딩부(33); 및 상기 신체 모델 인코딩부에 의해서 생성된 기초 코드를 선택적 및 비동시적 입력을 갖는 병렬 상태 기계를 이용하여 동시다발적으로 제스처를 인식하는 제스처 인식부(34)를 포함할 수 있는데, 이러한 신체 제스처 인식 장치(100)의 각각의 기능 블록은, 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
상기 신체 제스처 인식 장치는 디스플레이부(40)를 추가로 포함할 수 있다. 상기 디스플레이부(40)는 제스처 인식 장치의 프로세서에 의해 인식된 제스처를 수행하는 사용자의 이미지를 디스플레이한다. 사용자의 이미지는 디스플레이부(40)에 의해 제공되는 쌍방향 프로그램의 가상 환경에 포함될 수 있다.
본 발명의 또 다른 양상은 본 발명의 제스처 인식 방법을 컴퓨터로 실행시킬 수 있는 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다. 상기 기록 매체는 프로그램명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 본 발명은 프로세싱 시스템 또는 기타 전자 장치를 프로그래밍하는데 사용될 수 있는 내장 명령을 가진 머신-액세스 가능한 매체(machine-accessible medium)를 포함하는 컴퓨터 프로그램 제품으로서 실시될 수 있다. 이러한 기록 매체는 자기 매체, 광 매체, 또는 다른 적당한 매체를 포함하는 기계-판독가능 정보를 위한 전송 매체 또는 기록가능 매체일 수도 있다. 이러한 기록매체는 신체 모델 인코딩과 선택적 및 비동시적 입력을 갖는 병렬 상태 기계를 이용한 동시다발적 제스처 인식을 수행하게 하는 프로그램 명령어들을 포함한다. 프로그램 명령은 본 명세서에 기술된 동작을 수행하는 명령으로 프로그램된 범용 또는 특정 목적의 프로세싱 시스템을 생성하는데 사용될 수 있다.
한편, 상기에서는 본 발명을 바람직한 실시예에 관련하여 도시하고 설명하였지만, 이하의 특허청구범위에 의해 한정되는 본 발명의 정신이나 범위를 벗어나지 않는 한도 내에서 본 발명이 다양하게 개조 및 변경될 수 있다는 것을 당 업계에서 통상의 지식을 가진 자는 용이하게 이해할 수 있을 것이다. 따라서 본 발명의 보호범위는 후술하는 특허청구범위 및 그와 균등한 범위에 의해서 정해져야 할 것이다.
가전제품과 컴퓨터, 휴대폰 및 의료기기 등에 깊이 카메라를 내장하여 본 발명의 신체 제스처 인식 방법을 이용하여 사용자와 자연친화적인 상호작용 서비스를 제공할 수 있다. 또한 본 발명은 신체 인식뿐만 아니라 사람이 다른 물체를 들고 있거나, 다른 신체 부위를 인식하는 데에도 이용될 수 있다.
10: 깊이 카메라 20: 로직 시스템
30: 메모리부 40: 디스플레이부
30: 메모리부 40: 디스플레이부
Claims (23)
- 신체 자세의 깊이 영상(depth images)을 획득하는 단계;
획득된 신체의 깊이 영상 데이터로부터 신체 모델을 추정(estimation)하는 단계;
신체 모델의 동작을 시공간적으로 양자화하여 코드를 생성하는 기초적 신체 모델 인코딩 단계;
전단계에서 수득된 코드를 병렬 상태 기계를 이용하여 선택적 및 비동시적 다중 입력으로부터 동시다발적으로 제스처를 인식하는 단계를 포함하는 신체 제스처 인식 방법.
- 청구항 2은(는) 설정등록료 납부시 포기되었습니다.제1항에 있어서, 상기 깊이 영상 획득 단계는 깊이 카메라를 이용하여 신체의 자세를 캡쳐하여 입력 영상을 획득하는 단계임을 특징으로 하는 신체 제스처 인식 방법.
- 제1항에 있어서, 상기 신체 모델 추정 단계는 깊이 영상 데이터로부터 신체 관절의 3차원 좌표를 수득하고, 관절과 관절 사이의 링크를 갖는 골격 신체 모델(skeleton body model)을 추정하는 단계임을 특징으로 하는 신체 제스처 인식 방법.
- 제3항에 있어서, 상기 링크는 척추, 목, 좌측 어깨, 좌측 상완, 좌측 전완, 우측 어깨, 우측 상완, 우측 전완, 좌측 대퇴, 좌측 종아리, 우측 대퇴, 우측 종아리를 포함하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제1항에 있어서, 상기 기초적 신체 모델 인코딩 단계는 관절과 관절 사이의 링크의 동작을 기초 코드(primitive code)로 표현하는 단계로서, 신체 모델에서 각 링크의 동작 별로 기초 동작 코드와 기초 자세 코드를 인코딩함으로써 복합적 신체 제스처를 시공간적으로 양자화하는 단계임을 특징으로 하는 신체 제스처 인식 방법.
- 제5항에 있어서, 상기 기초 동작 코드는 구좌표계에서 동작의 회전 방향과 각도를 양자화한 정보를 가지고, 상기 기초 자세 코드는 구좌표계에서 동작이 끝날 때 위치를 양자화한 정보를 갖는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제6항에 있어서, 상기 기초 동작 코드는 링크의 회전 방향을 나타내는 코드(α)와 회전 각도를 나타내는 코드(β)로 구성되고, 상기 회전 방향은 가로 방향 회전을 위한 궤도(horizontal trajectory), 세로 방향의 회전을 위한 궤도(vertical trajectory), 및 정면에 대해 원을 그리는 회전을 위한 궤도(circular trajectory)로 정의되고, 각각의 궤도에 대해 시계 방향과 반시계 방향의 회전방향이 정의되는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제6항에 있어서, 상기 방법이 링크의 회전을 기초 동작 코드로 매핑하기 위해서 링크의 3차원 벡터를 궤도 위로 투사하여 궤도상의 벡터로 변환한 후, 궤도 위에서의 각도의 변화를 관찰하여 링크의 회전 여부 및 회전 각도를 검출하는 과정을 포함하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제8항에 있어서, 상기 회전 여부 및 회전 각도 검출 과정은
링크가 각 궤도에 해당하는 범위 내에 존재하는지 판단하는 단계;
링크가 각 궤도에 해당되는 범위 내에 존재하는 것으로 판단되면, 링크의 3차원 벡터를 궤도 위로 투사하여 궤도상의 벡터로 변환하는 단계;
회전 검출을 위해서 궤도상의 각도가 일정한 방향으로 증가하거나 감소하는 경향을 보이는 회전 상태(rotating state)인지, 아니면 증가하는 경향이 없는 정지 상태(static state)인지를 판별하는 단계;
정지 상태로 판단되면, 그 궤도에 대한 회전은 없는 상태로 인식하는 단계;
회전 상태로 판단되면, 변화하는 각도를 누적하여 그 합을 산출하는 단계;
상기 합이 양자화 레벨 이상인지 확인하여, 그 궤도에 해당하는 기초 동작 코드를 출력하는 단계를 포함하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제6항에 있어서, 상기 기초 자세 코드는 링크의 공간적인 자세를 양자화하여 링크의 회전의 끝점을 표현하기 위해서,
링크의 자세를 구좌표계를 이용하여 위도(φ)와 경도(θ)로 표현하는 단계;
위도(φ)와 경도(θ)를 소정의 간격으로 분할하여 양자화 레벨을 설정하고, 이에 해당되는 기초 자세 코드를 정의하는 단계를 포함하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제10항에 있어서, 각각의 링크의 현재 자세로부터 자세 코드를 매핑하는 것은 각 링크에 해당되는 구좌표계로부터 수득된 위도와 경도에 대해서 가장 가까운 양자화 값으로 개별적으로 매핑하되, 기초 자세 코드의 변화가 없는 중립 구간(neutral region)을 정의하고, 이러한 중립 구간에서는 기존의 기초 자세 코드를 유지하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제1항에 있어서, 상기 제스처 인식 단계는 신체 모델의 인식하고자 하는 제스처 모델과 현재 입력되고 있는 깊이 영상 사이의 시간적/공간적 매칭을 통해서 행하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제12항에 있어서, 상기 제스처 인식 단계는 인식하고자 하는 하나의 제스처 당 하나의 유한 상태 기계를 설계한 병렬 상태 기계를 이용하여, 병렬적으로 제스처 인식을 행하는 단계임을 특징으로 하는 신체 제스처 인식 방법.
- 제13항에 있어서, 상기 각각의 유한 상태 기계는 일정 임계 값 이내의 시간차를 갖는 다중 입력을 바탕으로 상태 전이 하도록 구성되어, 상태 전이에 필요한 n개의 입력이 있을 때, 처음 입력이 들어온 순간부터 n개가 모두 입력되는데 걸리는 시간이 일정 시간 이내일 때에 다중 입력에 성공한 것으로 판단하여 상태 이전을 행하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제13항에 있어서, 상기 각각의 유한 상태 기계는 인식하고자 하는 제스처를 구성하는 링크들의 기초 동작 코드와 기초 자세 코드만을 입력으로 가짐으로써 선택적인 입력 처리를 행하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제13항에 있어서, 상기 병렬 상태 기계를 이용한 제스처 인식 단계는 인식하고자 하는 제스처의 특징적인 자세 또는 동작에 기초하여 상태를 정의하는 단계를 포함하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제13항에 있어서, 상기 병렬 상태 기계를 이용한 제스처 인식 단계는 상태 전이에 해당되는 기초 코드를 정의하는 단계를 포함하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 제17항에 있어서, 상기 상태 전이에 해당되는 기초 코드는 현재 상태에 머무르는 상태 전이인 제자리 상태 전이, 아무런 움직임이 일어나지 않는 바닥 상태로 돌아가는 상태 전이인 백워드 상태 전이 및 제자리 및 백워드 상태 전이 이외의 상태 전이인 포워드 상태 전이로 구성되는 것을 특징으로 하는 신체 제스처 인식 방법.
- 청구항 19은(는) 설정등록료 납부시 포기되었습니다.제1항 내지 제18항 중 어느 한 항에 있어서, 추정된 자세는 컴퓨터 지원 시스템(computer-assisted system)을 제어하기 위한 사용자 입력으로서 기능하는 것을 특징으로 하는 신체 제스처 인식 방법.
- 청구항 20은(는) 설정등록료 납부시 포기되었습니다.제19항에 있어서, 상기 컴퓨터 지원 시스템은 정보 단말기(information terminal)인 것을 특징으로 하는 신체 제스처 인식 방법.
- 신체 자세의 깊이 영상을 획득하는 하나 이상의 깊이 카메라;
상기 깊이 카메라와 서로 통신하는 로직 시스템(logic system); 및
상기 로직 시스템에 의해서 실행가능한 명령들을 저장하고 있는 메모리부를 포함하고, 상기 명령들은
상기 깊이 카메라로부터 신체 자세의 깊이 영상(depth images) 수신;
획득된 신체의 깊이 영상 데이터로부터 신체 모델 추정(estimation);
신체 모델의 동작을 시공간적으로 양자화하여 코드 생성;
생성된 코드를 병렬 상태 기계를 이용하여 선택적 및 비동시적 다중 입력으로부터 동시다발적으로 제스처 인식하는 것을 포함하는 것을 특징으로 하는 신체 제스처 인식 장치.
- 청구항 22은(는) 설정등록료 납부시 포기되었습니다.제21항에 있어서, 상기 장치는
신체 자세의 깊이 영상(depth images)을 획득하는 깊이 영상 획득부;
획득된 신체의 깊이 영상 데이터로부터 신체 모델을 추정하는 신체 모델 추정부;
신체 모델의 동작을 시공간적으로 양자화 및 코드화하는 기초 신체 모델 인코딩부; 및
상기 신체 모델 인코딩부에 의해서 생성된 기초 코드를 선택적 및 비동시적 입력을 갖는 병렬 상태 기계를 이용하여 동시다발적으로 제스처를 인식하는 제스처 인식부를 포함하는 것을 특징으로 하는 신체 제스처 인식 장치.
- 청구항 23은(는) 설정등록료 납부시 포기되었습니다.컴퓨터에서 제1항 내지 제18항 중 어느 하나의 항의 제스처 인식 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120032416A KR101347840B1 (ko) | 2012-03-29 | 2012-03-29 | 신체 제스처 인식 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120032416A KR101347840B1 (ko) | 2012-03-29 | 2012-03-29 | 신체 제스처 인식 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130110441A KR20130110441A (ko) | 2013-10-10 |
KR101347840B1 true KR101347840B1 (ko) | 2014-01-09 |
Family
ID=49632250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120032416A KR101347840B1 (ko) | 2012-03-29 | 2012-03-29 | 신체 제스처 인식 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101347840B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2957206A1 (en) | 2014-06-16 | 2015-12-23 | LG Electronics Inc. | Robot cleaner and method for controlling the same |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101519775B1 (ko) * | 2014-01-13 | 2015-05-12 | 인천대학교 산학협력단 | 오브젝트의 모션 인식 기반 애니메이션 생성 방법 및 장치 |
KR101580052B1 (ko) * | 2014-08-06 | 2015-12-24 | 한국과학기술원 | 깊이 카메라와 이동 단말을 이용하여 사용자를 결정하는 장치 및 방법 |
KR101708233B1 (ko) * | 2015-02-12 | 2017-02-20 | 재단법인대구경북과학기술원 | 3d 골격데이터를 스트리밍하여 공격적인 행동을 감지하는 장치 및 그 방법 |
KR20160133306A (ko) | 2015-05-12 | 2016-11-22 | 삼성전자주식회사 | 웨어러블 디바이스 및 웨어러블 디바이스의 피드백 제공 방법 |
CN106606363A (zh) * | 2015-10-22 | 2017-05-03 | 上海西门子医疗器械有限公司 | 一种医疗设备中患者体位的确定方法、系统及医疗设备 |
KR20170077444A (ko) * | 2015-12-28 | 2017-07-06 | 전자부품연구원 | 인체 포즈 인지 시스템 및 방법 |
CN107341179B (zh) * | 2017-05-26 | 2020-09-18 | 深圳奥比中光科技有限公司 | 标准运动数据库的生成方法、装置及存储装置 |
KR102241705B1 (ko) * | 2017-12-22 | 2021-04-19 | 한국전자통신연구원 | 멀티모달 행위 검출 장치 및 방법 |
CN109831638B (zh) * | 2019-01-23 | 2021-01-08 | 广州视源电子科技股份有限公司 | 视频图像传输方法、装置、交互智能平板和存储介质 |
CN114974506B (zh) * | 2022-05-17 | 2024-05-03 | 重庆大学 | 人体姿态数据处理方法及系统 |
US20240073514A1 (en) * | 2022-08-29 | 2024-02-29 | Samsung Electronics Co., Ltd. | System and method for detecting a user intent to start a video recording |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110030419A (ko) * | 2008-02-27 | 2011-03-23 | 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 | 장면의 심도 데이터를 포착하고, 컴퓨터 액션을 적용하기 위한 방법들 |
KR101072944B1 (ko) | 2009-08-31 | 2011-10-17 | 서울대학교산학협력단 | 3차원 인체 모델 생성 시스템 및 그 방법 |
-
2012
- 2012-03-29 KR KR1020120032416A patent/KR101347840B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110030419A (ko) * | 2008-02-27 | 2011-03-23 | 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 | 장면의 심도 데이터를 포착하고, 컴퓨터 액션을 적용하기 위한 방법들 |
KR101072944B1 (ko) | 2009-08-31 | 2011-10-17 | 서울대학교산학협력단 | 3차원 인체 모델 생성 시스템 및 그 방법 |
Non-Patent Citations (2)
Title |
---|
논문1:CVPR * |
논문2:IEEE * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2957206A1 (en) | 2014-06-16 | 2015-12-23 | LG Electronics Inc. | Robot cleaner and method for controlling the same |
Also Published As
Publication number | Publication date |
---|---|
KR20130110441A (ko) | 2013-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101347840B1 (ko) | 신체 제스처 인식 방법 및 장치 | |
Lin et al. | A virtual reality platform for dynamic human-scene interaction | |
CN109084746B (zh) | 用于具有辅助传感器的自主平台引导系统的单目模式 | |
DK2952993T3 (en) | PROCEDURE FOR MAKING A CARD OF LIKELIHOOD FOR ONE OF THE ABSENCE OR EXISTENCE OF BARRIERS FOR AN AUTONOMOUS ROBOT | |
Wu et al. | Capturing articulated human hand motion: A divide-and-conquer approach | |
CN108491763B (zh) | 三维场景识别网络的无监督训练方法、装置及存储介质 | |
WO2009086088A1 (en) | Controlled human pose estimation from depth image streams | |
Mo et al. | Terra: A smart and sensible digital twin framework for robust robot deployment in challenging environments | |
Derome et al. | Moving object detection in real-time using stereo from a mobile platform | |
JP2022518783A (ja) | ロボットデバイスの状態を使用した環境のマッピング | |
KR20210058686A (ko) | 동시적 위치 추정 및 맵 작성을 구현하는 장치 및 방법 | |
CN112580582A (zh) | 动作学习方法、装置、介质及电子设备 | |
Cui et al. | Feasibility study on free hand geometric modelling using leap motion in VRML/X3D | |
Chen et al. | Deep learning for visual localization and mapping: A survey | |
CN113312966B (zh) | 一种基于第一人称视角的动作识别方法及装置 | |
Felip et al. | Multi-sensor and prediction fusion for contact detection and localization | |
KR102333768B1 (ko) | 딥러닝 기반 손 인식 증강현실 상호 작용 장치 및 방법 | |
CN110008873B (zh) | 面部表情捕捉方法、系统及设备 | |
CN112199994A (zh) | 一种实时检测rgb视频中的3d手与未知物体交互的方法和装置 | |
Pavllo et al. | Real-time marker-based finger tracking with neural networks | |
Kraft et al. | Learning objects and grasp affordances through autonomous exploration | |
Tominaga et al. | Symbolic representation of trajectories for skill generation | |
Ling et al. | An iterated extended Kalman filter for 3D mapping via Kinect camera | |
Newman et al. | Embedded mobile ros platform for slam application with rgb-d cameras | |
Liang et al. | Hand pose estimation by combining fingertip tracking and articulated ICP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161129 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171124 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20181203 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20191126 Year of fee payment: 7 |