KR20140023329A - 공간 제스처로부터의 공간 객체 설명 추론 - Google Patents

공간 제스처로부터의 공간 객체 설명 추론 Download PDF

Info

Publication number
KR20140023329A
KR20140023329A KR1020137028458A KR20137028458A KR20140023329A KR 20140023329 A KR20140023329 A KR 20140023329A KR 1020137028458 A KR1020137028458 A KR 1020137028458A KR 20137028458 A KR20137028458 A KR 20137028458A KR 20140023329 A KR20140023329 A KR 20140023329A
Authority
KR
South Korea
Prior art keywords
model
hand
actor
spatial
integrated
Prior art date
Application number
KR1020137028458A
Other languages
English (en)
Other versions
KR101923243B1 (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 KR20140023329A publication Critical patent/KR20140023329A/ko
Application granted granted Critical
Publication of KR101923243B1 publication Critical patent/KR101923243B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Psychiatry (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

본 발명에 따르면, 액터의 적어도 하나의 손의 자연스러운 제스처 동작에 기반하여, 적어도 하나의 손의 자유 형태 움직임에 기초한 액터의 적어도 하나의 팔 동작과 연관된 3차원 공간 이미지 데이터가 수신될 수 있다. 수신된 3D 공간 이미지 데이터에 기초하여, 자유 형태 움직임 동안 순차적인 시간의 인스턴스에서의 적어도 하나의 손의 3D 자세 및 위치에 상응하는 3D 공간 맵 데이터를 각각 포함하는 복수의 순차적인 3D 공간 표현이 결정될 수 있다. 결정된 순차적인 3D 공간 표현 내에 포함된 3D 공간 맵 데이터를 점진적으로 통합하고 자유 형태 움직임 동안 복수의 3D 공간 영역을 차지하는 적어도 하나의 손에 의해 소비되는 시간의 인스턴스의 수를 나타내는 모델 시간 값과 문턱 시간 값을 비교한 것에 기초하여, 공간 객체 프로세서를 통해 통합 3D 모델이 생성될 수 있다.

Description

공간 제스처로부터의 공간 객체 설명 추론{INFERRING SPATIAL OBJECT DESCRIPTIONS FROM SPATIAL GESTURES}
물체의 형태와 치수를 전달하는 것은 다수의 사람에게 있어서 어려운 일일 수 있다. 예를 들어, 대화시에 많은 사람은 형태에 대한 설명을 돕고자, 특히 단어로만 설명하기에 버거운 경우에 손 제스처를 사용할 수 있다. 예를 들어, 새 차의 지붕윤곽이 덮치는 형태의 쭉 뻗은 손에 의해 전달될 수 있거나, 특정한 의자 스타일이 특정한 의자 디자인에 고유한 표면들의 배열을 설명하는 일련의 제스처에 의해서 상점주인에게 표현될 수 있다. 이러한 경우에, 정보를 전달하는 사람은 종종 기술된 물체의 3차원(3D) 형태를 그릴 수 있다. 청자는 제스처를 집중해서 볼 수 있으며, 청자의 마음속에서 3D 형태를 재생성하고자 시도할 수 있다.
상점과 창고형 매장은 재고의 검색에 도움을 제공하는 고객 서비스 담당자 및/또는 사인을 갖추고 쇼핑하는 사람들을 반길 수 있다. 예를 들어, 의자를 찾는 고객은 브랜드명 또는 스타일을 요청할 수 있으며, 고객 서비스 담당자는 창고형 매장의 재고 시스템에 부착된 키보드에 이러한 브랜드명 또는 스타일을 타이핑할 수 있으며, 요청한 아이템의 매장 내 위치와 관련된 정보 또는 요청된 아이템이 입수가능하지 않다는 표시를 수신할 수 있다. 만약 쇼핑하는 사람이 정확한 브랜드명 또는 스타일 이름/스타일 넘버를 알지 못한다면, 담당자가 재고에서 이러한 아이템을 보았음을 상기할 수 있는지 여부를 알아내기 위해서 고객은 원하는 아이템을 고객 서비스 담당자에게 설명하려고 시도할 수 있다.
다수의 게임 환경은 특정한 객체를 게임에 호출하는 옵션을 게임 플레이어에게 제안한다. 예를 들어, 전쟁 게임의 플레이어는 화살, 쌍절곤, 브라스 너클(brass knuckle), 또는 다양한 유형의 총과 대포와 같은 특정한 무기를 요청할 수 있다. 이러한 아이템들은 고객에게 배포되기 전에 게임으로 프로그램될 수 있다. 다른 예시로서, 가상 커뮤니티 게임은 플레이어에게 원하는 특정한 가상 환경에 포함시킬 수 있는 아이템 옵션을 제공할 수 있다. 예를 들어, 사용자는 다양한 공룡과 우리뿐 아니라 사료와 청소 자제의 어레이로부터 선택하여 공룡 동물원을 설정할 수 있으며, 이들은 모두 배포 이전에 게임에 사전 프로그램될 수 있다. 예를 들어, 사용자는 게임 재고 아이템의 리스트를 검토하고 입력 디바이스를 통해 원하는 아이템을 클릭, 터치 또는 포인팅함으로써 원하는 아이템을 선택할 수 있다.
본 발명의 일반적인 일 측면에 따르면, 공간 객체 관리 엔진은 복수의 데이터베이스 객체를 포함하는 데이터베이스에 대한 액세스를 시작하도록 구성된 데이터베이스 액세스 엔진을 포함할 수 있으며, 각각의 데이터베이스 객체는 사전결정된 3D 아이템의 외양(appearance)을 시뮬레이션하는 사전정의된 3차원(3D) 모델과 연관된다. 공간 객체 관리 엔진은 또한 자연스러운 제스처 동작에 기반하는 액터(actor)의 적어도 하나의 손의 자유 형태 움직임(free-form movement)에 기초하여 액터의 적어도 하나의 팔 동작과 연관된 3D 공간 이미지 데이터를 수신하도록 구성된 이미지 데이터 수신 엔진을 포함할 수 있다. 공간 객체 관리 엔진은 또한 수신된 3D 공간 이미지 데이터에 따라 적어도 하나의 손의 3D 포지셔닝에 대한 시계열적 3D 표현을 통합한 것에 기초하여 통합 3D 모델을 생성하도록 구성된 통합 모델 생성기를 포함할 수 있다. 공간 객체 관리 엔진은 또한 공간 객체 프로세서를 통해 사전결정된 3D 아이템 중 적어도 하나를 선택하도록 구성된 매칭 엔진을 포함하며, 이러한 선택은 데이터베이스 액세스 엔진에 액세스하여 통합 3D 모델과 일치하는 적어도 하나의 사전정의된 3D 모델과 연관된 데이터베이스 객체를 데이터베이스 객체 중에서 적어도 하나 결정하는 것에 기초한다.
다른 측면에 따르면, 컴퓨터 프로그램 제품은 컴퓨터 판독가능한 매체 상에 실체적으로 구현된 실행가능한 코드를 포함하며, 실행가능한 코드가 실행되었을 때 적어도 하나의 데이터 프로세싱 장치로 하여금, 액터의 적어도 하나의 손의 자연스러운 제스처 동작에 기반하여 적어도 하나의 손의 자유 형태 움직임에 기초한 액터의 적어도 하나의 팔 동작과 연관된 3차원(3D) 공간 이미지 데이터를 수신하도록 구성된다. 또한, 데이터 프로세싱 장치는 수신된 3D 공간 이미지 데이터에 기초하여, 자유 형태 움직임 동안 순차적인 시간의 인스턴스에서의 적어도 하나의 손의 3D 자세 및 위치에 상응하는 3D 공간 맵 데이터를 각각 포함하는 복수의 순차적인 3D 공간 표현을 결정할 수 있다. 또한, 데이터 프로세싱 장치는 결정된 순차적인 3D 공간 표현 내에 포함된 3D 공간 맵 데이터를 점진적으로 통합하고 자유 형태 움직임 동안 복수의 3D 공간 영역을 차지하는 적어도 하나의 손에 의해 소비되는 시간의 인스턴스의 수를 나타내는 모델 시간 값과 문턱 시간 값을 비교한 것에 기초하여, 공간 객체 프로세서를 통해 통합 3D 모델을 생성할 수 있다.
다른 측면에 따르면, 컴퓨터 프로그램 제품은 컴퓨터 판독가능한 매체 상에 실체적으로 구현되어 실행가능한 코드를 포함하며, 실행가능한 코드가 실행되었을 때 적어도 하나의 데이터 프로세싱 장치로 하여금, 사전결정된 3D 아이템의 외양을 모방하는 자연스러운 제스처 동작에 기초하여, 액터의 자유 형태 움직임에 기반한 적어도 하나의 자연스러운 제스처와 연관된 3D 센서 데이터를 수신하도록 구성된다. 또한, 데이터 프로세싱 장치는 자유 형태 움직임에 따라 액터와 연관된 적어도 하나의 움직이는 3D 객체의 3D 포지셔닝을 나타내는 수신된 3D 센서 데이터를 통합한 것에 기초하여 통합 3D 모델을 생성할 수 있다. 또한, 데이터 프로세싱 장치는 공간 객체 프로세서를 통해서, 통합 3D 모델과 일치하는 데이터베이스 객체와 연관된 사전정의된 3D 모델을 결정할 수 있다.
본 요약부는 아래의 상세한 설명에서 추가로 설명되는 개념들의 선택을 단순화된 형식으로 소개하도록 제공되었다. 이러한 요약부는 청구된 청구사항의 중요 특성 또는 기본 특성을 식별하지 위한 것이 아니며, 청구된 청구사항의 범주를 한정하기 위해 사용되는 것이 아니다. 하나 이상의 구현의 세부사항은 첨부된 도면과 아래의 상세한 설명에서 제시된다. 다른 특징들이 상세한 설명과 도면 및 특허청구범위로부터 명백해질 것이다.
도 1a는 공간 객체 관리를 위한 예시적인 시스템의 블록도이다.
도 1b는 도 1a의 예시적인 시스템의 일부 모습의 블록도이다.
도 2a 내지 2d는 도 1a 및 1b의 시스템의 예시적인 동작을 도시한 순서도이다.
도 3a 내지 3c는 도 1a 및 1b의 시스템의 예시적인 동작을 도시한 순서도이다.
도 4는 도 1a 및 1b의 시스템의 예시적인 동작을 도시한 순서도이다.
도 5a 내지 5e는 예시적인 제스처 움직임 및 제스처 움직임과 연관된 예시적인 모델들을 도시한 도면이다.
도 6은 비디오 카메라에 매우 근접하여 제스처를 취하는 예시적인 액터를 도시한 도면이다.
도 7은 예시적인 3차원 아이템을 도시한 도면이다.
도 8a 내지 8c는 예시적인 액터의 예시적인 제스처를 도시한 도면이다.
도 9는 액터의 예시적인 손 자세를 도시한 도면이다.
도 10a 및 10b는 액터의 예시적인 손 자세를 도시한 도면이다.
도 11a 내지 11d는 도 1의 예시적인 시스템에 따른 이미지 데이터의 예시적인 프로세싱의 그래픽도이다.
도 12는 생성된 3D 모델과 사전결정된 3D 모델을 매칭하여 겹쳐진(superimposed) 예시적인 결과를 도시한 도면이다.
말하는 사람은 종종 물리적 물체에 대해 이야기하거나 묘사할 때에 손 제스처를 사용한다. 예를 들어, 이러한 제스처는 말하는 사람이 구두로 묘사하기 어려울 수 있는 형태의 차이를 전달하는 것을 도울 수 있다. 본 명세서에 설명된 기술은 예를 들어, 제스처를 취하는 사람에 의해 마음속에 그려진 3차원(3D) 아이템의 외양(appearance)을 모방(emulate)할 수 있는 3D 모델을 생성하기 위한 제스처 기반의 기술 기능(gesture-based description functionality)을 제공하도록 사용될 수 있다. 예를 들어, 소매상점에서 고객이 상점의 현재 재고 중에 특정 아이템을 구비하는지 여부를 판단하기를 원할 수 있다. 본 명세서에 설명된 기술을 이용하여, 고객은 감지 디바이스(예컨대, 깊이(depth) 카메라)의 범위 내에서 자신의 손(또는 다른 물체)을 이용하여 3D 아이템을 제스처로 묘사하거나 또는 마임(mime)으로 표현할 수 있다(예컨대, 3D 아이템을 공간적으로 기술한다). 그 다음 원한다면, 예컨대 재고 데이터베이스 내에서 생성된 3D 모델과 가장 근접하게 일치하는 하나 이상의 사전정의된 아이템을 판정하도록, 생성된 모델이 사전결정된 3D 모델에 대해 매칭될 수 있다. 예를 들어, 시스템은 가장 근접하게 일치하는 아이템들을 그들의 위치와 함께 고객 또는 상점 직원에게 제시할 수 있다.
만약 상점 직원 또는 매니저가 (예컨대 이후의 선택을 위해서) 재고 데이터베이스에 다른 재고 물품을 추가하길 원한다면, 3D 모델이 생성되어 이후의 검색을 위해 재고 데이터베이스에 추가될 수 있도록 그/그녀는 데이터베이스에 사전구성된 3D 모델을 제공하거나, 또는 3D 물체를 감지 디바이스(예컨대 깊이 카메라)에 제시할 수 있다.
다른 예시에서, 전자 지원 게임 활동에 관심 있는 사람은 게임 경험으로 호출된 특정한 게임 객체(gaming object)를 갖기를 원할 수 있다. 예시적인 시스템이 사람의 제스처에 기초하여 3D 모델을 생성할 수 있도록, 그/그녀는 (예컨대, 제스처 또는 아래에서 추가로 논의되는 데이터 마임을 통해) 게임 객체 중 하나를 공간적으로 묘사할 수 있다. 예를 들어, 시스템은 생성된 3D 모델과 가장 근접하게 일치하는 하나 이상의 사전정의된 아이템을 판정하도록, 사전결정된 게임 객체와 연관된 사전결정된 3D 모델의 데이터베이스를 검색할 수 있다. 예를 들어, 게임은 플레이어의 제스처에 의해 나타내어진 차원으로 객체를 재단할 수 있다.
만약 그 사람이 (예컨대, 이후의 선택을 위해서) 게임 객체 데이터베이스에 다른 게임 객체를 추가하길 원한다면, 3D 모델이 생성되어 이후의 검색을 위해 게임 객체 데이터베이스에 추가될 수 있도록 데이터베이스에 사전구성된 3D 모델을 제공하거나 또는 감지 디바이스(예컨대, 깊이 카메라)에 물리적인 3D 물체를 제시할 수 있다.
다른 예시로서, 가상 환경 활동에 관심 있는 사람은 가상 환경에서 사용하기 위한 3D 가상 객체를 호출하길 원할 수 있다. 앞선 예시와 유사하게, 그/그녀는 원하는 3D 객체를 제스처 또는 마임으로 표현할 수 있으며, 예시적인 시스템은 그/그녀의 제스처에 기초하여 3D 모델을 생성할 수 있다. 그 다음 생성된 3D 모델이 사전결정된 가상 환경 객체의 데이터베이스를 검색하도록 사용되어 하나 이상의 일치물을 판정할 수 있다. 예를 들어, 어린이는 사전결정된 집 구조 및 가구와 같은 사전결정된 가정용품을 호출함으로써 가상의 인형의 집을 만들기를 원할 수 있다. 예를 들어, 이 어린이는 (예컨대 제스처 또는 마임을 통해) 테이블을 공간적으로 묘사할 수 있고, 시스템은 가상 환경 데이터베이스 내에서 일치하는 사전정의된 3D 객체를 검색할 수 있다.
예를 들어, 사용자는 3D 모델이 생성되어 이후의 검색을 위해 가상 환경 데이터베이스에 추가될 수 있도록 사전구성된 3D 모델을 데이터베이스에 제공하거나 물리적인 3D 물체를 감지 디바이스(예컨대, 깊이 카메라)에 제시함으로써 가상 환경 데이터베이스에 새로운 가상 환경 객체를 추가할 수 있다.
본 명세서에서 추가로 논의되는 바와 같이, 도 1a는 공간적 객체 관리를 위한 예시적인 시스템(100)의 블록도이다. 도 1b는 도 1a의 예시적인 시스템의 일부분에 대한 보다 자세한 모습의 블록도이다.
도 1a 및 1b에 도시된 바와 같이, 공간 객체 관리 엔진(102)은 센서 데이터(106)를 수신하도록 구성될 수 있는 센서 데이터 수신 엔진(104)을 포함할 수 있다. 예를 들어, 센서 데이터 수신 엔진(104)은 하나 이상의 감지 디바이스로부터 센서 데이터(106)를 수신할 수 있다. 메모리(108)는 센서 데이터(106)를 포함하는 정보를 저장하도록 구성될 수 있다. 예를 들어, 센서 데이터(106)는 이미지 데이터 입력 디바이스(112)로부터 수신된 이미지 데이터(110), 오디오 데이터 입력 디바이스(116)로부터 수신된 오디오 데이터(114), 및/또는 촉각(tactile) 데이터 입력 디바이스(120)로부터 수신된 촉각 데이터(118)를 포함할 수 있다. 예를 들어, 이미지 데이터 입력 디바이스(112)는 3D 공간 이미지 데이터를 획득하도록 구성될 수 있는 3차원(3D) 이미지 데이터 디바이스를 포함할 수 있다. 예를 들어, 이미지 데이터 입력 디바이스(112)는 깊이값을 포함하는 이미지 데이터(110)를 획득하도록 구성될 수 있는 깊이 카메라를 포함할 수 있다. 다른 예시로서, 이미지 데이터 입력 디바이스(112)는 3D 형태에 상응하는 입체적인 이미지를 나타내는 이미지 데이터(110)를 획득하도록 구성된 하나 이상의 카메라를 포함할 수 있다. 이러한 맥락에서, "메모리"는 데이터 및/또는 명령을 저장하도록 구성된 하나의 메모리 디바이스 또는 복수의 메모리 디바이스를 포함할 수 있다. 또한, 메모리(108)는 복수의 분산된 저장 디바이스에 걸칠 수 있다.
사용자 인터페이스 엔진(122)은 사용자(124)와 공간 객체 관리 엔진(102) 사이의 통신을 관리하도록 구성될 수 있다. 예를 들어, 상점 직원 또는 시스템 관리자(예컨대, 사용자(124))는 사용자 인터페이스 엔진(122)을 통해서 공간 객체 관리 엔진(102)과 통신할 수 있다. 네트워크 통신 엔진(126)은 하나 이상의 네트워크를 통해 공간 객체 관리 엔진(102)과 통신할 수 있는 다른 엔티티들과 공간 객체 관리 엔진(102) 사이의 네트워크 통신을 관리하도록 구성될 수 있다.
예를 들어, 디스플레이(128)는 공간 객체 관리 엔진(102)으로의 사용자 입력 및 그로부터의 응답을 모니터하도록 사용자(124)(예컨대, 상점 직원 또는 시스템 관리자)를 위한 시각적, 청각적, 및/또는 청각적 매체를 제공할 수 있다. 예를 들어, 사용자(124)는 터치패드, 터치스크린, 키보드 또는 키패드, 마우스 디바이스, 트랙볼 디바이스, 또는 오디오 입력 디바이스 또는 그외의 입력 감지 디바이스를 통해 입력을 제공할 수 있다. 예를 들어, 사용자(124)는 캐릭터 포맷으로의 음성 인식 프로세싱을 위해 정보를 이야기할 수 있다.
예시적인 실시예에 따르면, 센서 데이터 수신 엔진(104)은 자연스러운 제스처 동작에 기초하여, 액터(actor)(132)의 적어도 하나의 손의 자유 형태 움직임(free-form movement)에 기초한 적어도 하나의 팔 동작과 연관된 3D 공간 이미지 데이터를 수신하도록 구성될 수 있는 이미지 데이터 수신 엔진(130)을 포함할 수 있다. 예를 들어 이미지 데이터 수신 엔진(130)은, 액터(132)가 부분적으로 차지할 수 있는 3D 공간에 초점이 맞춰진 깊이 카메라를 포함할 수 있는 이미지 데이터 입력 디바이스(112)로부터 3D 공간 이미지 데이터를 수신할 수 있다.
이러한 맥락에서, "자연스러운 제스처(natural gesture)"는 실질적으로 이러한 제스처가 어떤 방식으로 만들어져야 한다는 사전 지시 없이, 그리고 실질적으로 임의의 특정 제스처에 대한 사전결정된 순서가 없이 액터에 의해 만들어진 제스처를 포함할 수 있다. 따라서, "자연스러운 제스처"는 액터가 선택하는 타이밍에 또는 순서로, 오직 액터에 의해서만 결정된 제스처를 포함할 수 있다. 또한, "자연스러운 제스처"는 높이, 폭 및 깊이뿐 아니라 물체의 다양한 구성요소(예컨대, 테이블 상단, 테이블 다리, 의자 등받이, 의자 시트, 의자 다리)의 포지셔닝(positioning) 및 형태와 같은 요소들을 포함할 수 있다.
공간 객체 관리 엔진(102)은 복수의 순차적인 3D 공간 표현(138)을 결정하도록 구성될 수 있는 (도 1b에 도시된 것과 같은) 공간 표현 엔진(136)을 포함할 수 있는 센서 데이터 분석 엔진(134)을 포함할 수 있으며, 이때 복수의 순차적인 3D 공간 표현(138)의 각각은 수신된 3D 공간 이미지 데이터에 기초하여, 자유 형태 움직임 동안 순차적인 시간의 인스턴스들에서의 적어도 하나의 손의 위치 및 3D 자세에 상응하는 3D 공간 맵 데이터를 포함한다.
공간 객체 관리 엔진(102)은 결정된 순차적 3D 공간 표현(138) 내에 포함되는 3D 공간 맵 데이터를 점증적으로 통합시키고 자유 형태 움직임 동안 복수의 3D 공간 영역을 차지하는 적어도 하나의 손에 의해 소비되는 시간의 인스턴스의 수를 나타내는 모델 시간값과 문턱 시간값(146)을 비교한 것에 기초하여, 공간 객체 프로세서(142)를 통해 통합 3D 모델(144)을 생성하도록 구성될 수 있는 통합 모델 생성기(140)를 포함할 수 있다. 예시적인 실시예에 따르면, 통합 모델 생성기(140)는 수신된 3D 공간 이미지 데이터(110)에 따라 적어도 하나의 손의 3D 포지셔닝의 시계열적 3D 표현을 통합한 것에 기초하여 통합 3D 모델(144)을 생성하도록 구성될 수 있다.
이러한 맥락에서, "프로세서"는 프로세싱 시스템과 연관된 명령을 프로세스하도록 구성된 단일 프로세서 또는 복수의 프로세서를 포함할 수 있다. 따라서 프로세서는 명령을 동시에 및/또는 분산된 방식으로 처리하는 복수의 프로세서를 포함할 수 있다.
이러한 맥락에서, "통합(integrating)"은 포지셔닝의 특정한 순서 또는 타이밍이 없는, 그리고 임의의 사전정의된 3D 모델의 특정 요소와 연관된 특정한 사전정의된 움직임이 없는 손 또는 다른 물체의 포지셔닝의 집합(aggregation) 또는 실질적으로 순수한 통합(integration)을 포함할 수 있다. 예를 들어, 포지셔닝의 통합과 연관될 임의의 특정한 의미의 트레이닝 또는 사전 입력이 실질적으로 존재하지 않을 수 있다.
예시적인 실시예에 따르면, 공간 객체 관리 엔진(102)은, 각각이 초기값으로 초기화된 가중치(weight value)를 포함하는 부피화된 요소(volumized element)로서 표현되는 불연속화된(discretized) 3D 가상 맵 요소에 기초하여 가상 3D 맵 공간을 초기화하도록 구성된 초기화 엔진(148)을 포함할 수 있으며, 이때 가상 3D 맵 공간은 액터(132)에 아주 근접한 3D 공간을 나타낸다. 예를 들어, 통합된 모델(144)은 가상 3D 맵 공간을 포함할 수 있다.
예시적인 실시예에 따르면, 통합 모델 생성기(140)는 자유 형태 움직임의 기간 동안 적어도 하나의 손의 일부분이 3D 영역을 차지하였음을 나타내는 결정에 기초하여, 3D 공간의 3D 영역과 연관되는 선택된 부피화된 요소의 가중치를 비례적으로 증가시키도록 구성된 (도 1b에 도시된 것과 같은) 요소 활성화 엔진(150)을 포함할 수 있다. 예시적인 실시예에 따르면, 통합 모델 생성기(140)는 부피화된 요소 각각의 가중치를 문턱값(146)과 비교하도록 구성된 문턱값 비교 엔진(152)을 포함할 수 있다.
예시적인 실시예에 따르면, 통합 모델 생성기(140)는 적어도 하나의 손의 깊이, 위치 및 방향(orientation)을 판단하도록 구성된 위치 속성 엔진(154) 및 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 가상 3D 맵 공간과 연관된 부피화된 요소의 위치를 결정하도록 구성된 가상 요소 로케이터(locator)(156)를 포함할 수 있다. 예시적인 실시예에 따르면, 요소 활성화 엔진(150)은 가상 요소 로케이터(156)에 의해 결정된 위치에 기초하여, 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 가상 3D 맵 공간의 영역과 연관된 복수의 부피화된 요소를 활성화하도록 구성될 수 있다.
예시적인 실시예에 따르면, 부피화된 요소는 체적 화소(volumetric picture element)인 복셀(voxel)을 포함할 수 있다. 예시적인 실시예에 따르면, 초기화 엔진(148)은 초기화된 가중치를 이용하여 복셀을 비활성화 상태로 초기화하도록 구성될 수 있다. 예시적인 실시예에 따르면, 요소 활성화 엔진(150)은 자유 형태 움직임의 기간 동안 적어도 하나의 손의 일부분이 3D 영역을 차지하였음을 나타내는 결정에 기초하여, 복셀들의 그룹의 각 활성화마다 복셀들의 그룹과 연관된 가중치를 증가시키는 것에 기초해 복셀들의 그룹을 활성화하도록 구성될 수 있다. 이러한 맥락에서, "복셀"은 3D 이미지의 구별가능한 가장 작은 박스 형태의 일부분을 나타낼 수 있다.
예시적인 실시예에 따르면, 통합 모델 생성기(140)는 적어도 하나의 손의 자세에 의해 나타내어지는 막힌 공간(enclosed space)을 판단하도록 구성된 인클로저(enclosure) 검출 엔진(158)을 포함할 수 있다. 예를 들어, 인클로저 검출 엔진(158)은 액터(132)의 꽉 쥔 주먹 내의 막혀있는 영역을 판단할 수 있다.
예시적인 실시예에 따르면, 통합 모델 생성기(140)는 막힌 공간을 둘러싸는 영역의 깊이에 대한 판단에 기초하여 막힌 공간의 깊이를 결정하도록 구성된 깊이 결정 엔진(160)을 포함할 수 있다. 예시적인 실시예에 따르면, 요소 활성화 엔진(150)은 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 가상 3D 공간의 영역과 연관된 복수의 부피화된 요소의 활성화 대신에, 막힌 공간을 나타내는 자세와 연관된 기간 동안 막힌 공간에 상응하는 깊이, 위치 및 방향을 나타내는 가상 3D 공간의 영역과 연관된 복수의 부피화된 요소를 활성화하도록 구성될 수 있다. 예를 들어, 요소 활성화 엔진(150)은 주먹 쥔 방향으로 손에 의해 차지되는 부피에 상응하는 영역 대신, 액터(132)의 꽉 쥔 주먹과 연관된 막힌 공간에 상응하는 깊이, 위치 및 방향을 나타내는 가상 3D 공간의 영역과 연관된 복수의 부피화된 요소를 활성화할 수 있다.
예시적인 실시예에 따르면, 센서 데이터 분석 엔진(134)은 수신된 3D 공간 이미지 데이터(110)에 기초하여 액터의 한 손과 연관된 부피를 결정하도록 구성될 수 있는 부피 결정 엔진(162)을 포함할 수 있다. 예시적인 실시예에 따르면, 공간 표현 엔진(136)은 결정된 부피에 기초하여 3D 가상 맵 공간 내의 한 손의 3D 표현을 결정하도록 구성될 수 있다.
예시적인 실시예에 따르면, 센서 데이터 분석 엔진(134)은 한 손의 3D 표현에 기초하여 적어도 하나의 손의 자세를 결정하도록 구성될 수 있는 자세 결정 엔진(164)을 포함할 수 있다.
예시적인 실시예에 따르면, 인클로저 검출 엔진(158)은 적어도 하나의 손의 적어도 하나의 자세가 3차원의 막힌 공간을 나타내는지 여부를 판단하도록 구성될 수 있다. 예시적인 실시예에 따르면 통합 모델 생성기(140)는, 만약 막힌 3D 공간이 표현되었다고 판단되면 막힌 공간을 나타내는 자세와 연관된 시간의 순차적인 인스턴스들에 대해서 막힌 공간에 상응하는 깊이, 위치 및 방향을 나타내는 통합 3D 모델의 일부분과 연관된 복수의 부피화된 요소를 활성화하고, 만약 그렇지 않다면 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 통합 3D 모델의 일부분과 연관된 복수의 부피화된 요소를 활성화하도록 구성될 수 있다. 예를 들어, 요소 활성화 엔진(150)은 전술된 바와 같이 꽉 쥔 주먹 내의 영역에 상응하는 부피화된 요소를 활성화하도록 구성될 수 있다.
예시적인 실시예에 따르면, 자세 결정 엔진(164)은 적어도 하나의 손의 자세가 손바닥을 펼친 자세, 손을 구부린 자세, 주먹을 쥔 자세, 또는 손가락으로 집게를 만든 자세 중 하나 이상을 포함함을 결정하도록 구성될 수 있다. 예를 들어, 하나의 손으로 주먹을 쥐거나, 또는 막힌 공간을 형성하도록 두 손을 나란히 놓을 수 있으며, 이는 아래에서 추가로 설명된다.
예시적인 실시예에 따르면, 인클로저 검출 엔진(158)은 적어도 하나의 손의 적어도 하나의 자세에 의해 나타내어진 막힌 공간을 판단하도록 구성될 수 있으며, 깊이 결정 엔진(160)은 막힌 공간을 둘러싸는 영역의 깊이에 대한 판단에 기초하여 막힌 공간의 깊이를 결정하도록 구성될 수 있다. 예시적인 실시예에 따르면, 공간 표현 엔진(136)은 적어도 하나의 손의 위치 및 자세에 상응하는 3D 공간 데이터 대신, 막힌 공간을 나타내는 적어도 하나의 손의 자세와 연관된 순차적인 시간의 인스턴스들 동안 막힌 공간에 상응하는 깊이, 위치 및 방향에 상응하는 3D 공간 맵 데이터를 각각 포함하는 복수의 순차적인 3D 공간 표현을 결정하도록 구성될 수 있다.
예시적인 실시예에 따르면, 공간 객체 관리 엔진(102)은 통합 3D 모델(144)과 일치하는 데이터베이스 객체(170a, 170b, 170c)와 연관된 사전정의된 3D 모델(168a, 168b, 168c)을 공간 객체 프로세서(142)를 통해 결정하도록 구성될 수 있는 매칭 엔진(166)을 포함할 수 있으며, 이때 자연스러운 제스처 동작은 사전결정된 3차원 아이템의 외양을 모방할 수 있다. 예를 들어, 데이터베이스 객체(170a, 170b, 170c)는 데이터베이스(172)와 연관하여 저장될 수 있다. 예를 들어, 사전정의된 모델(168a, 168b, 168c)은 물리적인 3차원의 물체를 나타낼 수 있다.
예시적인 실시예에 따르면, 부피 결정 엔진(162)은 수신된 3D 공간 이미지 데이터(110)에 기초하여, 시간에 따른 한 손의 가시 부분(visible portion)의 추적을 근거로 한 액터(132)의 한 손과 연관된 부피를 결정하도록 구성될 수 있다. 예를 들어, 추적 엔진(174)은 수신된 이미지 데이터(110)를 일시적으로 추적하도록 구성될 수 있다. 추적 엔진(174)은 추적 데이터(175)를 수신하여 메모리(108)에 저장할 수 있다. 예를 들어, 추적 데이터(175)는 수신된 3D 공간 이미지 데이터의 인스턴스와 연관된 타이밍 데이터를 포함할 수 있다.
예시적인 실시예에 따르면, 위치 속성 엔진(154)은 수신된 3D 공간 이미지 데이터에 기초하여, 위에서 아래로 바라보는 방향에서 추적된 한 손의 가시 부분의 회전에 기초한 한 손의 편향각(yaw angle)을 결정하도록 구성될 수 있다.
예시적인 실시예에 따르면, 위치 속성 엔진(154)은 추적된 가시 부분과 연관된 깊이값의 편차에 기초하여 한 손의 롤 각(roll angle) 및 피치각(pitch angle)을 결정하도록 구성될 수 있다.
예시적인 실시예에 따르면, 공간 객체 관리 엔진(102)은 복수의 데이터베이스 객체(170a, 170b, 170c)를 포함하는 데이터베이스(172)에 대한 액세스를 시작하도록 구성된 데이터베이스 액세스 엔진(176)을 포함할 수 있으며, 데이터베이스 객체(170a, 170b, 170c)는 각각이 사전결정된 3D 아이템의 외양을 시뮬레이션하는 사전정의된 3D 모델(168a, 168b, 168c)과 연관된다.
예시적인 실시예에 따르면, 매칭 엔진(166)은 공간 객체 프로세서(142)를 통해 데이터베이스 액세스 엔진(176)으로의 액세스 및 통합 3D 모델(144)과 일치하는 사전정의된 3D 모델들(168a, 168b, 168c) 중 적어도 하나와 연관된 데이터베이스 객체들(170a, 170b, 170c) 중 적어도 하나를 결정한 것에 기초하여 사전결정된 3D 아이템들 중 적어도 하나를 선택하도록 구성될 수 있다. 예를 들어, 매칭 엔진(166)은 생성된 통합 모델(144)과 가장 근접하게 일치하는 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나 이상을 선택할 수 있다.
예시적인 실시예에 따르면, 공간 객체 관리 엔진(102)은 사전정의된 업데이트 3D 아이템의 외양을 시뮬레이션하는 업데이트 3D 모델(180)을 획득하고 데이터베이스 액세스 엔진(176)을 통해 데이터베이스(172) 내에 업데이트 3D 모델(180)과 연관된 업데이트 데이트베이스 객체의 저장을 시작하도록 구성된 업데이트 아이템 입력 엔진(178)을 포함할 수 있다.
예시적인 실시예에 따르면, 사전정의된 업데이트 3D 아이템은 3D 재고 아이템, 3D 게임 객체, 3D 실세계 아이템, 또는 3D 가상현실 환경 객체 중 하나 이상을 포함할 수 있다.
예시적인 실시예에 따르면, 업데이트 아이템 입력 엔진(178)은 사전정의된 업데이트 3D 아이템의 사진과 연관된 이미지 데이터(110)의 수신 또는 입력 디바이스를 통한 업데이트 3D 모델(180)의 수신 중 하나 이상에 기초하여 업데이트 3D 모델(180)을 획득하도록 구성될 수 있다. 예를 들어, 사용자(124)는 모델을 생성하기 위해서 감지 디바이스(예컨대, 이미지 데이터 입력 디바이스(112))에 물리적인 물체를 제시할 수 있거나, 또는 데이터베이스(172) 내에 사전정의된 3D 모델(168)로서 포함하기 위해 물리적인 물체의 외양을 시뮬레이션하는 이미 생성된 모델을 제공할 수 있다.
예시적인 실시예에 따르면, 공간 객체 관리 엔진(102)은 발음(utterance)을 나타내는 적어도 하나의 언어 표지(verbal indicator)와 연관된 오디오 데이터(114)를 수신하도록 구성된 오디오 데이터 수신 엔진(182)을 포함할 수 있다. 예시적인 실시예에 따르면, 매칭 엔진(166)은 데이터베이스 액세스 엔진(176)에 대한 액세스 및 통합 3D 모델(144)과 일치하는 사전정의된 3D 모델들(168a, 168b, 168c) 중 적어도 하나와 연관된 데이터베이스 객체들(170a, 170b, 170c) 중 적어도 하나를 언어 표지에 기초해 결정한 것에 근거하여 공간 객체 프로세서(142)를 통해 사전결정된 3D 아이템들 중 적어도 하나를 선택하도록 구성될 수 있다. 예를 들어, 액터(132)는 매칭 엔진(166)이 "의자"와 연관되지 않은 아이템을 매칭 동작의 고려 대상에서 삭제할 수 있도록 "의자"를 발음할 수 있다.
예시적인 실시예에 따르면, 매칭 엔진(166)은 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나를 스케일링, 해석 및 회전한 것에 기초하여, 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나에 포함된 적어도 하나의 구성요소의 매칭에 근거해 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나의 제 1 정렬(186)을 생성하도록 구성된 예비 정렬 엔진(184)을 포함할 수 있다. 예시적인 실시예에 따르면, 매칭 엔진(166)은 제 1 정렬(186)에 기초해, ICP(iterative closest point) 알고리즘에 근거하여 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나의 제 2 정렬(190)을 생성하도록 구성된 반복 정렬 엔진(188)을 포함할 수 있다.
예시적인 실시예에 따르면, 매칭 엔진(166)은 제 1 정렬(186)에 기초해, 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나에 대한 복수의 스케일링, 회전 및 해석을 포함하는 무작위 정렬(brute force alignment)에 근거하여 통합 3D 모델(144)과 사전정의된 3D 모델(168a, 168b, 168c) 중 하나의 제 2 정렬(190)을 생성하도록 구성된 무작위 정렬 엔진(192)을 포함할 수 있다.
적어도 하나의 선택된 모델(194)은 정렬(186, 190)에 기초하여 매칭 엔진(166)에 의해 사전정의된 3D 모델들(168a, 168b, 168c)로부터 선택될 수 있다.
데이터 프로세싱 분야의 당업자는 3D 모델과 데이터베이스 내에 저장된 3D 모델의 일치성을 결정하는 다수의 기술이 존재함을 이해할 수 있을 것이다. 예를 들어, 예시에 의한 모델링(modeling-by-example) 기술은 비교되는 물체의 단일 부분에 기초하여 3D 객체의 부분적인 매칭을 제공할 수 있다.
공간 객체 관리 엔진(102)은 촉감 데이터 입력 디바이스(120)로부터 촉감 데이터(118)를 수신하도록 구성될 수 있는 촉감 데이터 수신 엔진(196)을 포함할 수 있다. 예를 들어, 센서가 액터(132)에 부착될 수 있고, 액터(132)의 움직임이 3D 공간 센서 데이터로서 감지될 수 있다. 예를 들어, 만약 센서가 액터의 손에 부착된다면, 손의 3D 포지셔닝이 촉감 입력 디바이스(120)에 의해 감지될 수 있으며, 촉감 데이터 수신 엔진(196)에 의해 수신되어 전술된 바와 같은 3D 공간 이미지 데이터와 유사하게 통합 모델 생성기(140)에 의해 프로세싱될 수 있다.
도 2a 내지 2d는 예시적인 실시예에 따른 도 1a 및 1b의 시스템의 예시적인 동작을 도시한 순서도(200)이다. 도 2a의 예시에서, 복수의 데이터베이스 객체를 포함하는 데이터베이스에 대한 액세스가 시작될 수 있으며(202), 이때 각각의 데이터베이스 객체는 사전결정된 3D 아이템의 외양을 시뮬레이션하는 사전정의된 3차원(3D) 모델과 연관된다. 예를 들어, 데이터베이스 액세스 엔진(176)은 전술된 바와 같이, 복수의 데이터베이스 객체들(170a, 170b, 170c)을 포함하는 데이터베이스(172)에 대한 액세스를 시작할 수 있으며, 각각의 데이터베이스 객체(170a, 170b, 170c)는 사전결정된 3D 아이템의 외양을 시뮬레이션하는 사전정의된 3D 모델(168a, 168b, 168c)과 연관된다.
자연스러운 제스처 동작에 기반하는 액터의 적어도 한 손의 자유 형태 움직임에 기초한 액터의 적어도 한 팔의 동작과 연관된 3차원 공간 이미지 데이터가 수신될 수 있다(204). 예를 들어, 이미지 데이터 수신 엔진(130)은 전술된 바와 같이 자연스러운 제스처 동작에 기초하여, 액터(132)의 적어도 한 손의 자유 형태 움직임에 기초한 액터(132)의 적어도 한 팔의 동작과 연관된 3D 공간 이미지 데이터를 수신할 수 있다.
통합 3D 모델은 수신된 3D 공간 이미지 데이터에 따라 적어도 한 손의 3D 포지셔닝의 시계열적 3D 표현들을 통합한 것에 기반하여 생성될 수 있다(206). 예를 들어, 전술된 바와 같이, 통합 모델 생성기(140)는 수신된 3D 공간 이미지 데이터(110)에 따라 적어도 한 손의 3D 포지셔닝의 시계열적 3D 표현들(138)을 통합한 것에 기초하여 통합 3D 모델(144)을 생성할 수 있다.
사전결정된 3D 아이템들 중 적어도 하나는, 데이터베이스에 액세스하여 통합 3D 모델과 일치하는 사전정의된 3D 모델들 중 적어도 하나와 연관된 데이터베이스 객체들 중 적어도 하나를 결정한 것에 기초하여 선택될 수 있다(208). 예를 들어, 매칭 엔진(166)은 전술된 바와 같이, 데이터베이스 액세스 엔진(176)에 액세스하여 통합 3D 모델(144)과 일치하는 사전정의된 3D 모델들(168a, 168b, 168c) 중 적어도 하나와 연관된 데이터베이스 객체들(170a, 170b, 170c) 중 적어도 하나를 결정한 것에 기초하여 사전결정된 3D 아이템들 중 적어도 하나를 선택할 수 있다.
예시적인 실시예에 따르면, 사전정의된 업데이트 3D 아이템의 외양을 시뮬레이션하는 업데이트 3D 모델이 획득될 수 있고, 데이터베이스 내에 업데이트 3D 모델과 연관된 업데이트 데이터베이스 객체의 저장이 시작될 수 있다(210). 예를 들어, 업데이트 아이템 입력 엔진(178)은 전술된 바와 같이, 사전정의된 업데이트 3D 아이템의 외양을 시뮬레이션하는 업데이트 3D 모델(180)을 획득할 수 있고, 데이터베이스 액세스 엔진(176)을 통해서 데이터베이스(172) 내에 업데이트 3D 모델(180)과 연관된 업데이트 데이터베이스 객체의 저장을 시작할 수 있다.
예시적인 실시예에 따르면, 사전정의된 업데이트 3D 아이템은 3D 재고 아이템, 3D 게임 객체, 3D 실세계 아이템, 또는 3D 가상현실 환경 객체 중 하나 이상을 포함할 수 있다. 예시적인 실시예에 따르면, 업데이트 3D 모델은 사전정의된 업데이트 3D 아이템의 사진과 연관된 이미지 데이터의 수신 또는 입력 디바이스를 통한 업데이트 3D 모델의 수신 중 하나 이상에 기초하여 획득될 수 있다. 예를 들어, 업데이트 아이템 입력 엔진(178)은 전술된 바와 같이, 사전정의된 업데이트 3D 아이템의 사진과 연관된 이미지 데이터(110)의 수신 또는 입력 디바이스를 통한 업데이트 3D 모델(180)의 수신 중 하나 이상에 기초하여 업데이트 3D 모델(180)을 획득할 수 있다.
예시적인 실시예에 따르면, 발음을 표현하는 적어도 하나의 언어 표지와 연관된 오디오 데이터가 수신될 수 있으며, 공간 객체 프로세서를 통해 사전결정된 3D 아이템들 중 적어도 하나를 선택하는 것은, 언어 표지에 기초하여 통합 3D 모델과 일치하는 사전정의된 3D 모델들 중 적어도 하나와 연관된 데이터베이스 객체들 중 적어도 하나를 결정하는 것에 기초할 수 있다(212). 예를 들어, 오디오 데이터 수신 엔진(182)은 발음을 나타내는 적어도 하나의 언어 표지와 연관된 오디오 데이터(114)를 수신하도록 구성될 수 있다. 예시적인 실시예에 따르면, 매칭 엔진(166)은 전술된 바와 같이, 데이터베이스 액세스 엔진(176)에 액세스하여 언어 표지에 기반해 통합 3D 모델(144)에 일치하는 사전정의된 3D 모델들(168a, 168b, 168c) 중 적어도 하나와 연관된 데이터베이스 객체들(170a, 170b, 170c) 중 적어도 하나를 결정하는 것에 기초하여, 사전결정된 3D 아이템들 중 적어도 하나를 선택할 수 있다.
예시적인 실시예에 따르면, 통합 3D 모델과 사전정의된 3D 모델들 중 하나의 스케일링, 해석 및 회전에 기초하여, 통합 3D 모델과 사전정의된 3D 모델들 중 하나의 제 1 정렬이 통합 3D 모델과 사전정의된 3D 모델 중 하나에 포함된 적어도 하나의 구성요소의 매칭에 기반해 생성될 수 있다(214). 예를 들어, 예비 정렬 엔진(184)은 전술된 바와 같이, 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나의 스케일링, 해석 및 회전에 기초하여, 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나에 포함된 적어도 하나의 구성요소의 매칭에 기반해 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나의 제 1 정렬(186)을 생성할 수 있다.
예시적인 실시예에 따르면, 제 1 정렬에 기초하여, 통합 3D 모델과 사전정의된 3D 모델들 중 하나의 제 2 정렬이 ICP 알고리즘에 기반해 생성될 수 있다(216). 예를 들어, 반복 정렬 엔진(188)은 전술된 바와 같이 제 1 정렬(186)에 기초하여, ICP 알고리즘에 기반한 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나의 제 2 정렬(190)을 생성할 수 있다.
예시적인 실시예에 따르면, 통합 3D 모델과 사전정의된 3D 모델들 중 하나의 제 1 정렬은 통합 3D 모델과 사전정의된 3D 모델들 중 하나의 스케일링, 해석 및 회전에 기초하여 통합 3D 모델과 사전정의된 3D 모델들 중 하나에 포함된 적어도 하나의 구성요소의 매칭에 기반해 생성될 수 있다(218). 예시적인 실시예에 따르면, 통합 3D 모델과 사전정의된 3D 모델들 중 하나의 제 2 정렬은 제 1 정렬에 기초하여 통합 3D 모델과 사전정의된 3D 모델들 중 하나에 대한 복수의 스케일링, 회전 및 해석을 포함하는 무작위 정렬에 기반하여 생성될 수 있다(220). 예를 들어, 무작위 정렬 엔진(192)은 전술된 바와 같이 제 1 정렬(186)에 기초하여, 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나에 대한 복수의 스케일링, 회전 및 해석을 포함하는 무작위 정렬에 기반하여 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나의 제 2 정렬(190)을 생성할 수 있다.
예시적인 실시예에 따르면, 가상 3D 맵 공간은 각각이 초기값으로 초기화되는 가중치를 포함하는 부피화된 요소로서 표현되는 불연속화된 3D 가상 맵 요소에 기초하여 초기화될 수 있으며, 이때 가상 3D 맵 공간은 액터에 매우 근접한 3D 공간을 나타낸다(222). 예를 들어, 초기화 엔진(148)은 전술된 바와 같이 각각이 초기값으로 초기화된 가중치를 포함하는 부피화된 요소로서 표현되는 불연속화된 3D 가상 맵 요소에 기초하여 가상 3D 맵 공간을 초기화할 수 있으며, 이때 가상 3D 맵 공간은 액터(132)에 아주 근접한 3D 공간을 나타낸다.
예시적인 실시예에 따르면, 시계열적 3D 표현들을 통합하는 것은 자유 형태 움직임의 기간 동안 적어도 한 손의 일부분이 3D 영역을 차지하였음을 나타내는 결정에 기초하여 3D 공간의 3D 영역들과 연관된 선택된 부피화된 요소의 가중치를 비례적으로 증가시키는 것(224)과, 문턱값을 각각의 부피화된 요소들의 가중치와 비교하는 것(226)을 포함할 수 있다. 예를 들어, 요소 활성화 엔진(150)은 전술된 바와 같이, 자유 형태 움직임의 기간 동안 적어도 한 손의 일부분이 3D 영역을 차지하였음을 나타내는 결정에 기초하여, 3D 공간의 3D 영역과 연관되는 선택된 부피화된 요소의 가중치를 비례적으로 증가시킬 수 있다. 예를 들어, 문턱값 비교 엔진(152)은 전술된 바와 같이, 부피화된 요소 각각의 가중치를 문턱값(146)과 비교할 수 있다.
예시적인 실시예에 따르면, 적어도 하나의 손의 깊이, 위치 및 방향이 결정될 수 있고(228), 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 가상 3D 맵 공간과 연관된 부피화된 요소의 위치가 결정될 수 있다(230). 예를 들어, 전술된 바와 같이 위치 속성 엔진(154)은 적어도 하나의 손의 깊이, 위치 및 방향을 결정할 수 있고, 가상 요소 로케이터(156)는 적어도 한 손의 깊이, 위치 및 방향에 상응하는 가상 3D 맵 공간과 연관된 부피화된 요소의 위치를 결정할 수 있다.
예시적인 실시예에 따르면, 시계열적 3D 표현들을 통합하는 것은, 결정된 위치에 기초하여 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 가상 3D 맵 공간의 영역과 연관된 복수의 부피화된 요소를 활성화하는 것을 포함할 수 있다(232). 예를 들어, 요소 활성화 엔진(150)은 전술된 바와 같이, 가상 요소 로케이터(156)에 의해 결정된 위치에 기초하여 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 가상 3D 맵 공간의 영역과 연관된 복수의 부피화된 요소를 활성화할 수 있다.
예시적인 실시예에 따르면, 부피화된 요소는 체적 화소인 복셀(voxel)을 포함할 수 있으며, 이것은 초기화된 가중치를 이용하여 비활성화 상태로 초기화될 수 있다(234). 예를 들어, 초기화 엔진(148)은 전술된 바와 같이 초기화된 가중치를 이용하여 복셀을 비활성화 상태로 초기화할 수 있다.
예시적인 실시예에 따르면, 복수의 부피화된 요소를 활성화하는 것은 자유 형태 움직임의 기간 동안 적어도 한 손의 일부분이 3D 영역을 차지하였음을 나타내는 결정에 기반하여 복셀들의 그룹의 각 활성화마다 복셀들의 그룹과 연관된 가중치를 증가시키는 것에 기초해 복셀들의 그룹을 활성화하는 것을 포함할 수 있다(236). 예를 들어, 요소 활성화 엔진(150)은 전술된 바와 같이, 자유 형태 움직임의 기간 동안 적어도 한 손의 일부분이 3D 영역을 차지하였음을 나타내는 결정에 기반하여, 복셀들의 그룹의 각 활성화마다 복셀들의 그룹과 연관된 가중치를 증가시키는 것에 기초해 복셀들의 그룹을 활성화할 수 있다.
예시적인 실시예에 따르면, 적어도 하나의 손의 자세에 의해 나타내어지는 막힌 공간이 판단될 수 있다(238). 예를 들어, 인클로저 검출 엔진(158)은 전술된 바와 같이, 적어도 하나의 손의 자세에 의해 나타내어지는 막힌 공간을 판단할 수 있다. 예시적인 실시예에 따르면, 막힌 공간을 둘러싸는 영역의 깊이에 대한 판단에 기초하여 막힌 공간의 깊이가 결정될 수 있다(240). 예를 들어, 깊이 결정 엔진(160)은 전술된 바와 같이, 막힌 공간을 둘러싸는 영역의 깊이에 대한 판단에 기초하여 막힌 공간의 깊이를 결정할 수 있다.
예시적인 실시예에 따르면, 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 가상 3D 공간의 영역과 연관된 복수의 부피화된 요소의 활성화 대신에, 막힌 공간을 나타내는 자세와 연관된 기간 동안 막힌 공간에 상응하는 깊이, 위치 및 방향을 나타내는 가상 3D 공간의 영역과 연관된 복수의 부피화된 요소가 활성화될 수 있다(242). 예를 들어, 요소 활성화 엔진(150)은 전술된 바와 같이, 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 가상 3D 공간의 영역과 연관된 복수의 부피화된 요소의 활성화 대신에, 막힌 공간을 나타내는 자세와 연관된 기간 동안 막힌 공간에 상응하는 깊이, 위치 및 방향을 나타내는 가상 3D 공간의 영역과 연관된 복수의 부피화된 요소를 활성화할 수 있다.
도 3a 내지 3c는 예시적인 실시예에 따라 도 1a 및 1b의 시스템의 예시적인 동작을 도시한 순서도(300)이다. 도 3의 예시에서, 적어도 하나의 손의 자연스러운 제스처 동작에 기초하여, 액터의 적어도 하나의 손의 자유 형태 움직임에 기초한 액터의 적어도 하나의 팔 동작과 연관된 3차원 공간 이미지 데이터가 수신될 수 있다(302). 예를 들면, 센서 데이터 수신 엔진(104)은 전술된 바와 같이, 자연스러운 제스처 동작에 기초하여, 액터(132)의 적어도 하나의 손의 자유 형태 움직임에 기초한 액터(132)의 적어도 하나의 팔 동작과 연관된 3D 공간 이미지 데이터를 수신하도록 구성될 수 있는 이미지 데이터 수신 엔진(130)을 포함할 수 있다.
수신된 3D 공간 이미지 데이터에 기초하여 각각이 자유 형태 움직임 동안 순차적인 시간의 인스턴스들에서의 적어도 하나의 손의 위치 및 3D 자세에 상응하는 3D 공간 맵 데이터를 포함하는 복수의 순차적인 3D 공간 표현이 결정될 수 있다(304). 예를 들어, 공간 표현 엔진(136)은 전술된 바와 같이 복수의 순차적인 3D 공간 표현(138)을 결정할 수 있으며, 이때 복수의 순차적인 3D 공간 표현(138)의 각각은 수신된 3D 공간 이미지 데이터에 기초하여, 자유 형태 움직임 동안 순차적인 시간의 인스턴스들에서의 적어도 하나의 손의 위치 및 3D 자세에 상응하는 3D 공간 맵 데이터를 포함한다.
통합 3D 모델은, 결정된 순차적인 3D 공간 표현 내에 포함되는 3D 공간 맵 데이터를 점증적으로 통합시키고 자유 형태 움직임 동안 복수의 3D 공간 영역을 차지하는 적어도 하나의 손에 의해 소비되는 시간의 인스턴스의 수를 나타내는 모델 시간값과 문턱 시간값을 비교한 것에 기초하여 공간 객체 프로세서를 통해 생성될 수 있다(306). 예를 들어, 통합 모델 생성기(140)는 전술된 바와 같이, 결정된 순차적인 3D 공간 표현(138) 내에 포함되는 3D 공간 맵 데이터를 점증적으로 통합시키고 자유 형태 움직임 동안 복수의 3D 공간 영역을 차지하는 적어도 하나의 손에 의해 소비되는 시간의 인스턴스의 수를 나타내는 모델 시간값과 문턱 시간값(146)을 비교한 것에 기초하여, 공간 객체 프로세서(142)를 통해 통합 3D 모델(144)을 생성할 수 있다.
예시적인 실시예에 따르면, 수신된 3D 공간 이미지 데이터에 기초하여 시간에 따른 한 손의 가시 부분의 추적에 기반해 액터의 하나의 손과 연관된 부피가 결정될 수 있다(308). 예를 들어, 부피 결정 엔진(162)은 전술된 바와 같이, 수신된 3D 공간 이미지 데이터(110)에 기초하여, 시간에 따른 한 손의 가시 부분(visible portion)의 추적에 기반해 액터(132)의 한 손과 연관된 부피를 결정할 수 있다.
예시적인 실시예에 따르면, 수신된 3D 공간 이미지 데이터(310)에 기초하여, 위에서 아래로 바라보는 방향에서 추적된 한 손의 가시 부분의 회전에 기반해 한 손의 편향각(yaw angle)이 결정될 수 있다. 예를 들어, 위치 속성 엔진(154)은 전술된 바와 같이, 수신된 3D 공간 이미지 데이터에 기반하여, 위에서 아래로 바라보는 방향에서 추적된 한 손의 가시 부분의 회전에 기초해 한 손의 편향각을 결정할 수 있다.
예시적인 실시예에 따르면, 한 손의 롤 각 및 피치각이 추적된 가시 부분과 연관된 깊이값의 편차에 기초하여 결정될 수 있다(312). 예를 들어, 위치 속성 엔진(154)은 전술된 바와 같이, 추적된 가시 부분과 연관된 깊이값의 편차에 기초하여 한 손의 롤 각 및 피치각을 결정할 수 있다.
예시적인 실시예에 따르면, 액터의 한 손과 연관된 부피는 수신된 3D 공간 이미지 데이터에 기초하여 결정될 수 있다(314). 예를 들어, 부피 결정 엔진(162)은 전술된 바와 같이, 수신된 3D 공간 이미지 데이터(110)에 기초하여 액터(132)의 한 손과 연관된 부피를 결정할 수 있다.
3D 가상 맵 공간 내의 한 손의 3D 표현은 결정된 부피에 기초하여 결정될 수 있고(316), 적어도 한 손의 자세는 한 손의 3D 표현에 기초하여 결정될 수 있다(318). 예를 들어, 공간 표현 엔진(136)은 전술된 바와 같이 결정된 부피에 기초하여 3D 가상 맵 공간 내의 한 손의 3D 표현을 결정할 수 있다. 예를 들어, 자세 결정 엔진(164)은 전술된 바와 같이, 한 손의 3D 표현에 기초하여 적어도 한 손의 자세를 결정할 수 있다.
예시적인 실시예에 따르면, 적어도 한 손의 적어도 하나의 자세가 3D 막힌 공간을 나타내는지 여부가 판단될 수 있다(320). 만약 막힌 3D 공간이 표현되었다고 판단되면, 통합 3D 모델을 생성하는 것은 막힌 공간을 나타내는 자세와 연관된 시간의 순차적인 인스턴스들에 대해서 막힌 공간에 상응하는 깊이, 위치 및 방향을 나타내는 통합 3D 모델의 일부분과 연관된 복수의 부피화된 요소를 활성화하는 것을 포함할 수 있다(322). 그렇지 않다면, 통합 3D 모델을 생성하는 것은, 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 통합 3D 모델의 일부분과 연관된 복수의 부피화된 요소를 활성화하는 것을 포함할 수 있다(324). 예를 들어, 통합 모델 생성기(140)는 전술된 바와 같이, 막힌 공간에 상응하는 깊이, 위치 및 방향을 나타내는 통합 3D 모델의 일부분과 연관된 복수의 부피화된 요소를 활성화할 수 있거나, 또는 적어도 하나의 손의 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 통합 3D 모델의 일부분과 연관된 복수의 부피화된 요소를 활성화할 수 있다.
예시적인 실시예에 따르면, 적어도 하나의 손의 자세가 손바닥을 펼친 자세, 손을 구부린 자세, 주먹을 쥔 자세, 또는 손가락으로 집게를 만든 자세 중 하나 이상을 포함한다고 결정될 수 있다(326). 예를 들어, 자세 결정 엔진(164)은 전술된 바와 같이, 적어도 하나의 손의 자세가 손바닥을 펼친 자세, 손을 구부린 자세, 주먹을 쥔 자세, 또는 손가락으로 집게를 만든 자세 중 하나 이상을 포함한다고 결정할 수 있다.
예시적인 실시예에 따르면, 각각이 사전결정된 3D 아이템의 외양을 시뮬레이션하는 사전정의된 3차원 모델과 연관된 복수의 데이터베이스 객체를 포함하는 데이터베이스에 대한 액세스가 시작될 수 있다(328). 예를 들어, 데이터베이스 액세스 엔진(176)은 전술된 바와 같이, 각각이 사전결정된 3D 아이템의 외양을 시뮬레이션하는 사전정의된 3D 모델(168a, 168b, 168c)과 연관되는 복수의 데이터베이스 객체(170a, 170b, 170c)를 포함하는 데이터베이스(172)에 대한 액세스를 시작할 수 있다.
통합 3D 모델과 일치하는 적어도 하나의 데이터베이스 객체와 연관된 사전정의된 3D 모델들 중 적어도 하나가 공간 객체 프로세서를 통해 결정될 수 있으며, 이때 자연스러운 제스처 동작은 사전결정된 3D 아이템의 외양을 모방한다(330). 예를 들어, 매칭 엔진(166)은 전술된 바와 같이 공간 객체 프로세서(142)를 통해, 통합 3D 모델(144)과 일치하는 데이터베이스 객체들(170a, 170b, 170c)과 연관된 사전정의된 3D 모델(168a, 168b, 168c)을 결정할 수 있으며, 이때 자연스러운 제스처 동작은 사전결정된 3D 아이템의 외양을 모방할 수 있다.
예시적인 실시예에 따르면, 사전정의된 업데이트 3D 아이템의 외양을 시뮬레이션하는 업데이트 3D 모델이 획득될 수 있고(332), 데이터베이스 내에 업데이트 3D 모델과 연관된 업데이트 데이트베이스 객체의 저장이 시작될 수 있다(334). 예를 들어, 업데이트 아이템 입력 엔진(178)은 전술된 바와 같이, 사전정의된 업데이트 3D 아이템의 외양을 시뮬레이션하는 업데이트 3D 모델(180)을 획득하고, 데이터베이스 액세스 엔진(176)을 통해 데이터베이스(172) 내에 업데이트 3D 모델(180)과 연관된 업데이트 데이트베이스 객체의 저장을 시작할 수 있다.
도 4는 예시적인 실시예에 따라 도 1a 및 1b의 시스템의 예시적인 동작을 도시한 순서도(400)이다. 도 4의 예시에서, 사전결정된 3차원 아이템의 외양을 모방하는 자연스러운 제스처 동작에 기초하여, 액터의 자유 형태 움직임에 기반한 액터의 적어도 하나의 자연스러운 제스처와 연관된 3차원 센서 데이터가 수신될 수 있다(402). 예를 들어, 전술된 센서 데이터 수신 엔진(104)은, 사전결정된 3차원 아이템의 외양을 모방하는 자연스러운 제스처 동작에 기초하여, 액터의 자유 형태 움직임에 기반한 액터의 적어도 하나의 자연스러운 제스처와 연관된 3차원 센서 데이터(106)를 수신하도록 구성될 수 있다. 예를 들어, 센서 데이터(106)는 전술된 바와 같이 이미지 데이터(110), 오디오 데이터(114), 또는 촉감 데이터(118) 중 하나 이상을 포함할 수 있다.
자유 형태 움직임에 따르는 액터와 연관된 움직이는 적어도 하나의 3D 객체의 3D 포지셔닝을 나타내는 수신된 3D 센서 데이터를 통합한 것에 기초하여 통합 3D 모델이 생성될 수 있다(404). 예를 들어, 전술된 통합 모델 생성기(140)는, 공간 객체 프로세서(142)를 통해, 자유 형태 움직임에 따르는 액터와 연관된 움직이는 적어도 하나의 3D 객체의 3D 포지셔닝을 나타내는 수신된 3D 센서 데이터(106)를 통합한 것에 기초하여 통합 3D 모델(144)을 생성하도록 구성될 수 있다.
예를 들어, 액터는 원하는 3D 아이템의 형태를 설명하기 위해서, 자연스러운 제스처 동작으로 3D 물체(예컨대, 책, 노트북, 휴대폰)를 움켜쥐고 이동시킬 수 있다. 다른 예시로서, 액터는 감지 디바이스(예컨대, 장갑, 게임 기어)를 착용하거나 부착할 수 있으며, 감지 디바이스를 통해 원하는 3D 아이템의 형태를 제스처로 설명할 수 있다. 예를 들어, 액터는 3D 아이템의 인식 형태를 추정하도록 이동할 수 있다.
공간 객체 프로세서를 통해 통합 3D 모델과 일치하는 데이터베이스 객체와 연관된 사전정의된 3D 모델이 결정될 수 있다(406). 예를 들어, 매칭 엔진(166)은 전술된 바와 같이 공간 객체 프로세서(142)를 통해, 통합 3D 모델(144)과 일치하는 데이터베이스 객체(170a, 170b, 170c)와 연관된 사전정의된 3D 모델(168a, 168b, 168c)을 결정할 수 있다.
예시적인 실시예에 따르면, 자유 형태 움직임 동안 복수의 3D 영역 내에서 이동하는 적어도 하나의 3D 객체에 의해 소비된 시간의 길이를 나타내는 값들과 문턱 시간 값을 비교한 것에 기초하여 수신된 3D 센서 데이터의 일부가 통합을 위해 선택될 수 있다(408). 예를 들어, 전술된 통합 모델 생성기(140)는, 전술된 바와 같이 자유 형태 움직임 동안 복수의 3D 영역 내에서 이동하는 적어도 하나의 3D 객체에 의해 소비된 시간의 길이를 나타내는 값들과 문턱 시간 값(146)을 비교한 것에 기초하여 통합을 위해 수신된 3D 센서 데이터(106)의 일부를 선택하도록 구성될 수 있다.
도 5a 내지 5e는 예시적인 실시예에 따라 예시적인 제스처 움직임 및 제스처 움직임과 연관된 예시적인 모델들을 도시한다. 도 5a에 도시된 바와 같이, 액터(502)는 3D 객체(504)를 마음속으로 그릴 수 있다. 예를 들어, 3D 객체는 좌석(506)과 비스듬한 다리(508)를 포함하는 다리가 셋인 스툴(stool)을 포함할 수 있다. 액터(502)는 예컨대 그/그녀의 손들을 평평하게 하여 양손을 벌린 거리를 나타낸 위치(510)로 이동함으로써 3D 객체(504)와 연관된 높이, 폭, 및/또는 깊이를 표시하도록 3D 객체(504)의 치수를 나타낼 수 있다. 도 5a에 도시된 바와 같이, 액터(502)는 감지 디바이스(512)(예컨대, 머리 위의 깊이 카메라)의 범위 내에서 3D 객체(504)를 공간적으로 설명하거나 또는 마임을 위해 자연스러운 제스처를 사용할 수 있다.
도 5b에 도시된 바와 같이, 액터(502)는 스툴(예컨대, 3D 객체(504))의 좌석(506)에 대한 액터의 마음속 이미지를 시각화하도록 그/그녀의 양손을 평평하게 하여 회전 동작(514)으로 움직일 수 있다. 도 5c에서 도시된 바와 같이, 액터(502)는 스툴(예컨대, 3D 객체(504))의 비스듬한 다리들(508)에 대한 액터의 마음속 이미지를 시각화하도록 그/그녀의 양손을 주먹 쥐고 비스듬한 수직방향 동작(516)으로 움직일 수 있다.
예시적인 실시예에 따르면, 도 1의 예시적인 시스템(100)은 액터의 움직임을 추적하는 감지 디바이스(512)에 의해 획득된 이미지 데이터를 수신할 수 있다. 그 다음 시스템(100)은 적어도 액터(502)의 양손의 위치(510), 회전 동작(514) 및 비스듬한 수직방향 동작(516)의 추적으로부터 얻어진 이미지 데이터에 기초하여, 도 5d에 도시된 바와 같은 3D 모델(518)을 생성할 수 있다.
예시적인 실시예에 따르면, 시스템(100)은 전술된 바와 같이 생성된 3D 모델(518)과 가장 근접하게 일치하는 사전결정된 3D 물체를 결정할 수 있다. 예를 들어, 생성된 3D 모델(518)은 다리가 셋인 스툴과 연관된 사전결정된 3D 모델과 매칭될 수 있으며, 이는 도 5e의 생성된 3D 모델(520)로 덮어씌운 3D 모델(522)에 의해 도시된 바와 같다.
예시적인 실시예에 따르면, "데이터 마임(data miming)" 기술은 도 5a 내지 5e에 도시된 바와 같이, 사람의 제스처에 대한 관찰과 이해, 공간 인식에 대한 인간 감각의 이용 및 묘사된 물체를 추론하도록 물체를 설명할 때의 풍부한 손의 형태 및 동작의 사용에 기초할 수 있다. 관찰자에게 이야기를 할 때 제스처를 사용하는 것과 유사하게, 데이터 마임 또는 제스처는 수동적으로 관찰할 수 있으며, 따라서 제스처 중에 피드백을 거의 제공하지 않거나 전혀 제공하지 않는다. 따라서 예시적인 액터는 단지 설명되는 물체의 마음속 이미지(예컨대, 3D 객체(504))로부터 동작할 수 있으며 그/그녀의 제스처는 마음속 이미지의 가상 표현(예컨대, 3D 모델(518))을 함축적으로 생성하는 데에 사용될 수 있다.
가상 표현은 설명되는 물체(예컨대, "스툴")를 분류할 뿐 아니라 물체를 해당 분류 내의 다른 예시들로부터 구별하기 위해서 물체의 특징들을 추출하는 데에 사용될 수 있다. 예를 들어, 액터(132)는 의자를 설명할 수 있고, 추가로 중심으로부터 기울어진 2피트 높이의 세 다리를 갖는 구체적인 현존하는 의자(예컨대, 도 5a 내지 5e와 관련하여 전술된 바와 같이 설명된 스툴)를 설명할 수 있다. 더욱 구체적인 세부사항이 없는 특정 의자에 대한 참조는 명확하지 않을 수 있다.
따라서 데이터 마임 또는 제스처는 액터(132)가 행동하는 방식을 수동적으로 관찰할 수 있으며 액터(132)가 제스처를 취할 때 어떠한 피드백도 제공하지 않을 수 있다. 따라서, 액터(132)는 그/그녀의 제스처 움직임을 결정하기 위해 단지 3D 객체에 대한 그/그녀의 개념적 모델로부터만 동작할 수 있다. 제스처 동안 피드백을 거의 제공하지 않거나 전혀 제공하지 않을 수 있기 때문에, 데이터 마임 또는 제스처는 액터(132)가 제스처를 취할 때 기준 프레임을 유지할 것이라고 추정할 수 있다. 예시적인 실시예에 따르면, 액터의 몸은 공간적 기준이 될 수 있다. 예를 들어, 액터(132)는 양손을 함께 사용할 때 시각적 피드백에 의존하지 않을 수 있다. 예를 들어, 사람은 공간 내에서 양손의 상대적인 위치를 알 수 있는 능력을 추가로 가질 수 있고 몸 밖의 공간적 앵커(anchor)를 짧은 시간에 걸쳐 유지할 수 있다(예컨대, 공간적 관계를 유지하기 위한 단기 시각 메모리).
전 역사에 걸쳐 말하는 사람은 대화시에 제스처를 사용해 왔다. 예를 들어, 말하는 사람은 강조를 위해 사용되는 비트 제스처(beat gesture), 물체를 나타내기 위한(포인팅) 지시적인 제스처(deictic gesture), 요약적인 의미를 전달하기 위한 은유적인 제스처(metaphoric gesture) 및 아이코닉 제스처를 사용할 수 있다. 아이코닉 제스처(iconic gesture)는 구체적인 물체 또는 이벤트를 묘사할 수 있으며, 말의 내용에 대해 근접한 형식적 관계를 가지고, 물체의 형식 또는 형태를 설명하고자 의도할 때 사용될 수 있다. 다른 예시로서, 엠블럼은 관습에 의해서만 의미를 전달하는 사인(예컨대, "OK" 사인)을 포함할 수 있다.
판토마임 제스처는 물체 또는 행동을 묘사하지만 말을 포함하지 않을 수 있다는 점에서 (그리고 연극적 마임에서 사용되는 제스처로부터 구별될 수 있다는 점에서) 아이코닉 제스처와 유사할 수 있다. 또한, 말하는 언어를 대체하여 사인 언어가 사용될 수 있으며 그에 따라 최소한의 말을 보완할 수 있다.
예시적인 실시예에 따르면, 데이터 마임 또는 제스처는 물체의 저장된 사전결정된 3D 모델에 대한 매칭을 수행하는 데에 사용될 수 있다. 이러한 모델이 관습에 기초하지 않고 오히려 실세계의 물리적인 물체의 실제 형태에 기초할 수 있기 때문에, 데이터 마임 제스처가 아이코닉 또는 판토마임 제스처를 포함할 수 있으며 전형적으로 엠블럼을 포함하지 않음을 이해될 수 있을 것이다. 예를 들어, 말로서(예를 들어, "의자") 종류를 구분할 때, 제스처와 말하기는 서로에 대한 의존성이 자연스러운 상징적 제스처의 전형적일 수 있는 복잡성을 포함하지 않기 때문에, 상보적인 기술에서 사용될 수 있다. 예시적인 실시예에 따르면, 본 명세서에서 논의된 예시적인 제스처의 일부는 "판토마임(pantomime)" 또는 "마임(mime)" 제스처로 지칭될 수 있다.
예시적인 연구에서, 사람은 물체를 설명하기 위한 잠재적인 제스처 기술을 결정하기 위해 관찰되어져 왔다. 예를 들어, 액터(132)는 물체를 관찰하고 메모리로부터 물체의 설명을 제스처로 표현할 수 있다. 예를 들어, 액터(132)는 오직 자신의 손만 사용하여 물체를 설명할 수 있고, 물체에 대한 자신의 설명을 증강하기 위해 말 또는 몸짓을 사용하지 않을 수 있다. 예를 들어, 액터(132)는 자신이 물체를 설명하는 동안 임의의 피드백을 수신하지 않을 수 있다. 예를 들어, 액터(132)는 자신의 팔을 낮춤으로써 물체의 설명을 완료할 수 있다. 예를 들어 액터(132)는 물체에 대한 설명을 위해 어떠한 제스처를 사용해야 할 지와 관련한 어떠한 지시도 수신하지 않을 수 있다. 예를 들어, 액터(132)는 박스 형태, 원뿔 형태 및 삼각뿔 형태뿐 아니라 더 복잡한 형태와 같은 초기의 물체들을 공간적으로 설명하도록 요청될 수 있다. 예를 들어, 이러한 연구의 결과는 액터(132)가 복잡한 물체들을 공간적으로 설명할 때 포함할 수 있는 특징들을 결정하는 것을 포함할 수 있다.
도 6은 비디오 카메라에 매우 근접하게 제스처를 취하는 예시적인 액터를 도시한다. 도 6의 예시적인 시나리오에 도시된 바와 같이, 머리 위의 비디오 카메라(602)는 지면으로부터 8피트 높이의 천정에 장착될 수 있다. 따라서, 예시적인 비디오 카메라(602)는 위로부터 아래를 향하는 5피트의 폭, 3피트의 높이 및 5피트의 깊이를 갖는 부피를 캡처할 수 있다. 도 6에 도시된 바와 같이, 액터(604)(예컨대, 액터(132))는 비디오 카메라(602)(예컨대, 이미지 데이터 입력 디바이스(112))의 범위 내의 물체를 공간적으로 설명할 수 있다. 도 6에 도시된 바와 같이, 액터(604)는 전술된 것처럼 액터의 손(606)을 이용하여 제스처를 제공할 수 있다.
도 7은 예시적인 3차원 아이템들을 도시한다. 예를 들어, 3D 아이템들은 짧은 길이의 다리가 셋인 스툴(702) 및 보다 긴 길이의 다리가 셋인 스툴(704)을 포함할 수 있다. 3D 아이템들은 S-형태 의자(706), 다리가 하나인 의자(708) 및 다리가 넷인 의자(710)를 더 포함할 수 있다. 3D 아이템들은 바퀴가 달린 사무실 의자(712), 모니터(714), 개인용 컴퓨터(PC)(716), 원뿔(718), 사다리(720) 및 테이블(722)을 더 포함할 수 있다. 이러한 3D 아이템들은 액터(예컨대, 액터(132))에 의해 공간적으로 설명될 수 있다.
도 8a 내지 8c는 예시적인 액터의 예시적인 제스처를 도시한다. 예시적으로 연구된 사람들의 그룹에 대한 관찰에 따르면, 제스처 또는 마임을 하는 액터(502)는 자연적으로 물체의 부분들의 상대적인 비율을 유지할 수 있을 뿐 아니라 물체들에 걸친 상대적인 스케일을 유지할 수 있다. 예를 들어, 액터(502)는 큰 테이블을 설명하기 위해 자연적으로 그들의 팔 길이의 큰 부분을 사용할 수 있는 한편, 의자를 설명할 때는 적절히 더 작은 부분을 사용할 수 있다. 예를 들어, 액터(502)는 자연적으로 각 방향에서 팔의 길이에 의해 커버되는 영역에 대해 상대적인 크기를 적용하도록 균일하게 물체들을 스케일링할 수 있다. 따라서, 사람 신체의 본성에 의해서, 물체들은 높이(804)보다 넓게(802), 깊이(806)보다 높게 설명될 수 있다.
예를 들어, 액터(502)는 물체를 설명하기 위해 자연적으로 탑-다운(top-down) 접근법을 사용할 수 있으며, 이러한 접근법에서 액터는 보다 크고 명확한 표면을 설명한 후에 물체들의 더 작은 부분을 설명할 수 있다. 예를 들어, 액터(502)는 표현들을 구별하고(예컨대, PC(716), 모니터(714), 테이블(722)의 편평한 표면뿐 아니라 사다리(720)의 프레임, 의자의 좌석과 등받이와 같은 구부러진 표면), 버팀대 및 접속부와 같은 보다 작은 구성요소들을 구별할 수 있다.
예를 들어, 액터(502)는 물체의 대칭하는 요소들(예컨대, PC(716), 모니터(714))을 정의하기 위해 자연적으로 양손을 편평한 포즈로 서로 마주보게 사용할 수 있다. 이들 대칭하는 부분들은 전체 물체의 치수를 나타내지 않고 특정 부분만을 명시할 수 있다. 예를 들어, 액터(502)는 사다리(720)의 프레임 또는 의자(710)의 다리들과 같은 보다 작은 부분들을 설명하기 위해서 자연스럽게 손을 대칭적으로 동시에 움직일 수 있다.
예를 들어, 물체의 형태가 박스와 닮았을 경우에, 액터(502)는 물체(예컨대 PC(716), 모니터(714))의 부분들의 치수를 정의할 수 있다. 예를 들어, 액터(502)는 자연스럽게 양손을 동시에 편평한 포즈로 물체의 경계 치수에 따라 앞뒤로 반복적으로 움직일 수 있다. 예를 들어, 액터(502)는 이러한 경계를 정의하도록 자연스럽게 양손을 편평하게 유지할 수 있다. 예를 들어, 액터(502)는 자연스럽게 물체의 와이어프레임을 박스 형태(예컨대, PC(716))로 그릴 수 있다.
도 9는 액터의 예시적인 손의 자세를 도시한다. 예를 들어, 액터(502)는 넓은 표면을 "그리도록" 자연스럽게 그의 손을 사용할 수 있으며, 즉 손으로 표면을 닦듯이 표면을 따라 편평한 양손을 움직인다(예컨대, 테이블(722), 표면의 상단, 의자의 좌석, 원뿔(718)). 예를 들어, 액터(502)는 편평한 손 자세(902)에 의해 도시된 것과 같이 표면 경계 내부 영역을 "채우도록" 자연스럽게 영역을 닦을 수 있다. 도 9에 도시된 바와 같이, 구부러진 손 자세(904)는 자연스럽게 구부러진 표면을 설명하는 데에 사용될 수 있는 한편, 주먹 쥔 손 자세(906, 908)는 자연스럽게 버팀대 및 다리를 설명하는 데에 사용될 수 있다. 긴장이 풀어진 손 자세(910, 912)는 표면을 그리지 않을 때 자연스럽게 사용될 수 있다.
예를 들어, 액터(502)는 편평한 손(예로서, 손 자세(902))을 이용하여 매체 표면의 외곽선을 자연스럽게 명시할 수 있고, 닫힌 영역을 "채우기(fill)" 위해서 자신의 손으로 닦을 수 있다(예컨대, 모니터, 사무실 의자의 등받이). 예를 들어, 액터(502)는 단지 자신의 편평한 손(예컨대, 손 자세(902))을 치는 것으로 이들의 중간 표면을 자연스럽게 추출할 수 있으며, 이는 (예컨대, 의자에 대해) 반복적으로 표현할 수 있다. 예를 들어, 액터(502)는 단지 표면(예컨대, 모니터, 좌석)의 공간 내에서 자신의 손을 반복적으로 거칠게 흔듬으로써 표면을 자연스럽게 기술할 수 있다. 예를 들어, 액터(502)는 객체의 더 작은 구성요소(예컨대, 사다리의 발판, 사다리의 외부 프레임)를 "그리기(trace)" 위해서 자신의 손을 자연스럽게 사용할 수 있다.
예를 들어, 형태를 변경하기 위해서, 액터(502)는 자연스럽게 자신의 손의 형태를 구부러진 곡선과 일치하도록 적응시킬 수 있으며, 그 표면을 반복적으로 위아래로 "닦을(wipe)" 수 있다. 액터(502)는 양 엄지와 검지로 닫힌 원을 형성하고(예를 들어, 전술된 바와 같은 닫힌 공간을 형성), 손을 아래로 이동시킴으로써 손이 서로 떨어지게 할 수 있으며, 그에 따라 손가락이 원래 형태로 유지되도록 한다(예컨대, 손 자세(904)).
예를 들어, 액터(502)는 더 작은 구성요소와 관련한 대칭을 기술하기 위해 자연스럽게 양손을 대칭으로 동시에 움직일 수 있으다. 바, 버팀대 및 다리와 관련하여, 액터(502)는 자연스럽게 주먹을 형성할 수 있으며(예컨대, 손 자세(906)) 곧은 바(예컨대, 테이블 다리, 삼각대, 의자, 사무실 의자의 기둥)를 표현하기 위해서 바를 따라서 움직일 수 있다. 예를 들어, 액터(502)는 자신의 엄지손가락과 검지로 자연스럽게 집게를 만들어 바를 따라 움직일 수 있다(예컨대, 손 자세(908)).
더 큰 버팀대에 있어서, 예시적인 액터(502)는 그의 손들을 가까운 거리에 가져와서 그들을 평행하게 유지하거나 또는 양손의 손가락과 손바닥을 연결시켜 양손 사이의 공간을 밀폐시킬 수 있으며, 구성요소(예컨대, 의자의 기둥과 다리, 모니터 스탠드)의 형태를 그리도록 양손을 움직일 수 있다. 예를 들어, 액터(502)는 의자의 복잡한 발과 같은 복잡한 형태를 자연스럽게 무시할 수 있거나, 또는 그것을 단일의 프리미티브 형태로 추출할 수 있다.
일반적으로, 예시적인 액터(502)는 탑-다운(top-down) 방식으로 공간적으로 물체의 설명을 시작할 수 있다. 액터는 작은 구성요소보다는 물체의 형태를 추출할 수 있고, 먼저 넓은 구성요소와 표면을 명시할 수 있고, 마지막으로 일부 특징을 기술할 수 있다. 예를 들어, 액터(502)는 사무실 의자의 팔걸이, 기둥 및 발을 자연스럽게 나타낼 수 있는 반면 좌석에 등받이를 접속시키는 바(bar) 또는 팔걸이의 지지대에 대한 설명을 생략한다. 유사하게, 예시적인 액터(502)는 사다리의 모든 발판을 나타내고 사다리의 외부 프레임을 나타냄으로써 사다리를 기술할 수 있다.
예를 들어, 액터(502)는 물체의 기능을 가장 명확하게 나타내는 부분을 자연스럽게 설명할 수 있다(예컨대, 의자의 등받이와 좌석, 사다리의 발판, 테이블 상판). 액터는 물체를 함께 유지시키는 부분을 그 다음으로 설명할 수 있다. 예를 들어, 액터(502)는 가능할 때마다 자연스럽게 대칭적인 외양을 사용하도록 할 수 있으며, 형태를 설명하기 위해서 거울에 비춰지는 형태의 제스처로 양손을 사용할 수 있다. 유사하게, 이들은 한정짓는 평면을 정의하거나 또는 경계를 짓는 박스를 "그림"으로써, 치수를 명시하도록 양손을 사용할 수 있다. 중간 및 작은 크기의 표면의 실제 치수는 공간적인 설명에서 액터(502)에게 중요하지 않은 것으로 보여질 수 있으며, 따라서 자연스러운 제스처에서 무시될 수 있다.
예를 들어, 액터(502)는 자신의 손의 형태를 설명되는 물체 또는 구성요소에 자연스럽게 적응시켜, 원하는 바에 따라 스트레칭하거나(예컨대, 평면 표면을 설명하기 위한 손 자세(902)) 또는 손가락을 함께 구부릴 수 있다(예컨대, 둥근 표면을 설명하기 위한 손 자세(904)).
반면에, 액터(502)는 물체의 다른 부분으로 손을 이동시킬 때 자신의 손을 이완하여 자연스러운 자세를 나타내도록 할 수 있다(예컨대, 손 자세(910, 912)).
바, 스탠드와 같은 물체의 보다 작은 구성요소에 있어서, 예시적인 액터(502)는 원형과 사각형 바 모두를 나타내도록 자신의 엄지와 검지 손가락을 집게 모양으로 만들거나(예컨대, 손 자세(908)) 또는 주먹 형태로 만들 수 있으며(예컨대, 손 자세(906)), 이러한 형태에 따라서 손을 이동시킬 수도 있다. 액터는 이러한 바의 실제 지름은 무시할 수 있으며, 이러한 바의 형태를 나타내도록 손 동작을 이용한다.
예시적인 액터(502)는 손 편향(hand yaw) 및 말기(roll)를 다르게 할 수 있으며, 손 높이에 대해 제한된 범위로 인해 수직방향 포즈에 의해서 평행한 부분들을 나타낼 때(예컨대, 도 8c에 도시된 바와 같이)는 오직 손의 높이만을 다르게 할 수 있다. 그러나 손이 수직방향일 때는, 팔꿈치가 움직이는 것이 이러한 범위를 연장시킬 수 있다. 반면에, 손 말기 및 편향은 더 넓은 범위를 커버할 수 있고, 팔꿈치 움직임 또한 손 편향의 범위를 지원할 수 있다.
전술된 바와 같은 활동을 나타내기 위한 손의 스트레칭에 더하여, 예시적인 액터(502)는 물체의 부분을 의도적으로 더 천천히 설명할 수 있는 반면, 다른 부분으로 전이할 때는 손을 더 빨리 움직일 수 있다. 더 작은 표면에 대해서는, 짧은 시간 동안 한 위치에 존재할 수 있다. 보다 큰 표면에 대해서 액터(502)는 표면을 반복적으로 설명할 수 있고 손을 다른 부분으로 움직일 때보다 더 세심하게 표면을 설명할 수 있다.
두 개의 구성요소가 근접하게 배치될 수 있을 때, 예시적인 액터(502)는 구성요소들 사이에 존재하지 않을 수 있지만, 대신 이들을 복합적인 부분으로서 다룰 수 있으며 손을 움직이는 동안에 손의 방향을 바꿀 수 있다(예컨대, 의자의 접속된 등받이와 좌석). 복합적인 구성요소는 제스처를 통해 반복적으로 나타내어질 수 있다.
전술된 관찰은 예를 들어 제스처를 하였을 때 관찰된 제스처를 액터의 마음속 이미지를 재생산하고자 하는 가상 표현의 특성으로 해석하기 위한 기반을 제공할 수 있다. 특히, 본 명세서에서 논의되는 예시적인 기술은 자신을 인식에 따른 물체의 특정 부분으로서 나타내는 사전정의된 제스처에 의존하지 않을 수 있다. 예시적인 실시예에 따르면, 액터의 손은 제스처를 표현할 때 기본 초점을 제공할 수 있다. 예시적인 실시예에 따르면, 액터의 팔과 몸의 위치 및 자세가 무시될 수 있으며 초점이 액터의 손에 완전히 향하게 될 수 있다.
예를 들어, 액터(502)는 물체의 표현과 구조적 요소들을 자연스럽게 그릴 수 있으며, 그에 따라 그들의 공간적 메모리에 기초하여 물체를 재현하고 액터의 설명의 가상 표현이 시간에 걸쳐 구축될 수 있음을 제안한다. 예시적인 실시예에 따르면, 액터(502)가 설명하는 데에 보다 많은 시간을 소비하는 부분들은 그/그녀가 간략하게 커버한 부분들에 비해 더욱 많은 가중치가 부여될 수 있다.
예시적인 액터(502)가 각각의 영역 내에서 자신의 손을 흔듬으로써 서로 다른 크기의 표면을 설명할 수 있기 때문에, 액터의 손은 가상 표현 내의 자취를 생성할 수 있다. 제스처의 실제 경로가 물체와 관련된 정보를 거의 제공하지 않을 수 있기 때문에, 액터의 손의 위치 및 방향은 동작을 올바르게 해석하기 위한 초점으로서 사용될 수 있다. 제스처의 시간 인식 감지와 관련하여, 이러한 자취는 액터(502)가 물체의 소정의 부분을 반복적으로 또는 더 느리게 커버할 때 가상 표현에 의미를 추가할 수 있다.
예시적인 실시예에 따르면, 초점은 액터의 손이 아닌 엔티티와 관련될 수 있다. 예를 들어, 액터는 3D 아이템의 인식 형태를 가정할 수 있다. 예시적인 실시예에 따르면, 3D 아이템의 설명은 예를 들어 3D 아이템의 인식 형태를 가정하는 액터에 의해 소비되는 시간의 길이에 기초하여 추론될 수 있다.
예시적인 실시예에 따르면, 액터는 액터와 연관된 움직이는 3D 객체를 통해 3D 아이템을 공간적으로 설명할 수 있다. 예를 들어, 액터는 3D 객체(예컨대, 책, 노트북, 휴대폰)를 쥐고 원하는 3D 아이템의 형태를 설명하도록 자연스러운 제스처 동작으로 3D 객체를 이동시킬 수 있다. 다른 예시로서, 액터는 감지 디바이스(예컨대 글러브, 게임 기어)를 착용하거나 부착하고 원하는 3D 아이템의 형태에 대한 설명을 제스처 할 수 있다.
도 10a 및 10b는 액터의 예시적인 손 자세를 도시한다. 도 10a에 도시된 바와 같이, 스트레칭된 손 자세(1002)는 형태(예컨대, 편평한 표면)를 나타낼 수 있다. 스트레칭된 손에 손가락이 함께 붙어있는 자세(1004) 또한 형태를 지시하기 위한 의도를 나타낸다. 구부러진 손 형태와 손가락이 함께 붙어있는 손 자세(1006)는 이러한 동작이 의미 있음을 제안할 수 있으며, 긴장을 푼 포즈(1008)는 전환을 나타낼 수 있다(예컨대, 손 자세(910, 912)와 관련하여 논의된 것과 유사함).
예시적인 실시예에 따르면, 예시적인 기술이 액터의 제스처의 오직 의미 있는 부분만을 인식하고 해석할 수 있고, 물체의 다음 부분으로 손이 전환하는 역할만을 하는 자세는 무시한다. 예를 들어, 예시적인 액터(502)는 물체의 다른 부분으로 손을 움직이는 동안 그/그녀의 근육을 간단히 이완할 수 있는 반면, 그/그녀는 의미 있는 손 포즈의 신호를 하기 위해서 그/그녀의 손가락을 정렬 또는 스트레칭할 수 있거나 손 근육을 구부릴 수 있다. 이러한 구분을 포착하는 것이 바람직할 수 있지만, 손가락 자세와 구부러짐의 변화는 도 10a 및 10b에 도시된 것과 같이 상당히 감지하지 어려울 수 있다.
카메라로 근육 이완을 감지하는 것에 대한 잠재적인 염려를 고려하여, 예시적인 데이터 마임 또는 제스처 기술이 손가락 곡선의 해석을 포기할 수 있다. 시간의 각 순간에 대해, 액터의 손은 수직방향 표현으로 풋프린트(footprint)를 남길 수 있으며(예컨대, 공간 표현(138) 및/또는 통합 모델(144)) 이것의 위치 및 방향은 실세계에서 액터의 손의 위치 및 방향에 해당한다. 다시 말하면, 시간의 각 인스턴스에서 손의 방향 및 자세는 수직방향 표현에 추가되는 구성요소의 부피를 결정할 수 있다(즉, 편평하고 경사진 손은 수직방향 표현에서 편평하고 기울어진 소규모의 임팩트를 만들 수 있다). 예시적인 실시예에 따르면, 이러한 컨셉은 액터의 손이 아닌 3D 객체로 연장될 수 있으며, 이는 본 명세서에서 추가로 논의된다.
예시적인 실시예에 따르면, 액터의 손의 부피를 복제하여 가상 공간 내에 그것을 표현함으로써, 본 명세서에서 논의되는 예시적인 기술이 편평하고 구부러진 손 자세를 감지할 수 있으며(예컨대, 편평한 표면, 구의 표면) 액터(502)가 자신의 손을 주먹 쥐거나 집게를 만들 때(예컨대, 의자의 다리를 위해서) 보다 작은 요소들을 고려할 수 있다. 또한, 양손이 별개로 고려될 수 있다.
예시적인 실시예에 따르면, 본 명세서에서 논의된 데이터 마임 기술 또는 제스처 기술은 l×m×n 복셀을 구현하는 불연속 3D 부피로 액터의 설명의 가상 표현을 생성할 수 있다(예컨대, 생성된 통합 모델(144)). 이러한 복셀 공간은 따라서 물체 설명 시스템의 가상 표현 "메모리"를 나타낼 수 있다. 각 복셀은 활성 또는 불활성 상태에 있을 수 있다. 예시적인 실시예에 따르면, 장면은 불활성화 복셀만으로 시작될 수 있으며, 액터의 제스처를 관찰하는 코스에 걸쳐, 복셀들이 적절하게 활성화될 수 있다. 예시적인 실시예에 따르면, 각 복셀은 또한 소정의 가중치와 연관될 수 있으며, 이것은 전술된 바와 같이 액터가 복셀을 반복적으로 활성화할 때 증가될 수 있다. 따라서, 소정의 가중치를 넘는 복셀들의 세트는 액터의 설명에서 의미 있는 부분을 나타내는 것으로 해석될 수 있는 반면 나머지 부분은 무시될 수 있기 때문에, 액터가 물체의 가장 의미 있는 부분을 얼마나 느리게 또는 반복적으로 그리는지를 포착하는 것이 가능할 수 있다.
예시적인 실시예에 따르면, 장면의 위치 및 방향이 액터의 위치 또는 방향에 적응되지 않을 수 있도록 본 명세서에서 논의되는 예시적인 3D 장면 기술은 월드-앵커(world-anchored)될 수 있다. 따라서, 장면의 중심이 액터(502)의 앞에 있을 수 있는 반면(즉, 월드-앵커), 3D 물체 설명은 단 몇 초 내에 완료될 수 있기 때문에, 액터(501)는 이러한 부분적인 앵커를 유지시킬 수 있다.
예시적인 실시예에 따르면, 액터에 의해 설명되는 물체의 아이덴티티는 복셀 표현의 매칭 후보 물체들의 예시적인 데이터베이스에 기초하여 결정될 수 있다(예컨대, 데이터베이스(172)). 예시적인 실시예에 따르면, 본 명세서에서 논의되는 데이터 마임 기술 또는 제스처 기술은 데이터베이스로부터 가장 근접하게 일치하는 물체를 선택할 수 있다. 본 명세서에 논의된 바와 같이, 각 후보 물체에 대해서, 생성된 3D 모델(예컨대, 통합 모델(144))은 유사성의 측정 및 비교를 위해서 사전정의된 데이터베이스 모델(예컨대, 사전정의된 3D 모델(168a, 168b, 168c))과 정렬될 수 있다. 또한, 액터의 창조물과의 스케일 및 회전 차이가 획득될 수 있다.
실질적으로 특징적인 구성요소에 기초하여 물체들이 집합될 수 있기 때문에, 액터(502)는 이러한 특징적인 부분을 별개로 설명할 수 있다. 사람은 일반적으로 그들의 청중에 대해 암묵적인 가정을 할 수 있기 때문에, 물체를 식별하는 데에 추가로 도움이 되는 역할을 하지 않는 특성 또는 구조에 대해 필수적인 것으로 보여질 수 있는 중요하지 않은 부분(예컨대, 의자의 등받이와 좌석과 같은 표면 사이의 접속 부분)에 대해서는 거의 설명하지 않을 수 있다.
예시적인 실시예에 따르면, 액터의 부분에 대한 단편적인 모델링은 액터가 물체의 임의의 부분에 대한 설명을 생략하는 것을 허용함으로써 매칭 프로세서에 반영될 수 있으며, 액터는 고려 대상인 물체의 종류와 일부 유사성이 있는 충분한 세부사항과 그 종류 내에서의 형태의 다양성을 자연적으로 명시할 것이다.
또한, 예시적인 실시예에 따르면, 예시적인 데이터 마임 또는 제스처 기술은 고려하는 물체의 종류를 좁히기 위한 음성 인식을 포함할 수 있다. 예를 들어, 액터(502)가 "의자"라고 말하고 의자의 형태의 식별 특성(또는 특성들의 세트)을 나타내도록 제스처 함으로써 특정 의자를 명시할 수 있다.
예시적인 실시예에 따르면, 본 명세서에서 논의되는 예시적인 시스템(100)은 액터(132) 위에 장착될 수 있는 단일 깊이-감지 카메라(예컨대, 이미지 데이터 입력 디바이스(112))를 이용하여 사용자 엔드 시스템에 대해 구현될 수 있다. 예를 들어, MICROSOFT KINECT 카메라는 30Hz에서의 깊이 이미지와 640×480 해상도를 제공할 수 있다. 예를 들어, 카메라는 70°의 대각선 시야각을 가질 수 있다. 예시적인 실시예에 따르면, 예시적인 시스템(100)은 15ms보다 작은 각각의 카메라 프레임을 프로세싱할 수 있으며, 따라서 액터의 제스처에 대한 실시간 프로세싱과 복셀 표현으로의 해석을 제공한다.
도 11a 내지 11d는 도 1의 예시적인 시스템에 따른 이미지 데이터의 예시적인 프로세싱의 그래픽도를 도시한다. 예시적인 실시예에 따르면, 본 명세서에서 논의되는 예시적인 기술이 전술된 바와 같이 원 이미지(raw image)(1100a)를 프로세싱할 수 있다. 도 11a에 도시된 바와 같이, 카메라(1102), 의자(1104) 및 테이블(1106)이 액터(예컨대, 액터(132))의 팔(1108, 1110)과 손(1112, 1114)에 따라 원 이미지(1100a) 내에 나타날 수 있다.
예시적인 실시예에 따르면, 입력 이미지(1100a) 내의 각 화소(픽셀)가 세계 좌표로 변형될 수 있다. 도 11b에 도시된 바와 같이, 3피트 폭×2피트 높이×2.5피트 깊이의 부피 밖의 좌표(즉, 픽셀)가 잘릴 수 있으며, 그에 따라 깊이 이미지(1100b)로부터 바닥, 벽 및 잠재적인 다른 물체를 제거한다(예컨대, 도 11a의 의자(1104) 및 테이블(1106)).
예시적인 실시예에 따르면, 오버랩하는 팔들을 확인하기 위해서 오직 점진적으로 변화하는 깊이값을 갖는 연속적인 영역들 사이에서 구별하여 이미지(1100b) 내의 팔(1108, 1110)이 식별될 수 있고, 도 11c에 도시된 바와 같이 액터의 손(1112, 1114)은 팔(1108, 1110)을 제거함으로써 추출될 수 있다.
액터의 팔(1108, 1110)이 외부로부터 들어와서 부피에 도달한다는 가정에 기초하여, 예시적인 기술이 각 손(1112, 1114)의 가장 먼 지점을 결정할 수 있으며, 구부러진 팔목과 손목을 설명하기 위해서 팔(1108, 111)의 형태 내의 경로의 길이로서 거리를 측정한다(즉, 이 예시에 대해서는 직선 거리가 아님). 예시적인 실시예에 따르면, 액터의 손(1112, 1114)을 추출하기 위해서, (카메라까지의 거리에 따른) 일정한 손 길이가 사용될 수 있다. 예시적인 실시예에 따르면, 캘리브레이션은 액터의 특정 손 크기에 대해 적용될 수 있다.
예시적인 실시예에 따르면, 양 손(1112, 1114)의 방향 및 부피는 시간에 따라 각 손(1112, 1114)의 가시 영역을 추적함으로써 계산될 수 있다. 예시적인 실시예에 따르면, 각 손(1112, 1114)의 롤각 및 핀치각이 가시 영역에 걸쳐 깊이값에서의 변화로부터 계산될 수 있다. 예시적인 실시예에 따르면, 만약 수직방향 손의 롤(예컨대, 위로부터 아래 방향으로 오직 엄지와 검지만을 볼 수 있을 때)과 같이 가시 영역이 너무 작은 경우에, 예시적인 기술이 앞선 관찰에 기초하여 손(1112, 1114)의 얼마나 많은 부분이 가려졌음을 예측할 수 있으며, 따라서 손의 방향을 결정할 수 있다.
예시적인 실시예에 따르면, 각 손(1112, 1114)의 편향각의 계산은 단순하게 카메라(1102)가 액터의 머리 위에 장착될 수 있다고 간주하는 것일 수 있다. 예시적인 실시예에 따르면, 시간에 따른 관찰로부터, 3차원 공간 내의 각 손의 자세뿐 아니라 z 축(즉, 카메라(1102)의 시야선의 축)에서의 그 정확한 규모가 재구성될 수 있다.
예시적인 실시예에 따르면, 손(1112, 1114)의 방향을 계산한 후에, 예시적인 기술이 각 손(1112, 1114)의 위치 및 방향을 복셀 공간 내의 복셀들의 위치로 직접 해석할 수 있다. 예시적인 실시예에 따르면, 이것은 전술된 바와 같이 액터의 손(1112, 1114)과 동일한 깊이, 위치 및 방향을 갖는 영역 내의 모든 복셀들을 활성화하는 것을 포함할 수 있다.
예시적인 실시예에 따르면, 예시적인 기술은 액터가 그/그녀의 손가락들과 엄지로 함께 집게를 만들거나 양손을 함께 움직임으로써 더 미세한 요소를 생성하기 위한 액터의 의도를 검출할 수 있다. 도 11d에 도시된 바와 같이, (예컨대, 인클로저 검출 엔진(158)을 통해) 닫힌 영역(1116)이 검출되자마자 (손(1114)에 반대편의) 이러한 영역이 프로세싱될 수 있다. 예시적인 실시예에 따르면, 영역(1116)에 대한 깊이값은 주변 영역(즉, 손(1114))으로부터 샘플링될 수 있다. 복셀들은 따라서 그들이 닫힌 영역(1116)과 위치를 공유하면 활성화될 수 있다. 예시적인 실시예에 따르면, 손(1114)의 실제 형태는 영역(예컨대, 영역(1116))이 닫히면 묵살될 수 있다. 따라서, 액터(132)는 테이블 다리 또는 삼각 버팀목과 같은 더 얇은 요소를 나타낼 수 있다. 만약 액터(132)가 양 엄지와 집게손가락을 연결시켜 더 큰 닫힌 공간이 만들어지면, 유사한 기술이 적용될 수 있다.
예시적인 실시예에 따르면, 복셀 공간은 양의 수의 3차원 어레이로서 구현될 수 있으며, 따라서 3D 히스토그램을 나타낸다. 예시적인 실시예에 따르면, 각 복셀은 일정한 폭, 높이 및 깊이(예컨대, 10mm)를 가질 수 있다. 예시적인 실시예에 따르면, 복셀 공간의 중심은 액터(132) 바로 앞의 대략 가슴 높이에 위치할 수 있다(예컨대, 도 11a에 도시된 바와 같음).
예시적인 실시예에 따르면, 복셀의 활성화는 히스토그램에서 그 카운트를 증가시킬 수 있으며, 그에 따라 액터(132)가 반복적으로 또는 더 천천히 통과하는 복셀(즉, 물체 설명의 의미 있는 부분)이 다음의 의미 있는 위치로 팔(1108, 1110)이 이동할 때 액터(132)가 통과하는 복셀보다 높은 카운트를 축적할 수 있음을 의미한다. 예시적인 실시예에 따르면, 공간 내의 모든 복셀들에 걸친 단순한 경계화가 물체 설명의 의미 있고 적절한 부분을 남겨둘 수 있다. 예를 들어, 통합 모델 생성기(140)는 전술된 바와 같이, 결정된 순차적인 3D 공간적 표현(138) 내에 포함된 3D 공간 맵 데이터를 점진적으로 통합하고 문턱 시간 값(146)을 자유 형태 움직임 동안 복수의 3D 공간 영역을 차지하는 적어도 하나의 손에 의해 소비되는 시간의 인스턴스의 수를 나타내는 모델 시간 값과 비교한 것에 기초하여 통합 3D 모델(144)을 생성할 수 있다.
예시적인 실시예에 따르면, 예시적인 반복 정렬 기술은 두 모델(예컨대, 생성된 통합 모델(144)과 사전정의된 3D 모델(168a, 168b, 168c) 중 하나)을 등록하기 위해 예시적인 ICP(iterative closest point) 알고리즘을 사용할 수 있다. 예를 들어, ICP 알고리즘은 두 모델이 (예로서, 적어도 선택된 구성요소를 매칭하기 위한 스케일링, 해석 및 회전에 의해서) 사전 정렬된 후에 시작될 수 있다. 예시적인 실시예에 따르면, 예비 정렬은 두 모델의 스케일링을 균일하게 추가로 적응시킬 수 있다. 예를 들어, 반복 정렬 엔진(188)은 전술된 바와 같이, ICP 알고리즘에 기초하여 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나의 제 2 정렬(190)을 생성할 수 있다.
예시적인 실시예에 따르면, ICP 알고리즘은 한 모델 내의 점을 다른 모델 내의 가장 가까운 점에 반복적으로 매칭하는 것에 기초할 수 있다. 예를 들어, 거리 분산에 기초한 통계적 기술이 아웃라이어(outlier), 교합(occlusion), 등장(appearance) 및 소멸(disappearance)을 프로세싱하는 데에 사용될 수 있으며, 이것은 서브셋-서브셋 매칭과 연관된 예시적인 기술을 제공한다. 예시적인 최소제곱법 기술은 포인트 대응으로부터 3D 동작을 예측하도록 사용될 수 있으며, 이는 두 모델 내의 점 사이의 평균 거리를 감소시킬 수 있다.
이와 달리, 예시적인 작위적 기술은 16cm×16cm×16cm 내에서 임의의 해석의 조합과 z축(수직축) 둘레의 1/4 회전의 네 개의 레벨을 테스트할 수 있다. 예시적인 실시예에 따르면, 액터(132)가 x 및 y축 둘레의 물체의 방향을 유지할 수 있기 때문에 x 및 y축(수평) 둘레의 회전은 무시될 수 있는 반면, 액터의 공간적 설명 동안에 물체를 자신을 향해 "회전"시킬 수 있다(즉, z축에 대해 회전할 수 있다). 이러한 예시적인 기술에 대한 z 회전의 수는 물체 내의 수직 면의 수에 해당할 수 있다(즉, 4개의 면). 이러한 예시적인 기술은 또한 두 모델들을 사전-정렬하여 스케일을 균일하게 적응시킬 수 있다. 예를 들어, 무작위 정렬 엔진(192)은 전술된 바와 같이, 제 1 정렬(186)에 기초하여 통합 3D 모델(144)과 사전정의된 3D 모델(168a, 168b, 168c) 중 하나에 대한 복수의 스케일링, 회전 및 해석을 포함하는 무작위 정렬에 기반하여 통합 3D 모델(144)과 사전정의된 3D 모델들(168a, 168b, 168c) 중 하나의 제 2 정렬(190)을 생성할 수 있다.
예시적인 실시예에 따르면, 예시적인 ICP 기술은 계산상 비용이 높을 수 있고 두 모델을 비교하는 데에 8초의 거의 정확한 시간을 포함할 수 있으며, 예시적인 작위적 기술은 비교에 2초보다 적은 시간을 포함할 수 있으며 이는 작위적 기술이 이산적 복셀 공간에서 동작할 수 있기 때문이다(즉, 복셀들을 찾는 것은 상대적으로 빠른 동작을 포함할 수 있다). 그러나, 예시적인 ICP 기술은 하나 이상의 가장 근접한 매칭을 결정하기 위해서 물체가 모든 세 개의 축 주변을 회전할 수 있다는 점에서 더 큰 유연성을 제공할 수 있다.
복셀 공간에서 표현되는 물체들을 매칭하기 위한 적어도 두 개의 서로 다른 기술들이 본 명세서에서 논의되었지만, 데이터 프로세싱 분야의 당업자는 본 발명의 사상으로부터 벗어나지 않고 사전결정된 3D 모델들(168a, 168b, 168c) 중 하나 이상과 생성된 통합 모델(144)을 매칭하는 데에 사용될 수 있는 다수의 다른 매칭 기술이 이용가능하다는 것을 이해할 것이다.
도 12는 생성된 3D 모델과 사전정의된 3D 모델을 매칭하여 겹쳐진(superimposed) 예시적인 결과를 도시한다. 도 12에 도시된 바와 같이, 생성된 3D 모델(1202)은 본 명세서에 논의된 예시적인 매칭 기술에 기초하여 사전정의된 모델(1204)과 매칭된다. 예를 들어, 액터(132)는 원판 형태의 발을 갖는 의자(예컨대, 의자(708)와 유사함)를 마음속에 그릴 수 있고 예시적인 이미지 데이터 입력 디바이스(112)(예컨대, 깊이 카메라)의 범위 내에서 의자의 특성을 (예컨대, 데이터 마임 제스처를 통해) 공간적으로 설명할 수 있다. 예시적인 공간 객체 관리 엔진(102)은 이미지 데이터 입력 디바이스(112)로부터 공간 이미지 데이터(110)를 수신할 수 있으며, 통합 모델 생성기(140)는 통합 모델(144)(예컨대, 생성된 모델(1202))을 생성할 수 있다. 매칭 엔진(166)은 전술된 바와 같이 선택된 모델(194)(예컨대, 사전정의된 모델(1204))을 선택하도록 사전정의된 3D 모델들(168) 중 하나와 통합 모델(144)을 매칭할 수 있다.
예시적인 실시예에 따르면, 예시적인 시스템(100)은 MICROSOFT KINECT 카메라와 같은 깊이 카메라를 통한 액터(132)와의 상호작용을 캡처함으로써 구현될 수 있다. 예시적인 실시예에 따르면, 액터(132)의 제스처의 비디오는 30Hz에서의 깊이 정보를 갖는 640×480 픽셀의 해상도로 기록될 수 있다. 예를 들어, 공간 객체 관리 엔진(102)은 랜덤 액세스 메모리(RAM)의 6GB 및 INTEL CORE2 Duo 2.13 GHz 프로세서에 의해 구동되는 WINDOWS 7 Ultimate를 실행하는 컴퓨팅 디바이스를 통해 구현될 수 있다.
예시적인 실시예에 따르면, 예시적인 매칭 기술은 가장 근접한 세 개의 매칭을 찾는 기술(closest-three technique)을 사용할 수 있으며, 이때 액터(132)는 제스처를 통해 물체를 공간적으로 설명할 수 있고, 그 결과 시스템(100)은 데이터베이스(172)로부터 세 개의 가장 근접한 매칭 객체들(170a, 170b, 170c)을 제공할 수 있다. 액터(132) 또는 사용자(124)는 그 다음 세 개의 선택들 중 하나를 선택할 수 있고, 다시 시작할 수 있거나 또는 세 개의 선택들이 물체를 충분히 명시하지 못하였음이 분명할 때 제스처를 통해 보다 세부사항을 제공하도록 계속해서 선택할 수 있다. 예시적인 실시예에 따르면, 가장 근접한 세 개의 결과들은 또한 상호작용의 맥락에서 모델링할 수 있는 보다 큰 시스템에 의해 소비될 수도 있다(예컨대, 말로하는 대화). 이러한 추가적인 정보는 액터의 입력에 대해 명확화를 제공할 수 있다(예컨대, 반대로 제스처가 말과 같은 상호작용의 다른 측면을 명확화할 수 있다).
본 명세서에서 언급된 예시적인 기술은 데이터베이스 내에 저장된 구체적인 3D 모델들을 포함할 수 있다(예컨대, 데이터베이스(172) 내에 저장된 사전정의된 3D 모델들(168a, 168b, 168c)). 이러한 모델들은 사람의 제스처의 본성에 의해서 알려지지 않을 수 있는 간단한 형태 매칭 접근법을 이용하여 유사하게 표현된 입력(예컨대, 생성된 통합 모델(144))에 대해 매칭될 수 있다. 따라서, 객체를 데이터베이스(172)에 추가하는 것(예컨대, 업데이트 모델(180))은 물체의 3D 모델만을 획득하는 것을 포함할 수 있다.
예시적인 실시예에 따르면, 액터(132)의 손 외의 아이템이 생성된 통합 모델(144)을 획득하도록 물체를 공간적으로 설명하기 위해 사용될 수 있다. 예를 들어, 로봇 응용분야에서, 엔드 이펙터(end-effector)는 환경과 상호작용하도록 설계된 로봇 팔의 말단에 디바이스를 포함할 수 있다. 따라서, 예를 들어 이러한 엔드 이펙터는 (예컨대, 로봇 부속지 대신 사람의 손 환경의 맥락에서) 공간 설명을 위한 사람의 손 대신 사용될 수 있다. 또한, (예컨대 책을 들거나 모바일 디바이스를 들고 있어) 만약 액터의 손이 사용되고 있다면, 손이 들고 있는 물체가 액터(132)의 손 대신 예시적인 시스템(100)에 의해 추적될 수 있다. 예를 들어, 만약 액터(132)가 제스처에 이용가능한 손이 없다면, 다른 물체가 사용되는 것이 본 명세서에 논의된 본 발명의 사상으로부터 벗어나지 않는다.
또한, 이미지 데이터 입력 디바이스(112) 외의 감지 디바이스가 전술된 바와 같이 센서 데이터(106)를 획득하는 데에 사용될 수 있다. 예를 들어, 액터(132)가 감지 글러브를 끼고 있는 동안 제스처를 취할 때 손 자세를 캡처하기 위해 감지 글러브가 사용될 수 있다.
본 명세서에 언급된 예시적인 기술들은 예를 들어 구체적인 물리적 물체들을 설명하는 데에 사용될 수 있는 제스처를 이해하기 위한 예시적인 접근법을 제공할 수 있다. 예시적인 실시예에 따르면, 본 명세서에 전술된 바와 같이, 예시적인 데이터 마임 또는 제스처 기술은 제스처 기간에 걸쳐 액터(132)의 양손에 의해 그려진 공간의 부피 화소(복셀) 표현에 기초할 수 있다. 예시적인 실시예에 따르면, 3D 매칭 기술은 알려진 물리적 물체들(예컨대, 사전정의된 3D 모델(168a, 168b, 168c)과 연관될 수 있는 물리적 물체들)의 데이터베이스(172) 중에서 선택하도록 입력 복셀 표현을 매칭하는 데에 사용될 수 있다.
본 명세서에 설명된 다양한 기술들의 구현은 디지털 전자 회로 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 구현은 컴퓨터 프로그램 제품, 즉 예를 들어 장치 사용가능하거나 장치 판독가능한 저장 디바이스(예컨대, USB 저장 디바이스, 테이프, 하드 디스크 드라이브, 콤팩트 디스크, DVD 등과 같은 자기 또는 디지털 매체)와 같은 정보 캐리어 또는 전파되는 신호 내에 실체적으로 포함된 컴퓨터 프로그램으로서 구현될 수 있으며, 이러한 신호는 예컨대 프로그램 가능한 프로세서, 컴퓨터 또는 복수의 컴퓨터와 같은 데이터 프로세싱 장치에 의한 실행 또는 그의 동작 제어를 위한 것이다. 전술된 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일링되거나 해석된 언어를 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있으며, 독립형 프로그램 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서 사용하기에 적절한 그외의 유닛을 포함하는 임의의 형태로 배치될 수 있다. 전술된 기술을 구현할 수 있는 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트 또는 분산된 복수의 사이트에서의 복수의 컴퓨터 상에서 실행되고 통신 네트워크에 의해 상호접속되도록 배치될 수 있다.
방법의 단계들은 입력 데이터에 대한 동작 및 출력의 생성에 의한 기능을 수행하도록 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능한 프로세서에 의해 수행될 수 있다. 하나 이상의 프로그램가능한 프로세서는 동시에 명령을 실행할 수 있고/있거나, 분산 프로세싱을 위해 분산된 구성으로 배열될 수 있다. 방법의 단계들은 또한 예컨대 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 전용 논리 회로에 의해 수행될 수 있고, 장치가 이러한 전용 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예를 들어 범용 및 전용 마이크로프로세서 및 임의의 유형의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 오직 메모리로부터 또는 랜덤 액세스 메모리로부터 또는 둘 모두로부터 데이터 및 명령을 수신할 것이다. 컴퓨터의 요소들은 명령 및 데이터를 저장하는 하나 이상의 메모리 디바이스 및 명령을 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 일반적으로, 컴퓨터는 또한 예컨대 마그네틱, 마그네토 광학 디스크 또는 광학 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대량 저장 장치를 포함할 수 있거나, 이러한 하나 이상의 대량 저장 장치로부터 데이터를 수신 또는 대량 저장 장치로 데이터를 전송하도록 동작상 연결될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 포함하기 적합한 정보 캐리어는 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스, 내부 하드 디스크 또는 제거가능한 디스크와 같은 마그네틱 디스크, 마그네토 광학 디스크 및 CD ROM과 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리를 포함한다. 프로세서 및 메모리는 전용 논리 회로에 의해 보충될 수 있거나 전용 논리 회로 내에 포함될 수 있다.
사용자와의 상호작용을 제공하기 위해서, 구현은 사용자에게 정보를 디스플레이하도록 예컨대 CRT(cathode ray tube) 또는 액정 디스플레이(LCD) 모니터와 같은 디스플레이 디바이스를 구비하고 사용자가 컴퓨터에게 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 포인팅 디바이스 및 키보드를 구비하는 컴퓨터 상에서 구현될 수 있다. 다른 유형의 디바이스들이 사용자와의 상호작용을 위해 제공되도록 사용될 수 있으며, 예를 들어 사용자에게 제공되는 피드백은, 예컨대 시각적 피드백, 오디오 피드백, 또는 촉감 피드백과 같은 임의의 형태의 감각 피드백일 수 있고, 사용자로부터의 입력은 음향, 언어 또는 촉감 입력을 포함하는 임의의 형태로 수신될 수 있다.
구현은 예컨대 데이터 서버와 같은 백 엔드 구성요소를 포함하거나 또는 예컨대 애플리케이션 서버와 같은 미들웨어 구성요소를 포함하거나, 또는 예컨대 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터와 같은 프론트 엔드 구성요소를 포함하는 컴퓨팅 디바이스 내에서 구현될 수 있으며, 이러한 그래픽 사용자 인터페이스 또는 웹 브라우저를 통해서 사용자는 백 엔드, 미들웨어 또는 프론트 엔드 구성요소의 임의의 조합 또는 구현과 상호작용할 수 있다. 구성요소는 임의의 형태 또는 예컨대 통신 네트워크와 같은 디지털 데이터 통신의 매체에 의해 상호접속될 수 있다. 통신 네트워크의 예시는 로컬 영역 네트워크(LAN) 및 광역 네트워크(WAN), 예로서 인터넷을 포함한다.
본 청구사항이 구조적 특성 및/또는 방법론적 동작에 대해 특정한 언어로 기술되었지만, 첨부된 특허청구범위에서 정의되는 청구사항이 반드시 전술된 특정한 특성 또는 동작으로 한정되는 것은 아님을 이해해야 한다. 오히려, 전술된 특정한 특성 및 동작들은 청구항을 구현하는 예시적인 형태로서 개시되었다. 기술된 구현의 소정의 특성들이 본 명세서에 기술된 것과 같이 설명되었지만, 설명된 내용에 대한 다수의 수정, 대체, 변경 및 동등물이 본 발명의 범주에 포함된다. 따라서, 첨부된 특허청구범위는 실시예들의 범주 내에 있는 이러한 모든 수정 및 변경을 포함한다는 점을 이해해야 한다.

Claims (10)

  1. 공간 객체 관리 엔진을 포함하는 시스템으로서,
    상기 공간 객체 관리 엔진은,
    복수의 데이터베이스 객체를 포함하는 데이터베이스에 대한 액세스를 시작하도록 구성된 데이터베이스 액세스 엔진- 각각의 데이터베이스 객체는 사전결정된 3D 아이템의 외양(appearance)을 시뮬레이션하는 사전정의된 3차원(3D) 모델과 연관됨 -과,
    자연스러운 제스처 동작에 기반하는 액터(actor)의 적어도 하나의 손의 자유 형태 움직임(free-form movement)에 기초하여 상기 액터의 적어도 하나의 팔 동작과 연관된 3D 공간 이미지 데이터를 수신하도록 구성된 이미지 데이터 수신 엔진과,
    상기 수신된 3D 공간 이미지 데이터에 따라 상기 적어도 하나의 손의 3D 포지셔닝에 대한 시계열적 3D 표현을 통합한 것에 기초하여 통합 3D 모델을 생성하도록 구성된 통합 모델 생성기와,
    공간 객체 프로세서를 통해 상기 사전결정된 3D 아이템 중 적어도 하나를 선택하도록 구성된 매칭 엔진을 포함하되,
    상기 선택은 상기 데이터베이스 액세스 엔진에 액세스하여 상기 통합 3D 모델과 일치하는 적어도 하나의 상기 사전정의된 3D 모델과 연관된 데이터베이스 객체를 상기 데이터베이스 객체 중에서 적어도 하나 결정하는 것에 기초하는
    시스템.
  2. 제 1 항에 있어서,
    사전정의된 업데이트 3D 아이템의 외양을 시뮬레이션하는 업데이트 3D 모델을 획득하여 상기 데이터베이스 액세스 엔진을 통해 상기 데이터베이스 내에 상기 업데이트 3D 모델과 연관된 업데이트 데이터베이스 객체의 저장을 시작하도록 구성된 업데이트 아이템 입력 엔진을 더 포함하는
    시스템.
  3. 제 2 항에 있어서,
    상기 업데이트 아이템 입력 엔진은, 상기 사전정의된 업데이트 3D 아이템의 사진과 연관된 이미지 데이터의 수신 또는 입력 디바이스를 통한 상기 업데이트 3D 모델의 수신 중 하나 이상에 기초하여 상기 업데이트 3D 모델을 획득하도록 구성되는
    시스템.
  4. 제 1 항에 있어서,
    각각이 초기값으로 초기화되는 가중치(weight value)를 포함하는 부피화된 요소로서 표현되는 불연속화된 3D 가상 맵 요소에 기초하여 가상 3D 맵 공간을 초기화하도록 구성된 초기화 엔진을 더 포함하되,
    상기 가상 3D 맵 공간은 상기 액터에 매우 근접한 3D 공간을 나타내고,
    상기 통합 모델 생성기는,
    상기 자유 형태 움직임의 기간 동안 상기 적어도 하나의 손의 일부분이 상기 3D 공간의 3D 영역을 차지하였음을 나타내는 결정에 기초하여, 상기 3D 영역과 연관되어 선택된 부피화된 요소의 상기 가중치를 비례적으로 증가시키도록 구성된 요소 활성화 엔진과,
    문턱값을 상기 부피화된 요소 각각의 상기 가중치와 비교하도록 구성된 문턱값 비교 엔진
    을 포함하는
    시스템.
  5. 제 4 항에 있어서,
    상기 통합 모델 생성기는,
    상기 적어도 하나의 손의 깊이, 위치 및 방향을 결정하도록 구성된 위치 속성 엔진과,
    상기 적어도 하나의 손의 상기 깊이, 위치 및 방향에 상응하는 상기 가상 3D 맵 공간과 연관하여 부피화된 요소의 위치를 결정하도록 구성된 가상 요소 로케이터(virtual element locator)와,
    상기 가상 요소 로케이터에 의해 결정된 상기 위치에 기초하여, 상기 적어도 하나의 손의 상기 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 상기 가상 3D 맵 공간의 영역과 연관하여 복수의 부피화된 요소를 활성화하도록 구성된 요소 활성화 엔진
    을 포함하는
    시스템.
  6. 제 4 항에 있어서,
    상기 통합 모델 생성기는,
    상기 적어도 하나의 손의 자세에 의해 나타내어지는 닫힌 공간(enclosed space)을 결정하도록 구성된 인클로저 검출 엔진(enclosure detection engine)과,
    상기 닫힌 공간을 둘러싸는 영역의 깊이에 대한 판단에 기초하여 상기 닫힌 공간의 깊이를 결정하도록 구성된 깊이 결정 엔진과,
    상기 적어도 하나의 손의 상기 깊이, 위치 및 방향에 상응하는 깊이, 위치 및 방향을 나타내는 상기 가상 3D 공간의 영역과 연관하여 복수의 부피화된 요소를 활성화하는 대신, 상기 닫힌 공간을 나타내는 자세와 연관된 기간 동안, 상기 닫힌 공간에 상응하는 깊이, 위치 및 방향을 나타내는 상기 가상 3D 공간의 영역과 연관하여 복수의 부피화된 요소를 활성화하도록 구성된 요소 활성화 엔진
    을 포함하는
    시스템.
  7. 제 1 항에 있어서,
    상기 매칭 엔진은,
    상기 통합 3D 모델과 상기 사전정의된 3D 모델 중 하나의 스케일링, 해석 및 회전에 기초하여, 상기 통합 3D 모델과 상기 사전정의된 3D 모델 중 하나에 포함된 적어도 하나의 구성요소의 매칭에 기반해 상기 통합 3D 모델과 상기 사전정의된 3D 모델 중 하나의 제 1 정렬을 생성하도록 구성된 예비 정렬 엔진(preliminary alignment engine)과,
    상기 제 1 정렬에 기초하여, ICP(iterative closest point) 알고리즘에 기반한 상기 통합 3D 모델과 상기 사전정의된 3D 모델 중 하나의 제 2 정렬을 생성하도록 구성된 반복 정렬 엔진(iterative alignment engine)
    을 포함하는
    시스템.

  8. 제 1 항에 있어서,
    상기 매칭 엔진은,
    상기 통합 3D 모델과 상기 사전정의된 3D 모델 중 하나의 스케일링, 해석 및 회전에 기초하여, 상기 통합 3D 모델과 상기 사전정의된 3D 모델 중 하나에 포함된 적어도 하나의 구성요소의 매칭에 기반해 상기 통합 3D 모델과 상기 사전정의된 3D 모델 중 하나의 제 1 정렬을 생성하도록 구성된 예비 정렬 엔진과,
    상기 제 1 정렬에 기초하여, 상기 통합 3D 모델과 상기 사전정의된 3D 모델 중 하나에 대한 복수의 스케일링, 회전 및 해석을 포함하는 무작위 정렬에 기반하여 상기 통합 3D 모델과 상기 사전정의된 3D 모델 중 하나의 제 2 정렬을 생성하도록 구성된 무작위 정렬 엔진
    을 포함하는
    시스템.
  9. 컴퓨터 판독가능한 매체 상에 실체적으로 구현되며 실행가능한 코드를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 실행가능한 코드는 실행되었을 때 적어도 하나의 데이터 프로세싱 장치로 하여금,
    액터의 적어도 하나의 손의 자연스러운 제스처 동작에 기반하여, 상기 적어도 하나의 손의 자유 형태 움직임에 기초한 상기 액터의 적어도 하나의 팔 동작과 연관된 3차원 공간 이미지 데이터를 수신하고,
    상기 수신된 3D 공간 이미지 데이터에 기초하여, 상기 자유 형태 움직임 동안 순차적인 시간의 인스턴스에서의 상기 적어도 하나의 손의 3D 자세 및 위치에 상응하는 3D 공간 맵 데이터를 각각 포함하는 복수의 순차적인 3D 공간 표현을 결정하고,
    상기 결정된 순차적인 3D 공간 표현 내에 포함된 상기 3D 공간 맵 데이터를 점진적으로 통합하고 상기 자유 형태 움직임 동안 복수의 3D 공간 영역을 차지하는 상기 적어도 하나의 손에 의해 소비되는 시간의 인스턴스의 수를 나타내는 모델 시간 값과 문턱 시간 값을 비교한 것에 기초하여, 공간 객체 프로세서를 통해 통합 3D 모델을 생성하도록 구성되는
    컴퓨터 프로그램 제품.
  10. 컴퓨터 판독가능한 매체 상에 실체적으로 구현되며 실행가능한 코드를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 실행가능한 코드는 실행되었을 때 적어도 하나의 데이터 프로세싱 장치로 하여금,
    사전결정된 3D 아이템의 외양을 모방하는 자연스러운 제스처 동작에 기초하여, 액터의 자유 형태 움직임에 기반한 적어도 하나의 자연스러운 제스처와 연관된 3D 센서 데이터를 수신하고,
    상기 자유 형태 움직임에 따라 상기 액터와 연관된 적어도 하나의 움직이는 3D 객체의 3D 포지셔닝을 나타내는 수신된 3D 센서 데이터를 통합한 것에 기초하여 통합 3D 모델을 생성하고,
    공간 객체 프로세서를 통해서, 상기 통합 3D 모델과 일치하는 데이터베이스 객체와 연관된 사전정의된 3D 모델을 결정하도록 구성되는
    컴퓨터 프로그램 제품.
KR1020137028458A 2011-04-29 2012-04-28 공간 제스처로부터의 공간 객체 설명 추론 기법 KR101923243B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/098,387 2011-04-29
US13/098,387 US8811719B2 (en) 2011-04-29 2011-04-29 Inferring spatial object descriptions from spatial gestures
PCT/US2012/035702 WO2012149501A2 (en) 2011-04-29 2012-04-28 Inferring spatial object descriptions from spatial gestures

Publications (2)

Publication Number Publication Date
KR20140023329A true KR20140023329A (ko) 2014-02-26
KR101923243B1 KR101923243B1 (ko) 2018-11-28

Family

ID=47067934

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137028458A KR101923243B1 (ko) 2011-04-29 2012-04-28 공간 제스처로부터의 공간 객체 설명 추론 기법

Country Status (7)

Country Link
US (2) US8811719B2 (ko)
EP (1) EP2702566B1 (ko)
JP (1) JP6053758B2 (ko)
KR (1) KR101923243B1 (ko)
CN (1) CN103493104B (ko)
HK (1) HK1192790A1 (ko)
WO (1) WO2012149501A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9613261B2 (en) 2011-04-29 2017-04-04 Microsoft Technology Licensing, Llc Inferring spatial object descriptions from spatial gestures
KR102515405B1 (ko) * 2021-11-09 2023-03-30 한국전자기술연구원 Kinect 장치들을 이용한 AR 콘텐츠용 3D 공간 맵 지원 방법 및 이를 지원하는 전자 장치

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9132352B1 (en) 2010-06-24 2015-09-15 Gregory S. Rabin Interactive system and method for rendering an object
US9477302B2 (en) * 2012-08-10 2016-10-25 Google Inc. System and method for programing devices within world space volumes
US9002099B2 (en) * 2011-09-11 2015-04-07 Apple Inc. Learning-based estimation of hand and finger pose
JP2013137760A (ja) * 2011-12-16 2013-07-11 Cognex Corp 複数のカメラに対する複数部品コレスポンダ
US9704027B1 (en) * 2012-02-27 2017-07-11 Amazon Technologies, Inc. Gesture recognition
US9747306B2 (en) * 2012-05-25 2017-08-29 Atheer, Inc. Method and apparatus for identifying input features for later recognition
US9588582B2 (en) 2013-09-17 2017-03-07 Medibotics Llc Motion recognition clothing (TM) with two different sets of tubes spanning a body joint
US9671874B2 (en) 2012-11-08 2017-06-06 Cuesta Technology Holdings, Llc Systems and methods for extensions to alternative control of touch-based devices
US9658695B2 (en) * 2012-11-08 2017-05-23 Cuesta Technology Holdings, Llc Systems and methods for alternative control of touch-based devices
US9449340B2 (en) * 2013-01-30 2016-09-20 Wal-Mart Stores, Inc. Method and system for managing an electronic shopping list with gestures
KR20140109020A (ko) * 2013-03-05 2014-09-15 한국전자통신연구원 스마트 가전기기의 제어를 위한 디바이스 정보 구축 장치 및 그 방법
JP5782061B2 (ja) * 2013-03-11 2015-09-24 レノボ・シンガポール・プライベート・リミテッド 移動物体の動作を認識する方法および携帯式コンピュータ
US10493298B2 (en) * 2013-08-02 2019-12-03 Varian Medical Systems, Inc. Camera systems and methods for use in one or more areas in a medical facility
CN103607556B (zh) * 2013-11-25 2017-06-13 广东威创视讯科技股份有限公司 视频会议系统及其实现方法
US9740923B2 (en) * 2014-01-15 2017-08-22 Lenovo (Singapore) Pte. Ltd. Image gestures for edge input
US20150301606A1 (en) * 2014-04-18 2015-10-22 Valentin Andrei Techniques for improved wearable computing device gesture based interactions
US9575508B2 (en) 2014-04-21 2017-02-21 Apple Inc. Impact and contactless gesture inputs for docking stations
AU2015253071A1 (en) * 2014-04-30 2016-11-10 Cubic Corporation Adaptive gate walkway floor display
US20160004300A1 (en) * 2014-07-07 2016-01-07 PinchVR Inc. System, Method, Device and Computer Readable Medium for Use with Virtual Environments
US9440351B2 (en) 2014-10-30 2016-09-13 International Business Machines Corporation Controlling the operations of a robotic device
US20170228929A1 (en) * 2015-09-01 2017-08-10 Patrick Dengler System and Method by which combining computer hardware device sensor readings and a camera, provides the best, unencumbered Augmented Reality experience that enables real world objects to be transferred into any digital space, with context, and with contextual relationships.
US9857881B2 (en) * 2015-12-31 2018-01-02 Microsoft Technology Licensing, Llc Electrical device for hand gestures detection
US10459597B2 (en) * 2016-02-03 2019-10-29 Salesforce.Com, Inc. System and method to navigate 3D data on mobile and desktop
US10482681B2 (en) 2016-02-09 2019-11-19 Intel Corporation Recognition-based object segmentation of a 3-dimensional image
US10373380B2 (en) 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
US10573018B2 (en) * 2016-07-13 2020-02-25 Intel Corporation Three dimensional scene reconstruction based on contextual analysis
WO2018074420A1 (ja) * 2016-10-21 2018-04-26 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
CN110494900A (zh) * 2017-02-07 2019-11-22 韦奥机器人股份有限公司 工作空间安全监控和设备控制
US20180349837A1 (en) * 2017-05-19 2018-12-06 Hcl Technologies Limited System and method for inventory management within a warehouse
US11184574B2 (en) 2017-07-17 2021-11-23 Facebook, Inc. Representing real-world objects with a virtual reality environment
US11232687B2 (en) 2017-08-07 2022-01-25 Standard Cognition, Corp Deep learning-based shopper statuses in a cashier-less store
US11250376B2 (en) * 2017-08-07 2022-02-15 Standard Cognition, Corp Product correlation analysis using deep learning
US10474991B2 (en) 2017-08-07 2019-11-12 Standard Cognition, Corp. Deep learning-based store realograms
US10474988B2 (en) 2017-08-07 2019-11-12 Standard Cognition, Corp. Predicting inventory events using foreground/background processing
US11200692B2 (en) 2017-08-07 2021-12-14 Standard Cognition, Corp Systems and methods to check-in shoppers in a cashier-less store
US10853965B2 (en) 2017-08-07 2020-12-01 Standard Cognition, Corp Directional impression analysis using deep learning
US10650545B2 (en) 2017-08-07 2020-05-12 Standard Cognition, Corp. Systems and methods to check-in shoppers in a cashier-less store
US10691931B2 (en) 2017-10-04 2020-06-23 Toshiba Global Commerce Solutions Sensor-based environment for providing image analysis to determine behavior
US11864934B2 (en) * 2017-11-22 2024-01-09 Mazor Robotics Ltd. Method for verifying hard tissue location using implant imaging
KR102524586B1 (ko) * 2018-04-30 2023-04-21 삼성전자주식회사 전자 장치 및 그 동작방법
JP2020095519A (ja) * 2018-12-13 2020-06-18 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 形状推定装置、形状推定方法、プログラム、及び記録媒体
US10825259B2 (en) * 2019-01-02 2020-11-03 The Boeing Company Three-dimensional point data alignment with pre-alignment
KR102653252B1 (ko) * 2019-02-21 2024-04-01 삼성전자 주식회사 외부 객체의 정보에 기반하여 시각화된 인공 지능 서비스를 제공하는 전자 장치 및 전자 장치의 동작 방법
US11232575B2 (en) 2019-04-18 2022-01-25 Standard Cognition, Corp Systems and methods for deep learning-based subject persistence
US11334212B2 (en) 2019-06-07 2022-05-17 Facebook Technologies, Llc Detecting input in artificial reality systems based on a pinch and pull gesture
CN110377824B (zh) * 2019-07-15 2020-06-05 贝壳找房(北京)科技有限公司 信息推送方法、装置、计算机可读存储介质及电子设备
US11086406B1 (en) 2019-09-20 2021-08-10 Facebook Technologies, Llc Three-state gesture virtual controls
US10802600B1 (en) * 2019-09-20 2020-10-13 Facebook Technologies, Llc Virtual interactions at a distance
US11170576B2 (en) 2019-09-20 2021-11-09 Facebook Technologies, Llc Progressive display of virtual objects
US10991163B2 (en) 2019-09-20 2021-04-27 Facebook Technologies, Llc Projection casting in virtual environments
US11176745B2 (en) 2019-09-20 2021-11-16 Facebook Technologies, Llc Projection casting in virtual environments
US11189099B2 (en) 2019-09-20 2021-11-30 Facebook Technologies, Llc Global and local mode virtual object interactions
US11086476B2 (en) * 2019-10-23 2021-08-10 Facebook Technologies, Llc 3D interactions with web content
CN110837326B (zh) * 2019-10-24 2021-08-10 浙江大学 一种基于物体属性递进式表达的三维目标选择方法
US11341569B2 (en) * 2019-10-25 2022-05-24 7-Eleven, Inc. System and method for populating a virtual shopping cart based on video of a customer's shopping session at a physical store
US11175730B2 (en) 2019-12-06 2021-11-16 Facebook Technologies, Llc Posture-based virtual space configurations
US11475639B2 (en) 2020-01-03 2022-10-18 Meta Platforms Technologies, Llc Self presence in artificial reality
KR102256329B1 (ko) 2020-02-20 2021-05-27 주식회사 비전브이알 인터랙티브 가상현실 컨텐츠의 제공방법 및 장치
US11257280B1 (en) 2020-05-28 2022-02-22 Facebook Technologies, Llc Element-based switching of ray casting rules
US11361468B2 (en) 2020-06-26 2022-06-14 Standard Cognition, Corp. Systems and methods for automated recalibration of sensors for autonomous checkout
US11303853B2 (en) 2020-06-26 2022-04-12 Standard Cognition, Corp. Systems and methods for automated design of camera placement and cameras arrangements for autonomous checkout
US11256336B2 (en) 2020-06-29 2022-02-22 Facebook Technologies, Llc Integration of artificial reality interaction modes
US11227445B1 (en) 2020-08-31 2022-01-18 Facebook Technologies, Llc Artificial reality augments and surfaces
US11176755B1 (en) 2020-08-31 2021-11-16 Facebook Technologies, Llc Artificial reality augments and surfaces
US11178376B1 (en) 2020-09-04 2021-11-16 Facebook Technologies, Llc Metering for display modes in artificial reality
US11113893B1 (en) 2020-11-17 2021-09-07 Facebook Technologies, Llc Artificial reality environment with glints displayed by an extra reality device
US11409405B1 (en) 2020-12-22 2022-08-09 Facebook Technologies, Llc Augment orchestration in an artificial reality environment
US11461973B2 (en) 2020-12-22 2022-10-04 Meta Platforms Technologies, Llc Virtual reality locomotion via hand gesture
US11294475B1 (en) 2021-02-08 2022-04-05 Facebook Technologies, Llc Artificial reality multi-modal input switching model
US11295503B1 (en) 2021-06-28 2022-04-05 Facebook Technologies, Llc Interactive avatars in artificial reality
US11762952B2 (en) 2021-06-28 2023-09-19 Meta Platforms Technologies, Llc Artificial reality application lifecycle
US11521361B1 (en) 2021-07-01 2022-12-06 Meta Platforms Technologies, Llc Environment model with surfaces and per-surface volumes
US12008717B2 (en) 2021-07-07 2024-06-11 Meta Platforms Technologies, Llc Artificial reality environment control through an artificial reality environment schema
US12056268B2 (en) 2021-08-17 2024-08-06 Meta Platforms Technologies, Llc Platformization of mixed reality objects in virtual reality environments
US11908083B2 (en) 2021-08-31 2024-02-20 Snap Inc. Deforming custom mesh based on body mesh
US11663792B2 (en) 2021-09-08 2023-05-30 Snap Inc. Body fitted accessory with physics simulation
US11798238B2 (en) 2021-09-14 2023-10-24 Snap Inc. Blending body mesh into external mesh
US11836866B2 (en) 2021-09-20 2023-12-05 Snap Inc. Deforming real-world object using an external mesh
US11836862B2 (en) 2021-10-11 2023-12-05 Snap Inc. External mesh with vertex attributes
US11790614B2 (en) 2021-10-11 2023-10-17 Snap Inc. Inferring intent from pose and speech input
US11763481B2 (en) 2021-10-20 2023-09-19 Snap Inc. Mirror-based augmented reality experience
US11798247B2 (en) 2021-10-27 2023-10-24 Meta Platforms Technologies, Llc Virtual object structures and interrelationships
US11748944B2 (en) 2021-10-27 2023-09-05 Meta Platforms Technologies, Llc Virtual object structures and interrelationships
US12093447B2 (en) 2022-01-13 2024-09-17 Meta Platforms Technologies, Llc Ephemeral artificial reality experiences
US12067688B2 (en) 2022-02-14 2024-08-20 Meta Platforms Technologies, Llc Coordination of interactions of virtual objects
US12026527B2 (en) 2022-05-10 2024-07-02 Meta Platforms Technologies, Llc World-controlled and application-controlled augments in an artificial-reality environment
US12097427B1 (en) 2022-08-26 2024-09-24 Meta Platforms Technologies, Llc Alternate avatar controls
US11947862B1 (en) 2022-12-30 2024-04-02 Meta Platforms Technologies, Llc Streaming native application content to artificial reality devices
US11991222B1 (en) 2023-05-02 2024-05-21 Meta Platforms Technologies, Llc Persistent call control user interface element in an artificial reality environment

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1235702A (en) 1917-03-30 1917-08-07 Edward Larson Spring-counterbalance device for window-sashes.
JPH1063461A (ja) * 1996-08-23 1998-03-06 Atr Tsushin Syst Kenkyusho:Kk メンタルイメージ表示支援装置
US5875257A (en) 1997-03-07 1999-02-23 Massachusetts Institute Of Technology Apparatus for controlling continuous behavior through hand and arm gestures
EP0905644A3 (en) 1997-09-26 2004-02-25 Matsushita Electric Industrial Co., Ltd. Hand gesture recognizing device
US7319247B2 (en) 2000-04-26 2008-01-15 Osram Gmbh Light emitting-diode chip and a method for producing same
US7680324B2 (en) * 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
US7552008B2 (en) 2001-07-18 2009-06-23 Regents Of The University Of Minnesota Populating geospatial database for onboard intelligent vehicle applications
US20030023641A1 (en) 2001-07-27 2003-01-30 Gorman William Phillip Web page authoring tool
US8429174B2 (en) * 2003-01-25 2013-04-23 Purdue Research Foundation Methods, systems, and data structures for performing searches on three dimensional objects
JP4221330B2 (ja) * 2004-05-07 2009-02-12 日本電信電話株式会社 インタフェース方法、装置、およびプログラム
US7519223B2 (en) * 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
WO2006058292A2 (en) 2004-11-29 2006-06-01 Purdue Research Foundation Methods for retrieving shapes and drawings
JP2008537190A (ja) * 2005-01-07 2008-09-11 ジェスチャー テック,インコーポレイテッド 赤外線パターンを照射することによる対象物の三次元像の生成
CN1753030A (zh) * 2005-10-20 2006-03-29 北京航空航天大学 一种面向三维建模的人机交互框架
US20080040692A1 (en) 2006-06-29 2008-02-14 Microsoft Corporation Gesture input
US7725547B2 (en) * 2006-09-06 2010-05-25 International Business Machines Corporation Informing a user of gestures made by others out of the user's line of sight
WO2008147877A1 (en) 2007-05-22 2008-12-04 Trimble Navigation Limited Handling raster image 3d objects
JP5430572B2 (ja) * 2007-09-14 2014-03-05 インテレクチュアル ベンチャーズ ホールディング 67 エルエルシー ジェスチャベースのユーザインタラクションの処理
US8269764B2 (en) 2007-10-03 2012-09-18 Oracle International Corporation Three dimensional spatial engine in a relational database management system
US20110115702A1 (en) 2008-07-08 2011-05-19 David Seaberg Process for Providing and Editing Instructions, Data, Data Structures, and Algorithms in a Computer System
US20100049629A1 (en) 2008-08-22 2010-02-25 Nainesh B Rathod Method of enabling a user to draw a component part as input for searching component parts in a database
US20120114658A1 (en) 2009-09-15 2012-05-10 John Ryan Treatment of cancer
US8811719B2 (en) 2011-04-29 2014-08-19 Microsoft Corporation Inferring spatial object descriptions from spatial gestures

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Chen, et al. "A 3D model alignment and retrieval system." Proceedings of international computer symposium, workshop on multimedia tech. Vol.2 (2002) *
Kaiser, et al. "Mutual disambiguation of 3D multimodal interaction in augmented and virtual reality." Proceedings of the 5th international conf. on Multimodal interfaces. ACM(2003) *
Nishino, et al. "3d object modeling using spatial and pictographic gestures." Proceedings of the ACM symposium on Virtual reality software and tech. ACM(1998) *
Nishino, et al. "Deformable 3D shape representation using bimanual gestures." Trans. of IPSJ vol.40.2 (1999) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9613261B2 (en) 2011-04-29 2017-04-04 Microsoft Technology Licensing, Llc Inferring spatial object descriptions from spatial gestures
KR102515405B1 (ko) * 2021-11-09 2023-03-30 한국전자기술연구원 Kinect 장치들을 이용한 AR 콘텐츠용 3D 공간 맵 지원 방법 및 이를 지원하는 전자 장치
WO2023085492A1 (ko) * 2021-11-09 2023-05-19 한국전자기술연구원 Kinect 장치들을 이용한 ar 콘텐츠용 3d 공간 맵 지원 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
US20120275686A1 (en) 2012-11-01
HK1192790A1 (zh) 2014-08-29
WO2012149501A3 (en) 2013-01-03
JP6053758B2 (ja) 2016-12-27
WO2012149501A2 (en) 2012-11-01
US20150030236A1 (en) 2015-01-29
US8811719B2 (en) 2014-08-19
KR101923243B1 (ko) 2018-11-28
CN103493104B (zh) 2016-10-05
US9613261B2 (en) 2017-04-04
EP2702566A4 (en) 2015-06-10
EP2702566A2 (en) 2014-03-05
JP2014517957A (ja) 2014-07-24
CN103493104A (zh) 2014-01-01
EP2702566B1 (en) 2018-12-05

Similar Documents

Publication Publication Date Title
KR101923243B1 (ko) 공간 제스처로부터의 공간 객체 설명 추론 기법
US11775080B2 (en) User-defined virtual interaction space and manipulation of virtual cameras with vectors
US10331222B2 (en) Gesture recognition techniques
US10866563B2 (en) Setting hologram trajectory via user input
JP2017529635A5 (ko)
CN102201099A (zh) 基于运动的交互式购物环境
CN104281397B (zh) 多深度区间的重聚焦方法、装置及电子设备
US11048375B2 (en) Multimodal 3D object interaction system
CN115244495A (zh) 针对虚拟环境运动的实时式样
bin Mohd Sidik et al. A study on natural interaction for human body motion using depth image data
Cohen et al. A 3d virtual sketching system using NURBS surfaces and leap motion controller
Lun Human activity tracking and recognition using Kinect sensor
Han et al. Connecting users to virtual worlds within MPEG-V standardization
Lacoche Plasticity for user interfaces in mixed reality
KR101605740B1 (ko) 스마트폰 사용자의 개인화된 동작인식 방법 및 이를 이용한 게임방법
Černeková et al. Single camera pointing gesture recognition for interaction in edutainment applications
Bernardos et al. A system for multimodal interaction with Kinect-enabled virtual windows
Beebe A Complete Bibliography of Computer Animation and Virtual Worlds
Geng et al. Perceptual user interface in virtual shopping environment
Mukherjee et al. Probabilistic Design Miming

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant