KR101525011B1 - Nui 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법 - Google Patents

Nui 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법 Download PDF

Info

Publication number
KR101525011B1
KR101525011B1 KR1020140134925A KR20140134925A KR101525011B1 KR 101525011 B1 KR101525011 B1 KR 101525011B1 KR 1020140134925 A KR1020140134925 A KR 1020140134925A KR 20140134925 A KR20140134925 A KR 20140134925A KR 101525011 B1 KR101525011 B1 KR 101525011B1
Authority
KR
South Korea
Prior art keywords
gesture
screen
user
hands
coordinates
Prior art date
Application number
KR1020140134925A
Other languages
English (en)
Inventor
조경은
엄기현
이성조
이병권
Original Assignee
동국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동국대학교 산학협력단 filed Critical 동국대학교 산학협력단
Priority to KR1020140134925A priority Critical patent/KR101525011B1/ko
Application granted granted Critical
Publication of KR101525011B1 publication Critical patent/KR101525011B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 사용자 제스처를 통해 디스플레이 장치를 제어하는 NUI 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법에 관한 것으로, RGB-D 카메라로부터 입력받은 영상을 분석하여 양손의 움직임의 궤적에 대하여 격자공간으로 분할된 2차원 스크린에 투영시킨 좌표를 이용하여 체인코드를 생성하고 화면마다 서로 다른 제스처 모델을 적용하여 사용자 제스처를 인식하여 화면을 변경하거나 화면을 구성하는 가상객체의 설정을 변경하여 다시 디스플레이하는 것을 특징으로 한다.

Description

NUI 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법{tangible virtual reality display control device based on NUI, and method thereof}
본 발명은 실감형 콘텐츠를 제공하는 가상공간 디스플레이 제어장치에 관한 것으로, 더욱 상세하게는 사용자 제스처를 통해 디스플레이 장치를 제어하는 NUI 기반의 실감형 가상공간 디스플레이 제어장치 및 그 제어방법에 관한 것이다.
최근 컴퓨팅 기능이 진화함에 따라 유비쿼터스 시대가 도래하였다. 이에 따라 유비쿼터스 컴퓨팅에 대한 연구가 진행되고 있는데 유비쿼터스 컴퓨팅의 핵심은 사용자가 손 쉽고 편리하게 컴퓨터와 네트워크를 이용한다는 것이다. 이러한 맥락에서 보편적으로 사용되고 있는 마우스나 키보드 등의 입력 장치에서 벗어나 인간의 자연스러운 동작인 제스처를 사용해 컴퓨터와 상호작용하도록 하는 NUI(Natural User Interface)/NUX(Natural User eXperience) 관련 연구들이 다양하게 진행되고 있다.
실감형 콘텐츠를 포함하는 가상공간을 디스플레이하는 장치들은 사용자에게 현실감 있는 화면을 제공하고, 사용자와 상호작용하는 방법으로 사용자 제스처를 활용하게 되었다. 사용자 제스처는 사람에게 자연스럽고 직관적인 움직임으로 사람 중심적인 인터페이스에 해당하기 때문에 디스플레이 장치가 제공하는 기능과 사용자 제스처가 직접적인 연관성을 가지게 되는 것을 의미한다. 따라서 이를 반영하여 제스처를 인식하고, 디스플레이 장치를 제어할 필요성이 발생한다.
나아가 제스처를 인식하는 기술은 빠른 피드백을 사용자에게 제공하기 위해 고속으로 처리될 필요가 있으며 정확하게 제스처를 인식하여 기능을 제어하기 위한 제스처인지 식별할 필요가 있다. 즉, 실시간으로 입력되는 사용자 움직임에 대한 정보를 사용자에게 실시간으로 인식될 만큼 빠른시간 내에 처리할 필요성이 있다.
최한석, "3D 콘텐츠 제어를 위한 키넥트 기반의 동작 인식 모델", 한국콘텐츠학회논문지 제14권 제1호 pp 24-29, 2014.1.
본 발명이 해결하고자 하는 기술적 과제는 기존의 디바이스 의존적인 인터페이스가 사용자에게 단순 암기와 교육을 통한 습득 과정을 요구하는 단점을 해소하고자 사용자의 자연스럽고 직관적인 제스처 동작을 통해 디스플레이 장치를 제어하는 수단을 제공하는 것이다. 또한, 가상공간 디스플레이 장치가 디스플레이하는 화면들 및 그를 구성하는 가상객체와 직접 연관된 제스처를 인식할 수 있는 수단을 제공하는 것이다. 나아가 사용자가 실시간으로 인지할 수 있을 정도의 빠른 시간 안에 사용자가 취한 제스처에 따른 결과 화면을 디스플레이하여 피드백하는 수단을 제공하는 것이다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 가상공간 디스플레이 제어장치는 사용자를 추적하여 촬영한 영상을 입력받아 상기 영상에서 상기 사용자의 얼굴 및 몸의 관절에 대한 움직임 정보를 추출하는 입력부; 얼굴의 회전 각도 또는 사용자의 걸음과 관련된 하나 이상의 관절의 변화가 미리 설정된 임계치를 넘는 경우 사용자의 이동에 따른 화면 전환을 나타내는 이벤트 신호를 발생시키는 감지부; 사용자의 양손에 대한 그립(Grip) 상태를 판단하고, 그립 상태인 손의 종류에 따라 사용자의 양손의 움직임에 대한 궤적을 사용자의 시선 방향과 수직인 2차원 스크린에 투영시킨 2차원 좌표를 이용하여 단위 방향벡터로 구성된 체인코드를 생성하고, 상기 양손에 대한 그립 상태, 상기 2차원 좌표 및 상기 체인코드에 대하여 제스처 학습 모델을 나타내는 제스처 모델을 적용하여 상기 사용자의 양손의 움직임에 대응되는 제스처를 인식하는 제스처인식부; 상기 이벤트 신호 및 상기 인식된 제스처에 따라 화면, 화면의 메뉴 또는 화면을 구성하는 가상객체 중 어느 하나의 설정을 변경하는 제어부; 및 상기 제어부에 의해 변경된 설정 값을 출력하는 출력부;를 포함한다.
일 실시예에 따른 가상공간 디스플레이 제어장치에서 상기 감지부는 상기 사용자의 걸음과 관련된 관절은 어깨, 허리 및 양손의 관절이고, 상기 관절들의 상대적 변화 값에 따라 사용자가 걸어가는 것인지 여부를 판단할 수 있다.
일 실시예에 따른 가상공간 디스플레이 제어장치의 상기 감지부에서 상기 이벤트 신호는 상기 얼굴 또는 상기 관절의 최종 좌표값과 현재 디스플레이되고 있는 화면 정보를 포함한다.
일 실시예에 따른 가상공간 디스플레이 제어장치에서 상기 제스처인식부는 양손 또는 한손이 그립 상태에서 해제되는 동안의 양손의 움직임을 하나의 제스처로 인식할 수 있다.
일 실시예에 따른 가상공간 디스플레이 제어장치의 상기 제스처인식부에서 상기 제스처 모델은 화면마다 구비하고, 동일한 화면에서 왼손 및 오른손에 대하여 각각 제스처 모델을 더 구비한다.
상기된 실시예는 상기 제스처 모델들 중에서 현재 디스플레이되고 있는 화면에 대응되는 제스처 모델을 적용하며, 양손이 모두 그립 상태인 경우 각각의 손에 대응되는 제스처 모델을 적용할 수 있다.
일 실시예에 따른 가상공간 디스플레이 제어장치에서 상기 제스처인식부는 상기 2차원 스크린을 일정 크기의 격자 공간으로 분할하고, 상기 궤적을 구성하는 3차원 좌표에 대응되도록 상기 격자 공간의 좌표를 순서대로 저장하여 상기 저장된 모든 좌표들에 대하여 해당 좌표 및 이전 좌표에 대한 상대적 벡터를 계산하여 상기 단위 방향벡터로 분류할 수 있다.
상기된 실시예에서 상기 제스처인식부는 상기 해당 좌표에 대한 이전 좌표와 다음 좌표가 대각선 관계에 해당하고 가장 최근에 저장된 방향벡터가 대각선벡터가 아닌 경우 대각선벡터로 변경하여 저장한다.
일 실시예에 따른 가상공간 디스플레이 제어장치에서 상기 제스처인식부는 동일한 방향벡터의 조합을 가지는 두 체인코드가 상기 양손의 움직임의 시작 좌표와 마지막 좌표가 다른 경우에 다른 제스처로 인식할 수 있다.
일 실시예에 따른 가상공간 디스플레이 제어장치에서 상기 제어부는 현재 디스플레이되고 있는 화면과 연결된 화면들 중에서 상기 인식된 제스처 또는 상기 최종 2차원 좌표에 따라 다음 화면을 선택하여 화면의 설정을 변경한다.
일 실시예에 따른 가상공간 디스플레이 제어장치에서 상기 제어부는 상기 인식된 제스처에 따라 상기 2차원 좌표 중 시작 좌표에 대응되는 가상 객체를 선택하고 상기 선택된 가상객체의 상태, 위치 또는 크기를 변경한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 다른 실시예에 따른 가상공간 디스플레이 장치의 제어방법은 입력부가 사용자를 추적하여 촬영한 영상을 입력받아 상기 영상에서 상기 사용자의 얼굴 및 몸의 관절에 대한 움직임 정보를 추출하는 단계; 상기 추출된 움직임 정보에서 얼굴의 회전 각도 또는 걸음과 관련된 하나 이상의 관절의 변화가 미리 설정된 임계치를 넘는 경우 감지부가 사용자의 이동에 따른 화면 전환을 나타내는 이벤트 신호를 발생시키는 단계; 상기 이벤트 신호가 있는 경우 제어부가 상기 이벤트 신호에 따라 화면을 변경하는 단계; 상기 이벤트 신호가 없는 경우 제스처인식부가 상기 추출된 움직임 정보를 분석하여 사용자의 양손에 대한 그립(Grip) 상태를 판단하고, 그립 상태인 손의 종류에 따라 사용자의 양손의 움직임에 대한 궤적을 사용자의 시선 방향과 수직인 2차원 스크린에 투영시킨 2차원 좌표를 이용하여 단위 방향벡터로 구성된 체인코드를 생성하고, 상기 양손에 대한 그립 상태, 상기 2차원 좌표 및 상기 체인코드에 대하여 제스처 학습 모델을 나타내는 제스처 모델을 적용하여 상기 사용자의 양손의 움직임에 대응되는 제스처를 인식하는 단계; 상기 제어부가 현재 디스플레이되고 있는 화면을 기준으로 상기 인식된 제스처에 따라 화면, 화면의 메뉴 또는 화면을 구성하는 가상객체 중 어느 하나의 설정을 변경하는 단계; 및 출력부가 상기 제어부에 의해 변경된 설정 값을 출력하는 단계;를 포함한다.
다른 실시예에 따른 가상공간 디스플레이 장치의 제어방법의 상기 이벤트 신호를 발생시키는 단계에서 상기 사용자의 걸음과 관련된 관절은 어깨, 허리 및 양손의 관절에 해당하고 상기 관절들의 상대적 변화 값에 따라 사용자가 걸어가는 것인지 여부를 판단하며, 상기 이벤트 신호는 상기 얼굴 또는 상기 관절의 최종 좌표값과 현재 디스플레이되고 있는 화면 정보를 포함한다.
다른 실시예에 따른 가상공간 디스플레이 장치의 제어방법에서 상기 제스처를 인식하는 단계는 양손 또는 한손이 그립 상태에서 해제되는 동안의 양손의 움직임을 하나의 제스처로 인식한다.
다른 실시예에 따른 가상공간 디스플레이 장치의 제어방법의 상기 제스처를 인식하는 단계에서 상기 제스처 모델은 화면마다 구비하고, 동일한 화면에서 왼손 및 오른손에 대하여 각각 제스처 모델을 더 구비하며, 상기 제스처 모델들 중에서 현재 디스플레이되고 있는 화면에 대응되는 제스처 모델을 적용하며 양손이 모두 그립 상태인 경우 각각의 손에 대응되는 제스처 모델을 적용할 수 있다.
다른 실시예에 따른 가상공간 디스플레이 장치의 제어방법의 상기 제스처를 인식하는 단계는 상기 2차원 스크린을 일정 크기의 격자 공간으로 분할하고, 상기 궤적을 구성하는 3차원 좌표에 대응되도록 상기 격자 공간의 좌표를 순서대로 저장하여 상기 저장된 모든 좌표들에 대하여 해당 좌표 및 이전 좌표에 대한 상대적 벡터를 계산하여 상기 단위 방향벡터로 분류한다.
상기된 실시예에서 상기 제스처를 인식하는 단계는 상기 해당 좌표에 대한 이전 좌표와 다음 좌표가 대각선관계에 해당하고 가장 최근에 저장된 방향벡터가 대각선벡터가 아닌 경우 대각선벡터로 변경하여 저장한다.
다른 실시예에 따른 가상공간 디스플레이 장치의 제어방법의 상기 제스처를 인식하는 단계는 동일한 방향벡터의 조합을 가지는 두 체인코드가 상기 양손의 움직임의 시작 좌표와 마지막 좌표가 다른 경우에 다른 제스처로 인식한다.
본 발명에 따른 실시예들은 가상공간 디스플레이 장치가 디스플레이하는 화면에 대응하여 취한 사용자의 제스처를 통해 디스플레이할 화면, 화면의 메뉴 및 그를 구성하는 가상객체를 변경하여 결과 화면을 피드백함으로써 가상공간 디스플레이 장치를 제어할 수 있다. 또한, 가상공간 디스플레이 장치가 디스플레이할 수 있는 복수의 모든 화면마다 다른 제스처 모델을 구비함으로써 화면 및 그를 구성하는 가상객체와 직접 연관된 제스처를 인식하고, 2차원 격자공간을 이용하여 사용자의 움직임을 분석함으로써 제스처 인식의 정확도를 높이는 동시에 실시간으로 제스처에 대한 피드백이 가능한 장점을 갖는다.
도 1은 본 발명의 일 실시예에 따른 가상공간 디스플레이 제어장치의 구성요소를 나타낸 블록도이다.
도 2는 모델하우스 시뮬레이션 시스템의 개략적인 기능을 나타낸 도면이다.
도 3a는 시스템 메뉴를 설정하기 위한 왼손을 그립한 상태의 제스처 종류를 나타내는 표이고, 도 3b는 내부 인테리어 메뉴를 설정하기 위한 오른손을 그립한 상태의 제스처 종류를 나타내는 표이고, 도 3c는 화면을 구성하는 가상객체를 변경 및 설정하기 위한 양손을 그립한 상태의 제스처를 나타내는 표를 나타낸 그림이다.
도 4는 사용자 제스처를 본 발명의 일 실시예에 따른 가상공간 디스플레이 제어장치에 의해 격자 공간 스크린에 매핑시킨 것을 나타내는 그림이다.
도 5는 8방향 단위벡터를 나타낸 그림이다.
도 6a는 사용자 제스처에 대하여 본 발명의 일 실시예에 따른 가상공간 디스플레이 제어장치가 2차원 좌표를 저장하는 과정을 나타내고, 도 6b은 도 6a의 2차원 좌표를 이용하여 체인코드를 생성하는 과정을 나타낸 그림이다.
도 7은 본 발명의 다른 실시예에 따른 가상공간 디스플레이 장치의 제어 방법을 나타낸 흐름도이다.
도 8은 도 7의 S740 단계의 세부 단계를 나타낸 흐름도이다.
본 발명을 실시하기 위한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하려는 과제의 해결 방안의 개요 혹은 기술적 사상의 핵심을 우선 제시한다.
NUI 기술은 사용자의 제스처를 정교하게 인식하여 이를 그대로 재현할 수 있도록 하거나, 미리 정의된 제스처를 사용자가 취했을 때 정확하고 빠르게 인식하여 반응할 수 있도록 할 수 있다. 사용자가 디바이스를 제어하고자 할 때는 미리 정의된 제스처들 중에서 사용자가 취한 제스처에 해당하는 것을 구분하여 해당 제스처에 따라 미리 설정된 동작을 디바이스가 수행하도록 하는 후자에 해당한다. 컴퓨터의 명령어가 정의되듯이 제스처가 미리 정의되어 사용자는 정의된 제스처들을 통해서 디바이스를 제어하는 것이다. 키보드, 마우스 등과 달리 NUI는 자연스럽고 직관적인 동작을 수단으로 하기 때문에 기존의 기계 중심적인 인터페이스에서 사람 중심적인 인터페이스로 전환하는 장점을 갖는다. 다만, 오른손으로 동그라미를 그린다면 사람마다 다르게 그려질 것이며, 같은 사람이라 하더라도 매 행위마다 물리적으로 동일하게 그리기 어렵다. 따라서 사용자 제스처는 사람이 인지하기에 동일한 제스처를 디바이스도 동일한 제스처로 인식하기에 어려움이 있다.
NUI 기술이 주로 활용되는 분야로 가상현실 게임이나 가상현실 시뮬레이션 장치가 있다. 기존의 게임이나 시뮬레이션 장치는 키보드, 마우스, 리모컨과 같은 입력 장치를 조작하는 방법을 사용자가 습득해야 하기 때문에 특히 가상현실을 제공하는 게임과 같은 경우 리얼리티가 떨어지는 단점을 가진다. 따라서 제공된 가상현실에 대해서 사용자가 리얼리티를 느끼게 하기 위해 사용자 제스처를 인터페이스로 활용하는 것이다. 또한, 리얼리티를 유지하기 위해서는 사용자 제스처에 즉각 반응하여 디바이스가 동작할 수 있어야 한다.
그러므로 본 발명은 직관적이고 자연스러운 사용자 제스처를 통해 디스플레이 장치를 제어하고, 디스플레이 장치가 제공하는 화면 및 그를 구성하는 가상객체와 직접 연관된 제스처들 중에서 사용자가 취한 제스처를 정확하게 인식하기 위해 화면마다 다른 학습 모델을 이용하며 입력 데이터를 단순하게 가공함으로써 실시간 처리를 보장하는 가상공간 디스플레이 제어장치 및 그의 제어방법을 제안한다.
도 1은 본 발명의 일 실시예에 따른 가상공간 디스플레이 장치의 구성요소를 나타낸 블록도이다. 가상공간 디스플레이 제어장치(1)는 RGB-D 카메라(2)를 통해 깊이 정보를 포함하는 컬러 영상을 입력받아 식별된 제스처에 따라 화면 등의 설정을 변경하여 디스플레이 장치(3)에 변경된 정보를 출력하며, 입력부(10), 감지부(20), 제스처인식부(30), 제스처 모델(35), 제어부(40), DB(45) 및 출력부(50)을 포함한다. 이해를 돕기 위해 인테리어 시뮬레이션 시스템을 디스플레이 장치(3)의 예시로써 설명하고자 하며, 도 2는 모델하우스 시뮬레이션 시스템의 개략적인 기능을 나타낸 도면이다. 모델하우스 시뮬레이션 시스템은 도 2를 참조하면 집의 크기와 구조를 선택하고, 실내 인테리어로 바닥, 벽지, 가구 등을 배치 및 설계한 후 각 집의 구석구석을 관람하고 이를 저장하는 기능을 제공한다. 모델하우스 시뮬레이션 시스템은 모델하우스를 실제 현실세계의 집과 동일하게 사용자가 체험할 수 있도록 실제 크기의 3차원 영상으로 디스플레이할 수 있다. 사용자는 제스처를 통해 디스플레이된 모델하우스에 대한 설정 변경이나 장소이동을 하면서 상호작용할 수 있다.
이하에서는 각 구성요소에 대하여 기능 및 다른 구성요소들과 상호작용하여 동작하는 구체적인 과정을 상세히 설명하고자 한다.
입력부(10)는 RGB-D 카메라(2)로부터 사용자를 추적하여 촬영한 영상을 입력받아 영상에서 사용자의 얼굴 및 몸의 관절에 대한 정보를 추출한다. RGB-D 카메라(2)는 깊이 정보를 포함하는 컬러 영상을 촬영할 수 있는데 가상공간 디스플레이 제어장치(1)에 의해 디스플레이되고 있는 화면과 상호작용하고 있는 사용자의 움직임을 촬영하여 깊이 정보를 포함하는 컬러 영상을 생성하게 된다. 따라서 입력부(10)는 입력받은 영상 정보에서 제스처와 관련 있는 사용자의 얼굴과 몸의 관절에 대한 정보를 추출한다. RGB-D 카메라(2)는 다양한 제품이 개발되어 있으며 본 발명의 실시예들은 최근 가장 널리 사용되는 마이크로소프트사의 키넥트(kinnect)를 사용하였다. 키넥트는 사용자를 추적하여 촬영한 3차원 영상을 분석하여 사용자의 스켈레톤 정보를 제공한다. 본 발명의 실시예들은 스켈레톤 정보에서 필요한 정보를 추출하여 사용하는데, 가상공간 디스플레이 제어장치(1)가 제공하는 기능에 따라서 사용자의 어떠한 제스처를 이용할 것인지 결정되고, 그 제스처와 관련된 몸의 관절 좌표를 이용하는 것이다. 이때 좌표는 깊이 정보를 포함하는 3차원 좌표이다. 예를 들어, 본 발명의 실시예들은 시선 변화에 따른 화면 변경을 위해 얼굴 회전 제스처를 사용하고자 얼굴과 관련된 좌표를 추출하고, 이동에 따른 화면 변경을 위해 걷는 제스처를 사용하고자 걸음과 관련된 몸의 관절에 대한 좌표를 추출한다.
감지부(20)는 얼굴의 회전 각도 또는 사용자의 걸음과 관련된 하나 이상의 관절의 변화가 미리 설정된 임계치를 넘는 경우 사용자의 이동에 따른 화면 전환을 나타내는 이벤트 신호를 발생시킨다. 사용자가 시선을 이동시켜 바라보는 객체가 달라질 때에 그 객체를 중심으로 하는 화면을 새로 디스플레이하기 위해 이벤트 신호를 발생시킨다. 시선이 이동하는 것은 얼굴의 회전 각도에 따라 알 수 있으며, 미리 설정된 임계치를 넘는 경우 새로운 화면을 설정하게 된다. 임계치는 화면을 구성하는 가상객체와 관련하여 결정될 수 있다. 예를 들어, 사용자가 오른쪽 끝에 위치한 가상객체를 바라보는 경우 그 가상객체를 중심으로 하는 화면을 디스플레이하게 할 수 있지만 현재 디스플레이되고 있는 화면에서 사용자가 바라보는 시점에 가상객체가 존재하지 않는 경우 화면을 변경하여 다시 디스플레이할 필요가 없다. 따라서 얼굴 회전 각도의 변화에 대한 임계치는 화면마다 다르게 설정될 수 있을 것이다.
사용자의 이동에 따른 화면 전환은 사용자가 걸어가는 제스처 동작을 취할 때 발생할 수 있다. 따라서 걸음과 관련된 관절의 변화가 미리 설정된 임계치를 넘는 경우 화면 전환을 나타내는 이벤트 신호를 발생시킨다. 몸의 관절 중에서 걸음과 관련된 관절은 어깨, 허리 및 양손의 관절이 될 수 있다. 걸을 때 어깨와 허리 관절이 앞뒤로 변화하는 상대적 차이와 양손의 흔들림에 따른 변화 값을 기준으로 사용자가 걸어가는 것인지를 판단하는 것이다. 걸음에 따른 임계치는 시선 변화와 마찬가지로 현재 디스플레이되고 있는 화면에 따라 결정될 수 있으며, 가상공간 디스플레이 제어장치(1)는 미리 정의된 복수의 화면들 중에서 하나를 선택하여 디스플레이할 수 있는데 현재 디스플레이되고 있는 화면을 기준으로 사용자의 걸음 제스처에 따라 현재 화면과 연결된 화면들 중에서 걸음 방향과 동일한 방향으로 연결된 다음 화면을 결과 화면을 선택할 수 있다. 그러므로 이벤트 신호는 얼굴 또는 관절이 변화된 최종 좌표값과 현재 디스플레이되고 있는 화면 정보를 포함할 수 있다. 화면 정보란, 현재 디스플레이되고 있는 화면 자체와 해당 화면을 구성하고 있는 구성 객체 정보를 모두 포함한다.
감지부(20)가 이와 같이 사용자의 시선 변화 제스처 및 걸음 제스처를 감지하여 이벤트 신호를 발생시키면 이를 제어부(40)가 처리하여 그에 따른 결과 화면을 디스플레이하기 위한 화면의 설정을 변경한다. 제어부(40)의 자세한 설명은 후술한다.
제스처인식부(30)는 몸의 관절, 특히 양손에 대한 정보를 분석하여 미리 정의된 제스처 중에서 사용자가 취한 제스처가 무엇인지 판단한다. 구체적으로 사용자의 양손에 대한 그립(Grip) 상태를 판단하고, 그립 상태인 손의 종류에 따라 양손의 움직임에 대한 궤적을 사용자의 시선 방향과 수직인 2차원 스크린에 투영시킨 2차원 좌표를 이용하여 단위 방향벡터로 구성된 체인코드를 생성한다. 그리고 양손의 그립 상태, 2차원 좌표 및 체인코드에 대하여 제스처 학습 모델을 나타내는 제스처 모델(35)을 적용하여 사용자의 양손의 움직임에 대응되는 제스처를 인식한다.
제스처인식부(30)가 동작하는 순서에 따라 설명하기 이전에 사용자의 연속된 움직임 속에서 단일 명령 단위로써 제스처를 구분하는 기준과 제스처 학습 모델인 제스처 모델이 무엇인지 먼저 설명하고자 한다.
현실에서 사용자가 제스처를 구분하는 것은 인지와 동시에 어떠한 제스처인지 즉각적으로 식별가능하기 때문에 문제가 되지 않지만, 장치가 제스처를 구분하기 위해서는 입력 단계에서 이를 단위화해야 하는 문제를 가진다. 장치가 분석 및 처리를 통해 입력 대상을 식별하고 난 뒤에 비로소 알 수 있는 결과물을 산출하기 위해 입력 대상의 어떤 정보를 단위로 해야하는 것인지에 대한 문제이다. 즉, 사용자가 움직이는 정보에서 무엇을 기준으로 제스처의 시작과 끝을 결정할 수 있는지 문제가 된다.
본 발명의 실시예들에서는 사용자의 손의 그립 여부를 사용자의 움직임에서 제스처의 종류를 구분하기 위한 기준으로 이용하였다. 즉, 양손 또는 한손이 그립 상태에서 해제되는 동안의 양손의 움직임을 하나의 제스처로 인식할 수 있다. 사람이 손을 통해 제스처를 취하기 때문에 손의 그립 상태는 제스처 행위와 밀접한 관계를 갖는다. 실제로 손을 쥐고 동그라미를 그리거나 오른쪽으로 미는 듯한 동작을 하는 것이 손을 펼친 상태에서 하는 것보다 자연스럽다. 특히, 가상현실을 디스플레이하는 장치와 상호작용할 때는 제스처가 화면에 보이는 가상 객체들을 제어하기 위한 움직임을 나타내기 때문에 가상 객체를 마치 손으로 쥐고 움직이는 듯한 것이 현실감을 주는 인터페이스로써 역할하게 한다. 그러므로 손의 그립 상태를 이용하는 것은 단일 명령 단위를 결정하는 문제를 용이하게 해결하게 된다.
다음으로 제스처는 디스플레이되는 화면마다 다르게 정의될 필요가 있고, 가상공간 디스플레이 제어장치(1)가 제공하는 기능의 종류에 따라 제스처의 종류를 구분할 필요가 있다. 따라서 본 발명의 실시예들에서 제스처는 화면에 따라 그 종류 및 개수를 정의하고, 제스처를 종류별로 구분하였다. 예를 들어, 시스템 메뉴를 변경 또는 설정할 수 있는 제스처와 화면을 구성하는 객체를 변경하는 제스처는 서로 구분할 필요가 있기 때문에 이를 그립 상태인 손의 종류에 따라 분류하였다.
예를 들어, 도 2의 인테리어 시뮬레이션 시스템에서 인테리어를 위한 시스템 메뉴 설정, 내부 인테리어 메뉴 설정, 화면의 구성객체의 설정과 같이 카테고리를 구분하여 제스처의 종류를 정의할 수 있다. 이에 따라 도 3a는 시스템 메뉴를 설정하는 왼손을 그립한 상태의 제스처 종류를 나타내는 표이고, 도 3b는 내부 인테리어 메뉴를 설정하는 오른손을 그립한 상태의 제스처 종류를 나타내는 표이고, 도 3c는 화면을 구성하는 가상객체를 변경 및 설정하는 양손을 그립한 상태의 제스처를 나타내는 표를 나타낸 것이다. 도 3a와 도 3b를 비교하면 왼쪽으로 스와이프(swipe)하는 동일한 모양의 제스처가 모두 포함되어 있지만 양 제스처는 각각 왼손 그립 상태와 오른손 그립 상태에 해당하기 때문에 시스템 메뉴를 설정하는 동작인지 내부 인테리어 메뉴를 설정하는 동작인지 구분할 수 있게 된다. 또한 이와 같은 분류는 단순한 제스처만으로 좀 더 다양하게 디바이스를 제어할 수 있도록 한다.
도 3c와 같이 양손을 모두 그립한 상태로 제스처를 취하는 경우, 양손의 움직임 모두를 제스처로 식별하게 할 수 있다. 인테리어 시뮬레이션 시스템에서 화면에 위치한 가상객체를 변경하기 위해서 마치 물건을 실제로 잡아서 늘이거나(scale up) 줄이는(scale down) 동작을 그대로 제스처로 정의할 수 있다. 이와 같은 자연스럽고 직관적인 동작을 입력으로 디바이스를 제어하기 때문에 사용자는 현실세계와 동일한 느낌을 받을 수 있게 된다.
이와 같이 제스처의 종류를 구분했다면 기능적으로 가상공간 디스플레이 제어장치(1)가 각 화면마다 제스처를 다르게 인식하기 위한 수단이 필요하고, 본 발명의 실시예들은 이를 서로 다른 제스처 모델(35)을 이용하여 실현하였다. 따라서 제스처인식부(30)에서 제스처 모델(35)은 화면마다 구비하고, 동일한 화면에서는 왼손 및 오른손에 대하여 각각 제스처 모델(35)을 더 구비한다.
이제 제스처인식부(30)가 동작하는 것을 순서대로 설명하고자 한다.
먼저, 제스처인식부(30)에서 양손의 그립 상태를 판단하는데 본 발명의 실시예와 같이 키넥트를 이용하여 영상을 입력받은 경우는 영상 정보에서 직접 그립 여부 정보를 알 수 있다. 그 외의 경우는 입력 장치에 따라 구현이 달라질 것이며, 영상에서 컬러 추출 방법으로 양손의 모양을 추출하여 그립 상태를 판단할 수 있는 등 다양한 방법이 적용될 수 있다.
그립 상태를 판단한 다음, 제스처인식부(30)는 그립 상태인 손의 종류에 따라 양손의 움직임에 대한 궤적을 사용자의 시선 방향과 수직인 2차원 스크린에 투영시켜 2차원 좌표를 저장한다. 2차원 좌표는 단위 방향벡터로 변환하기 위한 것이고, 하나의 궤적에 대하여 단위 방향벡터의 순열로 구성된 체인코드를 생성한다. 3차원 궤적을 2차원 스크린에 투영시키는 것은 2차원 스크린을 일정 크기의 격자 공간으로 분할하고, 영상에서 추출한 궤적을 구성하는 3차원 좌표에 대응되도록 격자 공간의 좌표를 순서대로 저장함으로써 구체화할 수 있다. 분할하는 정도는 구현되는 디스플레이 장치 및 사용자의 움직임이 가능한 정도에 따라 결정될 수 있다.
도 4는 격자 공간으로 분할된 2차원 스크린에서 사용자의 움직임을 따라 대응되는 격자 공간 정보를 순차적으로 기록한 것을 나타낸 그림이다. 도 4의 경우 스크린을 가로 10개, 세로 6개로 분할하였다. 격자 공간은 2차원 좌표로 구성될 수 있고, 도면에서는 이를 간략히 표현하여 각 격자 공간마다 순서 번호를 부여하였다.
손의 움직임을 따라 격자 공간에 해당하는 좌표를 저장한 다음, 저장된 모든 좌표들에 대하여 해당 좌표 및 이전 좌표에 대한 상대적 벡터를 계산하여 단위 방향벡터로 분류한다. 단위 방향벡터는 기본적으로 8방향 벡터를 이용할 수 있으며, 도 5와 같다. 8방향 벡터보다 더 세분화한 방향 벡터를 이용할 수도 있을 것이며 이는 디스플레이할 화면의 크기나 사용할 제스처의 복잡도에 따라 결정될 수 있다.
사용자 제스처는 직선 움직임과 곡선 움직임을 모두 포함하기 때문에 이를 한번에 인식하는 것은 쉽지 않다. 구체적으로 본 발명의 실시예들은 격자공간을 활용하기 때문에 대각선방향의 ②, ④, ⑥, ⑧번 방향 단위벡터가 ①, ③, ⑤, ⑦번 방향 단위벡터의 조합으로 인식되는 문제가 발생한다. 따라서 이를 해결하기 위해 제스처인식부(30)는 해당 좌표에 대한 이전 좌표와 다음 좌표가 대각선 좌표에 해당하는 경우 가장 최근에 저장된 방향벡터가 대각선벡터가 아닌 경우 대각선벡터로 변경하여 저장한다. 이는 대각선방향 단위벡터를 정확히 인식하고, ③번 방향 단위벡터와 ①번 방향 단위벡터가 연속해서 만들어지는 경우와 같이 손의 움직임이 꺽어지는 부분을 대각선처리하기 위함이다. 따라서 손의 움직임의 방향이 바뀌는 경우 대각선으로 보아 제스처를 보다 단순화시키는 것이다. 이와 같이 본 발명의 실시예들에서 대각선처리를 하기 때문에 직선 움직임의 제스처와 곡선 움직임의 제스처를 한번에 인식하여 단순화시킬 수 있게 된다.
도 6a는 9개의 격자 공간으로 분할한 2차원 스크린을 이용하여 손의 움직임에 대한 체인코드를 생성하는 예시를 나타낸 것이다. 예시된 손의 움직임은 사람의 눈으로 판단하기에 중심에서 오른쪽 아래로 내리는 ④번 방향 단위벡터에 해당한다. 다만, 사람의 움직임은 미세한 차이들이 발생하기 때문에 직선이 아닌 꾸불꾸불한 선의 형태가 된다. 먼저, 6a의 각 단계와 같이 손의 움직임에 따라 좌표를 저장하고 중복되는 좌표는 제거하여 간단히 하면 최종 결과물은 5-8-9의 좌표가 된다.
도 6b는 저장된 좌표에 대해 8방향 단위벡터로 구분하는 예시이다. 도 6a에서 저장된 5-8-9 좌표에 대해 각 좌표마다 해당 좌표 및 이전 좌표에 대한 상대적 벡터를 계산한다. 5-8은 위에서 아래로 내려하는 방향인 ⑤번 방향 단위벡터에 해당하고, 8-9는 오른쪽으로 스와이프하는 ③번 방향 단위벡터에 해당한다. 이때 이전 좌표인 5와 다음 좌표인 9가 대각선에 위치한 격자 공간에 해당하고, 이전 단위벡터가 ②, ④, ⑥, ⑧번 방향 단위 벡터들 중의 하나가 아니기 때문에 ③번 방향 단위벡터를 저장하지 않고 이전 단위벡터인 ⑤번 방향 단위벡터를 ④번 방향 단위벡터로 변경하여 저장한다. 예시에서 확인할 수 있듯이 손의 움직임의 시작부분에 미세한 움직임이 있지만 하나의 격자 공간에 포함되는 정도라면 중복 데이터로 간주하여 제거하고 정의된 데이터 중에서 중심에서 오른쪽으로 쓸어내리는 제스처를 식별하게 된다.
제스처인식부는(30)는 체인코드가 생성하고나서 그립 상태, 좌표 및 체인코드에 제스처 모델(35)을 적용하여 제스처를 인식한다. 제스처 모델(35)은 제스처 학습 모델을 말하는데 제스처의 특성상 실제로 다양한 움직임이 하나의 제스처로 인식되게 하기 위해 필요하다. 사람마다 제스처를 취할 때 실제 움직임은 물리적으로 다르게 취해지고 동일한 사람이라도 매 행위마다 다르게 움직이기 때문이다. 제스처 모델(35)은 은닉 마르코프 모델(Hidden Markov Model, HMM)을 이용할 수 있다. 은닉 마르코프 모델은 일종의 오토마타로서 모델을 구성하고 있는 상태들 간의 전이가 특정한 확률 값을 통해서 이루어지는 것으로 순차적 데이터를 처리하기에 적합한 모델이다. 따라서 음성데이터와 같은 순차적 데이터를 인식하는데 널리 사용되고 있다. 본 발명의 실시예에서는 은닉 마르코프 모델과 Baum-Welch 알고리즘을 사용하여 제스처 모델(35)을 구현하였다. HMM에서 상태의 종류를 결정하고, 저장된 학습 데이터의 개수에 따라 정확도가 달라질 수 있기 때문에 실험적으로 그 값을 결정한다.
앞서 설명한 바와 같이 제스처 모델(35)은 화면마다 상이하게 구비되고, 동일한 화면에서도 왼손 및 오른손에 따라 상이한 제스처 모델(35)이 구비된다. 화면마다 다른 기능을 제공함에 따라서 제스처 종류를 구분하게 하기 위함이다. 또한, 디스플레이되는 화면은 각각 다른 실감형 컨텐츠를 포함할 수 있기 때문에 해당 화면마다 필요한 제스처의 종류가 달라지고 동일한 제스처라 할지라도 화면에 따라서 달리 취급될 필요가 있기 때문이다.
복수의 제스처 모델(35)들 중에서 제스처 모델(35)을 적용할 때는 현재 디스플레이되고 있는 화면에 대응되는 제스처 모델(35)을 적용하며, 양손이 모두 그립상태인 경우 각각의 손에 대응되는 제스처 모델(35)을 적용한다. 이는 화면마다 다르게 제스처를 인식하게 하고, 한 화면에서도 양손의 움직임을 각각 식별할 수 있도록 한다.
제스처의 패턴에 따라서 HMM의 상태의 개수를 설정하고, 각 제스처마다 학습 데이터들을 저장한다. 본 발명의 실시예에서는 2 ~ 8개의 상태를 설정하고, 각 제스처마다 40개의 데이터를 사용하였다.
수학식 1과 같이 사용자의 손동작에 의해 생성된 체인코드로 계산한 제스처 모델 대한 우도(Likelihood) 확률을 계산하고, 최댓값을 갖는 제스처 모델(35)을 사용자가 취한 제스처(Gesture q)로 분류할 수 있다.
Figure 112014095579778-pat00001
수학식1의 변수의 설명은 다음과 같다.
Figure 112014095579778-pat00002
는 손 동작에 대한 벡터체인코드이고,
Figure 112014095579778-pat00003
는 학습된 제스처 모델이며,
Figure 112014095579778-pat00004
는 제스처에 대한 사전확률이다. 수학식 1과 같이 손의 움직임에 따라 제스처를 인식하는데 양손을 그립한 상태로 양손 움직임 모두를 제스처로 인식하는 경우는 왼손 및 오른손 각각의 움직임에 따라 생성된 체인코드를 각각의 손에 대응되는 제스처 모델(35)에 각각 적용시킴으로써 한손 제스처 인식과 동일하게 제스처를 인식한다. 그러므로 본 발명의 실시예들은 양손이 모두 그립 상태인 경우 왼손 및 오른손에 대하여 각각 제스처 모델(35)을 더 구비하고, 양손의 움직임에 대하여 각각 제스처를 인식하는 것을 특징으로 할 수 있다.
또한, 제스처인식부(30)는 동일한 방향벡터의 조합을 가지는 두 체인코드가 제스처의 시작 좌표와 마지막 좌표가 다른 경우에 다른 제스처로 인식한다. 동그라미와 영문자 M을 그리는 움직임은 상대벡터만을 이용했기 때문에 기울기의 변화가 유사하여 동일한 체인코드를 생성하게 된다. 이를 해결하기 위해 움직임의 처음과 마지막에 해당하는 시작 좌표와 마지막 좌표를 참고하여 양자를 구분한다.
제어부(40)는 이벤트 신호 및 인식된 제스처에 따라 화면 또는 화면을 구성하는 가상객체의 값을 변경하거나 화면에서 제공하는 메뉴를 선택하는 기능을 한다. 이벤트 신호가 있는 경우 복수의 화면들 중에서 하나의 화면을 선택하여 화면을 변경하고, 이벤트 신호가 없는 경우 현재 디스플레이되고 있는 화면을 기준으로 인식된 제스처에 따라 새로운 화면을 선택하여 화면을 변경하거나 화면에서 제공하는 메뉴를 선택하거나 또는 화면을 구성하는 가상객체의 설정을 변경한다. 제스처에 따른 기능은 가상공간 디스플레이 제어장치(1)가 제공하는 전체 기능 중에서 개발자가 미리 대응관계를 정의하여 DB(45)에 저장되는 것이 일반적이다. 따라서 제어부(40)는 인식된 제스처와 발생한 이벤트 신호의 두 가지 요인에 따라 DB(45)의 대응관계를 참조하여 디스플레이할 화면, 구성 및 메뉴를 제어한다. 구체적인 예로써 도 3a, 도 3b, 및 도 3c를 참조하면 특정 제스처에 대하여 대응되는 기능이 정해져 DB(45)에 미리 저장될 수 있다.
가상공간 디스플레이 제어장치(1)가 디스플레이할 수 있는 복수의 화면은 미리 결정되어 있으며, 복수의 화면은 현실시계를 투영하여 가상공간을 구성한 것이기 때문에 서로 연결된 관계를 가진다. 인테리어 시뮬레이션 시스템에서 현관과 거실이 연결되어 각각 화면을 구성하는 것이 그 예이다. 따라서 현재 디스플레이되고 있는 화면과 연결된 복수의 화면 중에서 인식된 제스처 또는 최종 좌표에 따라 다음 화면을 선택할 수 있다. 화면을 구성하는 가상객체의 설정은 제스처의 시작 좌표에 대응되는 가상 객체를 선택하고 인식된 제스처에 따라 미리 정의된 기능에 의해 선택된 가상객체의 상태, 위치 또는 크기를 변경하는 것을 특징으로 할 수 있다. 예를 들어, 인테리어 시뮬레이션 시스템에서 거실화면을 현재 디스플레이하고 있고 사용자가 양손을 화면의 쇼파를 가리키면서 양손을 그립하고 도 3c의 소품 방향 조절 제스처를 취하면 해당 제스처를 식별하여 쇼파의 위치를 변경하는 기능을 수행하게 되는 것이다.
출력부(50)는 제어부(40)에 의해 변경된 설정 값을 디스플레이 장치(3)에 출력한다. 디스플레이 장치(3)는 인테이어 시뮬레이션 시스템과 같이 사용자에게 2차원 혹은 3차원 영상으로 화면을 디스플레이하는 장치를 말한다. TV, 모니터 등과 같이 이미지를 재생할 수 있는 수단이 디스플레이 장치(3)가 될 수 있다.
도 7은 본 발명의 다른 실시예에 따른 가상공간 디스플레이 장치의 제어 방법을 나타낸 흐름도이다. 도 7의 각 단계는 도 1의 가상공간 디스플레이 제어장치(1)의 각 구성요소와 대응되는바, 중복되는 설명은 기재하지 않고 대응관계를 중심으로 기술한다.
S710 단계는 입력부가 사용자를 추적하여 촬영한 영상을 RGB-D 카메라로부터 입력받아 상기 영상에서 상기 사용자의 얼굴 및 몸의 관절에 대한 움직임 정보를 추출한다. 도 1의 입력부(10)와 대응되는 구성이다.
S720 단계는 추출된 얼굴의 회전 각도 또는 상기 사용자의 걸음과 관련된 하나 이상의 관절의 변화가 미리 설정된 임계치를 넘는 경우 감지부가 사용자의 이동에 따른 화면 전환을 나타내는 이벤트 신호를 발생시킨다. 사용자의 걸음과 관련된 관절은 어깨, 허리 및 양손의 관절에 해당하고 관절들의 상대적 변화 값에 따라 사용자가 걸어가는 것인지를 판단한다. 이벤트 신호는 상기 얼굴 또는 관절의 최종 좌표값과 현재 디스플레이되고 있는 화면 정보를 포함하는 것을 특징으로 할 수 있다. 도 1의 감지부(20)와 대응되는 구성이다.
S730 단계에서 이벤트 신호가 발생했는지 여부를 판단한다. 이벤트 신호가 발생한 경우 S750 단계로 이동하고, 그렇지 않은 경우 S740 단계로 이동한다.
S740 단계는 몸의 관절 정보, 특히 손의 관절 정보를 분석하여 제스처를 인식한다. 도 8은 상기 단계의 세부 단계를 나타낸 흐름도이다.
구체적으로 상기 단계에서는 제스처인식부가 상기 독출된 움직임 정보를 분석하여 사용자의 양손에 대한 그립 상태를 판단하고(S742 단계), 그립 상태인 손의 종류에 따라 양손의 움직임에 대한 궤적을 상기 사용자의 시선 방향과 수직인 2차원 스크린에 투영(S744 단계)시킨 2차원 좌표를 이용하여 단위 방향벡터로 구성된 체인코드를 생성(S746 단계)한다. 그리고 양손의 그립 상태, 2차원 좌표 및 체인코드에 대하여 제스처 학습 모델을 나타내는 제스처 모델을 적용하여 사용자의 양손의 움직임에 대응되는 제스처를 인식한다. 이때 양손 또는 한손이 그립 상태에서 해제되는 동안의 상기 양손의 움직임을 하나의 제스처로 인식한다. 또한, 제스처 모델은 화면마다 다른 것을 구비하고, 동일한 화면에서 왼손 및 오른손에 대하여 각각 제스처 모델을 더 구비한다. 제스처 모델들 중에서 현재 디스플레이되고 있는 화면에 대응되는 제스처 모델을 적용하고, 양손이 모두 그립 상태인 경우 각각의 손에 대응되는 제스처 모델을 적용하여 양손의 움직임에 대하여 각각 제스처를 인식할 수 있다.
체인코드를 생성하는 것은 2차원 스크린을 일정 크기의 격자 공간으로 분할하고, 궤적을 구성하는 3차원 좌표에 대응되도록 격자 공간의 좌표를 순서대로 저장하여 저장된 모든 좌표들에 대하여 해당 좌표 및 이전 좌표에 대한 상대적 벡터를 계산하여 단위 방향벡터로 분류함으로써 생성할 수 있다. 이때 해당 좌표에 대한 이전 좌표와 다음 좌표가 대각선 좌표에 해당하는 경우 가장 최근에 저장된 방향벡터가 대각선벡터가 아닌 경우 대각선벡터로 변경하여 저장하고, 동일한 방향벡터의 조합을 가지는 두 체인코드가 제스처의 시작 좌표와 마지막 좌표가 다른 경우에 다른 제스처로 인식한다. 도 1의 제스처인식부(30)와 대응되는 구성이다.
S750 단계는 이벤트 신호에 의한 경우 제어부가 복수의 화면들 중에서 하나의 화면을 선택하여 화면을 변경하고, 그렇지 않은 경우 현재 디스플레이되고 있는 화면을 기준으로 S740 단계에서 인식된 제스처에 따라 새로운 화면을 선택하여 화면을 변경하거나 화면에서 제공하는 메뉴를 선택하거나 또는 화면을 구성하는 가상객체의 설정을 변경한다. 변경될 화면을 선택하는 것은 가상 디스플레이 장치가 제공하는 기능에 따라 미리 제스처와 기능의 대응관계로부터 결정되며, 구체적으로 현재 디스플레이되고 있는 화면과 연결된 복수의 화면 중에서 제스처 또는 최종 좌표에 따라 다음 화면을 선택할 수 있고, 인식된 제스처에 따라 제스처의 시작 좌표에 대응되는 가상 객체를 선택하고 상기 선택된 가상객체의 상태, 위치 또는 크기를 변경할 수 있다. 이는 도 1의 제어부(40)와 대응되는 구성이다.
S760 단계에서 출력부가 상기 제어부에 의해 변경된 설정 값을 출력한다. 출력된 정보를 디스플레이 장치가 받아서 이를 사용자에게 디스플레이하게 될 것이다. 이는 도 1의 출력부(50)와 대응되는 구성이다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
1: 가상공간 디스플레이 제어장치
10: 입력부
20: 감지부
30: 제스처인식부 35: 제스처 모델들
40: 제어부 45: DB
50: 출력부
2: RGB-D 카메라
3: 디스플레이 장치

Claims (18)

  1. 사용자를 추적하여 촬영한 영상을 입력받아 상기 영상에서 상기 사용자의 얼굴 및 몸의 관절에 대한 움직임 정보를 추출하는 입력부;
    얼굴의 회전 각도 또는 사용자의 걸음과 관련된 하나 이상의 관절의 변화가 미리 설정된 임계치를 넘는 경우 사용자의 이동에 따른 화면 전환을 나타내는 이벤트 신호를 발생시키는 감지부;
    사용자의 양손에 대한 그립(Grip) 상태를 판단하고, 그립 상태인 손의 종류에 따라 사용자의 양손의 움직임에 대한 궤적을 사용자의 시선 방향과 수직인 2차원 스크린에 투영시킨 2차원 좌표를 이용하여 단위 방향벡터로 구성된 체인코드를 생성하고, 상기 양손에 대한 그립 상태, 상기 2차원 좌표 및 상기 체인코드에 대하여 제스처 학습 모델을 나타내는 제스처 모델을 적용하여 상기 사용자의 양손의 움직임에 대응되는 제스처를 인식하는 제스처인식부;
    상기 이벤트 신호 및 상기 인식된 제스처에 따라 화면, 화면의 메뉴 또는 화면을 구성하는 가상객체 중 어느 하나의 설정을 변경하는 제어부; 및
    상기 제어부에 의해 변경된 설정 값을 출력하는 출력부;를 포함하는 가상공간 디스플레이 제어장치.
  2. 제 1 항에 있어서,
    상기 감지부에서 상기 사용자의 걸음과 관련된 관절은 어깨, 허리 및 양손의 관절이고, 상기 관절들의 상대적 변화 값에 따라 사용자가 걸어가는 것인지 여부를 판단하는 것을 특징으로 하는 가상공간 디스플레이 제어장치.
  3. 제 1 항에 있어서,
    상기 감지부에서 상기 이벤트 신호는 상기 얼굴 또는 상기 관절의 최종 좌표값과 현재 디스플레이되고 있는 화면 정보를 포함하는 것을 특징으로 하는 가상공간 디스플레이 제어장치.
  4. 제 1 항에 있어서,
    상기 제스처인식부는 양손 또는 한손이 그립 상태에서 해제되는 동안의 양손의 움직임을 하나의 제스처로 인식하는 것을 특징으로 하는 가상공간 디스플레이 제어장치.
  5. 제 1 항에 있어서,
    상기 제스처인식부에서 서로 다른 복수의 제스처 모델들 중에서 현재 디스플레이되고 있는 화면에 대응하는 제스처 모델이 적용되고, 동일한 화면에서 왼손 및 오른손에 대하여 각각 제스처 모델을 적용하는 것을 특징으로 하는 가상공간 디스플레이 제어장치.
  6. 제 5 항에 있어서,
    상기 제스처 모델들 중에서 현재 디스플레이되고 있는 화면에 대응되는 제스처 모델을 적용하며, 양손이 모두 그립 상태인 경우 각각의 손에 대응되는 제스처 모델을 적용하는 것을 특징으로 하는 가상공간 디스플레이 제어장치.
  7. 제 1 항에 있어서,
    상기 제스처인식부는 상기 2차원 스크린을 일정 크기의 격자 공간으로 분할하고, 상기 궤적을 구성하는 3차원 좌표에 대응되도록 상기 격자 공간의 좌표를 순서대로 저장하여 상기 저장된 모든 좌표들에 대하여 해당 좌표 및 이전 좌표에 대한 상대적 벡터를 계산하여 상기 단위 방향벡터로 분류하는 것을 특징으로 하는 가상공간 디스플레이 제어장치.
  8. 제 7 항에 있어서,
    상기 제스처인식부는 상기 해당 좌표에 대한 이전 좌표와 다음 좌표가 대각선 관계에 해당하고 가장 최근에 저장된 방향벡터가 대각선벡터가 아닌 경우 대각선벡터로 변경하여 저장하는 것을 특징으로 하는 가상공간 디스플레이 제어장치.
  9. 제 1 항에 있어서,
    상기 제스처인식부는 동일한 방향벡터의 조합을 가지는 두 체인코드가 상기 양손의 움직임의 시작 좌표와 마지막 좌표가 다른 경우에 다른 제스처로 인식하는 것을 특징으로 하는 가상공간 디스플레이 제어장치.
  10. 제 1 항에 있어서,
    상기 제어부는 현재 디스플레이되고 있는 화면과 연결된 화면들 중에서 상기 인식된 제스처 또는 상기 최종 2차원 좌표에 따라 다음 화면을 선택하여 화면의 설정을 변경하는 것을 특징으로 하는 가상공간 디스플레이 제어장치.
  11. 제 1 항에 있어서,
    상기 제어부는 상기 인식된 제스처에 따라 상기 2차원 좌표 중 시작 좌표에 대응되는 가상객체를 선택하고 상기 선택된 가상객체의 상태, 위치 또는 크기를 변경하는 것을 특징으로 하는 가상공간 디스플레이 제어장치.
  12. 입력부가 사용자를 추적하여 촬영한 영상을 입력받아 상기 영상에서 상기 사용자의 얼굴 및 몸의 관절에 대한 움직임 정보를 추출하는 단계;
    상기 추출된 움직임 정보에서 얼굴의 회전 각도 또는 걸음과 관련된 하나 이상의 관절의 변화가 미리 설정된 임계치를 넘는 경우 감지부가 사용자의 이동에 따른 화면 전환을 나타내는 이벤트 신호를 발생시키는 단계;
    상기 이벤트 신호가 있는 경우 제어부가 상기 이벤트 신호에 따라 화면을 변경하는 단계;
    상기 이벤트 신호가 없는 경우 제스처인식부가 상기 추출된 움직임 정보를 분석하여 사용자의 양손에 대한 그립(Grip) 상태를 판단하고, 그립 상태인 손의 종류에 따라 사용자의 양손의 움직임에 대한 궤적을 사용자의 시선 방향과 수직인 2차원 스크린에 투영시킨 2차원 좌표를 이용하여 단위 방향벡터로 구성된 체인코드를 생성하고, 상기 양손에 대한 그립 상태, 상기 2차원 좌표 및 상기 체인코드에 대하여 제스처 학습 모델을 나타내는 제스처 모델을 적용하여 상기 사용자의 양손의 움직임에 대응되는 제스처를 인식하는 단계;
    상기 제어부가 현재 디스플레이되고 있는 화면을 기준으로 상기 인식된 제스처에 따라 화면, 화면의 메뉴 또는 화면을 구성하는 가상객체 중 어느 하나의 설정을 변경하는 단계; 및
    출력부가 상기 제어부에 의해 변경된 설정 값을 출력하는 단계;를 포함하는 가상공간 디스플레이 장치의 제어방법.
  13. 제 12 항에 있어서,
    상기 이벤트 신호를 발생시키는 단계에서 상기 사용자의 걸음과 관련된 관절은 어깨, 허리 및 양손의 관절에 해당하고 상기 관절들의 상대적 변화 값에 따라 사용자가 걸어가는 것인지 여부를 판단하며, 상기 이벤트 신호는 상기 얼굴 또는 상기 관절의 최종 좌표값과 현재 디스플레이되고 있는 화면 정보를 포함하는 것을 특징으로 하는 가상공간 디스플레이 장치의 제어방법.
  14. 제 12 항에 있어서,
    상기 제스처를 인식하는 단계는 양손 또는 한손이 그립 상태에서 해제되는 동안의 양손의 움직임을 하나의 제스처로 인식하는 것을 특징으로 하는 가상공간 디스플레이 장치의 제어방법.
  15. 제 12 항에 있어서,
    상기 제스처를 인식하는 단계에서 서로 다른 복수의 제스처 모델들 중에서 현재 디스플레이되고 있는 화면에 대응하는 제스처 모델이 적용되고, 동일한 화면에서 왼손 및 오른손에 대하여 각각 제스처 모델을 더 구비하며,
    양손이 모두 그립 상태인 경우 각각의 손에 대응되는 제스처 모델을 적용하는 것을 특징으로 하는 가상공간 디스플레이 장치의 제어방법.
  16. 제 12 항에 있어서,
    상기 제스처를 인식하는 단계는 상기 2차원 스크린을 일정 크기의 격자 공간으로 분할하고, 상기 궤적을 구성하는 3차원 좌표에 대응되도록 상기 격자 공간의 좌표를 순서대로 저장하여 상기 저장된 모든 좌표들에 대하여 해당 좌표 및 이전 좌표에 대한 상대적 벡터를 계산하여 상기 단위 방향벡터로 분류하는 것을 특징으로 하는 가상공간 디스플레이 장치의 제어방법.
  17. 제 16 항에 있어서,
    상기 제스처를 인식하는 단계는 상기 해당 좌표에 대한 이전 좌표와 다음 좌표가 대각선관계에 해당하고 가장 최근에 저장된 방향벡터가 대각선벡터가 아닌 경우 대각선벡터로 변경하여 저장하는 것을 특징으로 하는 가상공간 디스플레이 장치의 제어방법.
  18. 제 12 항에 있어서,
    상기 제스처를 인식하는 단계는 동일한 방향벡터의 조합을 가지는 두 체인코드가 상기 양손의 움직임의 시작 좌표와 마지막 좌표가 다른 경우에 다른 제스처로 인식하는 것을 특징으로 하는 가상공간 디스플레이 장치의 제어방법.
KR1020140134925A 2014-10-07 2014-10-07 Nui 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법 KR101525011B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140134925A KR101525011B1 (ko) 2014-10-07 2014-10-07 Nui 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140134925A KR101525011B1 (ko) 2014-10-07 2014-10-07 Nui 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법

Publications (1)

Publication Number Publication Date
KR101525011B1 true KR101525011B1 (ko) 2015-06-09

Family

ID=53503903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140134925A KR101525011B1 (ko) 2014-10-07 2014-10-07 Nui 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법

Country Status (1)

Country Link
KR (1) KR101525011B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108243293A (zh) * 2016-12-23 2018-07-03 炬芯(珠海)科技有限公司 一种基于虚拟现实设备的图像显示方法及***
KR20180131507A (ko) * 2017-05-31 2018-12-10 충남대학교산학협력단 이진 탐색 기반의 모션방향 검색장치
CN116501234A (zh) * 2023-06-26 2023-07-28 北京百特迈科技有限公司 一种用户择偶意愿快速采集方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130111248A (ko) * 2010-06-29 2013-10-10 마이크로소프트 코포레이션 골격 관절 인식 및 트래킹 시스템
KR20140028064A (ko) * 2011-06-06 2014-03-07 마이크로소프트 코포레이션 펼친 손 또는 오므린 손의 인식 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130111248A (ko) * 2010-06-29 2013-10-10 마이크로소프트 코포레이션 골격 관절 인식 및 트래킹 시스템
KR20140028064A (ko) * 2011-06-06 2014-03-07 마이크로소프트 코포레이션 펼친 손 또는 오므린 손의 인식 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108243293A (zh) * 2016-12-23 2018-07-03 炬芯(珠海)科技有限公司 一种基于虚拟现实设备的图像显示方法及***
KR20180131507A (ko) * 2017-05-31 2018-12-10 충남대학교산학협력단 이진 탐색 기반의 모션방향 검색장치
KR102095235B1 (ko) * 2017-05-31 2020-04-01 충남대학교산학협력단 이진 탐색 기반의 모션방향 검색장치
CN116501234A (zh) * 2023-06-26 2023-07-28 北京百特迈科技有限公司 一种用户择偶意愿快速采集方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US10664060B2 (en) Multimodal input-based interaction method and device
US10761612B2 (en) Gesture recognition techniques
US10394334B2 (en) Gesture-based control system
Rautaray Real time hand gesture recognition system for dynamic applications
US8457353B2 (en) Gestures and gesture modifiers for manipulating a user-interface
KR101956325B1 (ko) 손가락 인식 및 트래킹 시스템
US20110289455A1 (en) Gestures And Gesture Recognition For Manipulating A User-Interface
US20130335318A1 (en) Method and apparatus for doing hand and face gesture recognition using 3d sensors and hardware non-linear classifiers
US10416834B1 (en) Interaction strength using virtual objects for machine control
AU2012268589A1 (en) System for finger recognition and tracking
CN109145802B (zh) 基于Kinect的多人手势人机交互方法及装置
WO2018000519A1 (zh) 一种基于投影的用户交互图标的交互控制方法及***
KR101525011B1 (ko) Nui 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법
Rehman et al. Two hand gesture based 3d navigation in virtual environments
KR20160141023A (ko) 액션이벤트·실감미디어컨텐츠연동을 수행하는 비접촉 스마트제스처인식장치 및 방법
KR20130066812A (ko) 동작 인식 방법, 장치 및 이 방법을 수행하는 컴퓨터 판독 가능한 기록 매체
Abdallah et al. An overview of gesture recognition
KR101447958B1 (ko) 신체 부분 검출 방법 및 장치
CN113807280A (zh) 一种基于Kinect的虚拟船舶机舱***与方法
Leite et al. A system to interact with CAVE applications using hand gesture recognition from depth data
Piumsomboon Natural hand interaction for augmented reality.
Bernardes et al. Comprehensive model and image-based recognition of hand gestures for interaction in 3D environments
Zhang et al. Free-hand gesture control with" touchable" virtual interface for human-3DTV interaction
Kolhekar et al. A reliable hand gesture recognition system using multiple schemes
Prema et al. Gaming using different hand gestures using artificial neural network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180430

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 5