KR102160236B1 - 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 방법, 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 장치 - Google Patents

단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 방법, 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 장치 Download PDF

Info

Publication number
KR102160236B1
KR102160236B1 KR1020187012787A KR20187012787A KR102160236B1 KR 102160236 B1 KR102160236 B1 KR 102160236B1 KR 1020187012787 A KR1020187012787 A KR 1020187012787A KR 20187012787 A KR20187012787 A KR 20187012787A KR 102160236 B1 KR102160236 B1 KR 102160236B1
Authority
KR
South Korea
Prior art keywords
virtual
virtual reality
pointer
single camera
user
Prior art date
Application number
KR1020187012787A
Other languages
English (en)
Other versions
KR20180053416A (ko
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 주식회사 딥픽셀
Publication of KR20180053416A publication Critical patent/KR20180053416A/ko
Application granted granted Critical
Publication of KR102160236B1 publication Critical patent/KR102160236B1/ko

Links

Images

Classifications

    • G06K9/00355
    • 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
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • G06K9/00201
    • G06K9/46
    • G06K9/481
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • 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/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

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)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Position Input By Displaying (AREA)

Abstract

본 발명에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법은, 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 3차원 포인터 좌표를 획득하는 단계, 단일 카메라와 가상현실 장치 사이의 거리 인자(factor) 및 사용자의 신체 특성에 따라 도출된 현실공간의 입력 범위를 포함하는 사용자 인자에 기초하여 3차원 포인터 좌표를 가상 3차원 포인터 좌표로 변환하는 단계, 및 변환된 가상 3차원 포인터 좌표를 가상현실 장치에 표시하는 단계를 포함한다.

Description

단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 방법, 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 장치
본 발명의 다양한 실시예들은 단일 카메라를 기반으로 획득된 이미지를 분석하여 3차원 위치를 추정하며 추정된 위치를 가상현실 좌표로 변환하여 가상현실 인터페이스를 구현하는 방법, 및 이러한 방법을 실행하기 위한 프로그램을 저장한 기록매체, 및 단일 카메라 기반의 가상현실 인터페이스 구현 장치와 관련된다.
가상현실(Virtual Reality, VR)을 체험하기 위하여 고글 형태의 HMD(Head Mounted Display)를 착용하는 방식이 널리 활용되고 있다. 사용자는 가상공간의 중심점에 위치한 응시 포인터(Gaze pointer, 또는 reticle)를 이용하여 가상현실의 객체나 UI(User Interface) 요소들을 제어할 수 있다.
일반적인 가상현실 장치들은 머리의 움직임에 따라 가상공간을 적절히 렌더링(rendering)하는데 이러한 과정에서 응시 포인터는 항상 가상공간의 중심점에 위치하게 된다.
이러한 응시 포인터에 기반한 인터페이스를 사용하는 경우에 있어서, 사용자는 머리를 움직여 가상공간에 배치된 특정 객체 위에 응시 포인터를 위치시켜 객체를 활성화시킨 이후, 응시 포인터를 해당 객체 위에 일정 시간 이상 머무르게 하여 해당 객체의 이벤트(마우스의 "클릭" 동작, 또는 터치패드의 "터치" 동작에 상응)를 실행할 수 있는 방식이 하나의 예로 제안되고 있다.
이 외에 메타(meta) 또는 유니버설(universal) 메뉴들, 예를 들어 구동중인 애플리케이션의 종료, 가상현실 시스템의 종료, 해당 화면의 캡쳐 또는 녹화, 다른 애플리케이션으로의 전환 등의 기능을 이용하고자 하는 경우에, 사용자는 HMD의 외부에 장착된 별도의 물리버튼을 이용한다.
이와 같이 응시 포인터에 기반한 인터페이스는 제한된 사용성을 가지며, 나아가 응시 포인터는 항상 사용자의 머리 방향과 일치하는 일직선상에 위치한 객체에만 접근(access)이 가능하기 때문에 가상공간에 있는 특정 객체를 선택하거나 또는 특정한 기능을 수행하기 위해서는 항상 머리 방향을 바꿔야만 하고, 더욱이 서로 다른 깊이에 위치한 객체들에 대한 개별적인 접근이 불가능하다.
결국 응시 포인터에 기반한 인터페이스를 통해서는 x. y. z 축으로의 3차원 포인터 이동을 함께 하지 못하며, 객체에 대한 선택이나 실행 이벤트만을 발생할 수 있기 때문에 가상 공간을 제어하는 데에 상당한 제약이 따른다.
한편, 영상처리 과정에서 3차원 깊이 정보를 획득하기 위해서는 구조 광(structured light), 스테레오 카메라(stereo camera), 적외선 카메라(infra-red camera), 적외선 레이저(infra-red laser)와 같은 장치를 활용하여 영상정보를 획득하고 영상을 3차원으로 복원하여 영상 내의 3차원 위치 정보를 획득할 수 있다.
다른 예로는, 사용자가 손에 입력 장갑을 끼거나 신체 일부에 3차원 마커(3-dimensional marker)를 부착하여 3차원 위치 정보를 얻는 방법도 있다.
이러한 방법 뿐만 아니라, 단일 카메라와 거울로 이루어진 장치에서 적외선 카메라로부터 얻은 영상과 거울을 통해 반사된 영상에서 얻은 영상을 이용하여 두 개의 서로 다른 시야각을 가지는 것으로 시스템을 구성하여 3차원 위치 정보를 획득하는 방법도 제안된 바 있다.
그런데 이러한 방법들은 3차원 위치 정보를 획득하기 위해 별도의 장비를 필요로 하고 영상에 대한 연산 처리 과정이 복잡하여 처리 과정에 부하가 발생할 수 있다.
본 특허출원은 2016년 9월 12일에 출원된 국제특허출원 PCT/KR2016/010273 에 대하여 우선권을 주장하며, 해당 출원은 모든 목적으로서 전체가 본 명세서에 참조로 포함된다.
본 발명은 단일 카메라를 이용하여 사용자의 손가락 위치와 위치 변화를 3차원으로 추정하여 포인터 좌표를 획득하고 이렇게 획득된 포인터 좌표를 통하여 인터페이스를 수행하는 단일 카메라 기반의 가상현실 인터페이스 구현 방법 및 가상현실 인터페이스 구현 장치를 제공한다.
또한, 본 발명은 단일 카메라를 이용하여 획득한 포인터 좌표를, 가상현실 장치 및 가상현실 장치의 사용자의 특성에 따라서 가상현실 장치에 적합한 가상 포인터 좌표로 변환하고, 포인터 좌표의 변화에 따라 해석된 동작과 연계된 명령을 수행하여 가상현실 인터페이스를 수행하는, 단일 카메라 기반의 가상현실 인터페이스 구현 방법 및 가상현실 인터페이스 구현 장치를 제공한다.
본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법은, 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 단계, 상기 단일 카메라와 상기 가상현실 장치 사이의 거리 인자(factor) 및 사용자의 신체 특성에 따라 도출된 현실공간의 입력 범위를 포함하는 사용자 인자에 기초하여 상기 포인터 좌표를 가상 포인터 좌표로 변환하는 단계, 및 상기 변환된 가상 포인터 좌표를 상기 가상현실 장치에 표시하는 단계를 포함한다.
일 실시예에 있어서, 상기 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 단계는, 상기 단일 카메라에 의해 획득된 영상을 프레임 단위로 저장하는 단계, 상기 저장된 영상에 포함된 사용자의 손모양을 구성하는 복수 개의 특징점들을 파악하여 상기 특징점들에 기초한 인식 영역을 추출하는 단계, 기 설정된 시간 구간 동안 상기 인식 영역의 특징점들로 구성된 2차원 길이 성분의 변화를 추적하는 단계, 및 상기 2차원 길이 성분의 변화에 기초하여 상기 특징점들의 3차원 좌표 변화를 해석하고, 상기 해석에 기초하여 상기 기 설정된 시간 구간 동안의 상기 특징점들의 이동 벡터를 도출함에 따라 상대적인 3차원의 상기 포인터 좌표를 획득하는 단계를 포함할 수 있다.
실시예에 따라, 상기 포인터 좌표를 가상 포인터 좌표로 변환하는 단계는, 역투영 행렬(Inverse projection matrix) 연산을 수행하여 상기 포인터 좌표를 상기 단일 카메라의 좌표계로 변환하는 단계, 상기 거리 인자에 기초하여 상기 단일 카메라의 좌표계를 상기 가상현실 장치를 중심으로 하는 현실공간의 입력범위 좌표계로 변환하는 단계, 가상공간과 현실공간의 스케일 파라미터 및 상기 사용자 인자에 기초하여 상기 현실공간의 입력범위 좌표계를 가상 입력범위 좌표계로 변환하는 단계, 및 상기 가상 입력범위 좌표계에 대하여 깊이 방향 변환을 수행하여 상기 가상 포인터 좌표로 변환하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 가상 입력범위 좌표계에 대하여 깊이 방향 변환을 수행하는 단계는, 상기 가상현실 장치의 중심과 상기 현실공간의 입력범위 좌표계의 원점 사이의 깊이 방향의 거리, 및 상기 가상현실 장치와 사용자의 시선 사이의 깊이 방향의 거리에 기초하여 상기 깊이 방향 변환을 수행하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 거리 인자는, 상기 가상현실 장치를 착용한 사용자의 시선과 상기 단일 카메라 사이의 깊이 방향의 거리에 상응하는 제1 인자, 상기 가상현실 장치의 중심과 상기 단일 카메라 사이의 상기 깊이 방향과 실질적으로 직교하는 제1 방향의 거리에 상응하는 제2 인자, 및 상기 단일 카메라의 화각(field of view)을 고려한 현실 카메라 공간과 상기 가상현실 장치의 중심 사이의 깊이 방향의 거리에 상응하는 제3 인자를 포함할 수 있다. 예를 들어, 상기 단일 카메라의 좌표를 상기 사용자의 시선을 중심으로 하는 현실공간의 입력범위 좌표계로 변환하는 단계는, 상기 제1 인자 및 제3 인자에 기초하여 깊이 방향의 변환을 수행하는 단계, 및 상기 제2 인자에 기초하여 상기 제1 방향의 변환을 수행하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 가상 입력범위 좌표계에 대하여 깊이 방향 변환을 수행하여 상기 가상 포인터 좌표로 변환하는 단계는, 상기 스케일 파라미터와 상기 제3 인자에 기초하여 깊이 방향 변환을 수행하여 상기 가상 포인터 좌표로 변환하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 가상 포인터 좌표로 표시되는 상기 사용자의 손모양의 적어도 하나의 특징점의 2차원 좌표를 상기 가상현실 장치의 시선 포인터와 일치시키는 가이드 화면을 표시하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 포인터 좌표를 상기 가상 포인터 좌표로 변환하는 단계는, 사용자 식별자에 기초하여 상기 거리 인자 및 상기 사용자 인자 중 적어도 하나를 도출하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 변환된 가상 포인터 좌표를 상기 가상현실 장치에 표시하는 단계는, 상기 변환된 가상 포인터 좌표와 상기 가상현실 장치의 선택 유닛의 좌표가 일치된 상태에서 기 설정된 포인터 동작이 수행된 경우, 상기 선택 유닛과 연계된 하부 명령을 수행하는 단계를 포함할 수 있다.
실시예에 따라, 본 발명에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법은, 상기 변환된 이동 벡터에 기초하여 상기 손모양이 지시하는 동작을 판단하여 포인터 동작으로 간주하는 단계를 더 포함할 수 있다.
일 실시예에 있어서, 상기 선택 유닛은 사용자의 시선 포인터(Gaze pointer)에 상응하며, 상기 시선 포인터와 상기 변환된 가상 포인터 좌표가 일치된 상태에서 상기 가상 포인터 좌표가 기 설정된 시간 동안 드래그(drag)되는 동작에 상응하는 포인터 동작을 수행하는 것을 따라 가상현실의 가상공간이 이동될 수 있다.
본 발명에 따른 컴퓨터로 독출 가능한 기록 매체는 상술한 단일 카메라 기반의 가상현실 인터페이스 구현 방법을 수행하는 프로그램을 기록할 수 있다.
본 발명의 일 실시예에 단일 카메라 기반의 가상현실 인터페이스 구현 장치는 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 3차원 영상 해석 수단, 상기 단일 카메라와 상기 가상현실 장치 사이의 거리 인자(factor) 및 사용자의 신체 특성에 따라 도출된 현실공간의 입력 범위를 포함하는 사용자 인자에 기초하여 상기 포인터 좌표를 가상 포인터 좌표로 변환하는 가상 포인터 좌표 변환 수단, 및 상기 변환된 가상 포인터 좌표를 상기 가상현실 장치에 표시하는 표시 수단을 포함한다.
일 실시예에 있어서, 상기 3 차원 영상 해석 수단은, 상기 단일 카메라에 의해 획득된 영상을 프레임 단위로 저장하는 영상 획득부, 상기 저장된 영상에 포함된 사용자의 손모양을 구성하는 복수 개의 특징점들을 파악하여 상기 특징점들에 기초한 인식 영역을 추출하는 영상 추출부, 기 설정된 시간 구간 동안 상기 인식 영역의 특징점들로 구성된 2차원 길이 성분의 변화를 추적하는 영상 추적부, 및 상기 2차원 길이 성분의 변화에 기초하여 상기 특징점들의 3차원 좌표 변화를 해석하고, 상기 해석에 기초하여 상기 기 설정된 시간 구간 동안의 상기 특징점들의 이동 벡터를 도출하여 상대적인 3차원 포인터 좌표를 획득하는 영상 해석부를 포함할 수 있다.
일 실시예에 있어서, 상기 가상 포인터 좌표 변환 수단은, 역투영 행렬(Inverse projection matrix) 연산을 수행하여 상기 포인터 좌표를 상기 단일 카메라의 좌표계로 변환하고, 상기 거리 인자에 기초하여 상기 단일 카메라의 좌표계를 상기 사용자의 시선을 원점으로 하는 현실공간의 입력범위 좌표계로 변환하는 현실공간 좌표 변환부, 및 가상공간과 현실공간의 스케일 파라미터 및 상기 사용자 인자에 기초하여 상기 현실공간의 입력범위 좌표계를 가상 입력범위 좌표계로 변환하고, 상기 가상 현실 입력범위 좌표계에 대하여 깊이 방향 변환을 수행하여 상기 가상 포인터 좌표로 변환하는 가상공간 좌표 변환부를 포함할 수 있다.
일 실시예에 있어서, 상기 가상 포인터 좌표 변환 수단은, 상기 거리 인자 및 사용자 인자를 사용자 별 또는 가상현실 장치 별로 관리하는 저장부를 더 포함할 수 있다.
일 실시예에 있어서, 상기 저장부는, 특정 가상현실 장치의 종류 별 단일 카메라 특성, 사용자의 신체 특성에 따른 사용자 인자 데이터베이스를 관리할 수 있다.
본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치는, 상기 변환된 이동 벡터에 기초하여 상기 손모양이 지시하는 동작을 판단하여 포인터 동작으로 간주하고 가상현실 인터페이스 동작을 수행하는 인터페이스부를 더 포함할 수 있다.
일 실시예에 있어서, 상기 인터페이스부는, 상기 변환된 가상 포인터 좌표와 상기 가상현실 장치의 선택 유닛의 좌표가 일치된 상태에서 기 설정된 포인터 동작이 수행된 경우, 상기 선택 유닛과 연계된 하부 명령을 수행할 수 있다. 예를 들어, 상기 선택 유닛은 사용자의 시선 포인터에 상응할 수 있다.
본 문서에 개시되는 다양한 실시예들에 따르면, 가상현실 장치에 구비된 단일 카메라로부터 획득된 영상을 분석하여 깊이 정보를 포함한 포인터, 예를 들어 손가락의 3차원 위치 정보를 파악할 수 있다. 따라서 별도의 장비 없이 단일 카메라로부터 획득된 영상에 기초하여 3차원 영상 해석을 수행할 수 있어, 3차원 영상 해석을 위한 연산의 복잡도를 줄이는 한편으로 가상현실 장치에서 3차원 제어가 가능하도록 한다.
본 문서에 개시되는 다양한 실시예들에 따르면, 가상현실 장치에 구비된 단일 카메라로부터 획득된 영상을 분석하여 포인터에 대한 3차원 영상 해석을 한 것을, 가상현실에 위화감없이 표시하도록 좌표계를 변환함에 따라서 가상현실 장치에 대하여 최적화된 제어 인터페이스를 제공할 수 있다. 이러한 본 발명에 따르면 가상현실 장치를 통한 인터페이스를 위해 별도의 장치를 구비할 필요가 없다.
아울러 본 문서에 개시되는 다양한 실시예들은 예시를 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치를 사용자가 사용하는 모습을 예시적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치를 간략하게 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 3차원 영상 해석 수단을 나타내는 블록도이고, 도 5는 3차원 영상 해석 방법을 설명하기 위한 흐름도이다.
도 6 및 도 7은 본 발명의 실시예들에 따라 파악되는 특징점들과 특징점들에 기초하여 영상 해석의 기준이 되는 인식 영역을 예시적으로 도시한 도면들이다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 포인터의 3차원 좌표를 해석하기 위한 일 실시예들을 나타내는 도면이다.
도 10은 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 표시 방법을 설명하기 위해 가상현실 장치를 중심으로 상부는 현실공간(Real Space, RS), 하부는 가상 공간(Virtual Space, VS)으로 가정하여 좌표계의 변환을 도시한 것이다.
도 11은 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법에 있어서, 포인터 좌표를 가상 포인터 좌표로 변환하는 단계를 설명하기 위한 흐름도이다.
도 12 내지 도 18은 가상 포인터 좌표의 다양한 변화에 따른 인터페이스 방법을 예시적으로 나타내는 도면들이다.
도 19 내지 도 21은 가상현실 인터페이스 구현 방법 및 장치에서 가상 포인터 좌표와 시선 포인터의 상호 작용에 따른 인터페이스 방법의 예들을 나타낸 도면들이다.
이하, 첨부한 도면을 참조하여 본 발명의 다양한 실시예들에 대해 상세히 설명하고자 한다. 본 문서에서 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대한 중복된 설명은 생략한다.
본 문서에 개시되어 있는 본 발명의 다양한 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 다양한 실시예들은 여러 가지 형태로 실시될 수 있으며 본 문서에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
다양한 실시예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시예들을 배제하도록 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법을 설명하기 위한 흐름도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 가상현실 인터페이스 구현 방법은, 가상현실 인터페이스 구현 장치에 구비된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 단계(S110), 단일 카메라와 가상현실 장치 사이의 거리 인자 및 사용자의 신체 특성에 따라 도출된 현실공간의 입력 범위를 포함하는 사용자 인자에 기초하여 포인터 좌표를 가상 포인터 좌표로 변환하는 단계(S120), 및 변환된 가상 포인터 좌표를 가상현실 장치를 통해 표시하는 단계(S130)를 포함할 수 있다.
실시예에 따라, 가상현실 인터페이스 구현 장치에 구비된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 단계는, 단일 카메라에 획득된 영상에 대하여 이벤트에 상응하는 포인터 동작을 분석하는 단계를 포함할 수 있다. 즉, 단일 카메라에 의해 획득된 영상을 분석함으로써 포인터 좌표를 획득하는 한편으로 기 설정된 시간 단위 동안에 포인터 좌표의 움직임을 관찰한 결과 기 저장된 명령과 연관된 포인터 동작이 발생한 것으로 분석되는 경우에 포인터 동작 결과를 제공할 수도 있다.
본 발명에 따른 가상현실 인터페이스 구현 방법은 가상현실 인터페이스 구현 장치에 의하여 구현될 수 있다. 도 2는 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치를 사용자가 사용하는 모습을 예시적으로 나타낸 도면이다.
도 2를 참조하면, 가상현실 인터페이스 구현 장치는, 가상현실 장치(100), 가상현실 장치(100)가 고정되어 사용자에게 장착될 수 있도록 구성된 고정 장치(200), 및 단일 카메라(300)를 포함할 수 있다.
단일 카메라(300)는 가상현실 장치(100)에 장착되어 사용자의 시선을 대체할 수 있다. 따라서 단일 카메라(300)는 사용자가 바라보는 방향을 향하도록 배치될 수 있으며, 단일 카메라(300)가 배치된 가상현실 장치(200)의 후면에는 디스플레이(미도시)가 구비되어 사용자에게 가상현실을 표시할 수 있다. 예를 들어, 가상현실 장치(100)가 장착된 고정 장치(200)를 한꺼번에 HMD(Head Mount Display)라 일컫기도 한다. 예를 들어, 고정 장치(200)는 가상현실(Virtual Reality, VR) 고글, 헤드기어를 포함할 수 있다.
도 2에서는 단일 카메라(300)가 가상현실 장치(200)에 장착된 것으로 도시하고 이하에서도 이를 기준으로 설명할 것이지만, 단일 카메라(300)는 고정 장치(200)에 장착되거나 독립적으로 구현될 수도 있다.
본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치는, 단일 카메라를 기반으로 사람의 손가락과 같이 특징점을 가지는 포인터를 인식하여 이의 좌표를 3차원으로 해석함에 따라서 가상현실에 가상 포인터 좌표로 표시하고 가상현실에 표시된 다양한 유닛들과 인터페이스를 수행하도록 한다. 특히 본 발명의 일 실시예에 있어서, 단일 카메라를 기반으로 획득한 영상의 3차원 해석이 가능하기 때문에 가상현실 장치를 통한 가상 포인터 좌표를 3차원으로 구현할 수 있으며, 이에 따라 가상현실의 제어를 위하여 조이스틱과 같은 제어 수단을 별도로 구비할 필요가 없다. 따라서 본 발명의 실시예에 따른 가상현실 인터페이스 구현 장치 및 가상 현실 인터페이스 구현 방법에 따르면, 가상현실에서 시선을 이동시켜 특정한 유닛을 선택하는 것과 같은 2차원의 제어에서 벗어날 수 있다.
나아가 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치와 이를 이용한 가상현실 인터페이스 구현 방법은, 단일 카메라를 통하여 획득한 영상을 사용자의 시선과 최대한 일치되도록 변환한 이후에 가상현실 좌표계로 변환하기 때문에 사용자의 시선과 제어 동작 사이의 위화감을 최소화할 수 있다.
도 2에서는 가상현실 인터페이스 구현 장치가 가상현실 장치, 고정 장치, 및 단일 카메라를 포함하는 것으로 도시하고 이에 기초하여 설명하였으나, 본 발명의 일 실시예에 따른 가상현실 인터페이스 구현 장치는 가상현실 장치와 단일 카메라와 동일한 기능을 수행하는 촬상소자를 구비하는 것으로 충분하며 이하 도 3을 참조하여 본 발명의 일 실시예에 따른 가상현실 인터페이스 구현 장치를 구체적으로 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치를 간략하게 나타낸 블록도이다.
도 2는 물리적으로 드러나는 구성만을 도시한 것이고, 도 3은 기능적인 측면에서 블록을 나누어 도시한 것이다. 도 3을 참조하면, 가상현실 인터페이스 구현 장치(10)는, 3차원 영상 해석 수단(310), 가상 포인터 좌표 변환 수단(320), 및 표시 수단(330)을 포함할 수 있다.
3차원 영상 해석 수단(310)은 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득할 수 있다. 실시예에 따라 3차원 영상 해석 수단(310)은 기 설정된 시간 동안 프레임 단위로 영상을 획득하여 저장하고 획득된 영상의 특징점을 분석함에 따라서 이동 벡터를 도출하여 단일 카메라에 의해 획득된 영상에서 3차원 포인터 좌표를 획득한다.
3차원 영상 해석 수단(310)의 구성 및 동작에 관해서는 도 4 내지 도 9를 참조하여 설명하도록 한다.
실시예에 따라, 3차원 영상 해석 수단(310)은 기 설정된 시간 동안의 포인터 좌표의 이동이 기 설정된 명령에 해당하는 포인터 동작에 상응하는 경우에 포인터 동작을 감지하여 전달할 수 있다. 포인터 동작 정보는 가상 좌표 변환수단(320)을 거쳐 인터페이스부(350)에 제공되거나, 인터페이스부(350)에 곧바로 전달될 수 있다. 실시예에 따라, 인터페이스부(350)가 자체적으로 포인터 동작을 감지할 수도 있다.
가상 포인터 좌표 변환 수단(320)은 단일 카메라(300)와 가상현실 장치(200)의 거리 인자 및 사용자의 신체 특성에 따라 도출된 현실공간의 입력 범위를 포함하는 사용자 인자에 기초하여 포인터 좌표를 가상 포인터 좌표로 변환한다. 포인터 좌표의 가상 포인터 좌표로의 변환에 대해서는 도 10 및 도 11을 참조하여 구체적으로 설명하도록 한다.
실시예에 따라, 가상 포인터 좌표 변환 수단(320)은 현실공간 좌표 변환부(321) 및 가상공간 좌표 변환부(323)을 포함할 수 있다. 현실공간 좌표 변환부(321)는 역투영 행렬(Inverse projection matrix) 연산을 수행하여 상기 포인터 좌표를 상기 단일 카메라의 좌표계로 변환하고, 상기 거리 인자에 기초하여 단일 카메라의 좌표계를 사용자의 시선을 원점으로 하는 현실공간의 입력범위 좌표계로 변환한다. 현실공간의 좌표 변환을 통하여 단일 카메라(300)와 사용자의 시선 사이의 괴리감을 없앨 수 있다.
가상공간 좌표 변환부(323)는 가상공간과 현실공간의 스케일 파라미터 및 사용자 인자에 기초하여 현실공간의 입력범위 좌표계를 가상 입력범위 좌표계로 변환하고, 가상 현실 입력범위 좌표계에 대하여 깊이 방향 변환을 수행하여 가상 포인터 좌표로 변환한다. 현실공간을 가상공간으로 변환함에 있어 가상공간과 현실공간 사이의 스케일을 조정하고 가상공간과 현실공간 사이의 입력범위를 조정함에 따라 가상공간 내에서 포인터 좌표를 가상 포인터 좌표로 자연스럽게 표시할 수 있다.
표시 수단(330)은 변환된 가상 포인터 좌표를 가상현실 장치를 통해 표시한다. 상술한 바와 같이 도 2에서 도시한 바와 같은 가상현실 장치(200)에는 디스플레이가 구비될 수 있으며 이러한 디스플레이를 통하여 가상 포인터 좌표를 사용자에게 표시할 수 있다.
실시예에 따라, 단일 카메라 기반의 가상현실 인터페이스 구현 장치(10)는 포인터 좌표를 가상 포인터 좌표로 변환하기 위하여 필요한 거리 인자와 사용자 인자를 사용자 별, 또는 가상현실 장치 별로 관리하는 저장부(340)를 더 포함할 수 있다.
단일 카메라 기반의 가상현실 인터페이스 구현 장치(10)는 저장부(340)에 저장된 거리 인자와 사용자 인자에 기초하여 사용자 별 또는 가상현실 장치 별로 상이한 인자들을 도출하여 좌표를 변환할 수 있다. 예를 들어, 특정한 사용자 별로 상이한 사용자 인자가 도출될 수 있으며 가상현실 장치 별로 상이한 거리 인자가 도출될 수 있다.
가상현실 인터페이스 구현 장치(10)는 지속적인 동작을 거치면서 축적된 데이터를 통해 저장부(340)에 저장된 사용자 인자 또는 거리 인자를 갱신할 수 있다. 실시예에 따라, 최초로 단일 카메라 기반의 가상현실 인터페이스 구현 장치(10)를 사용하는 사용자는 등록 및 보정(calibration) 과정을 거쳐 사용자 인자 및/또는 거리 인자를 설정한 후에 사용자 또는 가상현실 장치의 식별자에 연계하여 각 인자들을 저장부(340)에 기록하여 관리할 수 있다.
실시예에 따라, 가상현실 인터페이스 구현 장치(10)는 등록된 사용자와 등록되지 않은 사용자에 대하여 상이한 좌표 변환 과정을 거칠 수 있다. 예를 들어, 등록된 사용자에 대해서는 사용자 식별자 또는 가상장치 식별자를 통하여 저장부(340)에 기록된 사용자 인자 등을 모두 획득하여 좌표 변환을 수행하는 반면, 최초로 등록하는 사용자에 대해서는 거리 인자와 사용자 인자를 획득하는 과정을 거칠 수 있다.
가상현실 인터페이스 구현 장치(10)는, 사용자의 등록과 보정을 위해서 아직 3차원 값을 가지지 않는, 즉 3차원 좌표를 획득하지 못한 가상 포인터 좌표를 레이 캐스팅(Ray casting)된 좌표로 표시할 수 있다. 즉, 가상현실 장치(100)에 표시되는 가상 포인터 좌표는 z 좌표 값이 없는 (x, y) 좌표만이 표시될 수 있다. 등록 및 보정 단계가 완료되어 거리 인자와 사용자 인자의 설정이 완료되면 가상 포인터 좌표의 크기 등의 변화를 통해 2차원의 가상 포인터 좌표가 3차원의 가상 포인터 좌표로 표시할 수 있다.
실시예에 따라 가상현실 인터페이스로 좌표를 변환하기 위한 인자를 획득하는 과정에 상응하는 등록 및 보정 과정에서, 가상현실 인터페이스 구현 장치(10)는 표시 수단(330)을 통해 레이 캐스팅된 가상 포인터 좌표가 가상현실 장치의 시선 포인터와 일치시키도록 가이드 화면을 표시함으로써 사용자 인자와 거리 인자를 보다 쉽게 획득할 수 있도록 한다.
저장부(340)는 특정 가상현실 장치의 종류 별 단일 카메라 특성, 사용자의 신체 특성에 따른 사용자 인자 데이터베이스를 관리할 수 있다. 예를 들어, 저장부(340)는 가상현실 장치의 모델명에 따라 해당 모델에 장착되는 단일 카메라의 해상도 DPI(Dot per inch) 값을 관리할 수 있으며 신장(height)에 따른 어깨 너비와 팔 길이 정보, 또는 성인의 평균 신장과 같은 평균 신체 사이즈 정보를 관리할 수 있다. 이와 같은 데이터들은 거리 인자 또는 사용자 인자들을 도출할 수 있는 기본적인 정보가 되며, 저장부(340)가 거리 인자 또는 사용자 인자들이 일반적으로 가질 수 있는 값들을 관리함에 따라, 사용자로부터 최소한의 정보만 제공되는 경우에도 데이터베이스로부터 거리 인자와 사용자 인자를 추출하여 활용할 수 있다.
실시예에 따라, 단일 카메라 기반의 가상현실 인터페이스 구현 장치(10)는 인터페이스부(350)를 더 포함할 수 있다. 인터페이스부(350)는 3차원 영상 해석 수단(410)으로부터 해석된 3차원 포인터 좌표 또는 변환된 3차원의 가상 포인터 좌표에 기초하여 손모양, 즉 포인터 좌표가 지시하는 동작을 판단하여 포인터 동작으로 간주하고 가상현실에서의 인터페이스 동작을 수행할 수 있다.
예를 들어, 인터페이스부(350)는 변환된 가상 포인터 좌표와 가상현실 장치의 선택 유닛의 좌표가 일치된 상태에서 특정한 포인터 동작이 수행된 경우에는 포인터 동작에 할당된 하부 명령 또는 선택 유닛과 연계된 하부 명령을 수행하도록 할 수 있다.
예를 들어, 선택 유닛은 시선 포인터(gaze pointer)에 상응할 수 있는데, 시선 포인터에 가상 포인터 좌표가 일치된 이후에 가상 포인터 좌표를 통하여 클릭(click)과 같은 명령에 상응하는 포인터 동작이 수행되는 경우에는 전체 선택 메뉴가 디스플레이될 수 있다. 다른 예에 있어서, 시선 포인터에 가상 포인터 좌표가 일치된 이후에 가상 포인터 좌표를 통하여 드래그(drag)와 같은 명령에 상응하는 포인터 동작이 수행되는 경우에는 가상공간 자체가 변환될 수 있다.
상술한 바와 같이 실시예에 따라, 포인터 동작의 감지는 3차원 영상 해석 수단(310)에서 수행되어 인터페이스부(350)에 전달될 수도 있다.
인터페이스부(350)를 통한 포인터 동작 및 그에 따른 명령의 수행에 대해서는 도 12 내지 도 21을 참조하여 구체적으로 설명하도록 한다.
이하의 도 4 내지 도 9를 참조하여 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 단계를 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 3차원 영상 해석 수단을 나타내는 블록도이고, 도 5는 3차원 영상 해석 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 3차원 영상 해석 수단(310)은 영상 획득부(311), 영상 추출부(312), 영상 추적부(313) 및 영상 해석부(314)를 포함할 수 있다. 도 4 및 도 5를 참조하여 3차원 영상 해석 수단(310)에 의한 3차원 영상 해석 방법을 설명한다.
도 5를 참조하면, 3차원 영상 해석 수단(310)의 영상 획득부(311)는 단일 카메라에 의해 획득된 영상을 프레임 단위로 저장한다 (단계 S111).
영상 획득부(311)는 단일 카메라(300)와 같은 영상 획득 수단을 이용하여 연속적인 영상을 프레임 단위로 획득한다. 예를 들어, 영상 획득부(311)는 기 설정된 시간 동안의 동영상을 실시간으로 획득하며 획득한 영상을 캐시(cache)와 같은 저장수단에 프레임 단위로 저장할 수 있다.
본 발명의 일 실시예에 따른 3차원 영상 해석 수단(410)은 단일 카메라(300)를 통해 단일 시점(視點)에서 획득한 영상에 기초하여 영상의 3차원 좌표 변화를 추정하는 것을 특징으로 한다.
영상 획득부(311)로부터 획득된 영상을 수신한 영상 추출부(312)는 저장된 영상에 포함된 포인터, 예를 들어 손모양을 구성하는 복수 개의 특징점들을 파악하여 파악된 특징점들에 기초한 인식 영역(ROI, Region Of Interest)을 추출한다 (단계 S112).
실시예에 따라, 영상 추출부(312)는 프레임 단위의 영상에 포함된 손모양에서 복수 개의 특징점들을 파악하고 파악된 특징점들에 기초한 인식 영역(ROI)을 추출할 수 있다. 본 명세서에서 인식 영역(ROI)은 획득된 영상 중에서 특징점을 파악하여 기 설정된 시간 구간 동안에 위치 변화의 분석이 필요한 영상 영역을 지칭할 수 있다. 영상 추출부(312)는 영상 획득부(311)에서 획득한 프레임 단위의 영상에서 인식 영역을 추출할 수 있다.
본 발명에 있어서, 영상 추출부(312)는 다양한 특징점 파악 방식에 따라 특징점을 지정할 수 있으며 하나의 프레임 단위의 영상에 대해서도 서로 다른 방식으로 인식 영역을 추출할 수 있다.
본 명세서에서는 획득된 영상이 손모양을 포함하고 있는 것을 중심으로 설명하였으나 이에 한정되는 것은 아니다. 예를 들어, 영상 추출부(312)는 획득된 영상에 포함된 손모양 중에서 손가락과 손바닥을 인식하고 두 손가락의 말단의 손가락 특징점 및 두 손가락 사이의 손바닥 경계의 손바닥 특징점을 파악하여 해당 특징점들로 구성된 사각형 영역을 인식 영역으로 추출할 수 있다.
도 6 및 도 7은 본 발명의 실시예들에 따라 파악되는 특징점들과 특징점들에 기초하여 영상 해석의 기준이 되는 인식 영역을 예시적으로 도시한 도면들이다. 각 실시예들에 기초하여 특징점의 파악과 인식 영역의 추출, 2차원 길이 성분의 변화 추적, 및 3차원의 포인터 좌표의 획득에 대하여 설명하도록 한다.
도 6을 참조하면, 영상 추출부(312)는 손모양에서 엄지(thumb)과 검지(index finger)의 말단을 손가락 특징점(P1, P3)으로 파악하고, 두 손가락 사이의 손바닥 경계의 손바닥 특징점(P2)을 파악할 수 있다.
실시예에 따라 영상 추출부(312)는 손가락 특징점과 손바닥 특징점을 포함하는 사각형 영역을 구성하기 위한 가상 특징점을 설정할 수도 있다. 영상 추출부(312)는 세 특징점들(P1, P2, P3)과 함께 사각형을 구성할 수 있는 가상 특징점(P4)을 설정하고, 특징점들(P1, P2, P3, P4)로 이루어진 사각형 영역을 인식 영역(ROI)으로 추출할 수 있다.
영상 추출부(312)에서 인식 영역을 얻기 위해서 영상 처리(image processing) 알고리즘인 영역 분할(image segmentation) 알고리즘과 특징 추출(feature extraction) 알고리즘이 함께 수행될 수 있다. 영역 분할 및 특징 추출을 위해 획득된 영상을 다른 칼라 채널(color channel)로 변환하거나, 영상 필터링(image filtering) 기법을 이용하여 노이즈(noise)를 제거할 수 있다. 또는 영상 추출부(312)는 획득된 영상을 규격화(image normalization)하는 등의 영상 전-처리(image pre-processing)를 수행할 수 있다.
실시예에 따라, 영상 추출부(312)는 관측 모델(observation model)을 정의할 수 있다. 예를 들어 손톱과 손가락 부위가 일반적으로 다른 색깔을 가지는 특징을 이용하거나, 사용자의 피부색을 미리 등록하고 영상 해석을 수행할 때마다 조명에 의한 피부색의 미세한 변화를 학습하여 모델링할 수 있다.
실시예에 따라, 영상 추출부(312)는 매 프레임마다 변화하는 손가락 주변 영역의 특징 값을 추적 모델에 실시간으로 업데이트할 수 있다. 관측 모델의 정의에 따라 영상 추출부(312)는 보다 정확하게 특징점을 파악할 수 있다.
영상 획득부(311)는 별도의 저장 수단을 구비할 수 있으며, 영상 추출부(312)가 인식 영역(ROI)을 추출함으로써 영상 처리를 위한 연산 부하를 최소화할 수 있다. 예를 들어, 이하에서 설명하는 도 6을 참조하면, 인식 영역(ROI)은 손모양의 인접하는 두 손가락 말단의 손가락 특징점(도 6의 P1, P3) 및 두 손가락 사이의 손바닥 경계의 손바닥 특징점(도 6의 P2)으로 구성된 사각형 영역에 상응할 수 있다.
실시예에 따라, 영상 추출부(312)는 손가락 특징점과 손바닥 특징점을 파악하고, 이들과 사각형을 구성하는 가상 특징점(도 6의 P4)을 설정하는 단계를 수행할 수 있다.
영상 추적부(313)는 기 설정된 시간 구간 동안 인식 영역의 특징점들로 구성된 2차원 길이 성분의 변화를 추적한다 (단계 S113). 예를 들어, 영상 추적부(313)는 인식 영역(ROI)에서 손가락 특징점 및 손바닥 특징점으로 구성된 길이 성분들의 변화를 추적할 수 있다. 실시예에 따라, 영상 추적부(313)는 두 개의 손가락 특징점과 그 손가락 사이의 손바닥 특징점 사이의 두 길이 성분의 변화를 추적할 수 있다.
실시예에 따라, 영상 추적부(313)는 엄지의 말단의 제1 손가락 특징점(P1)과 손바닥 특징점(P2) 사이의 제1 길이 성분(L1), 검지 말단의 제2 손가락 특징점(P3)과 손바닥 특징점(P2) 사이의 제2 길이 성분(L2)의 변화를 추적할 수 있다.
실시예에 따라, 영상 추적부(313)는 뼈대 모델에 기초하여 길이 성분(L1, L2)에 상응하는 손모양 뼈대(도 6의 SKM)를 완성할 수 있다.
실시예에 따라, 영상 추적부(313)는 뼈대 모델에 기초하여 길이 성분(L1, L2)에 상응하는 손모양 뼈대를 완성할 수 있다. 도 6을 참조하면, 영상 추적부(313)는 두 길이 성분(L1, L2)에 해당하는 손모양 뼈대(SKM)를 완성하고, 손모양 뼈대(SKM)에 따라 손모양의 중심(Pc)을 설정할 수 있다.
손모양 뼈대를 활용함으로 인해 특정한 프레임 단위 영상에서 제1 길이 성분(L1) 또는 제2 길이 성분(L2)이 정의되지 않는 경우, 예를 들어 특정 프레임 단위에서 손가락 말단에 대한 영상이 획득되지 않는 경우에도 영상 추적부(313)는 손가락 특징점(P1, P3)의 위치를 추정하여 길이 성분을 정의할 수 있다. 즉 영상 추적부(313)는 손모양 뼈대(SKM)에 기초하여 손가락 말단의 위치를 추정할 수 있다.
본 발명에 있어서 영상 추적부(313)는 추적 알고리즘과 뼈대 모델링을 적용하여 강건한(Robust) 위치 추적이 가능하도록 한다. 추적 알고리즘은 반복적인 베이지안(Bayesian) 기반의 칼만 필터(Kalman filters) 및 파티클 필터(particle filters)와 영상의 확률밀도함수(probability density function)의 모드(mode)를 반복적으로 추정하는 민쉬프트(mean-shift) 알고리즘을 조합하여 구성할 수 있다.
영상 추적부(313)는 두 길이 성분(L1, L2)의 위치 이동과 길이 변화를 추적할 수 있다. 실시예에 따라, 영상 추적부(313)는 두 길이 성분(L1, L2)의 사잇각(θ1) 변화 또는 두 길이 성분(L1, L2)의 위치 이동을 추적할 수 있다.
영상 해석부(314)는 2차원 길이 성분(L1, L2)의 변화에 기초하여 특징점들(P1 내지 P4) 중 적어도 하나의 3차원 좌표 변화를 해석하고, 이러한 해석에 기초하여 기 설정된 시간 구간 동안의 특징점들의 이동 벡터를 도출하는 결과로, 상대적인 3차원의 포인터 좌표를 획득한다 (단계 S114). 예를 들어 2차원 길이 성분(L1, L2)의 변화는 위치의 변화 또는 길이의 변화일 수 있다. 두 길이 성분(L1, L2)의 변화는 독립적인 변화이거나 상대적인 변화일 수 있다.
영상 해석부(314)는 표 1에서 나타낸 바와 같이 길이 성분(L1, L2) 중 적어도 하나의 길이 변화에 기초하여 손가락 특징점(P1, P3)에 대한 깊이 방향의 좌표 변화를 추정할 수 있다. 실시예에 따라, 영상 해석부(314)는 길이 성분(L1, L2) 중 적어도 하나의 길이 변화에 기초하여 손모양의 중심(Pc)의 가상의 축을 중심으로 한 회전 변화를 추정할 수도 있다.
이하, 첨부한 도면을 참조하여 본 발명의 다양한 실시예들에 대해 상세히 설명하고자 한다. 본 문서에서 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대한 중복된 설명은 생략한다.
본 문서에 개시되어 있는 본 발명의 다양한 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 다양한 실시예들은 여러 가지 형태로 실시될 수 있으며 본 문서에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
다양한 실시예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시예들을 배제하도록 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법을 설명하기 위한 흐름도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 가상현실 인터페이스 구현 방법은, 가상현실 인터페이스 구현 장치에 구비된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 단계(S110), 단일 카메라와 가상현실 장치 사이의 거리 인자 및 사용자의 신체 특성에 따라 도출된 현실공간의 입력 범위를 포함하는 사용자 인자에 기초하여 포인터 좌표를 가상 포인터 좌표로 변환하는 단계(S120), 및 변환된 가상 포인터 좌표를 가상현실 장치를 통해 표시하는 단계(S130)를 포함할 수 있다.
실시예에 따라, 가상현실 인터페이스 구현 장치에 구비된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 단계는, 단일 카메라에 획득된 영상에 대하여 이벤트에 상응하는 포인터 동작을 분석하는 단계를 포함할 수 있다. 즉, 단일 카메라에 의해 획득된 영상을 분석함으로써 포인터 좌표를 획득하는 한편으로 기 설정된 시간 단위 동안에 포인터 좌표의 움직임을 관찰한 결과 기 저장된 명령과 연관된 포인터 동작이 발생한 것으로 분석되는 경우에 포인터 동작 결과를 제공할 수도 있다.
본 발명에 따른 가상현실 인터페이스 구현 방법은 가상현실 인터페이스 구현 장치에 의하여 구현될 수 있다. 도 2는 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치를 사용자가 사용하는 모습을 예시적으로 나타낸 도면이다.
도 2를 참조하면, 가상현실 인터페이스 구현 장치는, 가상현실 장치(100), 가상현실 장치(100)가 고정되어 사용자에게 장착될 수 있도록 구성된 고정 장치(200), 및 단일 카메라(300)를 포함할 수 있다.
단일 카메라(300)는 가상현실 장치(100)에 장착되어 사용자의 시선을 대체할 수 있다. 따라서 단일 카메라(300)는 사용자가 바라보는 방향을 향하도록 배치될 수 있으며, 단일 카메라(300)가 배치된 가상현실 장치(200)의 후면에는 디스플레이(미도시)가 구비되어 사용자에게 가상현실을 표시할 수 있다. 예를 들어, 가상현실 장치(100)가 장착된 고정 장치(200)를 한꺼번에 HMD(Head Mount Display)라 일컫기도 한다. 예를 들어, 고정 장치(200)는 가상현실(Virtual Reality, VR) 고글, 헤드기어를 포함할 수 있다.
도 2에서는 단일 카메라(300)가 가상현실 장치(200)에 장착된 것으로 도시하고 이하에서도 이를 기준으로 설명할 것이지만, 단일 카메라(300)는 고정 장치(200)에 장착되거나 독립적으로 구현될 수도 있다.
본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치는, 단일 카메라를 기반으로 사람의 손가락과 같이 특징점을 가지는 포인터를 인식하여 이의 좌표를 3차원으로 해석함에 따라서 가상현실에 가상 포인터 좌표로 표시하고 가상현실에 표시된 다양한 유닛들과 인터페이스를 수행하도록 한다. 특히 본 발명의 일 실시예에 있어서, 단일 카메라를 기반으로 획득한 영상의 3차원 해석이 가능하기 때문에 가상현실 장치를 통한 가상 포인터 좌표를 3차원으로 구현할 수 있으며, 이에 따라 가상현실의 제어를 위하여 조이스틱과 같은 제어 수단을 별도로 구비할 필요가 없다. 따라서 본 발명의 실시예에 따른 가상현실 인터페이스 구현 장치 및 가상 현실 인터페이스 구현 방법에 따르면, 가상현실에서 시선을 이동시켜 특정한 유닛을 선택하는 것과 같은 2차원의 제어에서 벗어날 수 있다.
나아가 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치와 이를 이용한 가상현실 인터페이스 구현 방법은, 단일 카메라를 통하여 획득한 영상을 사용자의 시선과 최대한 일치되도록 변환한 이후에 가상현실 좌표계로 변환하기 때문에 사용자의 시선과 제어 동작 사이의 위화감을 최소화할 수 있다.
도 2에서는 가상현실 인터페이스 구현 장치가 가상현실 장치, 고정 장치, 및 단일 카메라를 포함하는 것으로 도시하고 이에 기초하여 설명하였으나, 본 발명의 일 실시예에 따른 가상현실 인터페이스 구현 장치는 가상현실 장치와 단일 카메라와 동일한 기능을 수행하는 촬상소자를 구비하는 것으로 충분하며 이하 도 3을 참조하여 본 발명의 일 실시예에 따른 가상현실 인터페이스 구현 장치를 구체적으로 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 장치를 간략하게 나타낸 블록도이다.
도 2는 물리적으로 드러나는 구성만을 도시한 것이고, 도 3은 기능적인 측면에서 블록을 나누어 도시한 것이다. 도 3을 참조하면, 가상현실 인터페이스 구현 장치(10)는, 3차원 영상 해석 수단(310), 가상 포인터 좌표 변환 수단(320), 및 표시 수단(330)을 포함할 수 있다.
3차원 영상 해석 수단(310)은 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득할 수 있다. 실시예에 따라 3차원 영상 해석 수단(310)은 기 설정된 시간 동안 프레임 단위로 영상을 획득하여 저장하고 획득된 영상의 특징점을 분석함에 따라서 이동 벡터를 도출하여 단일 카메라에 의해 획득된 영상에서 3차원 포인터 좌표를 획득한다.
3차원 영상 해석 수단(310)의 구성 및 동작에 관해서는 도 4 내지 도 9를 참조하여 설명하도록 한다.
실시예에 따라, 3차원 영상 해석 수단(310)은 기 설정된 시간 동안의 포인터 좌표의 이동이 기 설정된 명령에 해당하는 포인터 동작에 상응하는 경우에 포인터 동작을 감지하여 전달할 수 있다. 포인터 동작 정보는 가상 좌표 변환수단(320)을 거쳐 인터페이스부(350)에 제공되거나, 인터페이스부(350)에 곧바로 전달될 수 있다. 실시예에 따라, 인터페이스부(350)가 자체적으로 포인터 동작을 감지할 수도 있다.
가상 포인터 좌표 변환 수단(320)은 단일 카메라(300)와 가상현실 장치(200)의 거리 인자 및 사용자의 신체 특성에 따라 도출된 현실공간의 입력 범위를 포함하는 사용자 인자에 기초하여 포인터 좌표를 가상 포인터 좌표로 변환한다. 포인터 좌표의 가상 포인터 좌표로의 변환에 대해서는 도 10 및 도 11을 참조하여 구체적으로 설명하도록 한다.
실시예에 따라, 가상 포인터 좌표 변환 수단(320)은 현실공간 좌표 변환부(321) 및 가상공간 좌표 변환부(323)을 포함할 수 있다. 현실공간 좌표 변환부(321)는 역투영 행렬(Inverse projection matrix) 연산을 수행하여 상기 포인터 좌표를 상기 단일 카메라의 좌표계로 변환하고, 상기 거리 인자에 기초하여 단일 카메라의 좌표계를 사용자의 시선을 원점으로 하는 현실공간의 입력범위 좌표계로 변환한다. 현실공간의 좌표 변환을 통하여 단일 카메라(300)와 사용자의 시선 사이의 괴리감을 없앨 수 있다.
가상공간 좌표 변환부(323)는 가상공간과 현실공간의 스케일 파라미터 및 사용자 인자에 기초하여 현실공간의 입력범위 좌표계를 가상 입력범위 좌표계로 변환하고, 가상 현실 입력범위 좌표계에 대하여 깊이 방향 변환을 수행하여 가상 포인터 좌표로 변환한다. 현실공간을 가상공간으로 변환함에 있어 가상공간과 현실공간 사이의 스케일을 조정하고 가상공간과 현실공간 사이의 입력범위를 조정함에 따라 가상공간 내에서 포인터 좌표를 가상 포인터 좌표로 자연스럽게 표시할 수 있다.
표시 수단(330)은 변환된 가상 포인터 좌표를 가상현실 장치를 통해 표시한다. 상술한 바와 같이 도 2에서 도시한 바와 같은 가상현실 장치(200)에는 디스플레이가 구비될 수 있으며 이러한 디스플레이를 통하여 가상 포인터 좌표를 사용자에게 표시할 수 있다.
실시예에 따라, 단일 카메라 기반의 가상현실 인터페이스 구현 장치(10)는 포인터 좌표를 가상 포인터 좌표로 변환하기 위하여 필요한 거리 인자와 사용자 인자를 사용자 별, 또는 가상현실 장치 별로 관리하는 저장부(340)를 더 포함할 수 있다.
단일 카메라 기반의 가상현실 인터페이스 구현 장치(10)는 저장부(340)에 저장된 거리 인자와 사용자 인자에 기초하여 사용자 별 또는 가상현실 장치 별로 상이한 인자들을 도출하여 좌표를 변환할 수 있다. 예를 들어, 특정한 사용자 별로 상이한 사용자 인자가 도출될 수 있으며 가상현실 장치 별로 상이한 거리 인자가 도출될 수 있다.
가상현실 인터페이스 구현 장치(10)는 지속적인 동작을 거치면서 축적된 데이터를 통해 저장부(340)에 저장된 사용자 인자 또는 거리 인자를 갱신할 수 있다. 실시예에 따라, 최초로 단일 카메라 기반의 가상현실 인터페이스 구현 장치(10)를 사용하는 사용자는 등록 및 보정(calibration) 과정을 거쳐 사용자 인자 및/또는 거리 인자를 설정한 후에 사용자 또는 가상현실 장치의 식별자에 연계하여 각 인자들을 저장부(340)에 기록하여 관리할 수 있다.
실시예에 따라, 가상현실 인터페이스 구현 장치(10)는 등록된 사용자와 등록되지 않은 사용자에 대하여 상이한 좌표 변환 과정을 거칠 수 있다. 예를 들어, 등록된 사용자에 대해서는 사용자 식별자 또는 가상장치 식별자를 통하여 저장부(340)에 기록된 사용자 인자 등을 모두 획득하여 좌표 변환을 수행하는 반면, 최초로 등록하는 사용자에 대해서는 거리 인자와 사용자 인자를 획득하는 과정을 거칠 수 있다.
가상현실 인터페이스 구현 장치(10)는, 사용자의 등록과 보정을 위해서 아직 3차원 값을 가지지 않는, 즉 3차원 좌표를 획득하지 못한 가상 포인터 좌표를 레이 캐스팅(Ray casting)된 좌표로 표시할 수 있다. 즉, 가상현실 장치(100)에 표시되는 가상 포인터 좌표는 z 좌표 값이 없는 (x, y) 좌표만이 표시될 수 있다. 등록 및 보정 단계가 완료되어 거리 인자와 사용자 인자의 설정이 완료되면 가상 포인터 좌표의 크기 등의 변화를 통해 2차원의 가상 포인터 좌표가 3차원의 가상 포인터 좌표로 표시할 수 있다.
실시예에 따라 가상현실 인터페이스로 좌표를 변환하기 위한 인자를 획득하는 과정에 상응하는 등록 및 보정 과정에서, 가상현실 인터페이스 구현 장치(10)는 표시 수단(330)을 통해 레이 캐스팅된 가상 포인터 좌표가 가상현실 장치의 시선 포인터와 일치시키도록 가이드 화면을 표시함으로써 사용자 인자와 거리 인자를 보다 쉽게 획득할 수 있도록 한다.
저장부(340)는 특정 가상현실 장치의 종류 별 단일 카메라 특성, 사용자의 신체 특성에 따른 사용자 인자 데이터베이스를 관리할 수 있다. 예를 들어, 저장부(340)는 가상현실 장치의 모델명에 따라 해당 모델에 장착되는 단일 카메라의 해상도 DPI(Dot per inch) 값을 관리할 수 있으며 신장(height)에 따른 어깨 너비와 팔 길이 정보, 또는 성인의 평균 신장과 같은 평균 신체 사이즈 정보를 관리할 수 있다. 이와 같은 데이터들은 거리 인자 또는 사용자 인자들을 도출할 수 있는 기본적인 정보가 되며, 저장부(340)가 거리 인자 또는 사용자 인자들이 일반적으로 가질 수 있는 값들을 관리함에 따라, 사용자로부터 최소한의 정보만 제공되는 경우에도 데이터베이스로부터 거리 인자와 사용자 인자를 추출하여 활용할 수 있다.
실시예에 따라, 단일 카메라 기반의 가상현실 인터페이스 구현 장치(10)는 인터페이스부(350)를 더 포함할 수 있다. 인터페이스부(350)는 3차원 영상 해석 수단(410)으로부터 해석된 3차원 포인터 좌표 또는 변환된 3차원의 가상 포인터 좌표에 기초하여 손모양, 즉 포인터 좌표가 지시하는 동작을 판단하여 포인터 동작으로 간주하고 가상현실에서의 인터페이스 동작을 수행할 수 있다.
예를 들어, 인터페이스부(350)는 변환된 가상 포인터 좌표와 가상현실 장치의 선택 유닛의 좌표가 일치된 상태에서 특정한 포인터 동작이 수행된 경우에는 포인터 동작에 할당된 하부 명령 또는 선택 유닛과 연계된 하부 명령을 수행하도록 할 수 있다.
예를 들어, 선택 유닛은 시선 포인터(gaze pointer)에 상응할 수 있는데, 시선 포인터에 가상 포인터 좌표가 일치된 이후에 가상 포인터 좌표를 통하여 클릭(click)과 같은 명령에 상응하는 포인터 동작이 수행되는 경우에는 전체 선택 메뉴가 디스플레이될 수 있다. 다른 예에 있어서, 시선 포인터에 가상 포인터 좌표가 일치된 이후에 가상 포인터 좌표를 통하여 드래그(drag)와 같은 명령에 상응하는 포인터 동작이 수행되는 경우에는 가상공간 자체가 변환될 수 있다.
상술한 바와 같이 실시예에 따라, 포인터 동작의 감지는 3차원 영상 해석 수단(310)에서 수행되어 인터페이스부(350)에 전달될 수도 있다.
인터페이스부(350)를 통한 포인터 동작 및 그에 따른 명령의 수행에 대해서는 도 12 내지 도 21을 참조하여 구체적으로 설명하도록 한다.
이하의 도 4 내지 도 9를 참조하여 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 단계를 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 3차원 영상 해석 수단을 나타내는 블록도이고, 도 5는 3차원 영상 해석 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 3차원 영상 해석 수단(310)은 영상 획득부(311), 영상 추출부(312), 영상 추적부(313) 및 영상 해석부(314)를 포함할 수 있다. 도 4 및 도 5를 참조하여 3차원 영상 해석 수단(310)에 의한 3차원 영상 해석 방법을 설명한다.
도 5를 참조하면, 3차원 영상 해석 수단(310)의 영상 획득부(311)는 단일 카메라에 의해 획득된 영상을 프레임 단위로 저장한다 (단계 S111).
영상 획득부(311)는 단일 카메라(300)와 같은 영상 획득 수단을 이용하여 연속적인 영상을 프레임 단위로 획득한다. 예를 들어, 영상 획득부(311)는 기 설정된 시간 동안의 동영상을 실시간으로 획득하며 획득한 영상을 캐시(cache)와 같은 저장수단에 프레임 단위로 저장할 수 있다.
본 발명의 일 실시예에 따른 3차원 영상 해석 수단(410)은 단일 카메라(300)를 통해 단일 시점(視點)에서 획득한 영상에 기초하여 영상의 3차원 좌표 변화를 추정하는 것을 특징으로 한다.
영상 획득부(311)로부터 획득된 영상을 수신한 영상 추출부(312)는 저장된 영상에 포함된 포인터, 예를 들어 손모양을 구성하는 복수 개의 특징점들을 파악하여 파악된 특징점들에 기초한 인식 영역(ROI, Region Of Interest)을 추출한다 (단계 S112).
실시예에 따라, 영상 추출부(312)는 프레임 단위의 영상에 포함된 손모양에서 복수 개의 특징점들을 파악하고 파악된 특징점들에 기초한 인식 영역(ROI)을 추출할 수 있다. 본 명세서에서 인식 영역(ROI)은 획득된 영상 중에서 특징점을 파악하여 기 설정된 시간 구간 동안에 위치 변화의 분석이 필요한 영상 영역을 지칭할 수 있다. 영상 추출부(312)는 영상 획득부(311)에서 획득한 프레임 단위의 영상에서 인식 영역을 추출할 수 있다.
본 발명에 있어서, 영상 추출부(312)는 다양한 특징점 파악 방식에 따라 특징점을 지정할 수 있으며 하나의 프레임 단위의 영상에 대해서도 서로 다른 방식으로 인식 영역을 추출할 수 있다.
본 명세서에서는 획득된 영상이 손모양을 포함하고 있는 것을 중심으로 설명하였으나 이에 한정되는 것은 아니다. 예를 들어, 영상 추출부(312)는 획득된 영상에 포함된 손모양 중에서 손가락과 손바닥을 인식하고 두 손가락의 말단의 손가락 특징점 및 두 손가락 사이의 손바닥 경계의 손바닥 특징점을 파악하여 해당 특징점들로 구성된 사각형 영역을 인식 영역으로 추출할 수 있다.
도 6 및 도 7은 본 발명의 실시예들에 따라 파악되는 특징점들과 특징점들에 기초하여 영상 해석의 기준이 되는 인식 영역을 예시적으로 도시한 도면들이다. 각 실시예들에 기초하여 특징점의 파악과 인식 영역의 추출, 2차원 길이 성분의 변화 추적, 및 3차원의 포인터 좌표의 획득에 대하여 설명하도록 한다.
도 6을 참조하면, 영상 추출부(312)는 손모양에서 엄지(thumb)과 검지(index finger)의 말단을 손가락 특징점(P1, P3)으로 파악하고, 두 손가락 사이의 손바닥 경계의 손바닥 특징점(P2)을 파악할 수 있다.
실시예에 따라 영상 추출부(312)는 손가락 특징점과 손바닥 특징점을 포함하는 사각형 영역을 구성하기 위한 가상 특징점을 설정할 수도 있다. 영상 추출부(312)는 세 특징점들(P1, P2, P3)과 함께 사각형을 구성할 수 있는 가상 특징점(P4)을 설정하고, 특징점들(P1, P2, P3, P4)로 이루어진 사각형 영역을 인식 영역(ROI)으로 추출할 수 있다.
영상 추출부(312)에서 인식 영역을 얻기 위해서 영상 처리(image processing) 알고리즘인 영역 분할(image segmentation) 알고리즘과 특징 추출(feature extraction) 알고리즘이 함께 수행될 수 있다. 영역 분할 및 특징 추출을 위해 획득된 영상을 다른 칼라 채널(color channel)로 변환하거나, 영상 필터링(image filtering) 기법을 이용하여 노이즈(noise)를 제거할 수 있다. 또는 영상 추출부(312)는 획득된 영상을 규격화(image normalization)하는 등의 영상 전-처리(image pre-processing)를 수행할 수 있다.
실시예에 따라, 영상 추출부(312)는 관측 모델(observation model)을 정의할 수 있다. 예를 들어 손톱과 손가락 부위가 일반적으로 다른 색깔을 가지는 특징을 이용하거나, 사용자의 피부색을 미리 등록하고 영상 해석을 수행할 때마다 조명에 의한 피부색의 미세한 변화를 학습하여 모델링할 수 있다.
실시예에 따라, 영상 추출부(312)는 매 프레임마다 변화하는 손가락 주변 영역의 특징 값을 추적 모델에 실시간으로 업데이트할 수 있다. 관측 모델의 정의에 따라 영상 추출부(312)는 보다 정확하게 특징점을 파악할 수 있다.
영상 획득부(311)는 별도의 저장 수단을 구비할 수 있으며, 영상 추출부(312)가 인식 영역(ROI)을 추출함으로써 영상 처리를 위한 연산 부하를 최소화할 수 있다. 예를 들어, 이하에서 설명하는 도 6을 참조하면, 인식 영역(ROI)은 손모양의 인접하는 두 손가락 말단의 손가락 특징점(도 6의 P1, P3) 및 두 손가락 사이의 손바닥 경계의 손바닥 특징점(도 6의 P2)으로 구성된 사각형 영역에 상응할 수 있다.
실시예에 따라, 영상 추출부(312)는 손가락 특징점과 손바닥 특징점을 파악하고, 이들과 사각형을 구성하는 가상 특징점(도 6의 P4)을 설정하는 단계를 수행할 수 있다.
영상 추적부(313)는 기 설정된 시간 구간 동안 인식 영역의 특징점들로 구성된 2차원 길이 성분의 변화를 추적한다 (단계 S113). 예를 들어, 영상 추적부(313)는 인식 영역(ROI)에서 손가락 특징점 및 손바닥 특징점으로 구성된 길이 성분들의 변화를 추적할 수 있다. 실시예에 따라, 영상 추적부(313)는 두 개의 손가락 특징점과 그 손가락 사이의 손바닥 특징점 사이의 두 길이 성분의 변화를 추적할 수 있다.
실시예에 따라, 영상 추적부(313)는 엄지의 말단의 제1 손가락 특징점(P1)과 손바닥 특징점(P2) 사이의 제1 길이 성분(L1), 검지 말단의 제2 손가락 특징점(P3)과 손바닥 특징점(P2) 사이의 제2 길이 성분(L2)의 변화를 추적할 수 있다.
실시예에 따라, 영상 추적부(313)는 뼈대 모델에 기초하여 길이 성분(L1, L2)에 상응하는 손모양 뼈대(도 6의 SKM)를 완성할 수 있다.
실시예에 따라, 영상 추적부(313)는 뼈대 모델에 기초하여 길이 성분(L1, L2)에 상응하는 손모양 뼈대를 완성할 수 있다. 도 6을 참조하면, 영상 추적부(313)는 두 길이 성분(L1, L2)에 해당하는 손모양 뼈대(SKM)를 완성하고, 손모양 뼈대(SKM)에 따라 손모양의 중심(Pc)을 설정할 수 있다.
손모양 뼈대를 활용함으로 인해 특정한 프레임 단위 영상에서 제1 길이 성분(L1) 또는 제2 길이 성분(L2)이 정의되지 않는 경우, 예를 들어 특정 프레임 단위에서 손가락 말단에 대한 영상이 획득되지 않는 경우에도 영상 추적부(313)는 손가락 특징점(P1, P3)의 위치를 추정하여 길이 성분을 정의할 수 있다. 즉 영상 추적부(313)는 손모양 뼈대(SKM)에 기초하여 손가락 말단의 위치를 추정할 수 있다.
본 발명에 있어서 영상 추적부(313)는 추적 알고리즘과 뼈대 모델링을 적용하여 강건한(Robust) 위치 추적이 가능하도록 한다. 추적 알고리즘은 반복적인 베이지안(Bayesian) 기반의 칼만 필터(Kalman filters) 및 파티클 필터(particle filters)와 영상의 확률밀도함수(probability density function)의 모드(mode)를 반복적으로 추정하는 민쉬프트(mean-shift) 알고리즘을 조합하여 구성할 수 있다.
영상 추적부(313)는 두 길이 성분(L1, L2)의 위치 이동과 길이 변화를 추적할 수 있다. 실시예에 따라, 영상 추적부(313)는 두 길이 성분(L1, L2)의 사잇각(θ1) 변화 또는 두 길이 성분(L1, L2)의 위치 이동을 추적할 수 있다.
영상 해석부(314)는 2차원 길이 성분(L1, L2)의 변화에 기초하여 특징점들(P1 내지 P4) 중 적어도 하나의 3차원 좌표 변화를 해석하고, 이러한 해석에 기초하여 기 설정된 시간 구간 동안의 특징점들의 이동 벡터를 도출하는 결과로, 상대적인 3차원의 포인터 좌표를 획득한다 (단계 S114). 예를 들어 2차원 길이 성분(L1, L2)의 변화는 위치의 변화 또는 길이의 변화일 수 있다. 두 길이 성분(L1, L2)의 변화는 독립적인 변화이거나 상대적인 변화일 수 있다.
영상 해석부(314)는 표 1에서 나타낸 바와 같이 길이 성분(L1, L2) 중 적어도 하나의 길이 변화에 기초하여 손가락 특징점(P1, P3)에 대한 깊이 방향의 좌표 변화를 추정할 수 있다. 실시예에 따라, 영상 해석부(314)는 길이 성분(L1, L2) 중 적어도 하나의 길이 변화에 기초하여 손모양의 중심(Pc)의 가상의 축을 중심으로 한 회전 변화를 추정할 수도 있다.
[표 1]
Figure 112018044095500-pct00001
제1 케이스의 경우, 제1 길이 성분(L1) 및 제2 길이 성분(L2)이 모두 감소하는 경우이다. 이 경우는 두 손가락이 동일하게 영상 획득 수단으로부터 멀어지는 것으로 판단할 수 있으므로, 제1 특징점(P1) 및 제3 특징점(P3)의 깊이 방향의 좌표가 증가하는 것으로 판단할 수 있다. 본 명세서에서는 영상 획득 수단으로 멀어지는 것을 깊이 방향의 좌표가 증가하는 것으로 표현하였으나 이에 한정되는 것은 아니다.
반대로 제2 케이스의 경우, 제1 길이 성분(L1)과 제2 길이 성분(L2)이 모두 증가한다. 두 손가락이 모두 영상 획득 수단으로부터 다가오는 것으로 판단할 수 있으므로, 제1 특징점(P1) 및 제3 특징점(P3)의 깊이 방향의 좌표가 감소하는 것으로 판단할 수 있다.
제3 케이스 및 제4 케이스는 제1 길이 성분(L1)의 길이는 변화가 없고 제2 길이 성분(L2)의 길이만 각각 감소하고 증가하는 경우이다. 해당 케이스들에 있어서 제1 길이 성분(L1)의 변화가 없으므로 손이 전체적으로 이동하는 것은 아니라는 전제 하에, 제2 길이 성분(L2)이 감소하는 것은 검지가 아래를 향하는 동작으로 해석할 수 있다. 해당 동작은 도 8을 참조하여 설명하도록 한다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 포인터의 3차원 좌표를 해석하기 위한 일 실시예들을 나타내는 도면이다.
도 8의 (a)를 참조하면, 제2 길이 성분(L2)의 길이가 가장 길게 관측되는 경우는 검지가 영상 획득 수단(예를 들어 단일 카메라)에 대하여 정면을 바라본 상태이다. 이러한 상태에서 검지가 도 8의 (b)에 나타낸 것처럼 손등에서 손바닥을 향하여 아래로 이동하면, 정면에서 바라보는 제2 길이 성분(L2)의 길이는 상대적으로 줄어 든다. 따라서 도 8의 (a)에서 도 8의 (b)의 시간 구간 동안에 제3 특징점(P3)의 깊이 방향의 좌표는 증가한다 (표 1의 CASE 3).
반대로 도 8의 (b)의 상태에서 도 8의 (c) 상태로 손가락을 들어올려 다시 영상 획득 수단의 정면을 바라보도록 검지를 이동하면, 제2 길이 성분(L2)이 점차적으로 증가한다. 따라서 도 8의 (b)에서 도 8의 (c)의 시간 구간 동안에는 제3 특징점(P3)의 깊이 방향의 좌표가 감소한다 (표 1의 CASE 4).
이렇게 해석된 결과에 기초하여 영상 해석부(314)는 기 설정된 시간 구간 동안 특징점(P1, P3)의 이동 벡터로 변환할 수 있다. 실시예에 따라, 영상 해석부(314)는 이동 벡터, 손모양 중심축의 회전 변화와 사잇각(θ1) 변화 중 적어도 하나에 기초하여 손모양의 3차원 변화 방향, 즉 움직임 패턴을 판단할 수 있다. 다른 실시예에 있어서, 영상 해석부(314)는 기 설정된 시간 동안의 손모양의 움직임 변화를 3차원의 포인터 좌표로 변환할 수 있다. 포인터 좌표의 z축 방향의 좌표는 사용자의 입력 범위에 따라서 상이해질 수 있으므로 z좌표는 정상화(normalize)된 값일 수 있다.
영상 해석부(314)는 이동 벡터, 또는 3차원 포인터 좌표 변화에 기초하여 손모양이 지시하는 동작을 판단할 수 있으며, 판단된 동작에 매칭된 명령어를 도출하여 도출된 명령을 실행할 수도 있다. 실시예에 따라 영상 해석부(314)는 특정한 이동 벡터에 대하여 매칭되는 명령어를 관리할 수 있다.
본 발명의 일 실시예에 따른 영상 해석 수단(310)은 이와 같이 기 설정된 시간 구간 동안의 2차원 길이 성분(L1, L2)의 변화를 관찰하여 특징점(P1, P3)의 3차원 좌표 변화를 해석한다. 또한, 좌표 변화 해석에 따라서 제3 케이스의 경우에는 제3 특징점(P3)을 구성하는 벡터는 영상 획득 수단으로부터 멀어지는 벡터, 제4 케이스의 경우에 제3 특징점(P3)을 구성하는 벡터는 영상 획득 수단을 향하는 벡터로 도출될 수 있다.
실시예에 따라 도 8에서와 같이 기 설정된 시간 동안에 영상 획득 수단으로부터 멀어지는 벡터, 그리고 다시 영상 획득 수단으로부터 가까워지는 벡터가 이어지는 경우, 탭 인(tap-in)에 해당하는 포인터 동작으로 감지될 수 있다.
제5 케이스 및 제6 케이스는 제2 길이 성분(L2)의 길이는 변화가 없고 제1 길이 성분(L1)의 길이만 각각 감소하고 증가하는 경우이다. 제3 및 제4 케이스들과 마찬가지로, 제5 및 제6 케이스들에 있어서 제2 길이 성분(L2)의 변화가 없으므로 손이 전체적으로 이동하는 것은 아니라는 전제 하에 판단한다.
제5 케이스와 같이 제1 길이 성분(L1)이 감소하는 것은 정면을 향하여 가장 길게 관찰되었던 엄지가 아래로 향하여 그 길이가 점차 감소되는 동작으로 해석할 수 있다.
반대로 제6 케이스는 감소하였던 제1 길이 성분(L1)이 점차 증가하는 것으로, 아래로 향했던 엄지가 다시 위로 이동하면서 길이가 점점 길어지는 동작으로 해석할 수 있다.
따라서 영상 해석부(314)는 제5 케이스의 경우에는 제1 특징점(P1)의 깊이 방향의 좌표가 증가하고, 제6 케이스의 경우에는 제1 특징점(P1)의 깊이 방향의 좌표가 감소하는 것으로 해석할 수 있다.
이러한 좌표 변화 해석에 기초하여, 영상 해석부(314)는 제5 케이스의 경우에는 제1 특징점(P1)을 구성하는 벡터가 영상 획득 수단으로부터 멀어지는 벡터, 제6 케이스의 경우에 제1 특징점(P1)을 구성하는 벡터는 영상 획득 수단을 향하는 벡터로 도출될 수 있다.
제7 케이스는 제1 및 제2 길이 성분(L1, L2)의 변화가 없다. 이 경우는 깊이 방향의 이동은 없이 손모양이 2차원 평면을 이동하거나, 제1 및 제2 길이 성분(L1, L2)의 사잇각이 변화하는 경우로 해석할 수 있다.
도 9를 참조하면, 제1 길이 성분(L1)과 제2 길이 성분(L2)의 길이 변화는 없되, 둘 사이의 사잇각(θ1)이 변화하는 동작을 확인할 수 있다. 즉 도 9에서 (a) 내지 (c)에 이르기 까지 제1 길이 성분(L1)과 제2 길이 성분(L2)의 사잇각(θ1)이 지속적으로 감소하는 것을 확인할 수 있다. 이러한 경우, 제1 특징점(P1)의 벡터는 오른쪽 상단을 향하는 이동 벡터로 변환될 수 있다. 제1 실이 성분(L1)과 제2 길이 성분(L2)의 사잇각(θ1)은 제1 특징점(P1)과 제3 특징점(P3)의 2차원 좌표를 파악하여 도출할 수 있다.
실시예에 따라, 영상 해석부(314)는 깊이 방향 좌표 변화에 기초하여 손모양 뼈대의 중심축의 회전 변화를 추정할 수 있다.
도 6을 참조하면, 손모양의 중심(Pc)에 대하여 3차원의 가상의 축을 설정할 수 있다. 이들 각 축의 회전을 피치(pitch), 요(yaw), 롤(roll)로 일컬을 수 있다. 다만 가상의 축은 손모양의 중심(Pc)에 대하여 상대적인 것으로 축을 일컫는 용어는 달라질 수 있다.
상기 표 1을 참조하여 설명한 각각의 케이스에 있어서, 제 3 케이스 및 제4 케이스의 경우는 도 6의 X 축을 중심으로 손을 회전하는 경우로 해석할 수 있다. 또한, 제5 케이스 및 제6 케이스의 경우는 도 6의 Y 축을 중심으로 손을 회전하는 경우로도 해석할 수 있다. 마지막으로 제 7 케이스의 경우에는 제1 길이 성분(L1)과 제2 길이 성분(L2)의 길이가 모두 변화하지는 않지만 Z 축을 중심으로 손을 회전하는 경우로 해석할 수 있다.
영상 해석부(314)는 제1 길이 성분(L1)과 제2 길이 성분(L2)의 변화에 기초하여 손모양의 중심(Pc)의 가상의 축의 회전 변화의 동작을 해석할 수도 있다.
손의 회전과 같은 동작 또한 기 설정된 시간 구간 동안의 동작 변화에 상응하므로 영상 해석부(314)는 해석의 결과에 기초하여 각 특징점의 위치 및 그 변화를 이동 벡터로 변환할 수 있다.
영상 해석부(314)는 손모양의 움직임을 포인터 동작으로 감지하여 포인터 동작 정보를 인터페이스부(350)에 제공할 수 있다. 예를 들어, 손모양의 움직임에 기초한 포인터 동작 정보를 인터페이스부(350)에 전달하여 손모양으로 3차원 인터페이스를 구현할 수 있다. 따라서 본 발명의 일 실시예에 따른 가상현실 인터페이스 구현 장치 및 구현 방법에 따르면, 단일 카메라로 획득한 영상의 3차원 해석을 통하여 2차원으로만 인터페이싱이 가능하였던 가상현실에서 3차원 제어가 가능하도록 한다.
또한, 실시예에 따라, 영상 해석부(314)는 사용자의 입력에 따라 특정한 손모양의 움직임 패턴, 즉 포인터 동작을 감지하는 것뿐만 아니라, 포인터 동작에 대하여 특정한 명령어를 매칭하여 관리할 수도 있다.
영상 해석부(314)는 휘발성 및/또는 비 휘발성 메모리에 저장된 이동 벡터에 매칭되는 명령어들을 도출하고 해당된 명령어를 실행하도록 할 수 있다. 영상 해석부(314)는 저장 공간을 구비하여 구비된 저장 공간에 명령어와 매칭된 포인터 동작을 관리하거나, 외부의 저장 공간으로부터 포인터 동작과 매칭된 명령어를 도출할 수 있다. 영상 해석부(314)에서 감지된 포인터 동작 또는 명령은 인터페이스부(350)에 전달될 수 있다.
예를 들어, 손가락으로 사각형을 그리는 포인터 동작을 수행하는 것이 특정한 창(window)을 여는(open) 동작 명령을 제공하는 것으로 정의하거나, 손가락을 지속적으로 영상 획득 수단에서부터 멀어지는 방향으로 즉, 깊이 방향으로 이동하는 것은 창(window)을 축소(decrease) 시키는 명령을 제공하는 것으로 정의할 수 있다. 포인터의 이동을 통한 인터페이스의 예에 관해서는 도 11을 참조하여 구체적으로 설명하도록 한다.
실시예에 따라, 영상 해석부(314)에서는 두 길이 성분들(L1, L2)의 변화에 기초하여 판단된 제1 및 제3 특징점들(P1, P3)의 이동 벡터들 각각 또는 이들의 조합에 기초하여 매칭된 명령어를 도출할 수 있다.
도 7은 본 발명의 일 실시예에 따른 포인터 좌표의 획득을 설명하기 위한 손모양의 분석을 나타내는 도면이다.
도 6을 참조하여 설명한 것과는 다른 특징점을 사용하여 3차원 좌표를 해석할 수 있다.
도 7을 참조하면, 영상 획득부(311)를 통해 실시간으로 들어오는 영상으로부터, 영상 추출부(312)가 손모양을 찾고 손의 특징점을 추출할 수 있다.
도 7에 있어서, 특징점은 손가락의 말단(P1', P3'), 두 손가락 사이의 손바닥 경계의 손바닥 특징점(P2'), 그리고 곧게 편 손가락과 접힌 손가락 사이의 경계 특징점(P4')을 포함할 수 있다.
영상 추출부(312)는 추출하고자 하는 특징점들(P1', P2', P3', P4')을 중심으로 인식 영역(ROI)을 추출할 수 있다. 예를 들어, 영상 추출부(312)는 영상 획득부(311)를 통해 실시간으로 획득된 영상에 대하여 선형적으로 증가하는 크기의 탐색 윈도우를 전 영역에 걸쳐서 탐색한다. 이러한 탐색의 결과, 학습된 영상과의 유사성을 비교하여 분류(classification)를 시도할 수 있다. 예를 들어, 분류는 스케일과 회전을 고려하여 SVM(Support Vector Machine), 연속된 분류기(Cascading Classifier) 등을 활용하여 이루어질 수 있다.
영상 추출부(312)는 손모양 영상에서 제4 특징점(P4')을 가장 용이하게 추출할 수 있다. 영상 추출부(312)는 제4 특징점(P4')을 추출한 탐색 윈도우의 크기와 손모양의 기하학적 관계에 기초하여 탐색 영역을 최적화할 수 있다.
예를 들어, 오른손을 기준으로 하는 경우에는 제4 특징점(P4')을 중심으로 제2 특징점(P2')은 왼쪽 아래, 제1 특징점(P1')은 제2 특징점(P2')을 중심으로 제2 사분면의 위치에 있으며, 제3 특징점(P3')은 제4 특징점(P4')과 제2 특징점(P2') 사이의 수직으로 위쪽에 위치할 수 있다. 이와 같은 제1 특징점 내지 제4 특징점들(P1', P2', P3', P4')을 탐색하기 위한 대략적인 영역이 인식 영역(ROI)에 상응할 수 있다.
이와 같이 두 손가락의 경계 부분만으로 인식 영역(ROI)을 추출하는 경우에는 손모양 전체의 뼈대를 인식할 필요가 없기 때문에 보다 간단한 영상 처리가 가능할 수 있다.
영상 추적부(313)는 기 설정된 시간 구간 동안 인식 영역의 특징점들로 구성된 2차원 길이 성분의 변화를 추적할 수 있다. 예를 들어, 영상 추적부(313)는 제1 특징점(P1')과 제2 특징점(P2') 사이의 제1 길이 성분(L1'), 제2 특징점(P2')과 제3 특징점(P3')사이의 제2 길이 성분(L2'), 및 제2 특징점(P2')과 제4 특징점(P4') 사이의 제3 길이 성분(L3')의 변화를 추적한다.
영상 해석부(314)는 각 길이 성분들(L1', L2', L3')의 변화에 기초하여 특징점들(P1', P2', P3', P4') 중 적어도 하나의 3차원 좌표 변화를 해석하고, 해석에 기초하여 기 설정된 시간 구간 동안의 특징점들의 이동 벡터를 도출하여 상대적인 3차원 포인터 좌표를 획득한다. 다른 실시예에 있어서, 영상 해석부(314)는 3차원 포인터 좌표의 획득과 더불어 포인터 동작을 감지하고 포인터 동작에 기초한 명령을 도출할 수도 있다.
영상 해석부(314)는 표 2에 나타낸 바와 같이 길이 성분들(L1', L2', L3') 중 적어도 하나의 길이 변화에 기초하여 특징점들(P1', P3', P4')에 대한 깊이 방향의 좌표 변화를 추정할 수 있다. 표 2는 표 1과 비교하여 제3 길이 성분(L3')이 추가되었다. 제3 길이 성분(L3')이 추가된 경우에도 제1 내지 제7 케이스에 대한 판단은 표 1을 참조하여 설명한 바와 실질적으로 동일하다. 제3 길이 성분(L3')을 추적함에 따라 제8 및 제9 케이스에 대한 판단이 추가로 이루어질 수 있다.
[표 2]
Figure 112018044095500-pct00002
제1 케이스의 경우, 제1 내지 제3 길이 성분(L1', L2', L3')이 모두 감소하므로 손이 영상 획득 수단으로부터 전체적으로 멀어지는 것으로 판단할 수 있으며, 제2 케이스의 경우, 제1 내지 제3 길이 성분(L1', L2', L3')이 모두 증가하기 때문에 손이 영상 획득 수단을 향하여 전체적으로 가까워지는 것으로 판단할 수 있다.
제3 케이스의 경우, 제1 길이 성분(L1')은 변화가 없으나, 제2 및 제3 길이 성분들(L2', L3')의 길이가 감소하기 때문에 손목 전체를 회전하여 검지로 아래를 가리키는 동작으로 판단할 수 있다. 이 경우, 제3 특징점(P3')과 제4 특징점(P4')의 깊이 방향 좌표는 증가하는 것으로 판단할 수 있다.
표 2의 제3 케이스와 표 1의 제3 케이스를 비교하면, 제1 길이 성분(L1')과 제2 길이 성분(L2')의 변화는 동일하지만 제3 길이 성분(L3')의 길이까지 함께 감소한다는 것으로 보아 검지 뿐만 아니라, 손 전체의 깊이 방향 좌표가 증가하는 것으로 추가적인 판단이 가능하다. 따라서 표 1의 제3 케이스가 도 8의 (a) 내지 (b) 구간의 동작으로 판단하였으나, 표 2의 제3 케이스는 이러한 동작에 해당하지 않는 것으로 판단할 수 있다.
제4 케이스의 경우, 반대로 제1 길이 성분(L1')의 변화는 없으나 제2 및 제3 길이 성분들(L2', L3')의 길이가 증가하므로 마찬가지로 손목 전체를 회전하여 아래를 향하던 검지를 위로 들어올리는 동작으로 판단할 수 있다. 이 경우, 제3 특징점(P3')과 제4 특징점(P4')의 깊이 방향 좌표는 감소하는 것으로 판단할 수 있다.
마찬가지로 표 2의 제4 케이스는 표 1의 제4 케이스와 비교하여 검지 뿐만 아니라, 손 전체의 깊이 방향 좌표가 감소하는 것으로 손 모양 회전의 추가적인 판단이 가능할 수 있다. 역시 표 1의 제4 케이스는 도 8의 (b) 내지 (c) 구간 동안의 동작으로 판단하였으나, 표 2의 제4 케이스는 이러한 동작에 해당하지 않는 것으로 판단할 수 있다.
제5 케이스의 경우, 제1 길이 성분(L1')의 길이가 감소하는 한편으로 제2 및 제3 길이 성분(L2', L3')의 변화는 없으므로, 엄지가 아래로 향하는 동작으로 판단함에 따라, 제1 특징점(P1')의 깊이 방향의 좌표가 증가하는 것으로 판단할 수 있다.
제6 케이스의 경우, 반대로 제1 길이 성분(L1')의 길이가 증가하는 한편으로 제2 및 제3 길이 성분(L2', L3')의 변화는 없으므로 아래를 향했던 엄지가 다시 복귀하는 동작으로 판단할 수 있으며, 제1 특징점(P1')의 깊이 방향 좌표가 감소하는 것으로 판단할 수 있다.
길이 성분의 아무런 변화가 없는 제7 케이스의 경우에는 마찬가지로 특징점들(P1', P3', P4')의 좌표 변화도 없는 것으로 파악한다.
제1 및 제3 길이 성분들(L1', L3')의 변화는 없고 제2 길이 성분(L2')의 길이가 감소하는 경우는 검지만이 아래로 향하는 경우로 판단할 수 있다. 이러한 경우에는 제3 특징점(P3')의 깊이 방향의 좌표가 증가하며, 예를 들어, 도 8의 (a) 내지 (b) 구간 동안 두 번째 손가락이 아래를 향하는 tap-in 동작으로 파악할 수 있다.
제1 및 제3 길이 성분들(L1', L3')의 변화는 없고 제2 길이 성분(L2')의 길이가 증가하는 경우는 아래로 향했던 검지만이 위로 복귀하는 경우로 판단할 수 있다. 따라서 제3 특징점(P3')의 깊이 방향의 좌표가 감소하며, 도 8의 (b) 내지 (c) 구간 동안 검지가 다시 복귀하는 tap-out 동작으로 파악할 수 있다.
도 7 및 표 2를 참조하여 설명한 특징점 및 그에 기초한 길이 성분의 변화 관찰은, 손 모양 전체의 뼈대를 파악하지 않고도 네 개의 특징점들(P1', P2', P3', P4')만으로 두 손가락의 3차원 움직임을 모두 파악할 수 있으며 추가적으로 회전 동작까지도 알아낼 수 있다.
본 발명에 있어서, 포인터에 상응하는 손의 3차원 변화에 따른 포인터 동작에 대하여 각각에 연계된 명령을 할당함에 따라 인터페이스 동작을 수행할 수 있다.
도 9와 같이 제1 길이 성분(L1, L1')과 제2 길이 성분(L2, L2')의 길이가 일정하게 유지되면서 이들 사이의 각도가 변화하는 것은 제1 특징점(P1, P1')과 제2 특징점(P2, P2')의 2차원 좌표 변화로 판단할 수 있다.
이상과 같은 방식으로 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터의 좌표를 획득하면, 거리 인자 및 사용자 인자에 기초하여 포인터 좌표를 가상 포인터 좌표로 변환한다. 또한 3차원 영상 해석 수단은 포인터 좌표의 기 설정된 시간 동안의 포인터 동작을 감지하여 인터페이스부에 제공할 수도 있다.
도 10 및 도 11을 참조하여 포인터 좌표를 가상 포인터 좌표로 변환하는 방법을 설명하도록 한다.
도 10은 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 표시 방법을 설명하기 위해 가상현실 장치를 중심으로 상부는 현실공간(Real Space, RS), 하부는 가상 공간(Virtual Space, VS)으로 가정하여 좌표계의 변환을 도시한 것이다.
현실공간(RS)은 가상현실 인터페이스 구현 장치(10)를 착용한 실 사용자(Real Player, RP)의 시선(LE, RE)과, 가상현실 인터페이스 구현 장치(10)를 구성하는 가상현실 장치(100), 단일 카메라(300) 및 고정 장치(200)의 관계에 의하여 정의될 수 있다.
본 명세서에서는 가상현실 인터페이스 구현 장치(10)가 가상현실 장치(100), 단일 카메라(300) 및 고정 장치(200)로 이루어지는 것으로 설명하고 도면에도 그에 기초하여 도시하였으나 본 발명의 일 실시예에 따른 가상현실 인터페이스 구현 장치(10)는 적어도 하나의 외부 촬상소자 및 사용자가 가상현실을 인식할 수 있도록 표시하는 수단을 구비하는 것으로도 충분하다.
현실공간(RS)의 실 사용자(RP)의 시선 앞에는 가상현실 장치(100)가 위치하기 때문에 현실공간(RS)에 대한 사용자의 시야가 가로막힌다. 본 발명에서는 실 사용자의 손(hand)과 같이 가상현실에서 인터페이스 제어를 수행할 수 있는 포인터의 좌표를, 가상현실 인터페이스 구현 장치(10)에 포함된 단일 카메라(300)를 통해 획득된 현실공간(RS)의 영상을 통해 획득하여 가상현실에 표시하는 방법을 제공한다.
특히 본 발명에서는 현실공간에서의 실 사용자의 인터페이스 제어 동작을 단일 카메라를 통해 획득하여 3차원 좌표로 변환할 수 있다. 따라서 사용자의 시선으로만 가상현실을 제어하는 경우와 비교하여 사용자의 시선은 그대로 유지되면서도 다양한 공간에 대한 제어가 가능하며 z 방향, 즉 깊이 방향으로의 제어도 가능하다.
단일 카메라(300)를 통하여 획득되는 공간은, 카메라의 화각(Field of view, FOVcam)에 따라서 현실 카메라 공간(Real Camera Space, RCS)으로 정의될 수 있다. 현실 카메라 공간(RCS)의 좌표는 현실공간(RS) 좌표를 역투영 행렬(Inverse Projection Matrix) 연산을 수행하여 얻어질 수 있다.
그런데 현실 카메라 공간(RCS)의 좌표는 사용자의 시선과 차이가 있다. 또한 실제로 사용자가 손과 같이 명령을 수행할 수 있는 지시자, 즉 포인터를 사용하는 공간은 달리 정의될 수 있다. 본 발명에서는 이와 같이 사용자의 시선과 일치하면서도 사용자가 명령을 수행하는 지시자를 움직일 수 있는 공간을 현실 이동 공간(Real Motion Space, RMS)으로 정의한다. 현실 이동 공간(RMS)은 실 사용자(RP)의 시선(LE, RE)의 중심점과 현실 카메라 공간(RCS)이 만나는 점을 원점(ORMS)으로 하여, 사용자의 손, 또는 포인터가 위치하는 최대 깊이(즉 z 축 방향)까지 연장될 수 있다.
현실 이동 공간(RMS)은 가상현실 인터페이스 구현 장치(10)의 특징에 기초하여 정의될 수 있다. 실시예에 따라 가상현실 인터페이스 구현 장치(10)에서 실 사용자(RP)의 시선(LE, RE)의 중심점은 가상현실 인터페이스 구현 장치(10)의 고정 장치(200)의 중심과 일치할 수 있다.
현실 이동 공간(RMS)의 화각(FOVrs)은 카메라의 화각(FOVcam)과 동일한 각도를 가질 수 있다.
현실 이동 공간(RMS)은 가상현실 인터페이스 구현 장치(10)를 착용한 사용자의 시선과 단일 카메라(300) 사이의 깊이 방향(z축 방향)의 거리에 상응하는 제1 인자(f1), 가상현실 장치(100)의 중심과 단일 카메라(300) 사이의 깊이 방향과 실질적으로 직교하는 제1 방향(x축 방향)의 거리에 상응하는 제2 인자(f2), 및 단일 카메라(300)의 화각(FOVcam)을 고려한 현실 카메라 공간(RCS)와 가상현실 장치(100)의 중심 사이의 깊이 방향 거리에 상응하는 제3 인자(f3)에 기초하여 정의될 수 있다. 본 명세서에서 제1 내지 제3 인자(f1, f2, f3)는 단일 카메라(300)와 가상현실 장치(100) 또는 사용자의 시선의 중심 사이의 거리에 기초하여 결정되는 특성이므로 거리 인자에 포함되는 것으로 설명한다.
또한, 본 발명에 따르면 실 사용자(RP)의 키와 몸무게와 같은 사용자 신체 특성에 기초하여 정의되는 사용자 인자(f4, f5, f6)에 기초하여 현실 이동 공간(RMS)이 가상 공간으로 변환될 수 있다.
실시예에 따라 사용자의 키와 몸무게와 같은 사용자의 신체 특성에 따라서 실 사용자(RP)의 어깨 너비에 상응하는 제4 인자(f4)와 팔 길이에 상응하는 제5 인자(f5)와 같은 사용자 인자가 가상현실 인터페이스 구현 장치(10) 내의 저장부(340) 또는 가상현실 인터페이스 구현 장치(10)의 외부로부터 획득될 수 있다. 제6 인자(f6)는 제5 인자(f5)에 의한 현실 이동 공간(RMS)의 깊이를 단일 카메라(300) 사이의 깊이 방향 거리에 상응할 수 있다.
다른 실시예에 있어서, 사용자의 신체 특성에 따른 사용자 인자는, 사용자가 가상현실 인터페이스 구현 장치(10)에 입력함에 따라 획득되어 저장부(340)에 저장될 수 있다.
현실 카메라 공간(RCS)이 현실 이동 공간(RMS)으로 변환되는 과정은, 현실 카메라 공간(RCS)의 원점(ORCS)을 고정 장치(200)의 중심과 단일 카메라(300) 사이의 거리 인자(f2)와, 고정 장치(200)의 중심과 현실 카메라 공간(RCS)이 만나는 점, 즉 현실 이동 공간(RMS)의 원점(ORMS)까지의 거리(f3)에 따라 x 축 방향과 z 축 방향으로 각각 이동시키는 과정을 따를 수 있다. 현실 이동 공간(RMS)의 z 축 방향의 최대 이동 거리가 실 사용자(RP)의 신체 특성에 따라 제한되는 것은 현실 카메라 공간(RCS)의 좌표 변환에는 영향을 미치지 않을 수 있다.
가상현실 인터페이스 구현 장치(10)는 단일 카메라(300)로부터 획득한 영상으로부터 해석한 포인터 좌표를 실 사용자(RP)의 시선과 일치시키는 좌표계로 변환함에 따라서 사용자가 포인터로 인식되는 객체(예를 들어 손)를 이용하는 데에 따른 위화감을 최소화할 수 있다.
변환된 현실 이동 공간(RMS)은 가상공간(VS)으로 변환될 필요가 있다. 가상공간(VS)에는 실 사용자(RP)와 대응되는 가상 사용자(Virtual Player, VP)가 설정되고, 현실 이동 공간(RMS)이 가상 이동 공간(VMS)으로 변환된다. 현실 이동 공간(RMS)이 가상 이동 공간(VMS)으로 변환되는 과정은 현실공간(RS)과 가상공간(VS) 사이의 공간 비율에 따를 수 있다.
현실공간(RS)과 가상공간(VS) 사이의 공간 비율은, 현실공간(RS)의 실 사용자의 현실 이동 공간(RMS)의 최대 이동 거리, 즉 사용자의 신체 특성에 따른 사용자 인자에 포함된 최대 이동 거리(f5)의 비율과 가상공간(VS)의 스케일 파라미터에 기초하여 결정될 수 있다. 가상공간(VS)의 스케일 파라미터는 가상공간(VS)을 설계한 디자이너의 설정에 따라 상이해질 수 있는 기 설정된 값일 수 있다.
따라서 공간 비율만을 제외하고는 가상 이동 공간(VMS)은 현실 이동 공간(RMS)이 동일하게 투영된 공간일 수 있다. 가상현실의 좌표는 가상 카메라 공간(Virtual Camera Space, VCS)의 좌표와 일치하는 것으로, 가상 이동 공간(VMS)의 좌표를 가상 카메라 공간(VCS)의 좌표로 변환해야 한다. 이와 같이 변환된 가상 이동 공간(VMS)의 화각(FOVvs)은 가상공간(VS)으로 사용자에게 표시되는 화각으로, 카메라의 화각(FOVcam)과 동일하게 느껴질 수 있을 것이다.
가상 이동 공간(VMS)의 원점(OVMS)을 가상 카메라 공간(VCS)의 원점(OVCS)과 일치시키기 위해 z 축 방향으로 제7 인자(g)만큼의 이동 행렬 연산을 수행한다. 여기서 제7 인자(g)는 실 사용자(RP)의 시선과 원점(ORMS)사이의 거리에 상응하는 제1 인자(f1) 및 제3 인자(f3)와 현실공간(RS)과 가상공간(VS) 사이의 공간 비율에 따라서 결정될 수 있다. 예를 들어, 제1 인자(f1) 및 제3 인자(f3)의 합과 가상공간(VS) 사이의 공간 비율에 따라서 제7 인자(g)가 결정될 수 있다.
상술한 과정을 통하여 사용자의 손동작과 같은 포인터 좌표(P)가 가상 포인터 좌표(TAT_P)로 변환되어 가상현실에서 표시될 수 있다. 도 10을 참조하여서는 특정한 공간을 변환한다는 표현을 통하여 포인터 좌표를 가상 포인터 좌표로 변환하는 과정을 설명하였으나, 공간을 변환하는 것은 공간을 표현하기 위한 좌표계를 변환하는 것과 동일한 개념으로 이해될 수 있다.
포인터 좌표를 가상 포인터 좌표로 변환하기 위해서는 거리 인자와 사용자 인자가 필요하기 때문에 거리 인자와 사용자 인자를 획득하거나 도출하는 과정이 요구된다.
도 11은 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법에 있어서, 포인터 좌표를 가상 포인터 좌표로 변환하는 단계를 설명하기 위한 흐름도이다.
도 11에 도시한 단계는 도 2의 가상 좌표 변환 수단(320)에 의하여 수행될 수 있다.
도 11을 참조하면, 역투영 행렬 연산을 수행하여 포인터 좌표를 단일 카메라의 좌표계로 변환할 수 있다(단계 S121). 이는 도 10에서 현실공간(RS)을 현실 카메라 공간(RCS)으로 변환하는 과정에 대응될 수 있다.
가상 좌표 변환 수단(320)에 포함된 현실공간 좌표 변환부(321)는 거리 인자에 기초하여 단일 카메라의 좌표계(RCS)를 사용자의 시선을 중심으로 하는 현실공간의 입력범위 좌표계로 변환할 수 있다(단계 S122). 이는 도 10에서 현실 카메라 공간(RCS)을 현실 이동 공간(RMS)으로 변환하는 과정에 대응될 수 있다.
현실공간 좌표 변환부(321)는 저장부(340)로부터 제공된 거리 인자, 또는 등록 과정에서 획득된 거리 인자에 기초하여 현실 카메라 공간(RCS)을 현실 이동 공간(RMS)으로 변환할 수 있다. 구체적으로, 현실공간 좌표 변환부(321)는 현실 카메라 공간(RCS)의 원점(ORCS)을 현실 이동 공간(RMS)의 원점(ORMS)과 일치하도록 이동행렬 연산을 통하여 좌표계 변환을 수행할 수 있다.
예를 들어, 이동행렬은 x축 방향으로 제2 인자(f2), z축 방향으로 제3 인자(f3)에 따를 수 있다. 현실 카메라 공간(RCS)과 현실 이동 공간(RMS)은 y축 방향으로는 동일하다고 가정한다.
가상 좌표 변환 수단(320)에 포함된 가상공간 좌표 변환부(323)는 가상공간(VS)과 현실공간(RS)의 스케일 파라미터 및 사용자 인자에 기초하여 현실공간의 입력범위 좌표계를 가상 입력범위 좌표계로 변환한다(단계 S123). 이 단계는 도 10에서 현실 이동 공간(RMS)을 가상 이동 공간(VMS)으로 변환하는 과정에 대응될 수 있다. 상술한 바와 같이 현실공간(RS)과 가상공간(VS) 사이의 공간 비율은 사용자 인자에 포함된 제4 인자(f4)의 비율과 가상공간(VS)의 스케일 파라미터에 따라 결정될 수 있다.
마지막으로 가상공간 좌표 변환부(323)는 가상 입력범위 좌표계에 대하여 깊이 방향의 변환을 수행하여 포인터 좌표를 가상 포인터 좌표로 변환할 수 있다(단계 S124). 이 단계는 도 10에서 가상 이동 공간(VMS)을 가상 카메라 공간(VCS)으로 변환하는 과정에 대응될 수 있다. 가상 입력범위 좌표계는 가상현실 장치(100)의 중심과 단일 카메라 좌표계의 화각(FOVcam)을 고려한 단일 카메라 좌표 공간이 만나는 점, 또는 현실 이동 공간(RMS)의 원점(ORMS)과 가상현실 장치(100) 사이의 깊이 방향의 거리와 사용자의 시선과 가상현실 장치(100) 사이의 깊이 방향의 거리의 합, 즉 제1 인자(f1)와 제3 인자(f3)에 기초하여 깊이 방향 변환을 수행할 수 있다.
이와 같이 단일 카메라(300)에 의해 획득된 영상을 통하여 얻어진 포인터 좌표는 가상 포인터 좌표로 변환되어 가상현실 장치(100)를 통해 표시될 수 있다. 가상현실 장치(100)를 통해 가상 포인터 좌표가 표시되는 방식은 다양하게 구현될 수 있다. 본 발명에서는 가상 포인터 좌표를 표시하는 것뿐만 아니라, 표시된 가상 포인터 좌표의 포인터를 통해 다양한 방식의 3차원 인터페이스를 수행할 수 있다.
따라서 종래의 가상현실에서는 시선 포인터와 같이 사용자의 머리 방향과 일치하는 일직선상에 위치한 객체에만 접근이 가능하여 인터페이스에 여러가지 제한이 있었지만, 본 발명에서의 가상 포인터 좌표로 변환된 포인터는 가상현실의 3차원 공간상의 모든 객체에 대한 접근과 상호작용이 가능하다.
도 12 내지 도 18은 가상 포인터 좌표의 다양한 변화에 따른 인터페이스 방법을 예시적으로 나타내는 도면들이다.
도 12 내지 도 18은 각각 기 설정된 시간 동안 포인터 좌표 또는 가상 포인터 좌표의 변화를 통하여 파악되는 하나의 동작들을 예시적으로 도시한 도면이다. 각각에서는 포인터의 변화를 통하여 하나의 포인터 동작을 인식할 수 있으며 이러한 포인터 동작들은 특정한 명령과 연계되어 가상현실에서 3차원 인터페이스가 가능하도록 한다.
실시예에 따라 도 12 내지 도 18에 따른 포인터 동작의 인식은 도 2의 3차원 영상 해석 수단(310)에 의해 수행될 수 있으며, 3차원 영상 해석 수단(310)은 기 설정된 시간 동안의 포인터 좌표의 변화 또는 그로부터 도출된 이동 벡터에 기초하여 포인터 동작을 파악하여 내부적으로 연계된 명령을 인터페이스부(350)에 제공할 수 있다. 실시예에 따라서 3차원 영상 해석 수단(310)을 통해 제공된 포인터 동작 정보가 인터페이스부(350)에 제공되어 인터페이스부(350)가 포인터 동작과 연계된 명령을 도출하여 인터페이스 동작을 수행하도록 구현될 수도 있다.
또한, 실시예에 따라 3차원 영상 해석 수단(310)을 통해 제공된 포인터 좌표가 가상 포인터 좌표로 변환된 정보를, 인터페이스부(350)가 자체적으로 기 설정된 시간 동안 추적하여 포인터 동작을 감지할 수도 있다.
도 12 내지 도 18은 가상현실 장치로 표시되는 화면의 모습일 수 있다. 실시예에 따라, 가상현실 장치에서는 손모양은 표시되지 않고, 가상 포인터 좌표(TAT_P)만이 표시될 수 있다.
도 12 내지 도 18에서는 도 6 및 도 7을 참조하여 설명한 바와 같이 손바닥 특징점과 엄지 말단 사이를 제1 길이 성분(L1), 손바닥 특징점과 검지 말단 사이를 제2 길이 성분(L2)으로 기술한다.
도 12는 사용자의 포인터 특징점들이 단순히 이동하는 동작, 구체적으로는 검지가 지속적으로 이동하는 동작을 나타낸다. 도 12의 (a)와 (b) 그리고 (c) 사이에서 손가락의 특징점들을 이은 길이 성분의 상대적인 비율 변화는 없고, 또한 길이 성분들 사잇각의 크기 변화도 없다. 다만 전체적으로 길이 성분의 길이가 줄어들었다가 늘어난다. 따라서 도 12의 동작은 단순하게 이동하면서 손이 멀어졌다가 가까워지는 동작을 병행하는 것으로 판단되며, 이러한 깊이 방향 좌표 판단 결과에 따라 가상 포인터 좌표의 z 방향의 크기가 커졌다가 작아졌다가 하는 등으로 표시될 수 있다.
도 13에서는 손모양을 구성하는 2차원 길이 성분들(예를 들어 도 6의 L1, L2 또는 도 7의 L1', L2')의 길이 변화는 없는 한편 (a)에서 (b) 구간 사이에서 길이 성분들 사이의 사잇각이 줄어드는 동작을 나타내었다. 이 동작은 Thumb-in 동작으로 판단될 수 있다.
도 14에서는 도 13에 도시한 것과 반대로 손모양을 구성하는 2차원 길이 성분의 길이 변화는 없는 한편 (a)에서 (b) 구간 사이에서 길이 성분들 사이의 사잇각이 늘어나는 동작이 이루어진 것을 확인할 수 있다. 이 동작은 Thumb-out 동작으로 판단될 수 있다.
도 15에서는 도 13 및 도 14를 참조하여 설명한 것과 마찬가지로 손모양을 구성하는 2차원 길이 성분의 길이 변화는 없으나, (a)에서 (b) 구간 사이에서 길이 성분들의 사잇각이 줄어들었다가 (b)에서 (c) 구간 사이에서 다시 사잇각이 늘어나는 동작이 이루어진 것을 확인할 수 있다. 이는 Thumb-in 동작과 Thumb-out 동작이 순차적으로 이루어진 것으로 전체 동작을 통해 Thumb-click 동작으로 판단할 수 있다. 예를 들어, 본 발명에서는 하나의 포인터 동작(Thumb-in)과 기 설정된 시간 이내에 다른 포인터 동작(Thumb-out)이 이어지는 경우를 조합하여 다른 포인터 동작(Thumb-click)으로 정의할 수 있다.
도 16에서는 (a)에서 (b) 구간 사이에 제1 길이 성분의 변화는 없으나, 제2 길이 성분의 길이가 줄어든 것을 확인할 수 있다. 이러한 동작은 검지가 단일 카메라로부터 멀어지는 동작으로 해석하여 Tap-in 동작으로 판단한다.
도 17에서는 (a)에서 (b) 구간 사이에 제1 길이 성분의 변화는 없으나, 제2 길이 성분의 길이가 증가한 것을 확인할 수 있다. 이러한 동작은 검지가 단일 카메라로 가까워지는 동작으로 보아 Tap-out 동작으로 판단할 수 있다.
도 18에서는 역시 제1 길이 성분은 변화하지 않으나, (a)에서 (b) 구간 사이에서 제2 길이 성분이 줄어들었다가 (b)에서 (c) 구간 사이에서 제2 길이 성분이 증가하는 것을 확인할 수 있다. 이는 도 16 및 도 17을 참조하여 설명한 Tap-in 동작과 Tap-out 동작이 순차적으로 이루어진 것으로 Tap-click 동작으로 판단할 수 있다.
본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법 및 장치에 있어서, 상술한 다양한 동작들을 해석함에 따라 다양한 명령을 수행하도록 할 수 있다. 어떠한 명령이 수행되는지는 수행된 동작에 따라 달라질 수 있으며, 특히 가상현실 인터페이스 구현 방법에 있어서는 포인터 좌표가 시선 포인터와 일치되어 이루어지는 경우에는 더욱 상이한 인터페이스가 수행될 수 있다.
도 19 내지 도 21은 가상현실 인터페이스 구현 방법 및 장치에서 가상 포인터 좌표와 시선 포인터의 상호 작용에 따른 인터페이스 방법의 예들을 나타낸 도면들이다.
도 19는 상술한 사용자 등록 과정의 일 예를 나타낸 도면이다. 실시예에 따라, 이동 동작 동안에 가상현실 장치에서는 시선 포인터(GP)와 가상 포인터 좌표(TAT_P)의 일치를 위한 가이드 화면을 표시하여 사용자의 등록을 유도할 수 있을 것이다. 즉 포인터 좌표를 가상 포인터 좌표로 변환하기 위한 거리 인자와 사용자 인자를 획득하기 위하여 도 19에 나타낸 것과 같은 가이드 화면이 사용자에게 제공될 수 있다.
도 19의 (a) 에서는 시선 포인터(GP)에 가상 포인터 좌표를 일치시키도록 하는 가이드 영상(guide1)이 표시될 수 있다. (b) 에서는 가상 포인터 좌표와 시선 포인터가 일치되며, 사용자가 가능한 한도 내에서 손을 길게 뻗는 경우, 사용자 인자를 보다 정확히 파악할 수 있으므로 (c)와 같이 추가적인 가이드 영상(guide2)이 더 표시될 수도 있다.
도 20는 시선 포인터와 가상 포인터 좌표를 일치시킨 후에 포인터 동작을 수행함에 따라서 하위 메뉴를 실행시키는 예시를 나타낸 도면이다.
도 20의 (a)에서 (b) 구간 동안에 가상 포인터 좌표(TAT_P)를 이동하여 가상 포인터 좌표(TAT_P)와 시선 포인터(GP)를 일치시킨다. 이렇게 일치된 상태에서 (c) 에서 도 15를 참조하여 설명한 것과 같은 Thumb-click 동작을 수행한다.
인터페이스부(350)는 Thumb-click 동작의 수행에 따라 인식된 포인터 동작에 의해 해당 포인터 동작과 연계된 명령으로 하위 메뉴가 선택된 것으로 판단하여 (d)에서와 같은 메뉴를 표시할 수 있다. 메뉴가 표시된 상태에서 (e) 에서와 같이 사용자가 가상 포인터 좌표(TAT_P)를 이동하여 특정한 메뉴를 선택하고, (f)에서 Thumb-click 동작을 다시 수행하면 인터페이스부(350) 또는 3차원 영상 해석 수단(310)은 포인터 동작을 인식하게 되고, 이에 따라서 해당 메뉴(menu)가 수행된다.
구체적으로 3차원 영상 해석 수단(310)에 의해 포인터 동작이 인식된 정보가 인터페이스부(350)에 제공되면, 인터페이스부(350)는 현재 가상현실 인터페이스에서 가상 포인터 좌표의 위치를 파악하고 가상 포인터 좌표의 위치에서 포인터 동작이 수행되었을 경우, 그에 연관된 명령을 해석하여 인터페이스 동작을 수행할 수 있다.
다른 실시예에 있어서, 인터페이스부(350)가 가상 포인터 좌표를 통해 포인터 동작을 인식하면 내부적으로 현재 가상 포인터 좌표의 위치, 응시 포인터의 위치, 및 포인터 동작에 연계된 명령을 도출하여 인터페이스 동작을 수행할 수 있다.
예를 들어, 도 20에서는 Thumb-click 동작이 선택 명령과 연계되어 가상 포인터가 위치한 메뉴를 선택하는 인터페이스 동작을 수행하는 것을 확인할 수 있다.
실시예에 따라 도 20의 (g), (h), (i)에서 도시한 것과 같이 부채꼴, 사각형, 방사형 등의 다양한 형태의 메뉴가 가상현실 장치를 통하여 표시될 수 있다.
도 21은 가상공간의 사용자를 이동시키는 인터페이스의 일 예를 나타내는 도면이다.
가상공간에서의 가상 입력 공간(VMS, 도 10 참조)는 가상 사용자(VP)의 위치를 기준으로 가상 포인터 좌표를 통해 접근할 수 있는 3차원의 가상공간이다. 가상 입력 공간(VMS)은 현재 가상 사용자의 위치에 의해서 결정되기 때문에 가상 사용자의 위치가 이동하면 가상 입력 공간(VMS)도 변경될 수 있다.
가상공간 상에서 가상 사용자(VP)의 이동은 (b)에서 나타낸 것과 같이 시선 포인터(GP)와 가상 포인터 좌표(TAT_P)를 일치시킨 상태에서 (b)에서 (c) 사이에서 Thumb-in 동작을 수행한 이후에 (d) 구간 까지 기 설정된 시간 동안 Thumb-in 동작을 유지하고 (e)에서 시선 포인터(GP)를 끌어, 즉 드래그(drag) 동작을 수행함에 따라서 수행될 수 있다. 시선 포인터(GP)가 드래그된 상태에서 사용자는 가상 포인터 좌표(TAT_P)를 x, z 방향으로 이동함으로써 가상 사용자(VP)의 위치를 이동시킬 수 있다. 시선 포인터(GP)의 이동을 끝내고자 하는 경우, (f)와 같이 Thumb-out 동작을 수행하여 드래그 동작을 해제(release)시킨다.
이와 같이 가상현실 인터페이스를 구현함으로 인해 실 사용자가 이동하여 가상공간을 이동하는 것과 달리 간단한 제어 동작만으로 가상 사용자의 위치를 이동할 수 있다.
또한 도 21을 참조하여 설명한 바와 같이, 하나의 포인터 동작에 하나의 명령이 연계된 것이 아니라, 일련의 포인터 동작이 연계되어 하나의 명령을 수행하도록 구현될 수도 있다. 상술한 바와 같이 포인터 동작과 그에 연계된 명령은 3차원 영상 해석 수단(310)에 저장되거나, 저장부(340), 또는 인터페이스부(350)에서 관리될 수 있다. 또한 포인터 동작과 그에 연계된 명령은 외부에서 사용자가 설정함에 따라서 상이하게 정의될 수도 있다.
본 발명의 다양한 실시예들에 따른 가상현실 인터페이스 구현 방법 및 구현 장치는, 단일 카메라를 통하여 사용자의 제어 동작을 3차원으로 해석하여 포인터 좌표를 획득하며, 이렇게 획득된 포인터 좌표를 괴리감 없이 가상현실 공간에 표시할 수 있다.
이러한 과정을 통하여 가상현실 공간에서 사용자의 제어 동작을 통해 다양한 인터페이스 동작이 가능해질 수 있다.
이와 같은 방법을 통하여 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법 및 가상현실 인터페이스 구현 장치는 단일 카메라를 통해 획득된 영상에 대하여 3차원의 깊이 정보를 파악하여 포인터 좌표를 획득하고, 나아가 본 발명의 일 실시예에 따른 단일 카메라 기반의 가상현실 인터페이스 구현 방법 및 가상현실 인터페이스 구현 장치는 3차원으로 파악된 포인터 좌표를, 가상현실 장치 및 가상현실 장치의 사용자의 특성에 따라 도출된 인자에 따라 가상현실로 변환하여 표시함으로써 가상현실 공간에 괴리감 없이 가상 포인터 좌표를 표시할 수 있다.
본 발명에 있어서, 상술한 단일 카메라 기반의 가상현실 인터페이스 구현 방법을 수행하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록 매체도 본 발명의 범위에 포함될 수 있다. 예를 들어, 컴퓨터로 독출 가능한 프로그램 명령어들을 저장하고 있는 기록 매체는 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD(Digital Versatile Disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예들에 따른 시스템은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 그리고 본 문서에 개시된 실시예는 개시된 기술 내용의 설명 및 이해를 위해 제시된 것이며 본 발명의 범위를 한정하는 것은 아니다. 따라서 본 문서의 범위는 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.
10 : 가상현실 인터페이스 구현 장치
310 : 3차원 영상 해석 수단
320 : 가상 좌표 변환 수단
330 : 표시 수단
340 : 저장부
350 : 인터페이스부

Claims (20)

  1. 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 단계;
    상기 단일 카메라와 상기 가상현실 장치 사이의 거리 인자(factor) 및 사용자의 키 또는 연령별 평균 신장(height)과 같은 신체 사이즈 정보를 포함하는 사용자의 신체 특성에 따라 도출된 현실공간의 입력 범위를 포함하는 사용자 인자에 기초하여 상기 포인터 좌표를 가상 포인터 좌표로 변환하는 단계; 및
    상기 변환된 가상 포인터 좌표를 상기 가상현실 장치에 표시하는 단계를 포함하고,
    상기 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 단계는,
    상기 단일 카메라에 의해 획득된 영상을 프레임 단위로 저장하는 단계;
    상기 저장된 영상에 포함된 사용자의 손모양을 구성하는 복수 개의 특징점들을 파악하여 상기 특징점들에 기초한 인식 영역을 추출하는 단계;
    기 설정된 시간 구간 동안 상기 인식 영역의 특징점들로 구성된 2차원 길이 성분의 변화를 추적하는 단계; 및
    상기 2차원 길이 성분의 변화에 기초하여 상기 특징점들의 3차원 좌표 변화를 해석하고, 상기 해석에 기초하여 상기 기 설정된 시간 구간 동안의 상기 특징점들의 이동 벡터를 도출함에 따라 상대적인 3차원의 상기 포인터 좌표를 획득하는 단계를 포함하는, 단일 카메라 기반의 가상현실 인터페이스 구현 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 포인터 좌표를 가상 포인터 좌표로 변환하는 단계는,
    역투영 행렬(Inverse projection matrix) 연산을 수행하여 상기 포인터 좌표를 상기 단일 카메라의 좌표계로 변환하는 단계;
    상기 거리 인자에 기초하여 상기 단일 카메라의 좌표계를 상기 가상현실 장치를 중심으로 하는 현실공간의 입력범위 좌표계로 변환하는 단계;
    가상공간과 현실공간의 스케일 파라미터 및 상기 사용자 인자에 기초하여 상기 현실공간의 입력범위 좌표계를 가상 입력범위 좌표계로 변환하는 단계; 및
    상기 가상 입력범위 좌표계에 대하여 깊이 방향 변환을 수행하여 상기 가상 포인터 좌표로 변환하는 단계를 포함하는 단일 카메라 기반의 가상현실 인터페이스 구현 방법.
  4. 청구항 3에 있어서,
    상기 가상 입력범위 좌표계에 대하여 깊이 방향 변환을 수행하는 단계는,
    상기 가상현실 장치의 중심과 상기 현실공간의 입력범위 좌표계의 원점 사이의 깊이 방향의 거리, 및 상기 가상현실 장치와 사용자의 시선 사이의 깊이 방향의 거리에 기초하여 상기 깊이 방향 변환을 수행하는 단계를 포함하는 단일 카메라 기반의 가상현실 인터페이스 구현 방법.
  5. 청구항 3에 있어서,
    상기 거리 인자는, 상기 가상현실 장치를 착용한 사용자의 시선과 상기 단일 카메라 사이의 깊이 방향의 거리에 상응하는 제1 인자, 상기 가상현실 장치의 중심과 상기 단일 카메라 사이의 상기 깊이 방향과 실질적으로 직교하는 제1 방향의 거리에 상응하는 제2 인자, 및 상기 단일 카메라의 화각(field of view)을 고려한 현실 카메라 공간과 상기 가상현실 장치의 중심 사이의 깊이 방향의 거리에 상응하는 제3 인자를 포함하며,
    상기 단일 카메라의 좌표를 상기 사용자의 시선을 중심으로 하는 현실공간의 입력범위 좌표계로 변환하는 단계는, 상기 제1 인자 및 제3 인자에 기초하여 깊이 방향의 변환을 수행하는 단계; 및 상기 제2 인자에 기초하여 상기 제1 방향의 변환을 수행하는 단계를 포함하는 단일 카메라 기반의 가상현실 인터페이스 구현 방법.
  6. 청구항 5에 있어서,
    상기 가상 입력범위 좌표계에 대하여 깊이 방향 변환을 수행하여 상기 가상 포인터 좌표로 변환하는 단계는,
    상기 스케일 파라미터와 상기 제3 인자에 기초하여 깊이 방향 변환을 수행하여 상기 가상 포인터 좌표로 변환하는 단일 카메라 기반의 가상현실 인터페이스 구현 방법.
  7. 청구항 3에 있어서,
    상기 가상 포인터 좌표로 표시되는 상기 사용자의 손모양의 적어도 하나의 특징점의 2차원 좌표를 상기 가상현실 장치의 시선 포인터와 일치시키는 가이드 화면을 표시하는 단계를 포함하는 단일 카메라 기반의 가상현실 인터페이스 구현 방법.
  8. 청구항 3에 있어서,
    상기 포인터 좌표를 상기 가상 포인터 좌표로 변환하는 단계는,
    사용자 식별자에 기초하여 상기 거리 인자 및 상기 사용자 인자 중 적어도 하나를 도출하는 단계를 포함하는, 단일 카메라 기반의 가상현실 인터페이스 구현 방법.
  9. 청구항 3에 있어서,
    상기 변환된 가상 포인터 좌표를 상기 가상현실 장치에 표시하는 단계는,
    상기 변환된 가상 포인터 좌표와 상기 가상현실 장치의 선택 유닛의 좌표가 일치된 상태에서 기 설정된 포인터 동작이 수행된 경우, 상기 선택 유닛과 연계된 하부 명령을 수행하는 단계를 포함하는, 단일 카메라 기반의 가상현실 인터페이스 구현 방법.
  10. 청구항 9에 있어서,
    상기 변환된 이동 벡터에 기초하여 상기 손모양이 지시하는 동작을 판단하여 포인터 동작으로 간주하는 단계를 더 포함하는, 단일 카메라 기반의 가상현실 인터페이스 구현 방법.
  11. 청구항 10에 있어서,
    상기 선택 유닛은 사용자의 시선 포인터(Gaze pointer)에 상응하며,
    상기 시선 포인터와 상기 변환된 가상 포인터 좌표가 일치된 상태에서 상기 가상 포인터 좌표가 기 설정된 시간 동안 드래그(drag)되는 동작에 상응하는 포인터 동작을 수행하는 것을 따라 가상현실의 가상공간이 이동되는, 단일 카메라 기반의 가상현실 인터페이스 구현 방법.
  12. 청구항 1 및 청구항 3 내지 청구항 11 중 어느 한 항에 기재된 방법을 수행하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록 매체.
  13. 가상현실 장치에 부착된 단일 카메라에 의해 획득된 영상에 기초하여 포인터 좌표를 획득하는 3차원 영상 해석 수단;
    상기 단일 카메라와 상기 가상현실 장치 사이의 거리 인자(factor) 및 사용자의 키 또는 연령별 평균 신장(height)과 같은 신체 사이즈 정보를 포함하는 사용자의 신체 특성에 따라 도출된 현실공간의 입력 범위를 포함하는 사용자 인자에 기초하여 상기 포인터 좌표를 가상 포인터 좌표로 변환하는 가상 포인터 좌표 변환 수단; 및
    상기 변환된 가상 포인터 좌표를 상기 가상현실 장치에 표시하는 표시 수단을 포함하고,
    상기 3 차원 영상 해석 수단은,
    상기 단일 카메라에 의해 획득된 영상을 프레임 단위로 저장하는 영상 획득부;
    상기 저장된 영상에 포함된 사용자의 손모양을 구성하는 복수 개의 특징점들을 파악하여 상기 특징점들에 기초한 인식 영역을 추출하는 영상 추출부;
    기 설정된 시간 구간 동안 상기 인식 영역의 특징점들로 구성된 2차원 길이 성분의 변화를 추적하는 영상 추적부; 및
    상기 2차원 길이 성분의 변화에 기초하여 상기 특징점들의 3차원 좌표 변화를 해석하고, 상기 해석에 기초하여 상기 기 설정된 시간 구간 동안의 상기 특징점들의 이동 벡터를 도출하여 상대적인 3차원 포인터 좌표를 획득하는 영상 해석부를 포함하는, 단일 카메라 기반의 가상현실 인터페이스 구현 장치.
  14. 삭제
  15. 청구항 13에 있어서,
    상기 가상 포인터 좌표 변환 수단은,
    역투영 행렬(Inverse projection matrix) 연산을 수행하여 상기 포인터 좌표를 상기 단일 카메라의 좌표계로 변환하고, 상기 거리 인자에 기초하여 상기 단일 카메라의 좌표계를 상기 사용자의 시선을 원점으로 하는 현실공간의 입력범위 좌표계로 변환하는 현실공간 좌표 변환부; 및
    가상공간과 현실공간의 스케일 파라미터 및 상기 사용자 인자에 기초하여 상기 현실공간의 입력범위 좌표계를 가상 입력범위 좌표계로 변환하고, 상기 가상 현실 입력범위 좌표계에 대하여 깊이 방향 변환을 수행하여 상기 가상 포인터 좌표로 변환하는 가상공간 좌표 변환부를 포함하는, 단일 카메라 기반의 가상현실 인터페이스 구현 장치.
  16. 청구항 15에 있어서,
    상기 가상 포인터 좌표 변환 수단은,
    상기 거리 인자 및 사용자 인자를 사용자 별 또는 가상현실 장치 별로 관리하는 저장부를 더 포함하는, 단일 카메라 기반의 가상현실 인터페이스 구현 장치.
  17. 청구항 16에 있어서,
    상기 저장부는,
    특정 가상현실 장치의 종류 별 단일 카메라 특성, 사용자의 신체 특성에 따른 사용자 인자 데이터베이스를 관리하는, 단일 카메라 기반의 가상현실 인터페이스 구현 장치.
  18. 청구항 15에 있어서,
    상기 변환된 이동 벡터에 기초하여 상기 손모양이 지시하는 동작을 판단하여 포인터 동작으로 간주하고 가상현실 인터페이스 동작을 수행하는 인터페이스부를 더 포함하는, 단일 카메라 기반의 가상현실 인터페이스 구현 장치.
  19. 청구항 18에 있어서,
    상기 인터페이스부는,
    상기 변환된 가상 포인터 좌표와 상기 가상현실 장치의 선택 유닛의 좌표가 일치된 상태에서 기 설정된 포인터 동작이 수행된 경우, 상기 선택 유닛과 연계된 하부 명령을 수행하는, 단일 카메라 기반의 가상현실 인터페이스 구현 장치.
  20. 청구항 19에 있어서,
    상기 선택 유닛은 사용자의 시선 포인터에 상응하는, 단일 카메라 기반의 가상현실 인터페이스 구현 장치.
KR1020187012787A 2016-09-12 2017-04-17 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 방법, 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 장치 KR102160236B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/KR2016/010273 WO2018048000A1 (ko) 2016-09-12 2016-09-12 단일 카메라 기반의 3차원 영상 해석 장치 및 방법, 3차원 영상 해석을 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 매체
KRPCT/KR2016/010273 2016-09-12
PCT/KR2017/004123 WO2018048054A1 (ko) 2016-09-12 2017-04-17 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 방법, 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 장치

Publications (2)

Publication Number Publication Date
KR20180053416A KR20180053416A (ko) 2018-05-21
KR102160236B1 true KR102160236B1 (ko) 2020-09-25

Family

ID=60920001

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167027839A KR101807241B1 (ko) 2016-09-12 2016-09-12 단일 카메라 기반의 3차원 영상 해석 장치 및 방법, 3차원 영상 해석을 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 매체
KR1020187012787A KR102160236B1 (ko) 2016-09-12 2017-04-17 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 방법, 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167027839A KR101807241B1 (ko) 2016-09-12 2016-09-12 단일 카메라 기반의 3차원 영상 해석 장치 및 방법, 3차원 영상 해석을 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 매체

Country Status (3)

Country Link
US (2) US10636156B2 (ko)
KR (2) KR101807241B1 (ko)
WO (2) WO2018048000A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6688990B2 (ja) * 2016-04-28 2020-04-28 パナソニックIpマネジメント株式会社 識別装置、識別方法、識別プログラムおよび記録媒体
EP3605300A4 (en) * 2017-03-22 2020-02-26 Sony Corporation IMAGE PROCESSING DEVICE AND METHOD AND PROGRAM
WO2018173790A1 (ja) * 2017-03-22 2018-09-27 ソニー株式会社 画像処理装置および方法、並びにプログラム
US10782793B2 (en) * 2017-08-10 2020-09-22 Google Llc Context-sensitive hand interaction
CN109407824B (zh) * 2018-08-30 2020-11-06 百度在线网络技术(北京)有限公司 人体模型的同步运动方法与装置
CN109325450A (zh) * 2018-09-25 2019-02-12 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
WO2020209491A1 (en) * 2019-04-11 2020-10-15 Samsung Electronics Co., Ltd. Head-mounted display device and operating method of the same
KR102068929B1 (ko) * 2019-05-23 2020-01-21 박배억 3차원 카메라 시스템
CN110188664B (zh) * 2019-05-28 2022-05-24 福州大学 一种基于Snake的车载激光点云矢量道路边界精细提取方法
US11073902B1 (en) * 2019-12-30 2021-07-27 Facebook Technologies, Llc Using skeletal position to predict virtual boundary activation
CN111282266B (zh) * 2020-02-14 2021-08-03 腾讯科技(深圳)有限公司 三维虚拟环境中的技能瞄准方法、装置、终端及存储介质
CN111368675B (zh) * 2020-02-26 2023-06-20 深圳市瑞立视多媒体科技有限公司 手势深度信息的处理方法、装置、设备及存储介质
WO2021173839A1 (en) * 2020-02-26 2021-09-02 Magic Leap, Inc. Hand gesture input for wearable system
CN112434711B (zh) * 2020-11-27 2023-10-13 杭州海康威视数字技术股份有限公司 一种数据管理方法、装置及电子设备
CN115643485B (zh) * 2021-11-25 2023-10-24 荣耀终端有限公司 拍摄的方法和电子设备
CN118433471A (zh) * 2023-02-02 2024-08-02 华为技术有限公司 一种视频处理方法及相关电子设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8872899B2 (en) * 2004-07-30 2014-10-28 Extreme Reality Ltd. Method circuit and system for human to machine interfacing by hand gestures
KR100800859B1 (ko) 2004-08-27 2008-02-04 삼성전자주식회사 Hmd 정보 단말기에서 키를 입력하는 장치 및 방법
US20120050480A1 (en) 2010-08-27 2012-03-01 Nambi Seshadri Method and system for generating three-dimensional video utilizing a monoscopic camera
US20130154913A1 (en) 2010-12-16 2013-06-20 Siemens Corporation Systems and methods for a gaze and gesture interface
KR20120071230A (ko) 2010-12-22 2012-07-02 한국전자통신연구원 증강 현실 환경에서 손가락 끝 트래킹 방법 및 이를 위한 장치
KR101171239B1 (ko) * 2011-06-01 2012-08-06 군산대학교산학협력단 영상처리를 이용한 비접촉 데이터 입력 및 조작 방법
US8971572B1 (en) * 2011-08-12 2015-03-03 The Research Foundation For The State University Of New York Hand pointing estimation for human computer interaction
KR101620777B1 (ko) 2012-03-26 2016-05-12 애플 인크. 증강된 가상 터치패드 및 터치스크린
KR101543287B1 (ko) 2013-04-23 2015-08-11 한국과학기술원 현실 객체의 물리적 동작-증강 현실 상호작용형 전자책 시스템 및 구현 방법
RU2013148582A (ru) * 2013-10-30 2015-05-10 ЭлЭсАй Корпорейшн Процессор обработки изображений, содержащий систему распознавания жестов с вычислительно-эффективным распознаванием неподвижной позы руки
RU2014108820A (ru) * 2014-03-06 2015-09-20 ЭлЭсАй Корпорейшн Процессор изображений, содержащий систему распознавания жестов с функциональными возможностями обнаружения и отслеживания пальцев
KR102303115B1 (ko) 2014-06-05 2021-09-16 삼성전자 주식회사 웨어러블 디바이스 및 웨어러블 디바이스 의 증강 현실 정보 제공 방법
WO2015199470A1 (ko) 2014-06-25 2015-12-30 한국과학기술원 머리 착용형 컬러 깊이 카메라를 활용한 손 위치 추정 장치 및 방법, 이를 이용한 맨 손 상호작용 시스템
KR101687017B1 (ko) 2014-06-25 2016-12-16 한국과학기술원 머리 착용형 컬러 깊이 카메라를 활용한 손 위치 추정 장치 및 방법, 이를 이용한 맨 손 상호작용 시스템
US10304248B2 (en) 2014-06-26 2019-05-28 Korea Advanced Institute Of Science And Technology Apparatus and method for providing augmented reality interaction service

Also Published As

Publication number Publication date
US20180365848A1 (en) 2018-12-20
US10664983B2 (en) 2020-05-26
WO2018048054A1 (ko) 2018-03-15
US20180275764A1 (en) 2018-09-27
KR20180053416A (ko) 2018-05-21
US10636156B2 (en) 2020-04-28
KR101807241B1 (ko) 2017-12-08
WO2018048000A1 (ko) 2018-03-15

Similar Documents

Publication Publication Date Title
KR102160236B1 (ko) 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 방법, 단일 카메라 기반의 3차원 영상 해석에 기초한 가상현실 인터페이스 구현 장치
US11157725B2 (en) Gesture-based casting and manipulation of virtual content in artificial-reality environments
CN110647237B (zh) 在人工现实环境中基于手势的内容共享
US10394334B2 (en) Gesture-based control system
EP3549109B1 (en) Virtual user input controls in a mixed reality environment
US11573641B2 (en) Gesture recognition system and method of using same
US8897491B2 (en) System for finger recognition and tracking
Soutschek et al. 3-d gesture-based scene navigation in medical imaging applications using time-of-flight cameras
WO2013180151A1 (ja) 注目位置検出装置、注目位置検出方法、及び注目位置検出プログラム
JP7490784B2 (ja) 拡張現実マップキュレーション
AU2012268589A1 (en) System for finger recognition and tracking
KR20120068253A (ko) 사용자 인터페이스의 반응 제공 방법 및 장치
JP5964603B2 (ja) データ入力装置、及び表示装置
KR101396488B1 (ko) 신호 입력 장치 및 신호 입력 방법
KR101861096B1 (ko) 사용자의 손 동작을 인식하여 화면에 표시되는 정보를 제어하는 방법 및 장치
KR101525011B1 (ko) Nui 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법
JP2016186809A (ja) データ入力装置、データ入力方法、及びデータ入力プログラム
Jain et al. Human computer interaction–Hand gesture recognition
Vančo et al. Gesture identification for system navigation in 3D scene
Ghosh et al. Real-time 3d markerless multiple hand detection and tracking for human computer interaction applications
CN108008811A (zh) 一种利用非触屏方式操作终端的方法和终端
Ahn et al. A VR/AR Interface Design based on Unaligned Hand Position and Gaze Direction
Zhou Research and application of gaze direction algorithm based on head movement and eye movement data fusion
Diaz et al. Preliminary experimental study of marker-based hand gesture recognition system
CN118331416A (zh) 虚拟环境的交互方法、装置、设备、介质和程序产品

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant