KR101619562B1 - 시각적 타깃 추적 - Google Patents

시각적 타깃 추적 Download PDF

Info

Publication number
KR101619562B1
KR101619562B1 KR1020117017473A KR20117017473A KR101619562B1 KR 101619562 B1 KR101619562 B1 KR 101619562B1 KR 1020117017473 A KR1020117017473 A KR 1020117017473A KR 20117017473 A KR20117017473 A KR 20117017473A KR 101619562 B1 KR101619562 B1 KR 101619562B1
Authority
KR
South Korea
Prior art keywords
model
synthesized
pixel
target
observed
Prior art date
Application number
KR1020117017473A
Other languages
English (en)
Other versions
KR20110117114A (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 KR20110117114A publication Critical patent/KR20110117114A/ko
Application granted granted Critical
Publication of KR101619562B1 publication Critical patent/KR101619562B1/ko

Links

Images

Classifications

    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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

Abstract

타깃을 추적하는 방법은 소스로부터 타깃의 관찰된 깊이 이미지를 수신하는 단계 및 상기 타깃의 포즈가 취해진 모델을 획득하는 단계를 포함한다. 상기 모델은 합성된 깊이 이미지로 래스터화되고, 상기 관찰된 깊이 이미지와 상기 합성된 깊이 이미지 간의 차이에 적어도 부분적으로 기초하여 상기 모델의 포즈가 조정된다.

Description

시각적 타깃 추적{VISUAL TARGET TRACKING}
많은 컴퓨터 게임들 및 기타 컴퓨터 비전 애플리케이션들은 사용자들이 애플리케이션의 게임 캐릭터들 및 다른 양태들(aspects)을 조작할 수 있게 하기 위해 복잡한 컨트롤들을 이용한다. 그러한 컨트롤들은 익히기가 어려울 수 있고, 따라서 많은 게임들 또는 기타 애플리케이션들에 참가하는 데 장벽을 생성한다. 또한, 그러한 컨트롤들은 그것들이 사용되는 실제 게임 액션들 또는 기타 애플리케이션 액션들과 매우 다를 수 있다. 예를 들면, 게임 캐릭터가 야구 배트를 스윙하게 하는 게임 컨트롤은 야구 배트를 스윙하는 것의 실제 동작과 전혀 닮지 않을 수 있다.
이 개요는 아래 상세한 설명에서 더 설명되는 개념들 중 선택된 것을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 내용의 중요한 특징들 또는 본질적을 특징들을 식별하고자 의도하는 것이 아니고, 청구된 내용의 범위를 제한하기 위해 사용될 것을 의도하는 것도 아니다. 또한, 청구된 내용은 이 명세서의 임의의 부분에서 지적된 임의의 또는 모든 불리점들을 해결하는 구현들에 제한되지 않는다.
시각적 타깃 추적에 관한 다양한 실시예들이 여기에 개시된다. 개시된 일 실시예는 소스로부터 타깃의 관찰된 깊이 이미지(observed depth image)를 수신하고 타깃의 포즈가 취해진 모델(posed model)을 획득하는 것에 의해 타깃을 추적하는 것을 포함한다. 포즈가 취해진 모델은 합성된 깊이 이미지(synthesized depth image)로 래스터화된다(rasterized). 그 후 상기 관찰된 깊이 이미지와 상기 합성된 깊이 이미지 간의 차이에 적어도 부분적으로 기초하여 모델의 포즈가 조정된다.
도 1a는 복싱 게임을 하는 게임 플레이어를 추적하는 예시적인 타깃 인식, 분석, 및 추적 시스템의 실시예를 보여준다.
도 1b는 도 1a의 게임 플레이어가 플레이어 아바타로 하여금 게임 공간에서 펀치를 날리게 하는 게임 컨트롤로서 추적되고 해석되는 펀치를 날리고 있는 것을 보여준다.
도 2는 본 명세서의 실시예에 따른 컴퓨팅 시스템을 개략적으로 보여준다.
도 3은 인간 타깃을 나타내기 위해 사용되는 예시적인 신체 모델을 보여준다.
도 4는 인간 타깃을 나타내기 위해 사용되는 예시적인 골격 모델의 실질적으로 정면 뷰(frontal view)를 보여준다.
도 5는 인간 타깃을 나타내기 위해 사용되는 예시적인 골격 모델의 비스듬한 뷰(skewed view)를 보여준다.
도 6은 인간 타깃을 나타내기 위해 사용되는 예시적인 메쉬 모델(mesh model)을 보여준다.
도 7은 타깃을 시각적으로 추적하는 예시적인 방법의 흐름도를 보여준다.
도 8은 예시적인 관찰된 깊이 이미지를 보여준다.
도 9는 예시적인 합성된 깊이 이미지를 보여준다.
도 10은 합성된 깊이 이미지를 구성하는 픽셀들 중 일부를 개략적으로 보여준다.
도 11a는 모델의 힘-수용 위치(force-receiving location)에 힘을 가하는 것을 개략적으로 보여준다.
도 11b는 도 11a의 모델의 힘-수용 위치에 힘을 가한 결과를 개략적으로 보여준다.
도 12a는 도 11a의 모델로부터 렌더링된 플레이어 아바타를 보여준다.
도 12b는 도 11b의 모델로부터 렌더링된 플레이어 아바타를 보여준다.
본 명세서는 타깃 인식, 분석, 및 추적에 관한 것이다. 특히, 하나 이상의 타깃에 대한 깊이 정보를 획득하기 위해 깊이 카메라 또는 기타 소스를 사용하는 것이 개시된다. 그러한 깊이 정보는, 아래에 상세히 설명된 바와 같이, 하나 이상의 타깃을 효율적이고 정확하게 모델링하고 추적하는 데 사용될 수 있다. 여기에 설명된 타깃 인식, 분석, 및 추적은 하나 이상의 타깃이 다른 접근법들을 이용하여 분석하기 어렵다고 생각된 포즈들로 움직이는 경우(예를 들면, 둘 이상의 타깃이 부분적으로 겹치고 및/또는 서로를 가리는(occlude) 경우; 타깃의 일부가 동일한 타깃의 다른 부분을 자신이 가리는(self-occlude) 경우; 타깃이 그것의 국소적 외관(topographical appearance)을 변경하는 경우(예를 들면, 그의 머리를 만지는 인간) 등)에도, 그 타깃(들)이 비교적 빠른 프레임 레이트로 일관성 있게 추적될 수 있는 강건한 플랫폼을 제공한다.
도 1a는 타깃 인식, 분석, 및 추적 시스템(10)의 비제한적인 예를 보여준다. 특히, 도 1a는 각종 상이한 게임들을 플레이하고, 하나 이상의 상이한 미디어 유형들을 플레이하고, 및/또는 비게임(non-game) 애플리케이션들을 제어 또는 조작하기 위해 사용될 수 있는 컴퓨터 게임 시스템(12)을 보여준다. 도 1a는 또한 게임 플레이어(18)와 같은 게임 플레이어들에게 게임 영상(game visuals)을 제공하기 위해 사용될 수 있는 고화질 텔레비전, 즉 HDTV(16) 형태의 디스플레이(14)를 보여준다. 또한, 도 1a는 게임 플레이어(18)와 같은 하나 이상의 게임 플레이어들을 시각적으로 모니터하기 위해 사용될 수 있는 깊이 카메라(20) 형태의 캡처 장치를 보여준다. 도 1a에 도시된 예는 비제한적이다. 도 2에 관련하여 아래에 설명되는 바와 같이, 이 명세서의 범위에서 벗어나지 않고 각종 상이한 타깃 인식, 분석, 및 추적 시스템들이 사용될 수 있다.
타깃 인식, 분석 및 추적 시스템은 게임 플레이어(18)와 같은 하나 이상의 타깃들을 인식, 분석, 및/또는 추적하기 위해 사용될 수 있다. 도 1a는 게임 플레이어(18)의 움직임들이 게임 시스템(12)에 의해 실행되는 게임에 영향을 주기 위해 사용될 수 있는 컨트롤들로서 게임 시스템(12)에 의해 해석될 수 있도록 깊이 카메라(20)를 이용하여 게임 플레이어(18)가 추적되는 시나리오를 보여준다. 즉, 게임 플레이어(18)는 그의 움직임을 이용하여 게임을 제어할 수 있다. 게임 플레이어(18)의 움직임은 사실상 임의의 유형의 게임 컨트롤로서 해석될 수 있다.
도 1a에 예시된 예시적인 시나리오는 게임 시스템(12)에 의해 실행되고 있는 복싱 게임을 플레이하고 있는 게임 플레이어(18)를 보여준다. 게임 시스템은 HDTV(16)를 이용하여 게임 플레이어(18)에게 복싱 상대(22)를 시각적으로 제공한다. 또한, 게임 시스템은 HDTV(16)를 이용하여 게임 플레이어(18)가 그의 움직임으로 제어하는 플레이어 아바타(24)를 시각적으로 제공한다. 도 1b에 도시된 바와 같이, 게임 플레이어(18)는 플레이어 아바타(24)가 게임 공간에서 펀치를 날리기 위한 명령으로서 물리적 공간에서 펀치를 날릴 수 있다. 게임 시스템(12) 및 깊이 카메라(20)는 물리적 공간에서의 게임 플레이어(18)의 펀치가 플레이어 아바타(24)가 게임 공간에서 펀치를 날리게 하는 게임 컨트롤로서 해석될 수 있도록, 그 펀치를 인식하고 분석하기 위해 사용될 수 있다. 예를 들면, 도 1b는 게임 플레이어(18)가 물리적 공간에서 펀치를 날리는 것에 응답하여 복싱 상대(22)를 때리는 펀치를 날리고 있는 플레이어 아바타(24)를 시각적으로 제공하는 HDTV(16)를 보여준다.
게임 플레이어(18)에 의한 다른 움직임들은 위아래로 움직이거나(bob), 위빙하거나(weave), 발을 질질 끌거나(shuffle), 블로킹하거나(block), 잽을 날리거나(jab), 각종 상이한 파워의 펀치들을 날리는 컨트롤들과 같은 다른 컨트롤들로서 해석될 수 있다. 또한, 일부 움직임들은 플레이어 아바타(24)를 제어하는 것 이외의 목적에 소용되는 컨트롤들로 해석될 수 있다. 예를 들면, 플레이어는 게임을 종료하거나, 잠시 멈추거나, 저장하고, 레벨을 선택하고, 높은 점수들을 보고, 친구와 통신하고, 등등을 위해 움직임을 이용할 수 있다.
일부 실시예들에서, 타깃은 인간 및 물체를 포함할 수 있다. 그러한 실시예들에서, 예를 들면, 전자 게임의 플레이어는 물체를 쥐고 있을 수 있고, 플레이어 및 물체의 움직임들은 전자 게임의 파라미터들을 조정 및/또는 제어하기 위해 이용된다. 예를 들면, 라켓을 쥐고 있는 플레이어의 움직임은 전자 스포츠 게임에서 스크린상의 라켓을 제어하기 위해 추적되고 이용될 수 있다. 다른 예에서, 물체를 쥐고 있는 플레이어의 움직임은 전자 전투 게임에서 스크린상의 무기를 제어하기 위해 추적되고 이용될 수 있다.
타깃 인식, 분석, 및 추적 시스템들은 타깃 움직임들을 게임 영역(realm of gaming)의 밖에 있는 운영 체제 및/또는 애플리케이션 컨트롤들로서 해석하기 위해 이용될 수 있다. 도 1a 및 1b에 도시된 복싱 게임과 같은, 운영 체제 및/또는 애플리케이션의 사실상 임의의 제어 가능한 양태는 게임 플레이어(18)와 같은 타깃의 움직임에 의해 제어될 수 있다. 예시된 복싱 시나리오는 예로서 제공되고, 결코 제한적인 것으로 의도되어 있지 않다. 그와 반대로, 예시된 시나리오는 이 명세서의 범위에서 벗어나지 않고 각종 상이한 애플리케이션들에 적용될 수 있는 일반적인 개념을 증명하도록 의도되어 있다.
여기에 설명된 방법들 및 프로세스들은 각종 상이한 유형의 컴퓨팅 시스템들에 관련될 수 있다. 도 1a 및 1b는 게임 시스템(12), HDTV(16), 및 깊이 카메라(20) 형태의 비제한적인 예를 보여준다. 다른 더 일반적인 예로서, 도 2는 여기에 설명된 타깃 인식, 추적, 및 분석 방법들 및 프로세스들 중 하나 이상을 수행할 수 있는 컴퓨팅 시스템(40)을 개략적으로 보여준다. 컴퓨팅 시스템(40)은, 특히, 그린-스크린 또는 모션-캡처 기능을 제공하는 게임 콘솔, 퍼스널 컴퓨팅 게임 시스템, 군용 추적 및/또는 타깃팅 시스템을 포함하지만, 이에 제한되지 않는 각종 상이한 형태들을 취할 수 있다.
컴퓨팅 시스템(40)은 로직 서브시스템(42), 데이터 보유 서브시스템(44), 디스플레이 서브시스템(46), 및/또는 캡처 장치(48)를 포함할 수 있다. 컴퓨팅 시스템은 옵션으로 도 2에 도시되지 않은 컴포넌트들을 포함할 수 있고, 및/또는 도 2에 도시된 일부 컴포넌트들은 컴퓨팅 시스템에 통합되지 않은 주변 컴포넌트들일 수 있다.
로직 서브시스템(42)은 하나 이상의 명령어들을 실행하도록 구성된 하나 이상의 물리적 장치들을 포함할 수 있다. 예를 들면, 로직 서브시스템은 하나 이상의 프로그램, 루틴, 개체, 컴포넌트, 데이터 구조, 또는 기타 논리적 구성의 이룹인 하나 이상의 명령어들을 실행하도록 구성될 수 있다. 그러한 명령어들은 작업을 수행하거나, 데이터 유형을 구현하거나, 하나 이상의 장치들의 상태를 변환하거나, 다른 방법으로 원하는 결과에 도달하도록 구현될 수 있다. 로직 서브시스템은 소프트웨어 명령어들을 실행하도록 구성되는 하나 이상의 프로세서들을 포함할 수 있다. 추가적으로 또는 대안적으로, 로직 서브시스템은 하드웨어 또는 펌웨어 명령어들을 실행하도록 구성된 하나 이상의 하드웨어 또는 펌웨어 로직 머신들을 포함할 수 있다. 로직 서브시스템은 옵션으로, 일부 실시예들에서 원격으로 배치될 수 있는, 둘 이상의 장치들에 걸쳐서 분산되는 개별 컴포넌트들을 포함할 수 있다.
데이터 보유 서브시스템(44)은 여기에 설명된 방법들 및 프로세서들을 구현하기 위해 로직 서브시스템에 의해 실행 가능한 데이터 및/또는 명령어들을 보유하도록 구성된 하나 이상의 물리적 장치들을 포함할 수 있다. 그러한 방법들 및 프로세스들이 구현될 때, 데이터 보유 서브시스템(44)의 상태는 변환될 수 있다(예를 들면, 상이한 데이터를 보유하기 위해). 데이터 보유 서브시스템(44)은 이동식 매체 및/또는 빌트인(built-in) 장치들을 포함할 수 있다. 데이터 보유 서브시스템(44)은, 특히, 광학 메모리 장치, 반도체 메모리 장치(예를 들면, RAM, EEPROM, 플래시 등), 및/또는 자기 메모리 장치를 포함할 수 있다. 데이터 보유 서브시스템(44)은 다음의 특징들 중 하나 이상을 갖는 장치들을 포함할 수 있다: 휘발성, 비휘발성, 동적, 정적, 판독/기입, 판독 전용, 랜덤 액세스, 순차적 액세스, 위치 어드레싱 가능(location addressable), 파일 어드레싱 가능, 및 콘텐트 어드레싱 가능. 일부 실시예들에서, 로직 서브시스템(42) 및 데이터 보유 서브시스템(44)은 ASIC(application specific integrated circuit) 또는 SOC(system on a chip)과 같은, 하나 이상의 공통의 장치들에 통합될 수 있다.
도 2는 또한 여기에 설명된 방법들 및 프로세스들을 구현하기 위해 실행 가능한 데이터 및/또는 명령어들을 저장 및/또는 전송하기 위해 사용될 수 있는 컴퓨터 판독 가능한 이동식 매체(50)의 형태로 데이터 보유 서브시스템의 양태를 보여준다.
디스플레이 서브시스템(46)은 데이터 보유 서브시스템(44)에 의해 보유된 데이터의 시각적 표현을 제공하기 위해 사용될 수 있다. 여기에 설명된 방법들 및 프로세스들이 데이터 보유 서브시스템에 의해 보유된 데이터를 변경하고, 따라서 데이터 보유 서브시스템의 상태를 변환할 때, 디스플레이 서브시스템(46)의 상태도 마찬가지로 기초 데이터의 변화를 시각적으로 나타내도록 변환될 수 있다. 비제한적인 예로서, 여기에 설명된 타깃 인식, 추적, 및 분석은 물리적 공간에서의 게임 플레이어의 움직임에 응답하여 게임 공간에서 포즈를 변경하는 게임 캐릭터의 형태로 디스플레이 서브시스템(46)을 통해 반영될 수 있다. 디스플레이 서브시스템(46)은 사실상 임의의 유형의 기술을 이용하는 하나 이상의 디스플레이 장치들을 포함할 수 있다. 그러한 디스플레이 장치들은 공유된 인클로저에서 로직 서브시스템(42) 및/또는 데이터 보유 서브시스템(44)과 조합될 수 있고, 또는 그러한 디스플레이 장치들은 도 1a 및 1b에 도시된 바와 같이 주변 디스플레이 장치들일 수 있다.
컴퓨팅 시스템(40)은 하나 이상의 타깃들의 깊이 이미지들을 획득하도록 구성된 캡처 장치(48)를 더 포함한다. 캡처 장치(48)는 임의의 적합한 기법(예를 들면, TOF(time-of-flight), 구조광(structured light), 스테레오 이미지 등)을 통해 깊이 정보를 갖는 비디오를 캡처하도록 구성될 수 있다. 따라서, 캡처 장치(48)는 깊이 카메라, 비디오 카메라, 스테레오 카메라, 및/또는 다른 적합한 캡처 장치들을 포함할 수 있다.
예를 들면, TOF 분석에서, 캡처 장치(48)는 타깃에 적외선 광을 방출할 수 있고 그 후 센서들을 이용하여 타깃의 표면으로부터 후방 산란된 광을 검출할 수 있다. 일부 경우에, 펄스 적외선 광(pulsed infrared light)이 사용될 수 있고, 출사 광 펄스와 대응하는 입사 광 사이의 시간이 측정되어 캡처 장치로부터 타깃 상의 특정한 위치까지의 물리적 거리를 결정하는 데 이용될 수 있다. 일부 경우에, 위상 시프트를 결정하기 위해 출사 광파의 위상이 입사 광파의 위상과 비교될 수 있고, 위상 시프트는 캡처 장치로부터 타깃 상의 특정한 위치까지의 물리적 거리를 결정하는 데 이용될 수 있다.
다른 예에서는, 셔터 광 펄스 이미징(shuttered light pulse imaging)과 같은 기법을 통해, 시간에 걸쳐 반사된 광 빔의 강도를 분석함으로써 캡처 장치로부터 타깃 상의 특정한 위치까지의 물리적 거리를 간접적으로 결정하기 위해 TOF 분석이 이용될 수 있다.
다른 예에서는, 깊이 정보를 캡처하기 위해 캡처 장치(48)에 의해 구조광 분석이 이용될 수 있다. 그러한 분석에서는, 패턴 광(즉, 격자 패턴 또는 줄무늬 패턴과 같은 알려진 패턴으로서 디스플레이된 광)이 타깃에 투사될 수 있다. 타깃의 표면에 충돌할 때, 그 패턴은 그에 응하여 변형될 수 있고, 이러한 패턴의 변형은 캡처 장치로부터 타깃 상의 특정한 위치까지의 물리적 거리를 결정하기 위해 연구될 수 있다.
다른 예에서, 캡처 장치는 시각적 스테레오 데이터를 획득하기 위해, 상이한 각도들로부터 타깃을 보는 둘 이상의 물리적으로 분리된 카메라들을 포함할 수 있다. 그러한 경우에, 시각적 스테레오 데이터는 깊이 이미지를 생성하기 위해 분석(resolve)될 수 있다.
다른 실시예들에서, 캡처 장치(48)는 깊이 값들을 측정 및/또는 계산하기 위해 다른 기술들을 이용할 수 있다. 또한, 캡처 장치(48)는 계산된 깊이 정보를 "Z 층들", 즉, 깊이 카메라로부터 그것의 시선(line of sight)을 따라서 관찰자까지 연장하는 Z 축에 수직인 층들로 조직할 수 있다.
일부 실시예들에서, 둘 이상의 카메라들이 통합된 캡처 장치로 통합될 수 있다. 예를 들면, 깊이 카메라 및 비디오 카메라(예를 들면, RGB 비디오 카메라)가 공통의 캡처 장치에 통합될 수 있다. 일부 실시예들에서, 둘 이상의 개별 캡처 장치들이 협력적으로 이용될 수 있다. 예를 들면, 깊이 카메라 및 별도의 비디오 카메라가 이용될 수 있다. 비디오 카메라가 이용될 때, 그것은 타깃 추적, 이미지 캡처, 얼굴 인식, 손가락들(또는 다른 작은 특징들)의 고정밀 추적, 광 감지, 및/또는 기타 기능들의 오류 정정을 위한 확인 데이터, 타깃 추적 데이터를 제공하기 위해 이용될 수 있다.
적어도 일부 타깃 분석 및 추적 동작들은 하나 이상의 캡처 장치들의 로직 머신에 의해 실행될 수 있다는 것을 이해해야 한다. 캡처 장치는 하나 이상의 타깃 분석 및/또는 추적 기능들을 수행하도록 구성된 하나 이상의 온보드 처리 장치들을 포함할 수 있다. 캡처 장치는 그러한 온보드 처리 로직의 업데이트를 용이하게 하는 펌웨어를 포함할 수 있다.
컴퓨팅 시스템(40)은 옵션으로 컨트롤러(52) 및 컨트롤러(54)와 같은 하나 이상의 입력 장치들을 포함할 수 있다. 입력 장치들은 컴퓨팅 시스템의 동작을 제어하기 위해 이용될 수 있다. 게임의 컨텍스트에서, 컨트롤러(52) 및/또는 컨트롤러(54)와 같은 입력 장치들은 여기에 설명된 타깃 인식, 추적, 및 분석 방법들 및 절차들을 통해 제어되지 않는 게임의 양태들을 제어하기 위해 이용될 수 있다. 일부 실시예들에서, 컨트롤러(52) 및/또는 컨트롤러(54)와 같은 입력 장치들은, 물리적 공간에서의 컨트롤러들의 움직임을 측정하기 위해 이용될 수 있는, 가속도계, 자이로스코프, 적외선 타깃/센서 시스템 등 중의 하나 이상을 포함할 수 있다. 일부 실시예들에서, 컴퓨팅 시스템은 옵션으로 글러브, 키보드, 마우스, 트랙 패드, 트랙볼, 터치 스크린, 버튼, 스위치, 다이얼, 및/또는 기타 입력 장치들을 포함하고 및/또는 이용할 수 있다. 알 수 있는 바와 같이, 타깃 인식, 추적, 및 분석은 게임 컨트롤러와 같은 입력 장치에 의해 통상적으로 제어되는 게임, 또는 다른 애플리케이션의 양태들을 제어하거나 보강하기 위해 이용될 수 있다. 일부 실시예들에서, 여기에 설명된 타깃 추적은 다른 사용자 입력 형태들에 대한 완전한 대체로서 이용될 수 있는 반면, 다른 실시예들에서 그러한 타깃 추적은 하나 이상의 다른 사용자 입력 형태들을 보완하기 위해 이용될 수 있다.
컴퓨팅 시스템(40)은 여기에 설명된 타깃 추적 방법들을 수행하도록 구성될 수 있다. 그러나, 컴퓨팅 시스템(40)은 그러한 타깃 추적을 수행할 수 있는 장치의 비제한적인 예로서 제공된다. 다른 장치들은 이 명세서의 범위 안에 있다.
컴퓨팅 시스템(40), 또는 다른 적합한 장치는 모델로 각 타깃을 표현하도록 구성될 수 있다. 아래에 더 상세히 설명되는 바와 같이, 그러한 모델로부터 도출된 정보는 깊이 카메라와 같은 캡처 장치로부터 획득된 정보와 비교될 수 있고, 그에 따라 모델의 기본 비율들(fundamental proportions) 또는 형상뿐만 아니라, 그것의 현재 포즈는 모델링된 타깃을 더 정확히 표현하도록 조정될 수 있다. 모델은 하나 이상의 다각형 메쉬들에 의해, 수학적 프리미티브들의 세트에 의해, 및/또는 모델링된 타깃의 다른 적합한 기계 표현들을 통해 표현될 수 있다.
도 3은 예시적인 신체 모델(70)의 비제한적인 시각적 표현을 보여준다. 신체 모델(70)은 모델링된 타깃(예를 들면, 도 1a 및 1b로부터의 게임 플레이어(18))의 기계 표현이다. 신체 모델은 게임 또는 다른 애플리케이션/운영 체제의 언어로 모델링된 타깃을 집합적으로 정의하는 변수들의 세트를 포함하는 하나 이상의 데이터 구조들을 포함할 수 있다.
타깃의 모델은 이 명세서의 범위에서 벗어나지 않고 다양하게 구성될 수 있다. 일부 예들에서, 모델은 단단한 및/또는 변형 가능한 형상들, 또는 신체 부분들을 포함하는 3차원 모델로서 타깃을 표현하는 하나 이상의 데이터 구조들을 포함할 수 있다. 각 신체 부분은 수학적 프리미티브로서 특징지어질 수 있고, 수학적 프리미티브의 예들은, 구, 이방성으로 크기 조정된 구(anisotropically-scaled spheres), 원통, 이방성 원통, 매끄러운 원통, 박스, 비스듬한 박스(beveled boxes), 프리즘 등을 포함하지만, 이에 제한되는 것은 아니다.
예를 들면, 도 3의 신체 모델(70)은 신체 부분들 bp1 내지 bp14를 포함하고, 그 각각은 모델링된 타깃의 상이한 부분을 나타낸다. 각 신체 부분은 3차원 형상이다. 예를 들면, bp3는 모델링된 타깃의 왼쪽 손을 나타내는 직사각형 프리즘이고, bp5는 모델링된 타깃의 왼쪽 위쪽 팔(upper arm)을 나타내는 팔각 프리즘이다. 신체 모델(70)은 신체 모델이 임의의 수의 신체 부분들을 포함한다는 점에서 예시적이고, 신체 부분들 각각은 모델링된 타깃의 대응하는 부분의 임의의 기계 이해 가능한 표현(machine-understandable representation)일 수 있다.
둘 이상의 신체 부분들을 포함하는 모델은 또한 하나 이상의 관절들(joints)을 포함할 수 있다. 각 관절은 하나 이상의 신체 부분들이 하나 이상의 다른 신체 부분들에 관하여 움직일 수 있게 할 수 있다. 예를 들면, 인간 타깃을 표현하는 모델은 복수의 단단한 및/또는 변형 가능한 신체 부분들을 포함할 수 있고, 일부 신체 부분들은 인간 타깃의 대응하는 해부상 신체 부분을 표현할 수 있다. 또한, 모델의 각 신체 부분은 하나 이상의 구조 부재들(structural members)(즉, "뼈들")을 포함할 수 있고, 인접한 뼈들의 교차점에 관절들이 위치한다. 일부 뼈들은 인간 타깃의 해부상 뼈들에 대응할 수 있고 및/또는 일부 뼈들은 인간 타깃의 대응하는 해부상 뼈들을 갖지 않을 수 있다는 것을 이해해야 한다.
뼈들 및 관절들은 집합적으로 골격 모델을 구성할 수 있고, 골격 모델은 모델의 구성 요소일 수 있다. 골격 모델은 각 신체 부분에 대한 하나 이상의 골격 부재들 및 인접한 골격 부재들 사이의 관절을 포함할 수 있다. 도 4 및 도 5에 각각 예시적인 골격 모델(80) 및 예시적인 골격 모델(82)이 도시되어 있다. 도 4는 관절들 j1 내지 j33를 갖는, 정면으로부터 관찰된 골격 모델(80)을 보여준다. 도 5는 관절들 j1 내지 j33를 또한 갖는, 비스듬한 뷰로부터 관찰된 골격 모델(82)을 보여준다. 골격 모델(82)은 롤 관절들(roll joints) j34 내지 j47을 더 포함하고, 각 롤 관절은 축 롤 각도들(axial roll angles)을 추적하기 위해 이용될 수 있다. 예를 들면, 축 롤 각도는 사지(limb)의 그것의 부모 사지 및/또는 몸통(torso)에 관한 회전 방위를 정의하기 위해 사용될 수 있다. 예를 들면, 만일 골격 모델이 팔의 축 회전을 예시하고 있다면, 관련된 손목이 가리키는 방향을 지시하기 위해 롤 관절 j40이 사용될 수 있다(예를 들면, 손바닥이 위를 향함). 따라서, 관절들은 힘을 받고 골격 모델을 조정할 수 있는 반면, 후술되는 바와 같이, 롤 관절들은 대신에 축 롤 각도들을 추적하기 위해 구성되고 이용될 수 있다. 더 일반적으로, 사지의 그것의 부모 사지 및/또는 몸통에 관한 방위를 검사하는 것에 의해, 축 회전 각도가 결정될 수 있다. 예를 들면, 만일 아래쪽 다리를 검사하고 있다면, 축 롤 각도를 결정하기 위하여 아래쪽 다리의 관련된 위쪽 다리 및 히프에 관한 방위가 검사될 수 있다.
전술한 바와 같이, 일부 모델들은 모델링된 타깃의 기계 표현으로서 기능하는 골격 및/또는 신체 부분들을 포함할 수 있다. 일부 실시예들에서, 모델은 대안적으로 또는 추가적으로 와이어프레임 메쉬(wireframe mesh)를 포함할 수 있고, 그것은 단단한 다각형 메쉬들, 하나 이상의 변형 가능한 메쉬들, 또는 이 둘의 임의의 조합의 계층 구조들을 포함할 수 있다. 비제한적인 예로서, 도 6은 신체 모델의 형상을 정의하는 메쉬로 배열된 복수의 삼각형들(예를 들면, 삼각형(92))을 포함하는 모델(90)을 보여준다. 그러한 메쉬는 각각의 다각형 에지에서 굽힘 한계(bending limits)를 포함할 수 있다. 메쉬가 사용될 때, 메쉬를 집합적으로 구성하는 삼각형들, 및/또는 다른 다각형들의 수는 품질과 계산상 비용 사이의 원하는 균형을 달성하도록 선택될 수 있다. 더 많은 삼각형들은 더 높은 품질 및/또는 더 정확한 모델들을 제공할 수 있는 반면, 더 적은 삼각형들은 계산상 요구하는 것이 더 적을 수 있다. 다각형 메쉬를 포함하는 신체 모델은 골격을 포함할 필요가 없지만, 일부 실시예들에서는 그것을 포함할 수 있다.
전술한 신체 부분 모델들, 골격 모델들, 및 다각형 메쉬들은 모델링된 타깃의 기계 표현들로서 사용될 수 있는 비제한적인 예시의 모델 유형들이다. 다른 모델들도 이 명세서의 범위 안에 있다. 예를 들면, 일부 모델들은 패치(patches), NURBS(non-uniform rational B-splines), 분할 표면(subdivision surfaces), 또는 다른 고차 표면(high-order surfaces)을 포함할 수 있다. 모델은 또한 모델링된 타깃의 의류, 머리털, 및/또는 다른 양태들을 더 정확히 표현하기 위한 표면 텍스처 및/또는 다른 정보를 포함할 수 있다. 모델은 옵션으로 현재의 포즈, 하나 이상의 과거 포즈, 및/또는 모델 물리학에 관한 정보를 포함할 수 있다. 포즈가 취해질 수 있고 그 후 합성된 깊이 이미지로 래스터화될 수 있는(또는 다른 방법으로 합성된 깊이 이미지로 렌더링되거나 합성된 깊이 이미지에 의해 표현될 수 있는) 어떤 모델이라도 여기에 설명된 타깃 인식, 분석, 및 추적과 호환된다는 것을 이해해야 한다.
전술한 바와 같이, 모델은 도 1a 및 1b의 게임 플레이어(18)와 같은 타깃의 표현으로서 기능한다. 타깃이 물리적 공간에서 움직일 때, 도 1a 및 1b의 깊이 카메라(20)와 같은 캡처 장치로부터의 정보는 모델이 타깃을 더 정확히 표현하도록 모델의 포즈 및/또는 기본적인 사이즈/형상을 조정하기 위해 이용될 수 있다. 특히, 모델을 물리적 공간에서의 타깃의 포즈에 더 흡사하게 대응하는 포즈로 조정하기 위해 모델의 하나 이상의 힘 받는 양태들에 하나 이상의 힘이 가해질 수 있다. 사용되고 있는 모델의 유형에 따라서, 힘은 관절, 신체 부분의 중심(centroid), 삼각형의 정점, 또는 모델의 임의의 다른 적합한 힘 받는 양태에 가해질 수 있다. 또한, 일부 실시예들에서, 힘의 방향 및/또는 크기를 결정할 때 둘 이상의 상이한 계산들이 이용될 수 있다. 아래에 더 상세히 설명된 바와 같이, 신체를 상이한 포즈로 조정하기 위하여 모델에 가해지는 힘들을 결정하기 위해 캡처 장치에 의해 검색된, 타깃의 관찰된 이미지와, 모델의 래스터화된(즉, 합성된) 이미지 간의 차이들이 이용될 수 있다.
도 7은 모델(예를 들면, 도 3의 신체 모델(70))을 이용하여 타깃을 추적하는 예시적인 방법(100)의 흐름도를 보여준다. 일부 실시예들에서, 타깃은 인간일 수 있고, 인간은 추적되고 있는 둘 이상의 타깃들 중 하나일 수 있다. 그에 따라, 일부 실시예들에서, 방법(100)은 컴퓨팅 시스템(예를 들면, 도 1에 도시된 게임 시스템(12) 및/또는 도 2에 도시된 컴퓨팅 시스템(40)) 상에서 플레이되고 있는 전자 게임과 상호 작용하는 하나 이상의 플레이어들을 추적하기 위해 컴퓨팅 시스템에 의해 실행될 수 있다. 전술한 바와 같이, 플레이어들의 추적은 그 플레이어들의 움직임들이 전자 게임의 파라미터들을 조정 및/또는 제어하는 실시간 사용자 인터페이스로서 작용할 수 있게 한다. 예를 들면, 플레이어의 추적된 움직임들은 전자 롤플레잉 게임(role-playing game)에서 스크린상의 캐릭터 또는 아바타를 움직이기 위해 사용될 수 있다. 다른 예로, 플레이어의 추적된 움직임들은 전자 레이싱 게임에서 스크린상의 자동차를 제어하기 위해 사용될 수 있다. 또 다른 예로, 플레이어의 추적된 움직임들은 가상 환경에서 개체들의 구축 및 조직을 제어하기 위해 사용될 수 있다.
단계(102)에서, 방법(100)은 소스로부터 타깃의 관찰된 깊이 이미지를 수신하는 것을 포함한다. 일부 실시예들에서, 소스는 TOF(time-of-flight) 분석, 구조광(structured light) 분석, 스테레오 비전 분석, 또는 다른 적합한 기법들과 같은 적합한 기법들을 통해 타깃에 관한 깊이 정보를 획득하도록 구성된 깊이 카메라일 수 있다. 관찰된 깊이 이미지는 복수의 관찰된 픽셀들을 포함할 수 있고, 각각의 관찰된 픽셀은 관찰된 깊이 값을 갖는다. 관찰된 깊이 값은 소스로부터 관찰된 타깃의 깊이 정보를 포함한다. 도 8은 예시적인 관찰된 깊이 이미지(140)의 시각적 표현을 보여준다. 도시된 바와 같이, 관찰된 깊이 이미지(140)는 그의 팔을 올린 채로 서 있는 사람(예를 들면, 게임 플레이어(18))의 예시적인 관찰된 포즈를 캡처한다.
도 7의 단계(104)에 나타내어진 바와 같이, 관찰된 깊이 이미지를 수신하면, 방법(100)은 옵션으로 관찰된 깊이 이미지를 더 낮은 처리 해상도로 다운샘플링하는 것을 포함할 수 있다. 더 낮은 해상도로 다운샘플링하는 것은 관찰된 깊이 이미지가 더 적은 컴퓨팅 오버헤드(computing overhead)로 더 쉽게 이용되고 및/또는 더 빠르게 처리되게 할 수 있다.
단계(106)에 나타내어진 바와 같이, 관찰된 깊이 이미지를 수신하면, 방법(100)은 옵션으로 관찰된 깊이 이미지로부터 플레이어가 아닌 배경 요소들을 제거하는 것을 포함할 수 있다. 그러한 배경 요소들을 제거하는 것은 관찰된 깊이 이미지의 다양한 영역들을 배경 영역들과 타깃의 이미지가 차지하는 영역들로 분리하는 것을 포함할 수 있다. 배경 영역들은 이미지로부터 제거되거나 또는 하나 이상의 후속의 처리 단계들 동안에 그것들이 무시될 수 있도록 식별될 수 있다. 사실상 임의의 배경 제거 기법이 사용될 수 있고, 배경 제거의 품질을 돕고 개선하기 위해 추적으로부터(및 이전의 프레임으로부터)의 정보가 옵션으로 이용될 수 있다.
단계(108)에 나타내어진 바와 같이, 관찰된 깊이 이미지를 수신하면, 방법(100)은 옵션으로 관찰된 깊이 이미지로부터 하나 이상의 고변환(high-variance) 및/또는 잡음(noisy) 깊이 값들을 제거 및/또는 스무딩(smoothing)하는 것을 포함할 수 있다. 관찰된 깊이 이미지 내의 그러한 고변화 및/또는 잡음 깊이 값들은 이미지 챕처 프로세스 동안에 발생하는 무작위의 및/또는 규칙적인 오류들, 캡처 장치로부터 유래하는 결함 및/또는 수차(aberrations) 등과 같은 다수의 상이한 소스들로부터 유래할 수 있다. 그러한 고변화 및/또는 잡음 깊이 값들은 이미지 캡처 프로세스의 아티팩트들일 수 있기 때문에, 이미지의 임의의 미래의 분석에서 이들 값을 포함하는 것은 결과들을 왜곡하고(skew) 및/또는 계산을 느리게 할 수 있다. 따라서, 그러한 값들의 제거는 미래의 계산에 대한 보다 나은 데이터 무결성(data integrity)을 제공할 수 있다.
다른 깊이 값들이 또한 필터링될 수 있다. 예를 들면, 하나 이상의 제거 조건을 만족시키는 픽셀들을 선택적으로 제거하는 것에 의해 단계(118)에 관하여 후술되는 성장 동작들의 정확성이 향상될 수 있다. 예를 들면, 깊이 값이 손과 몸통 사이의 중간에 있어 손이 가려지고 있다면, 이 픽셀을 제거하는 것은 후속의 처리 단계들 동안에 성장 동작들이 한 신체 부분으로부터 다른 신체 부분으로 넘치는(spilling) 것을 방지할 수 있다.
단계(110)에 나타내어진 바와 같이, 방법(100)은 옵션으로 분실한(missing) 및/또는 제거된 깊이 정보의 부분들을 메우고(filling in) 및/또는 재구성하는 것을 포함할 수 있다. 그러한 도로 메우는 것(backfilling)은 가장 가까운 이웃들을 평균하는 것, 필터링하는 것, 및/또는 임의의 다른 적합한 방법에 의해 달성될 수 있다.
도 7의 단계(112)에 나타내어진 바와 같이, 방법(100)은 모델(예를 들면, 도 3의 신체 모델(70))을 획득하는 것을 포함할 수 있다. 전술한 바와 같이, 모델은 하나 이상의 다각형 메쉬들, 하나 이상의 수학적 프리미티브들, 하나 이상의 고차 표면들, 및/또는 타깃의 기계 표현을 제공하기 위해 사용되는 다른 특징들을 포함할 수 있다. 또한, 모델은 컴퓨팅 시스템 상에 존재하는 하나 이상의 데이터 구조의 인스턴스로서 존재할 수 있다.
방법(100)의 일부 실시예들에서, 모델은 이전 시간 단계로부터 획득된 포즈가 취해진 모델(posed model)일 수 있다. 예를 들면, 만일 방법(100)이 연속적으로 수행된다면, 이전 시간 단계에 대응하는, 방법(100)의 이전 반복으로부터 유래하는 포즈가 취해진 모델이 획득될 수 있다.
일부 실시예들에서, 포즈는 이미지를 분석하고, 코어스 레벨(coarse level)에서, 관심 타깃(들)(예를 들면, 인간(들))이 어디에 위치하는지 및/또는 그러한 타깃(들)의 포즈를 식별할 수 있는, 하나 이상의 알고리즘에 의해 결정될 수 있다. 알고리즘은 최초 반복 동안에 또는 알고리즘이 이전 시간 단계 동안에 계산된 포즈보다 더 정확한 포즈를 선택할 수 있다고 생각될 때마다 포즈를 선택하기 위해 이될 수 있다.
일부 실시예들에서, 모델은 데이터베이스 및/또는 다른 프로그램으로부터 획득될 수 있다. 예를 들면, 모델은 방법(100)의 제1 반복 동안에 이용 가능하지 않을 수 있고, 그 경우 모델은 하나 이상의 모델을 포함하는 데이터베이스로부터 획득될 수 있다. 그러한 경우, 데이터베이스로부터의 모델은 타깃의 포즈와 유사한 포즈를 나타내는 모델을 선택하도록 설계된 검색 알고리즘을 이용하여 선택될 수 있다. 이전 시간 단계로부터의 모델이 이용 가능할지라도, 데이터베이스로부터의 모델이 이용될 수 있다. 예를 들면, 특정 수의 프레임 후에, 타깃이 미리 정해진 임계치 이상으로 포즈를 변경한 경우, 및/또는 다른 조건에 따라, 데이터베이스로부터의 모델이 이용될 수 있다.
다른 실시예들에서, 모델, 또는 그의 부분들은 합성될 수 있다. 예를 들면, 타깃의 신체 코어(body core)(몸통, 중간부, 및 히프)가 변형 가능한 다각형 모델에 의해 표현된다면, 그 모델은 최초에 관찰된 깊이 이미지의 콘텐츠를 이용하여 구성될 수 있고, 여기서 이미지 내의 타깃의 윤곽(즉, 실루엣)은 X 및 Y 디멘전들에서 메쉬를 셰이핑(shape)하기 위해 사용될 수 있다. 또한, 그러한 접근법에서, 관찰된 깊이 이미지의 그 영역 내의 관찰된 깊이 값(들)은 타깃의 신체 형상을 더 유리하게 표현하기 위해 모델의 XY 방향으로뿐만 아니라, Z 방향으로도 메쉬를 "몰딩(mold)"하기 위해 이용될 수 있다.
방법(100)은 적합한 접근법을 이용하여 타깃에 나타나는 임의의 의류를 표현하는 것을 더 포함할 수 있다. 그러한 적합한 접근법은 프리미티브들 또는 다각형 메쉬들의 형태로 보조 기하(auxiliary geometry)를 모델에 추가하는 것, 및 옵션으로 중력, 클로스 시뮬레이션(cloth simulation) 등을 반영하도록 포즈에 기초하여 보조 기하를 조정하는 것을 포함할 수 있다. 그러한 접근법은 모델들을 타깃들의 보다 현실적인 표현들로 몰딩하는 것을 용이하게 할 수 있다.
단계(114)에 나타내어진 바와 같이, 방법(100)은 옵션으로 모델에 운동량(momentum) 알고리즘을 적용하는 것을 더 포함할 수 있다. 타깃의 다양한 부분들의 운동량은 이미지 시퀀스의 변화를 예측할 수 있기 때문에, 그러한 알고리즘은 모델의 포즈를 획득하는 것을 도울 수 있다. 운동량 알고리즘은 모델을 획득하는 것을 돕기 위해 고정된 수의 복수의 이전 프레임들에 걸쳐서 모델의 관절들 또는 정점들 각각의 궤도(trajectory)를 이용할 수 있다.
일부 실시예들에서, 타깃의 상이한 부분들은 시간 프레임(예를 들면, 1초의 1/30번째 또는 1/60번째)에서 제한된 거리를 움직일 수 있다는 지식은 모델을 획득하는 데 제한(constraint)으로서 이용될 수 있다. 그러한 제한은 이전 프레임이 알려져 있을 때 특정 포즈들을 배제(rule out)하는 데 이용될 수 있다.
도 7의 단계(116)에서, 방법(100)은 또한 모델을 합성된 깊이 이미지로 래스터화하는 것을 포함할 수 있다. 래스터화는 수학적 프리미티브들, 다각형 메쉬들, 또는 다른 개체들에 의해 기술된 모델이 복수의 픽셀들에 의해 기술된 합성된 깊이 이미지로 변환될 수 있게 한다.
래스터화는 하나 이상의 상이한 기법들 및/또는 알고리즘들을 이용하여 수행될 수 있다. 예를 들면, 모델을 래스터화하는 것은 모델의 표현을 2차원 평면 상에 투영하는 것을 포함할 수 있다. 복수의 신체 부분 형상들을 포함하는 모델(예를 들면, 도 3의 신체 모델(70))의 경우에, 래스터화는 신체 부분 형상들의 컬렉션을 2차원 평면 상에 투영하고 래스터화하는 것을 포함할 수 있다. 모델이 투영되는 2차원 평면 내의 각 픽셀마다, 다양한 상이한 유형의 정보가 저장될 수 있다.
도 9는 도 3의 신체 모델(70)에 대응하는 예시적인 합성된 깊이 이미지의 시각적 표현(150)을 보여준다. 도 10은 동일한 합성된 깊이 이미지의 일부의 픽셀 매트릭스(160)를 보여준다. 170에 나타내어진 바와 같이, 합성된 깊이 이미지 내의 각각의 합성된 픽셀은 합성된 깊이 값을 포함할 수 있다. 주어진 합성된 픽셀에 대한 합성된 깊이 값은 래스터화 동안에 결정된, 그 합성된 픽셀에 의해 표현되는 모델의 대응하는 부분으로부터의 깊이 값일 수 있다. 즉, 팔뚝(forearm) 신체 부분(예를 들면, 도 3의 팔뚝 신체 부분 bp4)의 일부가 2차원 평면 상에 투영되면, 대응하는 합성된 픽셀(예를 들면, 도 10의 합성된 픽셀(162))에 팔뚝 신체 부분의 그 부분의 깊이 값과 같은 합성된 깊이 값(예를 들면, 도 10의 합성된 깊이 값(164))이 주어질 수 있다. 예시된 예에서, 합성된 픽셀(162)은 382cm의 합성된 깊이 값을 갖는다. 마찬가지로, 인접한 손 신체 부분(예를 들면, 도 3의 손 신체 부분 bp3)이 2차원 평면 상에 투영되면, 대응하는 합성된 픽셀(예를 들면, 도 10의 합성된 픽셀(166))에 손 신체 부분의 그 부분의 깊이 값과 같은 합성된 깊이 값(예를 들면, 도 10의 합성된 깊이 값(168))이 주어질 수 있다. 예시된 예에서, 합성된 픽셀(166)은 383cm의 합성된 깊이 값을 갖는다. 상기는 예로서 제공된다는 것을 이해해야 한다. 합성된 깊이 값들은 임의의 측정 단위로 또는 크기가 없는 수(dimensionless number)로서 저장될 수 있다.
170에 나타내어진 바와 같이, 합성된 깊이 이미지 내의 각각의 합성된 픽셀은 래스터화 동안에 결정된 최초 신체 부분 인덱스(original body-part index)를 포함할 수 있다. 그러한 최초 신체 부분 인덱스는 픽셀이 모델의 신체 부분들 중 어느 것에 대응하는지를 나타낼 수 있다. 도 10의 예시된 예에서, 합성된 픽셀(162)은 bp4의 최초 신체 부분 인덱스를 갖고, 합성된 픽셀(166)은 bp3의 최초 신체 부분 인덱스를 갖는다. 일부 실시예들에서, 합성된 픽셀의 최초 신체 부분 인덱스는 그 합성된 픽셀이 타깃의 신체 부분에 대응하지 않는다면(예를 들면, 그 합성된 픽셀이 배경 픽셀이라면) 닐(nil)일 수 있다. 일부 실시예들에서, 신체 부분에 대응하지 않는 합성된 픽셀들에는 상이한 유형의 인덱스가 주어질 수 있다.
170에 나타내어진 바와 같이, 합성된 깊이 이미지 내의 각각의 합성된 픽셀은 래스터화 동안에 결정된 최초 플레이어 인덱스(original player index)를 포함할 수 있고, 그 최초 플레이어 인덱스는 타깃에 대응한다. 예를 들면, 만일 2개의 타깃이 있다면, 제1 타깃에 대응하는 합성된 픽셀들은 제1 플레이어 인덱스를 가질 것이고 제2 타깃에 대응하는 합성된 픽셀들은 제2 플레이어 인덱스를 가질 것이다. 예시된 예에서, 픽셀 매트릭스(160)는 하나의 타깃에만 대응하고, 따라서 합성된 픽셀(162)은 P1의 최초 플레이어 인덱스를 갖고, 합성된 픽셀(166)은 P1의 최초 플레이어 인덱스를 갖는다. 이 명세서의 범위에서 벗어나지 않고 다른 유형의 인덱싱 시스템들이 사용될 수 있다.
170에 나타내어진 바와 같이, 합성된 깊이 이미지 내의 각각의 합성된 픽셀은 픽셀 어드레스를 포함할 수 있다. 픽셀 어드레스는 한 픽셀의 다른 픽셀들에 관한 위치를 정의할 수 있다. 예시된 예에서, 합성된 픽셀(162)은 [5,7]의 픽셀 어드레스를 갖고, 합성된 픽셀(166)은 [4,8]의 픽셀 어드레스를 갖는다. 이 명세서의 범위에서 벗어나지 않고 다른 어드레싱 방식들이 이용될 수 있다는 것을 이해해야 한다.
170에 나타내어진 바와 같이, 각각의 합성된 픽셀은 옵션으로 다른 유형의 정보를 포함할 수 있고, 그 중 일부는 래스터화 후에 획득될 수 있다. 예를 들면, 각각의 합성된 픽셀은, 후술되는 래스터화 동안에 수행된 스냅 동작(snap operation)의 일부로서 결정될 수 있는, 업데이트된 신체 부분 인덱스를 포함할 수 있으며, 각각의 합성된 픽셀은, 래스터화 동안에 수행된 스냅 동작의 일부로서 결정될 수 있는, 업데이트된 플레이어 인덱스를 포함할 수 있다. 각각의 합성된 픽셀은, 후술되는 성장/고정 동작(grow/fix operation)의 일부로서 획득될 수 있는, 업데이트된 신체 부분 인덱스를 포함할 수 있다. 각각의 합성된 픽셀은, 전술한 성장/고정 동작의 일부로서 획득될 수 있는, 업데이트된 플레이어 인덱스를 포함할 수 있다.
위에 제공된 픽셀 정보의 예시적인 유형들은 제한적인 것이 아니다. 다양한 상이한 유형의 정보가 각 픽셀의 일부로서 저장될 수 있다. 그러한 정보는 공통 데이터 구조의 일부로서 저장될 수 있고, 또는 상이한 유형의 정보는 (예를 들면, 픽셀 어드레스를 통해) 특정한 픽셀 위치들에 매핑될 수 있는 상이한 데이터 구조들에 저장될 수 있다. 예로서, 래스터화 동안에 스냅 동작의 일부로서 획득된 플레이어 인덱스들 및/또는 신체 부분 인덱스들은 래스터화 맵 및/또는 스냅 맵에 저장될 수 있는 반면, 성장/고정 동작의 일부로서 획득된 플레이어 인덱스들 및/또는 신체 부분 인덱스들은 후술되는 바와 같이 성장 맵에 저장될 수 있다. 각 픽셀에 할당될 수 있는 다른 유형의 픽셀 정보의 비제한적인 예들은, 관절 인덱스, 뼈 인덱스, 정점 인덱스, 삼각형 인덱스, 중심 인덱스 등을 포함하지만, 이에 제한되지 않는다.
단계(118)에서, 도 7의 방법(100)은 옵션으로 신체 부분 인덱스들 및/또는 플레이어 인덱스들을 스냅 및/또는 성장시키는 것을 포함할 수 있다. 즉, 합성된 깊이 이미지는 모델링된 타깃에 더 흡사하게 대응하기 위한 시도로 일부 픽셀들의 신체 부분 인덱스 및/또는 플레이어 인덱스가 변경되도록 보강(augment)될 수 있다.
전술한 래스터화를 수행할 때, 하나 이상의 Z-버퍼들 및/또는 신체 부분/플레이어 인덱스 맵들이 구성될 수 있다. 비제한적인 예로서, 그러한 버퍼/맵의 제1 버전은 뷰어(예를 들면, 깊이 카메라)에 가장 가까운 표면이 선택되고 그 표면과 관련된 신체 부분 인덱스 및/또는 플레이어 인덱스가 대응하는 픽셀에 기입되는 Z-테스트를 수행하는 것에 의해 구성될 수 있다. 이 맵은 래스터화 맵 또는 최초 합성된 깊이 맵으로 지칭될 수 있다. 그러한 버퍼/맵의 제2 버전은 그 픽셀에서의 관찰된 깊이 값에 가장 가까운 표면이 선택되고 그 표면과 관련된 신체 부분 인덱스 및/또는 플레이어 인덱스가 대응하는 픽셀에 기입되는 Z-테스트를 수행하는 것에 의해 구성될 수 있다. 이 맵은 스냅 맵으로 지칭될 수 있다. 그러한 테스트들은 미리 정해진 임계치를 넘은 합성된 깊이 값과 관찰된 깊이 값 사이의 Z-거리를 거절하도록 제한될 수 있다. 일부 실시예들에서, 둘 이상의 Z-버퍼들 및/또는 둘 이상의 신체 부분/플레이어 인덱스 맵들이 유지될 수 있고, 따라서 둘 이상의 전술한 테스트들이 수행될 수 있게 한다.
버퍼/맵의 제3 버전은 신체 부분/플레이어 인덱스 맵을 성장 및/또는 정정하는 것에 의해 구성될 수 있다. 이것은 성장 맵으로 지칭될 수 있다. 전술한 스냅 맵의 사본에서 시작하여, 값들은 미리 정해진 Z-거리 내의 임의의 "알려지지 않은" 값들 위로 성장될 수 있고, 그에 따라 타깃은 차지하고 있지만, 아직 신체 모델은 차지하고 있지 않은 공간이 적당한 신체 부분/플레이어 인덱스들로 채워질 수 있다. 그러한 접근법은 만일 더 유리한 일치(match)가 식별된다면 알려진 값을 오버테이크하는(overtaking) 것을 더 포함할 수 있다.
성장 맵은 상이한 신체 부분/플레이어 인덱스를 갖는 인접한 픽셀들을 갖는 픽셀들을 검출하기 위해 스냅 맵의 합성된 픽셀들 위로 패스하는(pass over) 것으로 시작될 수 있다. 이것들은 "에지" 필셀들로 간주될 수 있고, 즉, 그 값들을 따른 경계(frontiers)가 옵션으로 전파될 수 있다. 전술한 바와 같이, 픽셀 값들을 성장시키는 것은 "알려지 않은" 또는 "알려진" 픽셀들로 성장하는 것을 포함할 수 있다. "알려지지 않은" 픽셀들에 경우에, 예를 들면, 하나의 시나리오에서, 신체 부분/플레이어 인덱스 값은 전에는 제로이었을 수 있지만, 지금은 제로가 아닌 인접한 픽셀을 가질 수 있다. 그러한 경우에, 4개의 직접 인접한 픽셀들이 검사될 수 있고, 관심 픽셀의 관찰된 깊이 값과 더 흡사한 관찰된 깊이 값을 갖는 인접한 픽셀이 선택되어 관심 픽셀에 할당될 수 있다. "알려진" 픽셀의 경우에, 만일 알려진 제로가 아닌 신체 부분/플레이어 인덱스 값을 갖는 픽셀의 인접한 픽셀들 중 하나가 그 픽셀에 대한 합성된 깊이 값보다 관심 픽셀의 관찰된 깊이 값과 더 흡사하게 일치하는 래스터화 동안에 기입된 값을 갖는다면, 알려진 제로가 아닌 신체 부분/플레이어 인덱스 값을 갖는 픽셀이 오버테이크될 수 있는 것이 가능할 수 있다.
또한, 효율을 위해, 합성된 픽셀의 신체 부분/플레이어 인덱스 값을 업데이트하는 것은 그것의 인접한 4개의 픽셀들을 후속의 패스에서 재방문될 픽셀들의 큐(queue)에 추가하는 것을 포함할 수 있다. 그에 따라, 모든 픽셀들 위로 전체 패스를 행하지 않고 경계를 따라서 값들이 계속해서 전파될 수 있다. 다른 최적화로서, 관심 타깃이 차지하는 상이한 NxN 픽셀 블록들(예를 들면, 16x16 픽셀 블록들)이 추적될 수 있고 그에 따라 관심 타깃이 차지하지 않는 다른 블록들은 무시될 수 있다. 그러한 최적화는 다양한 형태로 래스터화 후에 타깃 분석 동안의 임의의 시점에 적용될 수 있다.
그러나, 성장 동작들은 각종의 상이한 형태들을 취할 수 있다는 것에 유의해야 한다. 예를 들면, 같은 값의 영역들을 식별하기 위해 다양한 플러드 필들(flood-fills)이 먼저 수행될 수 있고, 그 후 어느 영역들이 어느 신체 부분들에 속하는지가 결정될 수 있다. 또한, 임의의 신체 부분/플레이어 인덱스 개체(예를 들면, 도 3의 왼쪽 팔뚝 신체 부분 bp4)가 성장시킬 수 있는 픽셀들의 수는 그러한 개체가 몇 개의 픽셀들을 차지할 것으로 기대되는지(예를 들면, 그것의 형상, 거리 및 각도가 주어지면) 대(vs.) 스냅 맵 내의 몇 개의 픽셀들에 그 신체 부분/플레이어 인덱스가 할당되었는지에 기초하여 제한될 수 있다. 또한, 전술한 접근법들은, 특정 포즈들에 대하여, 성장이 정확할 수 있도록 특정 신체 부분들에 대한 성장을 바이어싱하기 위해, 이점들 또는 불리점들을 추가하는 것을 포함할 수 있다.
만일 신체 부분으로부터의 픽셀들의 분포가 하나의 깊이에서 그룹화되고, 동일한 신체 부분으로부터의 픽셀들의 다른 분포가 다른 깊이에서 그룹화되어, 이들 2개의 분포들 사이에 갭이 존재한다면, 스냅 맵에 점진적인 스냅 조정(progressive snap adjustment)이 행해질 수 있다. 예를 들면, 몸통의 앞에서 그 몸통 가까이에서 흔드는 팔은 몸통 "안으로 넘칠 수 있다(spill into)". 그러한 경우는 사실은 그것들이 몸통 픽셀들이어야 하는 경우, 그것들이 팔 픽셀들인 것을 나타내는 신체 부분 인덱스를 갖는 몸통 픽셀들의 그룹을 생성할 수 있다. 아래쪽 팔의 합성된 깊이 값들의 분포를 검사하는 것에 의해, 그 팔 픽셀들 중 일부가 하나의 깊이에서 그룹화될 수 있고, 나머지는 다른 깊이에서 그룹화될 수 있는 것으로 결정될 수 있다. 이들 2개의 깊이 값들의 그룹들 사이의 갭은 팔 픽셀들과 몸통 픽셀이어야 하는 것 사이의 점프를 나타낸다. 따라서, 그러한 갭을 식별하는 것에 응답하여, 그 넘치는 픽셀들(spillover pixels)에 몸통 신체 부분 인덱스들을 할당하는 것에 의해 넘치는 것이 구제(remedy)될 수 있다. 다른 예로서, 점진적인 스냅 조정은 팔이 배경 개체 위에 있는 경우(arm-over-background-object case)에 도움이 될 수 있다. 이 경우, 관심 픽셀들(즉, 팔에 속한다고 생각되는 픽셀들)의 관찰된 깊이에서 갭을 식별하기 위해 히스토그램이 사용될 수 있다. 그러한 갭에 기초하여, 하나 이상의 픽셀 그룹들이 적당히 팔에 속하는 것으로 식별될 수 있고 및/또는 다른 그룹(들)은 배경 픽셀들로서 거절될 수 있다. 히스토그램은 절대 깊이; 깊이 오차(합성된 깊이 ― 관찰된 깊이) 등과 같은 각종 메트릭들에 기초할 수 있다. 점진적인 스냅 조정은 임의의 성장 동작 전에, 래스터화 동안에 인라인으로(in-line) 수행될 수 있다.
단계(120)에서, 도 7의 방법(100)은 옵션으로 전술한 3개의 처리 단계들에서 관찰된 깊이 이미지, 합성된 깊이 이미지, 및 신체 부분/플레이어 인덱스 맵들로부터 높이 맵을 생성하는 것을 포함할 수 있다. 그러한 높이 맵의 그레이디언트(gradient), 및/또는 그러한 높이 맵의 블러링된 버전(blurred version)은 후술되는 바와 같이 모델에 행해져야 할 조정 방향들을 결정할 때 이용될 수 있다. 높이 맵은 단지 최적화이지만, 대안적으로 또는 추가적으로, 조정들이 적용될 수 있는 가장 가까운 관절들 및/또는 그러한 조정들이 행해져야 할 방향을 식별하기 위해 모든 방향에서의 검색이 수행될 수 있다. 높이 맵이 사용될 때, 그것은 후술된 픽셀 클래스(pixel class) 결정 전에, 후에, 또는 그와 병행하여 생성될 수 있다. 높이 맵은, 사용될 때, 플레이어의 실제 신체를 낮은 높이(elevation)에 설정하고, 배경 요소들을 높은 높이에 설정하도록 설계된다. 그 후 배경으로부터 플레이어 상의 가장 가까운 포인트를 찾기 위해, 높이 맵에서 "내리막(downhill)"을 추적(trace)하기 위해, 또는 그 반대로 행하기 위해(즉, 주어진 플레이어 픽셀까지의 가장 가까운 배경 픽셀을 찾기 위해 높이 맵에서 "오르막(uphill)"을 찾기 위해) 분수 스타일(watershed-style) 기법이 사용될 수 있다.
합성된 깊이 이미지 및 관찰된 깊이 이미지는 동일하지 않을 수 있고, 따라서 합성된 깊이 이미지는 그것이 관찰된 깊이 이미지와 더 흡사하지 일치하고 따라서 타깃을 더 정확히 표현할 수 있도록 조정들 및/또는 수정들을 이용할 수 있다. 먼저 모델에 조정을 행하고(예를 들면, 모델의 포즈를 변경하고), 그 후 조정된 모델은 합성된 깊이 이미지의 새로운 버전으로 합성하는 것에 의해 합성된 깊이 이미지에 조정들이 행해질 수 있다는 것을 이해해야 한다.
합성된 깊이 이미지를 수정하기 위해 다수의 상이한 접근법들이 취해질 수 있다. 하나의 접근법에서는, 둘 이상의 상이한 모델들이 획득되고 래스터화되어 둘 이상의 합성된 깊이 이미지들을 생성할 수 있다. 각각의 합성된 깊이 이미지는 그 후 미리 정해진 비교 메트릭들의 세트에 의해 관찰된 깊이 이미지와 비교될 수 있다. 관찰된 깊이 이미지와 가장 흡사한 일치를 증명하는 합성된 깊이 이미지가 선택될 수 있고, 이 프로세스는 옵션으로 모델을 개선하기 위해 반복될 수 있다. 이 프로세스는, 사용될 때, 특히 플레이어의 신체 유형 및/또는 치수와 일치하도록 신체 모델을 리파인(refine)하는 데 유익할 수 있다.
다른 접근법에서, 둘 이상의 합성된 깊이 이미지들은 내삽(interpolation) 또는 외삽(extrapolation)을 통해 혼합되어 혼합된 합성된 깊이 이미지를 생성할 수 있다. 또 다른 접근법에서, 둘 이상의 합성된 깊이 이미지들은 혼합 기법들 및 파라미터들이 혼합된 합성된 깊이 이미지에 걸쳐서 변하도록 혼합될 수 있다. 예를 들면, 만일 제1 합성된 깊이 이미지가 한 영역에서 관찰된 깊이 이미지와 유리하게 일치되고, 제2 합성된 깊이 이미지가 제2 영역에서 유리하게 일치된다면, 혼합된 합성된 이미지에서 선택된 포즈는 제1 영역에서 제1 합성된 깊이 이미지를 생성하기 위해 사용된 포즈, 및 제2 영역에서 제2 합성된 깊이 이미지를 생성하기 위해 사용된 포즈와 흡사한 혼합일 수 있다.
또 다른 접근법에서, 및 도 7의 단계(122)에서 나타내어진 바와 같이, 합성된 깊이 이미지는 관찰된 깊이 이미지와 비교될 수 있다. 합성된 깊이 이미지의 각각의 합성된 픽셀은 비교의 결과에 기초하여 분류될 수 있다. 그러한 분류는 각각의 픽셀에 대한 픽셀 케이스를 결정하는 것으로 지칭될 수 있다. 합성된 깊이 이미지를 생성하기 위해 사용된 모델(예를 들면, 도 3의 신체 모델(70))은 결정된 픽셀 케이스에 따라서 체계적으로 조정될 수 있다. 특히, 결정된 픽셀 케이스에 기초하여 각 픽셀에서 힘 벡터(크기 및 방향)가 계산될 수 있고, 모델의 유형에 따라서, 계산된 힘 벡터는 가장 가까운 관절, 신체 부분의 중심, 신체 부분 상의 한 포인트, 삼각형의 관절, 또는 합성된 깊이 이미지를 생성하기 위해 사용된 모델의 다른 미리 정해진 힘-수용 위치에 적용될 수 있다. 일부 실시예들에서, 주어진 픽셀에 귀속된 힘은 모델 상의 둘 이상의 힘을 받은 위치들 사이에 분포될 수 있다.
각각의 합성된 픽셀에 대하여, 그 합성된 픽셀에 대한 합성된 깊이 값과 관찰된 깊이 값 간의 차이; 그 합성된 픽셀에 대한 최초 신체 부분 인덱스, (스냅) 신체 부분 인덱스, 및/또는 (성장) 신체 부분 인덱스 간의 차이; 및/또는 그 합성된 픽셀에 대한 최초 플레이어 인덱스, (스냅) 플레이어 인덱스, 및/또는 (성장) 플레이어 인덱스 간의 차이를 포함하지만, 이에 제한되지 않는, 하나 이상의 요인들에 기초하여 하나 이상의 픽셀 케이스들이 선택될 수 있다.
도 7의 124에 나타내어진 바와 같이, 픽셀 케이스를 결정하는 것은 리파인-z 픽셀 케이스를 선택하는 것을 포함할 수 있다. 리파인-z 픽셀 케이스는 관찰된 깊이 이미지의 관찰된 픽셀의(또는 관찰된 픽셀들의 영역 내의) 관찰된 깊이 값이 합성된 깊이 이미지 내의 합성된 깊이 값(들)과 일치하지 않지만, 양쪽 이미지들 내의 동일한 개체에 속할 정도로 충분히 흡사하고, 신체 부분 인덱스들이 일치할 때(또는, 일부 경우에, 인접한 신체 부분들 또는 영역들에 대응할 때) 선택될 수 있다. 리파인-z 픽셀 케이스는 합성된 픽셀에 대하여 그 합성된 케이스에 대한 합성된 깊이 값과 관찰된 깊이 값 간의 차이가 미리 정해진 범위 안에 있는 경우와, 옵션으로, 그 합성된 픽셀의 (성장) 신체 부분 인덱스가 자기력을 받도록 설계되지 않은 신체 부분에 대응하는 경우 선택될 수 있다. 리파인-z 픽셀 케이스는 모델을 정확한 위치로 움직이기 위해 모델에 힘을 가할 수 있는 계산된 힘 벡터에 대응할 수 있다. 계산된 힘 벡터는 이미지 평면에 수직인 Z 축을 따라서, 모델의 양태(예를 들면, 대응하는 신체 부분의 면(face))에 수직인 벡터를 따라서, 및/또는 근처의 관찰된 픽셀들에 수직인 벡터를 따라서 적용될 수 있다. 힘 벡터의 크기는 관찰된 깊이 값과 합성된 깊이 값의 차이에 기초하고, 더 큰 차이는 더 큰 힘에 대응한다. 힘이 가해지는 힘-수용 위치는 관심 픽셀에 가장 가까운 자격 있는 힘-수용 위치(예를 들면, 가장 가까운 몸통 관절)인 것으로 선택될 수 있고, 또는 힘은 가장 가까운 힘-수용 위치들의 가중된 혼합 사이에 분포될 수 있다. 가장 가까운 힘-수용 위치가 선택될 수 있지만, 일부 경우에, 바이어스들의 적용이 도움이 될 수 있다. 예를 들면, 픽셀이 위쪽 다리를 중간에 위치하고, 히프 관절(hip joint)이 무릎보다 이동성(또는 민첩성)이 작은 것이 확증된 경우, 중간 다리 픽셀들이 히프보다는 무릎에 작용하도록 관절 힘들을 바이어싱하는 것이 도움이 될 수 있다.
어느 힘-수용 위치가 관심 픽셀에 가장 가까운지의 결정은, 전술한 바이어스와 함께 또는 바이어스 없이, 맹목적 검색(brute-force search)에 의해 발견될 수 있다. 검색을 가속시키기 위해, 검색되는 힘-수용 위치들의 세트는 이 픽셀의 신체 부분 인덱스와 관련된 신체 부분 상의 또는 그 근처의 것들에만 제한될 수 있다. 포즈가 변경될 때마다, 이들 검색들을 가속시키는 것을 돕기 위해, BSP(binary space partitioning)가 또한 설정될 수 있다. 신체, 또는 신체 부분 인덱스에 대응하는 각 신체 부분 상의 각 영역에는 그 자신의 BSP 트리가 주어질 수 있다. 만일 그렇다면, 바이어스들은 각 신체 부분에 대하여 상이하게 적용될 수 있고, 이는 적당한 힘-수용 위치들의 현명한 선택을 더 가능하게 한다.
도 7의 126에 나타내어진 바와 같이, 픽셀 케이스를 결정하는 것은 자기 픽셀 케이스(magnetism pixel case)를 선택하는 것을 포함할 수 있다. 자기 픽셀 케이스는 (성장/) 맵 내의, 검사되고 있는 합성된 픽셀들이 미리 정해진 신체 부분들의 서브세트(예를 들면, 도 3의 팔들, 즉 bp3, bp4, pb5, bp7, bp8, 및 bp9)에 대응할 때 이용될 수 있다. 팔들이 예로서 제공되지만, 다리들 또는 신체 전체와 같은, 다른 신체 부분들이 옵션으로 일부 시나리오들에서 자기 픽셀 케이스와 관련될 수 있다. 마찬가지로, 일부 시나리오들에서, 팔들은 자기 픽셀 케이스와 관련되지 않을 수 있다.
자기 케이스에 대하여 마킹된 픽셀들은 영역들로 그룹화될 수 있고, 각각의 영역은 특정한 신체 부분(이 예에서, 위쪽 왼쪽 팔, 아래쪽 왼쪽 팔, 왼쪽 손 등과 같은)과 관련된다. 픽셀이 어느 영역에 속하는지는 그것의 신체 부분 인덱스로부터 결정될 수 있고, 또는, (성장 동작에서 잠재적으로 도입되는 오류를 줄이기 위해) 픽셀의 위치를 신체 모델 내의 또는 신체 모델 상의 (그러나 픽셀의 신체 부분 인덱스에 의해 지시된 신체 부분에 제한되지 않는) 다양한 포인트들과 비교하는 것에 의해 더 정확한 테스트가 수행될 수 있다. 예를 들면, 왼쪽 팔 상의 어딘가에 있는 픽셀에 대하여, 그 픽셀이 어느 뼈 세그먼트(어깨에서 팔꿈치, 팔꿈치에서 손목, 또는 손목에서 손끝)에 속할 것 같은지를 결정하기 위해 다양한 메트릭들이 사용될 수 있다. 이들 뼈 세그먼트들 각각은 "영역"으로 간주될 수 있다.
이들 자기 영역들 각각에 대하여, 영역에 속하는 픽셀들의 중심들이 계산될 수 있다. 이들 중심들은 오소독스(orthodox)(모든 기여 픽셀들이 동등하게 가중됨)이거나, 또는 일부 픽셀들이 다른 것들보다 더 많은 가중치를 지니는, 바이어싱된 것일 수 있다. 예를 들면, 위쪽 팔에 대하여, 3개의 중심들이 추적될 수 있다: 1) 바이어싱되지 않은 중심, 2) 그의 기여 픽셀들이 어깨에 더 가까울 때 더 많이 가중되는, "가까운" 중심, 및 3) 그의 기여 픽셀들이 팔꿈치에 더 가까울 때 더 많이 가중되는, "먼" 중심. 이들 가중치들은 선형(예를 들면, 2X) 또는 비선형(예를 들면, x2)일 수 있고 또는 임의의 곡선을 따를 수 있다.
일단 이들 중심들이 계산되면, 관심 신체 부분의 일부가 부분적으로 가려지더라도, 관심 신체 부분의 위치 및 방위를 계산하기 위한 다양한 옵션들이 이용 가능하다(및 동적으로 선택될 수 있다). 예를 들면, 팔꿈치에 대한 새로운 위치를 결정하려고 할 때, 만일 그 영역 내의 중심이 충분히 보인다면(만일 기여 픽셀들의 가중치들의 합계가 미리 정해진 임계치를 초과한다면), 중심 자체가 팔꿈치를 마킹한다(추정 #1). 그러나, 만일 팔꿈치 영역이 보이지 않는다면(어쩌면 그것이 어떤 다른 개체 또는 신체 부분에 의해 가려져 있기 때문에), 그럼에도 팔꿈치 위치는, 다음의 비제한적인 예에서 설명된 바와 같이, 종종 결정될 수 있다. 만일 위쪽 팔의 먼 중심이 보인다면, 팔꿈치에 대한 매우 있음직한 위치를 획득하기 위해, 위쪽 팔의 길이만큼, 이 중심을 통하여, 어깨로부터 투영이 이루어질 수 있다(추정 #2). 만약 아래쪽 팔의 가까운 중심이 보인다면, 팔꿈치에 대한 매우 있음직한 위치를 획득하기 위해, 아래쪽 팔의 길이만큼, 이 중심을 통하여, 손목으로부터 투영이 이루어질 수 있다(추정 #3).
이 3개의 잠재적인 추정들 중 하나의 선택이 이루어질 수 있고, 또는 3개의 잠재적인 추정들 사이의 혼합이 이루어질 수 있고, 더 높은 가시성(visibility), 확실성(confidence), 픽셀 카운트, 또는 임의의 수의 다른 메트릭들을 갖는 추정들에 우선순위(또는 더 높은 가중치)를 부여한다. 마지막으로, 이 예에서는, 단일 힘 벡터가 팔꿈치의 위치에서 모델에 적용될 수 있지만, 그것을 구성하기 위해 많은 픽셀들이 사용된 사실을 나타내기 위해, 그것은 더 많이 가중될 수 있다(다른 픽셀 케이스들로부터 유래하지만, 이 동일한 힘-수용 위치에 작용하는 픽셀 힘 벡터들과 함께 누적될 때). 계산된 힘 벡터는, 적용될 때, 대응하는 모델이 관찰된 이미지에서 보이는 타깃과 더 유리하게 일치하도록 모델을 움직일 수 있다. 자기 픽셀 케이스의 이점은 그것이 팔들과 같은 매우 민첩한 신체 부분들에 대하여 매우 효과적으로 작용할 수 있다는 점이다.
일부 실시예들에서, 정의된 관절들 또는 신체 부분들이 없는 모델은 자기 픽셀 케이스만을 이용하여 조정될 수 있다.
도 7의 128에 및 130에 나타내어진 바와 같이, 픽셀 케이스를 결정하는 것은 풀(pull) 픽셀 케이스 및/또는 푸시(push) 픽셀 케이스를 선택하는 것을 포함할 수 있다. 이들 픽셀 케이스들은, 합성된 깊이 값과 관찰된 깊이 값이 동일한 픽셀 어드레스에서 심하게 불일치될 수 있는, 실루엣에서 호출될 수 있다. 풀 픽셀 케이스 및 푸시 픽셀 케이스는 또한 최초 플레이어 인덱스가 (성장) 플레이어 인덱스와 일치하지 않는 경우에 사용될 수 있다는 것에 유의한다. 푸시 대 풀의 결정은 다음과 같다. 만일 합성된 깊이 이미지가 그 동일한 픽셀 어드레스에서의 관찰된 깊이 이미지 내의 깊이 값보다 더 크다면(더 멀다면), 모델은 성장된 이미지에서 보이는 진짜 실루엣 쪽으로 당겨질 수 있다(pulled). 반대로, 만일 최초 합성된 이미지가 관찰된 깊이 이미지 내의 깊이 값보다 작다면(더 가깝다면), 모델은 플레이어가 더 이상 차지하지 않는 공간 밖으로(및 성장된 이미지 내의 진짜 실루엣 쪽으로) 밀쳐질 수 있다(pushed). 어느 쪽의 경우이든, 이들 픽셀들 또는 픽셀 영역들 각각에 대하여, 2차원 또는 3차원의 계산된 힘 벡터가 실루엣 불일치를 정정하기 위해 모델에 가해져서, 신체 모델의 부분들을 관찰된 깊이 이미지 내의 타깃의 위치와 더 정확히 일치하는 위치로 밀거나 당긴다. 그러한 밀기 및/또는 당기기의 방향은 종종 주로 XY 평면에 있지만, 일부 시나리오들에서는 힘에 Z 성분이 추가될 수 있다.
풀 또는 푸시 케이스에 대한 적당한 힘 벡터를 생성하기 위하여, (풀 케이스의 경우) 합성된 깊이 이미지 내의 플레이어 실루엣 상의, 또는 (푸시 케이스의 경우) 관찰된 깊이 이미지 내의 플레이어 실루엣 상의 가장 가까운 포인트가 먼저 발견될 수 있다. 이 포인트는, 각각의 소스 픽셀에 대하여(또는 소스 픽셀들의 각 그룹에 대하여), 다음의 조건들을 만족시키는 (원하는 실루엣 상의) 가장 가까운 포인트에 대한 맹목적이고 철저한 2D 검색(brute-force, exhaustive 2D search)을 수행하는 것에 의해 발견될 수 있다. 풀 픽셀 케이스에서는, (소스 픽셀 또는 영역에서의) 성장 맵 내의 플레이어 인덱스와 일치하는 (탐색 위치에서의) 최초 맵 내의 플레이어 인덱스를 갖는 가장 가까운 픽셀이 발견된다. 푸시 픽셀 케이스에서는, (소스 픽셀 또는 영역에서의) 최초 맵 내의 플레이어 인덱스와 일치하는 (탐색 위치에서의) 성장 맵 내의 플레이어 인덱스를 갖는 가장 가까운 픽셀이 발견된다.
그러나, 맹목적 검색은 계산상 매우 비용이 많이 들 수 있고, 계산상 비용을 줄이기 위해 최적화가 사용될 수 있다. 이 포인트를 더 효과적으로 찾기 위한 비제한적인 최적화의 일례는 전술한 높이 맵의 그레이디언트, 또는 그것의 블러링된 버전을 따르는 것이고, 그레이디언트의 방향으로, 직선 내의 픽셀들만을 검사하는 것이다. 이 높이 맵에서, 높이 값들은 최초 및 성장된 플레이어 인덱스 맵들 모두에서 플레이어 인덱스가 동일한 곳에서는 낮고, 높이 값들은 (양쪽 맵들에서의) 플레이어 인덱스가 제로인 곳에서는 높다. 그레이디언트는, 임의의 주어진 픽셀에서, 이 높이 맵에서 "내리막"을 가리키는 벡터로서 정의될 수 있다. 풀 및 푸시 픽셀들 양쪽 모두는 전술한 바와 같이 그것들이 그들 각각의 중지 조건(stopping condition)에 도달할 때까지 이 그레이디언트(내리막)를 따라서 탐색할 수 있다. 이 탐색 동작을 위한 다른 기본적인 최적화들은, 픽셀들을 스킵하는 것, 간격 이등분(interval halving)을 이용하는 것, 또는 경사 기반 접근법(slope-based approach)을 이용하는 것; 탐색이 진행될 때, 띄엄띄엄 그레이디언트를 다시 샘플링하는 것뿐만 아니라; 일단 중지 조건이 만족되면 (그레이디언트를 직접 따르지 않고) 더 나은/더 흡사한 일치에 대하여 근처를 체크하는 것을 포함한다.
관심 실루엣 상의 가장 가까운 포인트를 찾기 위해 어떤 기법이 사용되든지 간에, 이동된 거리(소스 픽셀과 실루엣 픽셀 사이의 거리) D1은 모델을 밀거나 당길 힘 벡터의 크기(길이) D2를 계산하기 위해 이용될 수 있다. 일부 실시예들에서, D2는 선형적으로 또는 비선형적으로 D1에 관련될 수 있다(예를 들면, D2 = 2*D1 또는 D2 = D12). 비제한적인 일례로서, 다음의 공식이 사용될 수 있다: D2 = (D1 ― 0.5 픽셀)*2. 예를 들면, 만일 2개의 깊이 이미지들 내의 실루엣 사이에 5-픽셀 갭이 있다면, 이 갭 내의 각 픽셀은 작은 "탐색"을 수행하여 힘 벡터를 생성할 수 있다. 진짜 실루엣 근처의 픽셀들은 실루엣에 도달하기 위해 1 픽셀만큼만 탐색할 수 있고, 따라서 그 픽셀들에서의 힘 크기는 (1 ― 0.5)*2 = 1일 것이다. 진짜 실루엣으로부터 먼 픽셀들은 5 픽셀만큼 탐색할 수 있고, 따라서 힘 크기는 (5 ― 0.5)*2 = 9일 것이다. 일반적으로, 진짜 실루엣에 가장 가까운 픽셀들로부터 가장 먼 것들로 진행하면서, 탐색 거리들은 D1 = {1, 2, 3, 4, 5}일 것이고 생성된 힘 크기들은 D2 = {1, 3, 5, 7, 9}일 것이다. 이 경우 D2의 평균은, 원하는 대로, 5이다 ― 결과의 힘 벡터들의 평균 크기들은 모델을 적당한 곳에 두기 위해 모델이 이동될 수 있는 거리인, (각각의 힘-수용 위치 근처의) 실루엣들 사이의 거리와 같다.
그 후, 방향 및 크기(즉, 길이)를 이용하여, 각각의 소스 픽셀에 대한, 최종 힘 벡터가 구성될 수 있다. 풀 픽셀들의 경우, 방향은 실루엣 픽셀로부터 소스 픽셀로의 벡터에 의해 결정되고; 푸시 픽셀의 경우, 그것은 정반대 벡터이다. 이 힘 벡터의 길이는 D2이다. 그 후, 각 픽셀에서, 힘은 가장 자격 있는(예를 들면, 가장 가까운) 힘-수용 위치에 가해질 수 있고(또는 몇 개의 사이에 분포될 수 있고), 이들 힘들은, 각각의 힘-수용 위치에서, 평균되어, 신체 모델의 적당한 국부적인 움직임들을 생성할 수 있다.
도 7의 132에 및 134에 나타내어진 바와 같이, 픽셀 케이스를 결정하는 것은 자기 가림 푸시 및/또는 풀 픽셀 케이스(self-occluding push and/or pull pixel case)를 선택하는 것을 포함할 수 있다. 전술한 푸시 및 풀 픽셀 케이스들에서는 신체 부분이 배경 또는 다른 타깃에 관하여 전경에서 움직이고 있을 수 있는 반면, 자기 가림 푸시 및 풀 픽셀 케이스들은 신체 부분이 동일한 타깃의 다른 신체 부분의 앞에 있는 시나리오(예를 들면, 한 다리가 다른 다리의 앞에 있는 것, 팔이 몸통의 앞에 있는 것 등)를 고려한다. 이들 케이스들은 픽셀의 (스냅) 플레이어 인덱스가 그것의 대응하는 (성장) 플레이어 인덱스와 일치하는 경우, 그러나 (스냅) 신체 부분 인덱스는 그것의 대응하는 (성장) 신체 부분 인덱스와 일치하지 않는 경우에 식별될 수 있다. 그러한 케이스들에서, (실루엣을 찾기 위한) 탐색 방향은 몇 가지 방법으로 도출될 수 있다. 비제한적인 예들로서, 맹목적 2D 검색이 수행될 수 있고; 그레이디언트가 1D 검색을 가이드할 수 있도록 이 케이스에 대하여 "가림(occlusion)" 높이 맵들의 제2 세트가 맞추어질 수 있고; 또는 방향이 가장 가까운 골격 부재(skeletal member) 상의 가장 가까운 포인트를 향하여 설정될 수 있다. 이들 2개의 케이스들에 대한 상세는 다른 점에서 표준 푸시 및 풀 케이스들과 유사하다.
푸시, 풀, 자기 가림 푸시, 및/또는 자기 가림 풀 픽셀 케이스들은 합성된 픽셀에 대하여 그 합성된 픽셀의 (성장) 신체 부분 인덱스가 자기력들을 받도록 설계되지 않은 신체 부분에 대응하는 경우 선택될 수 있다.
일부 시나리오들에서는 단일 픽셀이 하나 이상의 픽셀 케이스들을 초래할 수 있다는 것을 이해해야 한다. 비제한적인 예로서, 자기 가림 푸시 픽셀 힘이 가리고 있는 신체 부분 상의 힘-수용 위치에 가해지고 리파인-z 픽셀 힘이 가려지고 있는 신체 부분 상의 힘-수용 위치에 가해지는 경우, 픽셀은 자기 가림 푸시 픽셀 힘 및 리파인-z 픽셀 힘 양쪽 모두를 초래할 수 있다.
도 7의 136에 나타내어진 바와 같이, 픽셀 케이스를 결정하는 것은 합성된 픽셀에 대하여 어떤 픽셀 케이스도 선택하지 않는 것을 포함할 수 있다. 종종 힘 벡터는 합성된 깊이 이미지의 모든 합성된 픽셀들에 대하여 계산될 필요가 없을 것이다. 예를 들면, 합성된 깊이 이미지에서 보이는 신체 모델로부터 더 멀리 떨어져 있는 합성된 픽셀들, 및 관찰된 깊이 이미지에서 보이는 타깃으로부터 더 멀리 떨어져 있는 관찰된 픽셀들(즉, 배경 픽셀들)은, 어떠한 힘-수용 위치들 또는 신체 부분들에도 영향을 주지 않을 수 있다. 그러한 픽셀들에 대해서는 픽셀 케이스가 결정될 필요가 없지만, 일부 시나리오들에서는 결정될 수 있다. 다른 예로서, 그 합성된 픽셀에 대한 합성된 깊이 값과 관찰된 깊이 값 간의 차이가 미리 정해진 임계치보다 아래일 수 있다(예를 들면, 모델은 이미 관찰된 이미지와 일치한다). 그에 따라, 그러한 픽셀들에 대해서는 픽셀 케이스가 결정될 필요가 없지만, 일부 시나리오들에서는 결정될 수 있다.
아래 제공된 표는 전술한 픽셀 케이스들과 도 5의 골격 모델(82)에서 예시된 관절들 사이의 예시적인 관계를 상술한다. 픽셀 케이스들 1-7은 표에서 다음과 같이 간략화된다: 1-풀(표준), 2-풀(가림), 3-푸시(표준), 4-푸시(가림), 5-리파인-Z, 6-자기 풀(Magnetic Pull), 및 7-가림(액션 없음). "힘을 받는가?"라는 열(column) 내의 "예" 항목은 그 행(row)의 관절이 힘 벡터로부터의 힘을 받을 수 있다는 것을 나타낸다. 픽셀 케이스 열 내의 "X" 항목은 그 행의 관절이 그 열의 픽셀 케이스에 대응하는 힘 벡터로부터의 힘을 받을 수 있다는 것을 나타낸다. 다음의 표는 예로서 제공된다는 것을 이해해야 한다. 그것은 제한적인 것으로 간주되지 않아야 한다. 이 명세서의 범위에서 벗어나지 않고 모델들과 픽셀 케이스들 사이의 다른 관계들이 확립될 수도 있다.
Figure 112011057385419-pct00001
Figure 112011057385419-pct00002
단계(140)에서, 도 7의 방법(100)은, 픽셀 케이스가 결정된 각각의 합성된 픽셀에 대하여, 그 합성된 픽셀에 대하여 선택된 픽셀 케이스에 기초하여 힘 벡터를 계산하는 것을 포함한다. 전술한 바와 같이, 각 픽셀 케이스는 힘 벡터의 크기, 방향, 및/또는 힘-수용 위치를 선택하기 위한 상이한 알고리즘 및/또는 방법에 대응한다. 힘 벡터들은, 월드 공간(world space), 스크린 공간(Z-분할 전), 투영 공간(Z-분할 후), 모델 공간 등과 같은, 임의의 좌표 공간에서 계산 및/또는 누적될 수 있다.
단계(142)에서, 방법(100)은 각각의 계산된 힘 벡터를 모델의 하나 이상의 힘-수용 위치들에 매핑하는 것을 포함한다. 매핑은 계산된 힘 벡터를 "가장 잘 일치하는(best-matching)" 힘-수용 위치에 매핑하는 것을 포함할 수 있다. 모델의 가장 잘 일치하는 힘-수용 위치의 선택은 대응하는 픽셀에 대하여 선택된 픽셀 케이스에 의존한다. 가장 잘 일치하는 힘-수용 위치는, 예를 들면, 가장 가까운 관절, 정점, 또는 중심일 수 있다. 일부 실시예들에서는, 모멘트(즉, 회전력)가 모델에 적용될 수 있다.
일반적으로, 병진(translations)은 모델의 힘-수용 위치들에 작용하는 유사한 방향들을 갖는 힘들로부터 생길 수 있고, 회전은 모델의 힘 받은 위치들에 작용하는 상이한 방향들의 힘들로부터 생길 수 있다. 변형 가능한 개체들의 경우, 힘 벡터들의 성분들 중 일부는 모델을 그것의 변형 한계 안에서 변형시키기 위해 사용될 수 있고, 힘 벡터들의 나머지 성분들은 모델을 병진 및/또는 회전시키기 위해 사용될 수 있다.
일부 실시예들에서, 힘 벡터들은 가장 잘 일치하는 단단한 또는 변경 가능한 개체, 부분 개체(sub-object), 및/또는 개체의 다각형들의 세트에 매핑될 수 있다. 따라서, 힘 벡터들 중 일부는 모델을 변형시키기 위해 사용될 수 있고, 힘 벡터들의 나머지 성분들은 모델의 단단한 병진을 수행하기 위해 사용될 수 있다. 그러한 기법은 "부서진(broken)" 모델로 귀결될 수 있다(예를 들면, 팔이 신체로부터 절단될 수 있다). 아래에 더 상세히 논의되는 바와 같이, 신체 부분들을 낮은 에너지 경로를 따라 도로 함께 연결하기 위하여 병진을 회전으로 변환하고 및/또는 제한을 적용하기 위해 수정 단계(rectification step)가 이용될 수 있다.
도 11a 및 11b는 모델 ― 예시된 예에서, 골격 모델(180)에 힘 벡터들을 적용하는 매우 단순화된 예를 보여준다. 간소화를 위하여, 예시된 예에서는 2개의 힘 벡터들만이 도시되어 있다. 각각의 그러한 힘 벡터는 둘 이상의 상이한 픽셀들의 픽셀 케이스 결정들 및 힘 벡터 계산들의 결과로 생기는 둘 이상의 상이한 힘 벡터들의 합계의 결과일 수 있다. 종종, 모델은 다수의 상이한 힘 벡터들에 의해 조정될 것이고, 그 각각은 다수의 상이한 픽셀들의 픽셀 케이스 결정들 및 힘 벡터 계산들의 결과로 생기는 다수의 상이한 힘 벡터들의 합계이다.
도 11a는 골격 모델(180)을 보여주는 것으로, 관찰된 깊이 이미지와 더 흡사하게 일치하도록 골격 모델(180)의 한 팔을 곧게 하기 위하여, 관절 j18(즉, 팔꿈치)에 힘 벡터(182)가 적용되고, 관절 j20(즉, 손목)에 힘 벡터(184)가 적용될 것이다. 도 11b는 힘들이 가해진 후의 골격 모델(180)을 보여준다. 도 11b는 가해진 힘이 어떻게 모델의 포즈를 조정하는지를 예시한다. 도 11b에 도시된 바와 같이, 골격 부재들의 길이들은 유지될 수 있다. 더 도시된 바와 같이, 관절 j2의 위치는, 인간이 그의 팔을 곧게 하는 경우에 대하여 예상되는 바와 같이, 골격 모델의 어깨에 남아 있다. 즉, 골격 모델은 힘들이 가해진 후에 그대로 남아 있다. 힘들 가할 때 골격 모델의 무결성(integrity)을 유지하는 것은, 아래 더 상세히 논의되는 바와 같이, 하나 이상의 제한이 적용되는 것의 결과로 생긴다. 상이한 가능한 모델 유형들의 무결성을 유지하기 위해 각종의 상이한 제한들이 시행될 수 있다.
단계(144)에서, 도 7의 방법(100)은 옵션으로 모델을 하나 이상의 제한을 만족시키는 포즈로 수정하는(rectifying) 것을 포함한다. 전술한 바와 같이, 계산된 힘 벡터들을 수집하고 모델의 힘-수용 위치들에 매핑한 후에, 계산된 힘 벡터들은 모델에 적용될 수 있다. 만일 제한 없이 수행된다면, 이것은 모델을 "부수어(break)", 그것을 균형이 안 잡히게(out of proportion) 잡아 늘이고 및/또는 신체 부분들을 타깃의 실제 신체에 대한 무효한 구성들로 이동시킬 수 있다. 그 후 새로운 모델 위치를 "근처의" 합법적인 구성으로 "릴렉스(relax)"하기 위해 다양한 기능들의 반복들이 사용될 수 있다. 모델을 수정하는 각각의 반복 동안에, 포즈들의 세트를 하나 이상의 타깃의 하나 이상의 실제 신체에 의해 물리적으로 표현 가능한 것들로 제한하기 위하여, 제한들은 포즈에 서서히 및/또는 점차로 적용될 수 있다. 다른 실시예들에서, 그러한 수정 단계는 비반복적인 방식으로 행해질 수 있다.
일부 실시예들에서, 제한들은, 후술된 바와 같이, 골격 부재 길이 제한, 관절 각도 제한, 다각형 에지 각도 제한, 및 충돌 테스트 중 하나 이상을 포함할 수 있다.
골격 모델이 사용되는 예로서, 골격 부재(즉, 뼈) 길이 제한이 적용될 수 있다. 검출될 수 있는 힘 벡터들(즉, 관절들 및/또는 신체 부분들이 보이고 가려지지 않는 위치들에서의 힘 벡터들은 골격 모델의 골격 부재들의 망(network)을 따라서 전파될 수 있다. 골격 모델 길이 제한을 적용하는 것에 의해, 전파된 힘들은 일단 모든 골격 부재들이 허용 가능한 길이들을 가지면 "자리를 잡을 수 있다(settle in)". 일부 실시예들에서, 골격 부재 길이들 중 하나 이상은 미리 정해진 범위 내에서 변동 가능하도록 허용된다. 예를 들면, 몸통의 옆구리들(sides)을 구성하는 골격 부재들의 길이는 변형 가능한 중간부를 흉내내도록 변동 가능할 수 있다. 다른 예로서, 위쪽 팔을 구성하는 골격 모델들의 길이는 복잡한 어깨 관절 와(shoulder socket)를 흉내내도록 변동 가능할 수 있다.
골격 모델은 추가적으로 또는 대안적으로, 골격 부재들의 길이들이 수정 동안에 제한으로서 이용될 수 있도록, 타깃에 기초하여 각각의 골격 부재의 길이를 계산하는 것에 의해 제한될 수 있다. 예를 들면, 원하는 뼈 길이들은 골격 모델로부터 알려져 있고; 현재의 뼈 길이들과 원하는 뼈 길이들 간의 차이(즉, 새로운 관절 위치들 사이의 거리)가 평가될 수 있다. 모델은 원하는 길이들과 현재의 길이들 사이의 임의의 오차를 감소시키도록 조정될 수 있다. 더 중요하다고 생각되는 특정 관절들 및/또는 뼈들뿐만 아니라, 다른 것들보다 현재 더 많이 보이는 관절들 또는 신체 부분들에 우선순위가 주어질 수 있다. 또한, 높은 크기 변화들에는 낮은 크기 변화들보다 우선순위가 주어질 수 있다.
뼈 길이 제한들의 보다 정확한 적용을 가능케 하기 위해 X, Y, 및 Z 디멘전들에서 개별적으로 관절 가시성 및/또는 확실성이 추적될 수 있다. 예를 들면, 만일 뼈가 가슴을 왼쪽 어깨에 연결하고, 어깨 관절의 Z 위치가 높은 확실성이고(즉 다수의 리파인-z 픽셀들이 그 관절에 대응하고) 어깨의 Y 위치가 높은 확실성이면(다수의 푸시/풀 픽셀들이 그 관절에 대응하면), Y 방향에서 어깨 또는 Z 방향에서 가슴의 움직임을 부분적으로 또는 완전히 제한하면서 뼈 길이의 어떠한 오차도 정정될 수 있다.
일부 실시예들에서, 수정 전의 관절 위치들은 수정 후의 관절 위치들과 비교될 수 있다. 만일 모든 프레임마다 골격 모델에 일관된 세트의 조정들이 이루어지고 있다고 결정되면, 방법(100)은 이 정보를 이용하여 골격 및/또는 신체 모델에 대하여 "점진적 리파인(progressive refinement)"을 수행할 수 있다. 예를 들면, 수정 전과 후의 관절 위치들을 비교하는 것에 의해 어깨들이 수정 동안에 더 넓게 떨어져서 밀쳐지고 있는 것이 결정될 수 있다. 그러한 일관된 조정은 골격 모델의 어깨들이 표현되고 있는 타깃보다 더 작고, 따라서, 이것을 정정하기 위해 수정 동안에 각 프레임에서 어깨 폭이 조정되고 있다는 것을 암시한다. 그러한 경우, 골격 및/또는 신체 모델을 타깃과 더 잘 일치하도록 정정하기 위해 골격 모델의 어깨 폭을 증가시키는 것과 같은 점진적 리파인이 행해질 수 있다.
관절 각도 제한과 관련하여, 특정 사지들 및 신체 부분들은 인체 부분에 관하여 그들의 움직임의 범위에서 제한될 수 있다. 또한, 이 움직임의 범위는 인접한 신체 부분들의 방위에 기초하여 변할 수 있다. 따라서, 부모 사지들 및/또는 신체 부분들의 방위가 주어지면, 관절 각도 제한의 적용은 사지 세그먼트들이 가능한 구성들로 제한되게 할 수 있다. 예를 들면, 아래쪽 다리는 (무릎에서) 뒤쪽으로 구부러지고, 앞쪽으로는 구부러지지 않도록 구성될 수 있다. 만일 비합법적인 각도가 검출된다면, 위반하고 있는 신체 부분(들) 및/또는 그들의 부모들(또는, 메쉬 모델의 경우에, 위반하고 있는 삼각형들 및 그들의 이웃들)은 미리 정해진 가능성의 범위 안에서 포즈를 유지하도록 조정되고, 따라서 모델이 받아들이기 어려운 것으로 간주되는 포즈로 무너지는 경우를 피하는데 도움이 될 수 있다. 극단적인 각도 위반의 특정한 경우에, 포즈는 거꾸로 인식될 수 있다, 즉, 가슴으로 추적되고 있는 것은 실제로는 플레이어의 등이고; 왼쪽 손은 실제로는 오른 손인 것 등이다. 그러한 불가능한 각도가 분명히 보이는(그리고 충분히 터무니없는) 경우, 이것은 포즈가 플레이어의 신체에 거꾸로 매핑되었다는 것을 의미하는 것으로 해석될 수 있고, 포즈는 타깃을 정확히 모델링하기 위해 플립될 수 있다(flipped).
모델이 자신을 상호 관통하는 것을 막기 위해 충돌 테스트가 적용될 수 있다. 예를 들면, 충돌 테스트는 팔뚝/손이 몸통을 관통하는 것을 막거나, 팔뚝/손이 서로를 관통하는 것을 막을 수 있다. 다른 예들에서, 충돌 테스트는 다리가 다른 다리를 관통하는 것을 막을 수 있다. 일부 실시예들에서, 충돌 테스트는 모델들 사이에 유사한 시나리오들이 일어나는 것을 막기 위해 둘 이상의 플레이어들의 모델들에 적용될 수 있다. 일부 실시예들에서, 충돌 테스트는 신체 모델 및/또는 골격 모델에 적용될 수 있다. 일부 실시예들에서, 충돌 테스트는 메쉬 모델의 특정 다각형들에 적용될 수 있다.
충돌 테스트는 임의의 적합한 방식으로 적용될 수 있다. 하나의 접근법은 하나의 "체적 측정 라인 세그먼트(volumetric line segment)" 대 또 하나의 체적 측정 라인 세그먼트의 충돌을 검사하고, 여기서 체적 측정 라인 세그먼트는 3-D에서 밖으로 연장하는 반경을 갖는 라인 세그먼트일 수 있다. 그러한 충돌 테스트의 예는 팔뚝 대 또 하나의 팔뚝을 검사하는 것일 수 있다. 일부 실시예들에서, 체적 측정 라인 세그먼트는 그 세그먼트의 각 단부에서 상이한 반경을 가질 수 있다.
또 다른 접근법은 체적 측정 라인 세그먼트 대 포즈가 취해진 다각형 개체의 충돌을 검사한다. 그러한 충돌 테스트의 예는 팔뚝 대 몸통을 검사하는 것일 수 있다. 일부 실시예들에서, 포즈가 취해진 다각형 개체는 변형된 다각형 개체일 수 있다.
일부 실시예들에서, 타깃의 상이한 부분들이 시간 프레임(예를 들면, 1초의 1/30번째 또는 1/60번째)에서 제한된 거리를 움직일 수 있다는 지식은 제한으로서 이용될 수 있다. 그러한 제한은 모델의 힘-수용 위치들에 힘을 가한 결과로 생기는 특정 특정 포즈들을 배제하는 데 이용될 수 있다.
단계(145)에 나타내어진 바와 같이, 모델이 조정되고 옵션으로 제한된 후에, 프로세스는 새로운 합성된 깊이 이미지로의 모델의 새로운 래스터화를 시작하기 위해 귀환(loop back)할 수 있고, 새로운 합성된 깊이 이미지는 모델에 추가적인 조정이 이루어질 수 있도록 관찰된 깊이 이미지와 비교될 수 있다. 이런 식으로, 모델은 모델링된 타깃을 더 흡사하게 표현하도록 점진적으로 조정될 수 있다. 각 프레임에서 사실상 임의의 수의 반복들이 완료될 수 있다. 더 많은 반복은 더 정확한 결과를 달성할 수 있지만, 더 많은 반복은 또한 더 많은 컴퓨팅 오버헤드를 요구할 수 있다. 많은 시나리오들에서 프레임마다 2회 또는 3회의 반복이 적당하다고 생각되지만, 일부 실시예들에서는 1회의 반복으로 충분할 수 있다.
단계(146)에서, 도 7의 방법(100)은 옵션으로 도 11b에 도시된 변화들과 같은 모델의 변화들에 응답하여 스크린상의 캐릭터(예를 들면, 도 12a의 플레이어 아바타(190))의 시각적 외관을 변경하는 것을 포함한다. 예를 들면, 게임 콘솔(예를 들면, 도 1a 및 1b의 게임 시스템(12))에서 전자 게임을 플레이하고 있는 사용자는 여기에 설명된 바와 같이 게임 콘솔에 의해 추적될 수 있다. 특히, 골격 모델(예를 들면, 도 11a의 골격 모델(180))을 포함하는 신체 모델(예를 들면, 도 3의 신체 모델(70))이 타깃 게임 플레이어를 모델링하기 위해 사용될 수 있고, 신체 모델은 스크린상의 플레이어 아바타를 렌더링하기 위해 사용될 수 있다. 게임 플레이어가 한 팔을 곧게 할 때, 게임 콘솔은 이 움직임을 추적할 수 있고, 그 후 추적된 움직임에 응답하여, 도 11b에 도시된 바와 같이 모델(180)을 조정할 수 있다. 게임 콘솔은 또한 전술한 바와 같이 하나 이상의 제한을 적용할 수 있다. 그러한 조정들을 행하고 그러한 제한들을 적용하면, 게임 콘솔은 도 12b에 도시된 바와 같이 조정된 플레이어 아바타(192)를 디스플레이할 수 있다. 이것은 또한 도 1a의 예로서 도시되어 있는데, 도면에서 플레이어 아바타(24)는 게임 플레이어(18)가 실제 공간에서 펀치를 날리는 것에 응답하여 복싱 상대(22)를 때리는 것으로 도시되어 있다.
전술한 바와 같이, 스크린상의 캐릭터 또는 아바타의 시각적 외관을 변경하는 것 이외의 목적으로 시각적 타깃 인식이 수행될 수 있다. 그에 따라, 스크린상의 캐릭터 또는 아바타의 시각적 외관은 모든 실시예들에서 변경될 필요가 없다. 전술한 바와 같이, 타깃 추적은 사실상 제한 없는 상이한 목적들에 사용될 수 있고, 그 목적들 중 다수는 스크린상의 캐릭터의 변경으로 귀결되지 않는다. 타깃 추적 및/또는 조정된 모델의 포즈는 게임과 같은 애플리케이션의 사실상 임의의 요소에 영향을 미치는 파라미터로서 사용될 수 있다.
단계(147)에 나타내어진 바와 같이, 전술한 프로세스는 후속 프레임들에 대하여 반복될 수 있다.
여기에 설명된 구성들 및/또는 접근법들은 본질적으로 예시적인 것이고, 이들 특정한 실시예들 또는 예들은, 다수의 변형들이 가능하기 때문에, 제한적으로 간주되어서는 안 된다는 것을 이해해야 한다. 여기에 설명된 특정한 루틴들 또는 방법들은 임의의 수의 프로세싱 전략들 중 하나 이상을 나타낼 수 있다. 그에 따라, 예시된 다양한 단계들은 예시된 순서대로, 다른 순서들로, 동시에 수행되거나, 또는 일부 경우에 생략될 수 있다. 마찬가지로, 전술한 프로세스들의 순서는 변경될 수 있다.
본 명세서의 내용은 여기에 개시된 다양한 프로세스들, 시스템들 및 구성들, 및 다른 특징들, 기능들, 단계들, 및/또는 특성들의 모든 새로운 및 비자명한(non-obvious) 조합들 및 부분 조합들뿐만 아니라, 그것들의 임의의 및 모든 균등물들을 포함한다.

Claims (19)

  1. 전자 게이밍 방법에 있어서,
    복수의 상이한 포즈(pose)들로의 조정을 위해 구성된 머신-판독가능 모델로 인간 게임 플레이어를 나타내는 단계;
    소스로부터 상기 인간 게임 플레이어의 관찰된 깊이 이미지를 수신하는 단계;
    상기 인간 게임 플레이어의 머신-판독가능 모델을 합성된 깊이 이미지로 래스터화하는(rasterizing) 단계;
    상기 머신-판독가능 모델의 힘-수용 위치들(force-receiving locations)에 하나 이상의 힘들을 가하고, 그러한 힘들에 응답하여 상기 머신-판독가능 모델을 움직이게 허용함으로써, 상기 합성된 깊이 이미지와 상기 관찰된 깊이 이미지 간의 차이들에 적어도 부분적으로 기초하여 상기 머신-판독가능 모델의 포즈를 조정하는 단계; 및
    조정된 상기 머신-판독가능 모델의 포즈를 게임 플레이의 요소에 영향을 미치기 위한 파라미터로서 사용하는 단계
    를 포함하는, 전자 게이밍 방법.
  2. 제1항에 있어서,
    상기 관찰된 깊이 이미지는 복수의 관찰된 픽셀들을 포함하고, 하나 이상의 관찰된 픽셀들은 상기 소스와 그 관찰된 픽셀에 대응하는 상기 인간 게임 플레이어의 일부 사이의 거리를 표시하는 관찰된 깊이 값을 포함하는 것인, 전자 게이밍 방법.
  3. 제1항에 있어서,
    상기 합성된 깊이 이미지는 복수의 합성된 픽셀들을 포함하고, 하나 이상의 합성된 픽셀들은 상기 소스와 그 합성된 픽셀에 의해 표현된 상기 인간 게임 플레이어의 일부 사이의 거리를 표시하는 합성된 깊이 값을 포함하는 것인, 전자 게이밍 방법.
  4. 제1항에 있어서,
    상기 합성된 깊이 이미지는 복수의 합성된 픽셀들을 포함하고, 하나 이상의 합성된 픽셀들은 그 합성된 픽셀이 대응하는 상기 인간 게임 플레이어의 일부를 표시하는 신체 부분 인덱스(body-part index)를 포함하는 것인, 전자 게이밍 방법.
  5. 제1항에 있어서,
    상기 머신-판독가능 모델의 포즈를 조정하는 단계는 관찰된 픽셀의 관찰된 깊이 값과 대응하는 합성된 픽셀의 합성된 깊이 값 간의 차이에 기초하는 것인, 전자 게이밍 방법.
  6. 타깃을 추적하는 방법에 있어서,
    소스로부터 상기 타깃의 관찰된 깊이 이미지를 수신하는 단계;
    상기 타깃의 모델 ― 상기 모델은 포즈를 가짐 ― 을 획득하는 단계;
    상기 모델을 합성된 깊이 이미지로 래스터화하는 단계;
    상기 모델의 힘-수용 위치들에 하나 이상의 힘들을 가하고, 그러한 힘들에 응답하여 상기 모델을 움직이게 허용함으로써, 상기 관찰된 깊이 이미지와 상기 합성된 깊이 이미지 간의 차이들에 적어도 부분적으로 기초하여 상기 모델의 포즈를 조정하는 단계
    를 포함하는, 타깃을 추적하는 방법.
  7. 제6항에 있어서,
    상기 관찰된 깊이 이미지는 복수의 관찰된 픽셀들을 포함하고, 하나 이상의 관찰된 픽셀들은 상기 소스와 그 관찰된 픽셀에 대응하는 상기 타깃의 일부 사이의 거리를 나타내는 관찰된 깊이 값을 포함하는 것인, 타깃을 추적하는 방법.
  8. 제6항에 있어서,
    상기 소스는 깊이 카메라(depth camera)를 포함하는 것인, 타깃을 추적하는 방법.
  9. 제6항에 있어서,
    상기 소스는 스테레오 카메라를 포함하는 것인, 타깃을 추적하는 방법.
  10. 제6항에 있어서,
    상기 모델은 복수의 관절들(joints)에 의해 조정 가능하게 연결된 복수의 신체 부분들을 포함하는 것인, 타깃을 추적하는 방법.
  11. 제6항에 있어서,
    상기 모델은 복수의 관절들에 의해 조정 가능하게 연결된 복수의 골격 부재들(skeletal members)을 포함하는 것인, 타깃을 추적하는 방법.
  12. 제6항에 있어서,
    상기 모델은 다각형 에지들에서 조정 가능하게 연결된 복수의 다각형들을 포함하는 와이어프레임 메쉬(wireframe mesh)를 포함하는 것인, 타깃을 추적하는 방법.
  13. 제6항에 있어서,
    상기 합성된 깊이 이미지는 복수의 합성된 픽셀들을 포함하고, 하나 이상의 합성된 픽셀들은 상기 소스와 그 합성된 픽셀에 의해 표현된 상기 타깃의 일부 사이의 거리를 표시하는 합성된 깊이 값을 포함하는 것인, 타깃을 추적하는 방법.
  14. 제6항에 있어서,
    상기 합성된 깊이 이미지는 복수의 합성된 픽셀들을 포함하고, 하나 이상의 합성된 픽셀들은 그 합성된 픽셀이 대응하는 상기 타깃의 일부를 표시하는 신체 부분 인덱스를 포함하는 것인, 타깃을 추적하는 방법.
  15. 제6항에 있어서,
    상기 합성된 깊이 이미지는 복수의 합성된 픽셀들을 포함하고, 각각의 합성된 픽셀은 그 합성된 픽셀이 대응하는 타깃을 나타내는 타깃 인덱스를 포함하는 것인, 타깃을 추적하는 방법.
  16. 제6항에 있어서,
    상기 모델의 포즈를 조정하는 단계는 관찰된 픽셀의 관찰된 깊이 값과 대응하는 합성된 픽셀의 합성된 깊이 값 간의 차이에 기초하는 것인, 타깃을 추적하는 방법.
  17. 제6항에 있어서,
    상기 모델의 포즈를 조정하는 단계는 대응하는 합성된 픽셀과 상이한 관찰된 픽셀의 신체 부분 인덱스에 더 기초하는 것인, 타깃을 추적하는 방법.
  18. 제6항에 있어서,
    상기 모델의 포즈를 조정하는 단계는 하나 이상의 제한들(constraints)에 따라서 상기 모델을 수정하는(rectifying) 단계를 포함하는 것인, 타깃을 추적하는 방법.
  19. 컴퓨팅 시스템에 있어서,
    깊이 정보를 캡처하도록 구성된 소스;
    상기 소스에 동작가능하게 연결된 로직 서브시스템; 및
    상기 로직 서브시스템에 의해 실행 가능한 명령어들을 저장하는 데이터 보유 서브시스템
    을 포함하고, 상기 명령어들은,
    상기 소스로부터 타깃의 관찰된 깊이 이미지를 수신하고;
    상기 타깃의 모델 ― 상기 모델은 포즈를 가짐 ― 을 획득하고;
    상기 모델을 합성된 깊이 이미지로 래스터화하고;
    상기 모델의 힘-수용 위치들에 하나 이상의 힘들을 가하고, 그러한 힘들에 응답하여 상기 모델을 움직이게 허용함으로써, 상기 관찰된 깊이 이미지와 상기 합성된 깊이 이미지 간의 차이들에 적어도 부분적으로 기초하여 상기 모델의 포즈를 조정하도록
    상기 로직 서브시스템에 의해 실행 가능한 것인, 컴퓨팅 시스템.
KR1020117017473A 2009-01-30 2010-01-12 시각적 타깃 추적 KR101619562B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/363,604 US8267781B2 (en) 2009-01-30 2009-01-30 Visual target tracking
US12/363,604 2009-01-30

Publications (2)

Publication Number Publication Date
KR20110117114A KR20110117114A (ko) 2011-10-26
KR101619562B1 true KR101619562B1 (ko) 2016-05-10

Family

ID=42396275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117017473A KR101619562B1 (ko) 2009-01-30 2010-01-12 시각적 타깃 추적

Country Status (9)

Country Link
US (2) US8267781B2 (ko)
EP (1) EP2391988B1 (ko)
JP (1) JP5227463B2 (ko)
KR (1) KR101619562B1 (ko)
CN (1) CN102301313B (ko)
BR (1) BRPI1006111A2 (ko)
CA (1) CA2748557C (ko)
RU (1) RU2530334C2 (ko)
WO (1) WO2010088032A2 (ko)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8941588B2 (en) * 2008-04-24 2015-01-27 Oblong Industries, Inc. Fast fingertip detection for initializing a vision-based hand tracker
US20100201693A1 (en) * 2009-02-11 2010-08-12 Disney Enterprises, Inc. System and method for audience participation event with digital avatars
US8854376B1 (en) * 2009-07-30 2014-10-07 Lucasfilm Entertainment Company Ltd. Generating animation from actor performance
US8419534B2 (en) * 2009-09-30 2013-04-16 Disney Enterprises, Inc. Systems and methods for using images to generate gameplay content
US8864581B2 (en) 2010-01-29 2014-10-21 Microsoft Corporation Visual based identitiy tracking
US8611670B2 (en) 2010-02-25 2013-12-17 The Board Of Trustees Of The Leland Stanford Junior University Intelligent part identification for use with scene characterization or motion capture
US8994790B2 (en) * 2010-02-25 2015-03-31 The Board Of Trustees Of The Leland Stanford Junior University Motion capture with low input data constraints
US20110208685A1 (en) * 2010-02-25 2011-08-25 Hariraam Varun Ganapathi Motion Capture Using Intelligent Part Identification
JP5740822B2 (ja) * 2010-03-04 2015-07-01 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US8964004B2 (en) 2010-06-18 2015-02-24 Amchael Visual Technology Corporation Three channel reflector imaging system
US9089775B1 (en) * 2010-06-24 2015-07-28 Isaac S. Daniel Interactive game system and methods for a television audience member to mimic physical movements occurring in television broadcast content
US8531453B2 (en) * 2010-06-30 2013-09-10 International Business Machines Corporation Augmenting virtual worlds simulation with enhanced assets
US9414051B2 (en) 2010-07-20 2016-08-09 Memory Engine, Incorporated Extensible authoring and playback platform for complex virtual reality interactions and immersive applications
US8698092B2 (en) * 2010-09-10 2014-04-15 Samsung Electronics Co., Ltd. Method and apparatus for motion recognition
US8941559B2 (en) 2010-09-21 2015-01-27 Microsoft Corporation Opacity filter for display device
US9213405B2 (en) 2010-12-16 2015-12-15 Microsoft Technology Licensing, Llc Comprehension and intent-based content for augmented reality displays
CN102063725B (zh) * 2010-12-30 2013-05-08 Tcl集团股份有限公司 一种基于深度信息的多目标跟踪方法
US9011293B2 (en) 2011-01-26 2015-04-21 Flow-Motion Research And Development Ltd. Method and system for monitoring and feed-backing on execution of physical exercise routines
US20120200667A1 (en) 2011-02-08 2012-08-09 Gay Michael F Systems and methods to facilitate interactions with virtual content
KR101792866B1 (ko) 2011-04-06 2017-11-20 삼성전자주식회사 이벤트 센서와 칼라 센서를 이용한 동작 인식 장치 및 그 방법
FR2974217A1 (fr) * 2011-04-12 2012-10-19 Thomson Licensing Procede d’estimation d’une information representative d’une hauteur
AU2011203028B1 (en) * 2011-06-22 2012-03-08 Microsoft Technology Licensing, Llc Fully automatic dynamic articulated model calibration
US20120326948A1 (en) * 2011-06-22 2012-12-27 Microsoft Corporation Environmental-light filter for see-through head-mounted display device
US9344707B2 (en) 2011-06-29 2016-05-17 Microsoft Technology Licensing, Llc Probabilistic and constraint based articulated model fitting
KR101815975B1 (ko) * 2011-07-27 2018-01-09 삼성전자주식회사 객체 자세 검색 장치 및 방법
AU2011205223C1 (en) 2011-08-09 2013-03-28 Microsoft Technology Licensing, Llc Physical interaction with virtual objects for DRM
US9153195B2 (en) 2011-08-17 2015-10-06 Microsoft Technology Licensing, Llc Providing contextual personal information by a mixed reality device
US10019962B2 (en) 2011-08-17 2018-07-10 Microsoft Technology Licensing, Llc Context adaptive user interface for augmented reality display
WO2013028908A1 (en) 2011-08-24 2013-02-28 Microsoft Corporation Touch and social cues as inputs into a computer
JP5375897B2 (ja) * 2011-08-25 2013-12-25 カシオ計算機株式会社 画像生成方法、画像生成装置及びプログラム
US8648808B2 (en) * 2011-09-19 2014-02-11 Amchael Visual Technology Corp. Three-dimensional human-computer interaction system that supports mouse operations through the motion of a finger and an operation method thereof
KR101305694B1 (ko) * 2011-10-20 2013-09-09 엘지이노텍 주식회사 목표물을 검출하기 위한 영상 처리 방법, 장치, 사용자 인터페이스를 위한 방법 및 장치
US9628843B2 (en) * 2011-11-21 2017-04-18 Microsoft Technology Licensing, Llc Methods for controlling electronic devices using gestures
US9019352B2 (en) 2011-11-21 2015-04-28 Amchael Visual Technology Corp. Two-parallel-channel reflector with focal length and disparity control
KR101760804B1 (ko) 2011-11-23 2017-07-24 인텔 코포레이션 복수의 뷰, 디스플레이 및 피직스를 가진 제스쳐 입력
US9019603B2 (en) 2012-03-22 2015-04-28 Amchael Visual Technology Corp. Two-parallel-channel reflector with focal length and disparity control
US20130260885A1 (en) * 2012-03-29 2013-10-03 Playoke Gmbh Entertainment system and method of providing entertainment
US9170648B2 (en) 2012-04-03 2015-10-27 The Boeing Company System and method for virtual engineering
EP2674913B1 (en) * 2012-06-14 2014-07-23 Softkinetic Software Three-dimensional object modelling fitting & tracking.
US9557634B2 (en) 2012-07-05 2017-01-31 Amchael Visual Technology Corporation Two-channel reflector based single-lens 2D/3D camera with disparity and convergence angle control
US9266020B2 (en) 2012-09-27 2016-02-23 Empire Technology Development Llc Character model animation using stored recordings of player movement interface data
US9406135B2 (en) 2012-10-29 2016-08-02 Samsung Electronics Co., Ltd. Device and method for estimating head pose
US20140160122A1 (en) * 2012-12-10 2014-06-12 Microsoft Corporation Creating a virtual representation based on camera data
US9389315B2 (en) 2012-12-19 2016-07-12 Basf Se Detector comprising a transversal optical sensor for detecting a transversal position of a light beam from an object and a longitudinal optical sensor sensing a beam cross-section of the light beam in a sensor region
US9323346B2 (en) 2012-12-31 2016-04-26 Futurewei Technologies, Inc. Accurate 3D finger tracking with a single camera
US9410980B2 (en) 2013-02-20 2016-08-09 Toyota Motor Engineering & Manufacturing North America, Inc. Work monitoring system
US9275277B2 (en) * 2013-02-22 2016-03-01 Kaiser Foundation Hospitals Using a combination of 2D and 3D image data to determine hand features information
US9142034B2 (en) * 2013-03-14 2015-09-22 Microsoft Technology Licensing, Llc Center of mass state vector for analyzing user motion in 3D images
KR101933921B1 (ko) 2013-06-03 2018-12-31 삼성전자주식회사 포즈 추정 방법 및 장치
AU2014280334B2 (en) 2013-06-13 2018-02-01 Basf Se Optical detector and method for manufacturing the same
CN109521397B (zh) 2013-06-13 2023-03-28 巴斯夫欧洲公司 用于光学地检测至少一个对象的检测器
AU2014280335B2 (en) 2013-06-13 2018-03-22 Basf Se Detector for optically detecting an orientation of at least one object
CN105637320B (zh) 2013-08-19 2018-12-14 巴斯夫欧洲公司 光学检测器
EP3036558B1 (en) 2013-08-19 2020-12-16 Basf Se Detector for determining a position of at least one object
CN106662636B (zh) 2014-07-08 2020-12-25 巴斯夫欧洲公司 用于确定至少一个对象的位置的检测器
US10475274B2 (en) * 2014-09-23 2019-11-12 Igt Canada Solutions Ulc Three-dimensional displays and related techniques
WO2016051323A1 (en) 2014-09-29 2016-04-07 Basf Se Detector for optically determining a position of at least one object
CN104346816B (zh) 2014-10-11 2017-04-19 京东方科技集团股份有限公司 一种深度确定方法、装置及电子设备
GB2532003A (en) 2014-10-31 2016-05-11 Nokia Technologies Oy Method for alignment of low-quality noisy depth map to the high-resolution colour image
EP3230841B1 (en) 2014-12-09 2019-07-03 Basf Se Optical detector
JP6841769B2 (ja) 2015-01-30 2021-03-10 トリナミクス ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも1個の物体を光学的に検出する検出器
US10955936B2 (en) 2015-07-17 2021-03-23 Trinamix Gmbh Detector for optically detecting at least one object
KR102539263B1 (ko) 2015-09-14 2023-06-05 트리나미엑스 게엠베하 적어도 하나의 물체의 적어도 하나의 이미지를 기록하는 카메라
US11263461B2 (en) 2015-10-05 2022-03-01 Pillar Vision, Inc. Systems and methods for monitoring objects at sporting events
US9734405B2 (en) 2015-10-05 2017-08-15 Pillar Vision, Inc. Systems and methods for monitoring objects in athletic playing spaces
WO2017130639A1 (ja) * 2016-01-28 2017-08-03 株式会社リコー 画像処理装置、撮像装置、移動体機器制御システム、画像処理方法、及びプログラム
US11511156B2 (en) 2016-03-12 2022-11-29 Arie Shavit Training system and methods for designing, monitoring and providing feedback of training
US9824500B2 (en) 2016-03-16 2017-11-21 Microsoft Technology Licensing, Llc Virtual object pathing
JP2019523562A (ja) 2016-07-29 2019-08-22 トリナミクス ゲゼルシャフト ミット ベシュレンクテル ハフツング 光学的検出のための光センサおよび検出器
JP7241684B2 (ja) 2016-10-25 2023-03-17 トリナミクス ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも1個の対象物の光学的な検出のための検出器
KR102575104B1 (ko) 2016-10-25 2023-09-07 트리나미엑스 게엠베하 집적 필터를 가진 적외선 광학 검출기
US11860292B2 (en) 2016-11-17 2024-01-02 Trinamix Gmbh Detector and methods for authenticating at least one object
US11415661B2 (en) 2016-11-17 2022-08-16 Trinamix Gmbh Detector for optically detecting at least one object
JP2018084951A (ja) * 2016-11-24 2018-05-31 株式会社日立製作所 行動解析装置及び行動解析方法
JP6812803B2 (ja) * 2017-01-12 2021-01-13 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
FR3063172A1 (fr) 2017-02-21 2018-08-24 Yann Viellard Dispositif et procede pour la numerisation 3d sans contact d'un objet.
US11060922B2 (en) 2017-04-20 2021-07-13 Trinamix Gmbh Optical detector
JP7237024B2 (ja) 2017-06-26 2023-03-10 トリナミクス ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも1つの物体の位置を決定するための検出器
US10937240B2 (en) 2018-01-04 2021-03-02 Intel Corporation Augmented reality bindings of physical objects and virtual objects
WO2019167760A1 (ja) * 2018-02-27 2019-09-06 シャープ株式会社 画像処理装置、表示装置、画像処理方法、制御プログラム及び記録媒体
US10818078B2 (en) 2018-09-25 2020-10-27 Sony Corporation Reconstruction and detection of occluded portions of 3D human body model using depth data from single viewpoint
CN111460870A (zh) * 2019-01-18 2020-07-28 北京市商汤科技开发有限公司 目标的朝向确定方法及装置、电子设备及存储介质
JP2022501732A (ja) * 2019-01-18 2022-01-06 北京市商▲湯▼科技▲開▼▲發▼有限公司Beijing Sensetime Technology Development Co., Ltd. 画像処理方法及び装置、画像デバイス並びに記憶媒体
US11202951B1 (en) * 2020-07-27 2021-12-21 Tempo Interactive Inc. Free-standing a-frame exercise equipment cabinet

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007010893A1 (ja) 2005-07-19 2007-01-25 Nec Corporation 関節物体位置姿勢推定装置及びその方法ならびにプログラム

Family Cites Families (230)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4288078A (en) * 1979-11-20 1981-09-08 Lugo Julio I Game apparatus
US4695953A (en) 1983-08-25 1987-09-22 Blair Preston E TV animation interactively controlled by the viewer
US4630910A (en) 1984-02-16 1986-12-23 Robotic Vision Systems, Inc. Method of measuring in three-dimensions at high speed
US4627620A (en) 1984-12-26 1986-12-09 Yang John P Electronic athlete trainer for improving skills in reflex, speed and accuracy
US4645458A (en) 1985-04-15 1987-02-24 Harald Phillip Athletic evaluation and training apparatus
US4702475A (en) 1985-08-16 1987-10-27 Innovating Training Products, Inc. Sports technique and reaction training system
US4843568A (en) 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4711543A (en) 1986-04-14 1987-12-08 Blair Preston E TV animation interactively controlled by the viewer
US4796997A (en) 1986-05-27 1989-01-10 Synthetic Vision Systems, Inc. Method and system for high-speed, 3-D imaging of an object at a vision station
US5184295A (en) 1986-05-30 1993-02-02 Mann Ralph V System and method for teaching physical skills
US4751642A (en) 1986-08-29 1988-06-14 Silva John M Interactive sports simulation system with physiological sensing and psychological conditioning
US4809065A (en) 1986-12-01 1989-02-28 Kabushiki Kaisha Toshiba Interactive system and related method for displaying data to produce a three-dimensional image of an object
US4817950A (en) 1987-05-08 1989-04-04 Goo Paul E Video game control unit and attitude sensor
US5239463A (en) 1988-08-04 1993-08-24 Blair Preston E Method and apparatus for player interaction with animated characters and objects
US5239464A (en) 1988-08-04 1993-08-24 Blair Preston E Interactive video system providing repeated switching of multiple tracks of actions sequences
US4901362A (en) 1988-08-08 1990-02-13 Raytheon Company Method of recognizing patterns
US4893183A (en) 1988-08-11 1990-01-09 Carnegie-Mellon University Robotic vision system
JPH02199526A (ja) 1988-10-14 1990-08-07 David G Capper 制御インターフェース装置
US4925189A (en) 1989-01-13 1990-05-15 Braeunig Thomas F Body-mounted video game exercise device
US5229756A (en) 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
US5469740A (en) 1989-07-14 1995-11-28 Impulse Technology, Inc. Interactive video testing and training system
JPH03103822U (ko) 1990-02-13 1991-10-29
US5274401A (en) 1990-04-27 1993-12-28 Synergy Computer Graphics Corporation Electrostatic printhead
US5101444A (en) 1990-05-18 1992-03-31 Panacea, Inc. Method and apparatus for high speed object location
US5148154A (en) 1990-12-04 1992-09-15 Sony Corporation Of America Multi-dimensional user interface
US5534917A (en) 1991-05-09 1996-07-09 Very Vivid, Inc. Video image based control system
JP3182876B2 (ja) * 1991-05-24 2001-07-03 ソニー株式会社 画像信号処理方法とその装置
US5417210A (en) 1992-05-27 1995-05-23 International Business Machines Corporation System and method for augmentation of endoscopic surgery
US5295491A (en) 1991-09-26 1994-03-22 Sam Technology, Inc. Non-invasive human neurocognitive performance capability testing method and system
US6054991A (en) 1991-12-02 2000-04-25 Texas Instruments Incorporated Method of modeling player position and movement in a virtual reality system
CA2101633A1 (en) 1991-12-03 1993-06-04 Barry J. French Interactive video testing and training system
US5875108A (en) 1991-12-23 1999-02-23 Hoffberg; Steven M. Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
JPH07325934A (ja) 1992-07-10 1995-12-12 Walt Disney Co:The 仮想世界に向上したグラフィックスを提供する方法および装置
US5999908A (en) 1992-08-06 1999-12-07 Abelow; Daniel H. Customer-based product design module
US7098891B1 (en) * 1992-09-18 2006-08-29 Pryor Timothy R Method for providing human input to a computer
US5320538A (en) 1992-09-23 1994-06-14 Hughes Training, Inc. Interactive aircraft training system and method
IT1257294B (it) 1992-11-20 1996-01-12 Dispositivo atto a rilevare la configurazione di un'unita' fisiologicadistale,da utilizzarsi in particolare come interfaccia avanzata per macchine e calcolatori.
US5495576A (en) 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
US5690582A (en) 1993-02-02 1997-11-25 Tectrix Fitness Equipment, Inc. Interactive exercise apparatus
JP2799126B2 (ja) 1993-03-26 1998-09-17 株式会社ナムコ ビデオゲーム装置及びゲーム用入力装置
US5405152A (en) 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5454043A (en) 1993-07-30 1995-09-26 Mitsubishi Electric Research Laboratories, Inc. Dynamic and static hand gesture recognition through low-level image analysis
US5423554A (en) 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
US5980256A (en) 1993-10-29 1999-11-09 Carmein; David E. E. Virtual reality system with enhanced sensory apparatus
JP3419050B2 (ja) 1993-11-19 2003-06-23 株式会社日立製作所 入力装置
US5347306A (en) 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place
JP2552427B2 (ja) 1993-12-28 1996-11-13 コナミ株式会社 テレビ遊戯システム
US5577981A (en) 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US5580249A (en) 1994-02-14 1996-12-03 Sarcos Group Apparatus for simulating mobility of a human
US5597309A (en) 1994-03-28 1997-01-28 Riess; Thomas Method and apparatus for treatment of gait problems associated with parkinson's disease
US5385519A (en) 1994-04-19 1995-01-31 Hsu; Chi-Hsueh Running machine
US5524637A (en) 1994-06-29 1996-06-11 Erickson; Jon W. Interactive system for measuring physiological exertion
JPH0844490A (ja) 1994-07-28 1996-02-16 Matsushita Electric Ind Co Ltd インターフェイス装置
US5563988A (en) 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US6714665B1 (en) 1994-09-02 2004-03-30 Sarnoff Corporation Fully automated iris recognition system utilizing wide and narrow fields of view
US5516105A (en) 1994-10-06 1996-05-14 Exergame, Inc. Acceleration activated joystick
US5638300A (en) 1994-12-05 1997-06-10 Johnson; Lee E. Golf swing analysis system
JPH08161292A (ja) 1994-12-09 1996-06-21 Matsushita Electric Ind Co Ltd 混雑度検知方法およびそのシステム
US5594469A (en) 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US5682229A (en) 1995-04-14 1997-10-28 Schwartz Electro-Optics, Inc. Laser range camera
US5913727A (en) 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
US6229913B1 (en) 1995-06-07 2001-05-08 The Trustees Of Columbia University In The City Of New York Apparatus and methods for determining the three-dimensional shape of an object using active illumination and relative blurring in two-images due to defocus
US5682196A (en) 1995-06-22 1997-10-28 Actv, Inc. Three-dimensional (3D) video presentation system providing interactive 3D presentation with personalized audio responses for multiple viewers
US5702323A (en) 1995-07-26 1997-12-30 Poulton; Craig K. Electronic exercise enhancer
US5889524A (en) 1995-09-11 1999-03-30 University Of Washington Reconstruction of three-dimensional objects using labeled piecewise smooth subdivision surfaces
US6073489A (en) 1995-11-06 2000-06-13 French; Barry J. Testing and training system for assessing the ability of a player to complete a task
US6098458A (en) 1995-11-06 2000-08-08 Impulse Technology, Ltd. Testing and training system for assessing movement and agility skills without a confining field
US6308565B1 (en) 1995-11-06 2001-10-30 Impulse Technology Ltd. System and method for tracking and assessing movement skills in multidimensional space
US6430997B1 (en) 1995-11-06 2002-08-13 Trazer Technologies, Inc. System and method for tracking and assessing movement skills in multidimensional space
WO1999044698A2 (en) 1998-03-03 1999-09-10 Arena, Inc. System and method for tracking and assessing movement skills in multidimensional space
US6176782B1 (en) 1997-12-22 2001-01-23 Philips Electronics North America Corp. Motion-based command generation technology
US5933125A (en) 1995-11-27 1999-08-03 Cae Electronics, Ltd. Method and apparatus for reducing instability in the display of a virtual environment
US5641288A (en) 1996-01-11 1997-06-24 Zaenglein, Jr.; William G. Shooting simulating process and training device using a virtual reality display screen
JP3251489B2 (ja) 1996-02-16 2002-01-28 シャープ株式会社 座標入力装置
US6152856A (en) 1996-05-08 2000-11-28 Real Vision Corporation Real time simulation using position sensing
US6173066B1 (en) 1996-05-21 2001-01-09 Cybernet Systems Corporation Pose determination and tracking by matching 3D objects to a 2D sensor
US5989157A (en) 1996-08-06 1999-11-23 Walton; Charles A. Exercising system with electronic inertial game playing
CN1168057C (zh) 1996-08-14 2004-09-22 挪拉赫梅特·挪利斯拉莫维奇·拉都包夫 追踪并显示使用者在空间的位置与取向的方法,向使用者展示虚拟环境的方法以及实现这些方法的系统
JP3064928B2 (ja) 1996-09-20 2000-07-12 日本電気株式会社 被写体抽出方式
DE69626208T2 (de) 1996-12-20 2003-11-13 Hitachi Europ Ltd Verfahren und System zur Erkennung von Handgesten
US6009210A (en) 1997-03-05 1999-12-28 Digital Equipment Corporation Hands-free interface to a virtual reality environment using head tracking
US6100896A (en) 1997-03-24 2000-08-08 Mitsubishi Electric Information Technology Center America, Inc. System for designing graphical multi-participant environments
US5877803A (en) 1997-04-07 1999-03-02 Tritech Mircoelectronics International, Ltd. 3-D image detector
US6215898B1 (en) 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
JP3077745B2 (ja) 1997-07-31 2000-08-14 日本電気株式会社 データ処理方法および装置、情報記憶媒体
US6188777B1 (en) 1997-08-01 2001-02-13 Interval Research Corporation Method and apparatus for personnel detection and tracking
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
US6289112B1 (en) 1997-08-22 2001-09-11 International Business Machines Corporation System and method for determining block direction in fingerprint images
AUPO894497A0 (en) 1997-09-02 1997-09-25 Xenotech Research Pty Ltd Image processing method and apparatus
EP0905644A3 (en) 1997-09-26 2004-02-25 Matsushita Electric Industrial Co., Ltd. Hand gesture recognizing device
US6141463A (en) 1997-10-10 2000-10-31 Electric Planet Interactive Method and system for estimating jointed-figure configurations
WO1999019828A1 (en) 1997-10-15 1999-04-22 Electric Planet, Inc. Method and apparatus for performing a clean background subtraction
AU9808298A (en) 1997-10-15 1999-05-03 Electric Planet, Inc. A system and method for generating an animatable character
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6101289A (en) 1997-10-15 2000-08-08 Electric Planet, Inc. Method and apparatus for unencumbered capture of an object
US6130677A (en) 1997-10-15 2000-10-10 Electric Planet, Inc. Interactive computer vision system
US6181343B1 (en) 1997-12-23 2001-01-30 Philips Electronics North America Corp. System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs
US6159100A (en) 1998-04-23 2000-12-12 Smith; Michael D. Virtual reality game
US6077201A (en) 1998-06-12 2000-06-20 Cheng; Chau-Yang Exercise bicycle
US7121946B2 (en) 1998-08-10 2006-10-17 Cybernet Systems Corporation Real-time head tracking system for computer games and other applications
US6801637B2 (en) 1999-08-10 2004-10-05 Cybernet Systems Corporation Optical body tracker
US20010008561A1 (en) 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US7036094B1 (en) 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6681031B2 (en) 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
IL126284A (en) 1998-09-17 2002-12-01 Netmor Ltd System and method for three dimensional positioning and tracking
EP0991011B1 (en) 1998-09-28 2007-07-25 Matsushita Electric Industrial Co., Ltd. Method and device for segmenting hand gestures
AU1930700A (en) 1998-12-04 2000-06-26 Interval Research Corporation Background estimation and segmentation based on range and color
US6147678A (en) 1998-12-09 2000-11-14 Lucent Technologies Inc. Video hand image-three-dimensional computer interface with multiple degrees of freedom
AU1574899A (en) 1998-12-16 2000-07-03 3Dv Systems Ltd. Self gating photosurface
US6570555B1 (en) 1998-12-30 2003-05-27 Fuji Xerox Co., Ltd. Method and apparatus for embodied conversational characters with multimodal input/output in an interface device
US6363160B1 (en) 1999-01-22 2002-03-26 Intel Corporation Interface using pattern recognition and tracking
US7003134B1 (en) 1999-03-08 2006-02-21 Vulcan Patents Llc Three dimensional object pose estimation which employs dense depth information
US6299308B1 (en) 1999-04-02 2001-10-09 Cybernet Systems Corporation Low-cost non-imaging eye tracker system for computer control
US6503195B1 (en) 1999-05-24 2003-01-07 University Of North Carolina At Chapel Hill Methods and systems for real-time structured light depth extraction and endoscope using real-time structured light depth extraction
US6476834B1 (en) 1999-05-28 2002-11-05 International Business Machines Corporation Dynamic creation of selectable items on surfaces
US6873723B1 (en) 1999-06-30 2005-03-29 Intel Corporation Segmenting three-dimensional video images using stereo
US6738066B1 (en) 1999-07-30 2004-05-18 Electric Plant, Inc. System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display
US7113918B1 (en) 1999-08-01 2006-09-26 Electric Planet, Inc. Method for video enabled electronic commerce
US7050606B2 (en) 1999-08-10 2006-05-23 Cybernet Systems Corporation Tracking and gesture recognition system particularly suited to vehicular control applications
US6674877B1 (en) 2000-02-03 2004-01-06 Microsoft Corporation System and method for visually tracking occluded objects in real time
US6663491B2 (en) 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
US6633294B1 (en) 2000-03-09 2003-10-14 Seth Rosenthal Method and apparatus for using captured high density motion for animation
EP1152261A1 (en) 2000-04-28 2001-11-07 CSEM Centre Suisse d'Electronique et de Microtechnique SA Device and method for spatially resolved photodetection and demodulation of modulated electromagnetic waves
US6640202B1 (en) 2000-05-25 2003-10-28 International Business Machines Corporation Elastic sensor mesh system for 3-dimensional measurement, mapping and kinematics applications
US6731799B1 (en) 2000-06-01 2004-05-04 University Of Washington Object segmentation with background extraction and moving boundary techniques
KR100376112B1 (ko) 2000-06-26 2003-03-15 주식회사 시텍케이알 인터넷을 기반으로 하는 인체 합성 모델링 시스템 및제공방법
US6788809B1 (en) * 2000-06-30 2004-09-07 Intel Corporation System and method for gesture recognition in three dimensions using stereo imaging and color vision
JP2002058045A (ja) 2000-08-08 2002-02-22 Komatsu Ltd 現実の物体をバーチャル3次元空間に登場させるためのシステム及び方法
US20020024517A1 (en) 2000-07-14 2002-02-28 Komatsu Ltd. Apparatus and method for three-dimensional image production and presenting real objects in virtual three-dimensional space
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US7058204B2 (en) 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
US7039676B1 (en) 2000-10-31 2006-05-02 International Business Machines Corporation Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session
US6567536B2 (en) * 2001-02-16 2003-05-20 Golftec Enterprises Llc Method and system for physical motion analysis
US7116330B2 (en) 2001-02-28 2006-10-03 Intel Corporation Approximating motion using a three-dimensional model
FR2822573B1 (fr) 2001-03-21 2003-06-20 France Telecom Procede et systeme de reconstruction a distance d'une surface
US6539931B2 (en) 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
US7363199B2 (en) 2001-04-25 2008-04-22 Telekinesys Research Limited Method and apparatus for simulating soft object movement
US20020164067A1 (en) 2001-05-02 2002-11-07 Synapix Nearest neighbor edge selection from feature tracking
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US8035612B2 (en) 2002-05-28 2011-10-11 Intellectual Ventures Holding 67 Llc Self-contained interactive video display system
US7259747B2 (en) 2001-06-05 2007-08-21 Reactrix Systems, Inc. Interactive video display system
JP3420221B2 (ja) 2001-06-29 2003-06-23 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置及びプログラム
US7274800B2 (en) * 2001-07-18 2007-09-25 Intel Corporation Dynamic gesture recognition from stereo sequences
US6937742B2 (en) 2001-09-28 2005-08-30 Bellsouth Intellectual Property Corporation Gesture activated home appliance
RU2237284C2 (ru) * 2001-11-27 2004-09-27 Самсунг Электроникс Ко., Лтд. Способ генерирования структуры узлов, предназначенных для представления трехмерных объектов с использованием изображений с глубиной
US20040017369A1 (en) 2002-01-22 2004-01-29 Hultgren Bruce Willard Method and apparatus for computer generation of electronic model images
US6990639B2 (en) * 2002-02-07 2006-01-24 Microsoft Corporation System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration
ATE321689T1 (de) 2002-04-19 2006-04-15 Iee Sarl Sicherheitsvorrichtung für ein fahrzeug
US7710391B2 (en) 2002-05-28 2010-05-04 Matthew Bell Processing an image utilizing a spatially varying pattern
US7170492B2 (en) 2002-05-28 2007-01-30 Reactrix Systems, Inc. Interactive video display system
US7348963B2 (en) 2002-05-28 2008-03-25 Reactrix Systems, Inc. Interactive video display system
US7489812B2 (en) 2002-06-07 2009-02-10 Dynamic Digital Depth Research Pty Ltd. Conversion and encoding techniques
US7646372B2 (en) 2003-09-15 2010-01-12 Sony Computer Entertainment Inc. Methods and systems for enabling direction detection when interfacing with a computer program
JP3760347B2 (ja) * 2002-07-30 2006-03-29 株式会社光栄 プログラム、記録媒体、ゲームキャラクタ描画方法及びゲーム装置
US6919892B1 (en) 2002-08-14 2005-07-19 Avaworks, Incorporated Photo realistic talking head creation system and method
US7576727B2 (en) 2002-12-13 2009-08-18 Matthew Bell Interactive directed light/sound system
JP4235729B2 (ja) 2003-02-03 2009-03-11 国立大学法人静岡大学 距離画像センサ
US9177387B2 (en) 2003-02-11 2015-11-03 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture
US7257237B1 (en) * 2003-03-07 2007-08-14 Sandia Corporation Real time markerless motion tracking using linked kinematic chains
US8745541B2 (en) * 2003-03-25 2014-06-03 Microsoft Corporation Architecture for controlling a computer using hand gestures
DE602004006190T8 (de) 2003-03-31 2008-04-10 Honda Motor Co., Ltd. Vorrichtung, Verfahren und Programm zur Gestenerkennung
US8072470B2 (en) 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment
WO2004107266A1 (en) 2003-05-29 2004-12-09 Honda Motor Co., Ltd. Visual tracking using depth data
JP4546956B2 (ja) 2003-06-12 2010-09-22 本田技研工業株式会社 奥行き検出を用いた対象の向きの推定
US7263209B2 (en) 2003-06-13 2007-08-28 Sarnoff Corporation Vehicular vision system
US7068815B2 (en) 2003-06-13 2006-06-27 Sarnoff Corporation Method and apparatus for ground detection and removal in vision systems
US7536032B2 (en) 2003-10-24 2009-05-19 Reactrix Systems, Inc. Method and system for processing captured image information in an interactive video display system
US20050215319A1 (en) 2004-03-23 2005-09-29 Harmonix Music Systems, Inc. Method and apparatus for controlling a three-dimensional character in a three-dimensional gaming environment
CN100573548C (zh) 2004-04-15 2009-12-23 格斯图尔泰克股份有限公司 跟踪双手运动的方法和设备
US7308112B2 (en) 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
US7704135B2 (en) 2004-08-23 2010-04-27 Harrison Jr Shelton E Integrated game system, method, and device
US20060055706A1 (en) 2004-09-15 2006-03-16 Perlman Stephen G Apparatus and method for capturing the motion of a performer
KR20060070280A (ko) 2004-12-20 2006-06-23 한국전자통신연구원 손 제스처 인식을 이용한 사용자 인터페이스 장치 및 그방법
HUE049974T2 (hu) 2005-01-07 2020-11-30 Qualcomm Inc Képeken lévõ objektumok észlelése és követése
WO2006074310A2 (en) 2005-01-07 2006-07-13 Gesturetek, Inc. Creating 3d images of objects by illuminating with infrared patterns
CN101137996A (zh) 2005-01-07 2008-03-05 格斯图尔泰克股份有限公司 基于光流的倾斜传感器
EP1851750A4 (en) 2005-02-08 2010-08-25 Oblong Ind Inc SYSTEM AND METHOD FOR CONTROL SYSTEM BASED ON GESTURES
US7492367B2 (en) * 2005-03-10 2009-02-17 Motus Corporation Apparatus, system and method for interpreting and reproducing physical motion
JP4686595B2 (ja) * 2005-03-17 2011-05-25 本田技研工業株式会社 クリティカルポイント解析に基づくポーズ推定
EP1886509B1 (en) 2005-05-17 2017-01-18 Qualcomm Incorporated Orientation-sensitive signal output
EP1752748B1 (en) 2005-08-12 2008-10-29 MESA Imaging AG Highly sensitive, fast pixel for use in an image sensor
US20080026838A1 (en) 2005-08-22 2008-01-31 Dunstan James E Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games
EP1946203A2 (en) * 2005-10-26 2008-07-23 Sony Computer Entertainment America, Inc. System and method for interfacing with a computer program
US7450736B2 (en) 2005-10-28 2008-11-11 Honda Motor Co., Ltd. Monocular tracking of 3D human motion with a coordinated mixture of factor analyzers
US7536030B2 (en) 2005-11-30 2009-05-19 Microsoft Corporation Real-time Bayesian 3D pose tracking
US20070159455A1 (en) * 2006-01-06 2007-07-12 Ronmee Industrial Corporation Image-sensing game-controlling device
KR101408959B1 (ko) 2006-03-14 2014-07-02 프라임센스 엘티디. 삼차원 감지를 위한 깊이 가변 광 필드
US8766983B2 (en) * 2006-05-07 2014-07-01 Sony Computer Entertainment Inc. Methods and systems for processing an interchange of real time effects during video communication
US7852338B1 (en) 2006-06-08 2010-12-14 Pixar Velocity drag: shape preservation of simulated objects in computer animation
US7864181B1 (en) 2006-06-08 2011-01-04 Pixar Shape friction: shape preservation of simulated objects in computer animation
US7864180B1 (en) 2006-06-09 2011-01-04 Pixar Methods and apparatus for auto-scaling properties of simulated objects
US7907750B2 (en) 2006-06-12 2011-03-15 Honeywell International Inc. System and method for autonomous object tracking
US7701439B2 (en) 2006-07-13 2010-04-20 Northrop Grumman Corporation Gesture recognition simulation system and method
EP2050067A1 (en) 2006-08-03 2009-04-22 Alterface S.A. Method and device for identifying and extracting images of multiple users, and for recognizing user gestures
JP5395323B2 (ja) 2006-09-29 2014-01-22 ブレインビジョン株式会社 固体撮像素子
TWI321297B (en) 2006-09-29 2010-03-01 Ind Tech Res Inst A method for corresponding, evolving and tracking feature points in three-dimensional space
US8023726B2 (en) 2006-11-10 2011-09-20 University Of Maryland Method and system for markerless motion capture using multiple cameras
US7778446B2 (en) 2006-12-06 2010-08-17 Honda Motor Co., Ltd Fast human pose estimation using appearance and motion via multi-dimensional boosting regression
US8351646B2 (en) * 2006-12-21 2013-01-08 Honda Motor Co., Ltd. Human pose estimation and tracking using label assignment
US7412077B2 (en) 2006-12-29 2008-08-12 Motorola, Inc. Apparatus and methods for head pose estimation and head gesture detection
US7971156B2 (en) 2007-01-12 2011-06-28 International Business Machines Corporation Controlling resource access based on user gesturing in a 3D captured image stream of the user
KR20090130003A (ko) 2007-03-02 2009-12-17 오가닉 모션 삼차원 물체를 트래킹하기 위한 시스템 및 방법
US7729530B2 (en) 2007-03-03 2010-06-01 Sergey Antonov Method and apparatus for 3-D data input to a personal computer with a multimedia oriented operating system
US7872653B2 (en) 2007-06-18 2011-01-18 Microsoft Corporation Mesh puppetry
US7965866B2 (en) 2007-07-03 2011-06-21 Shoppertrak Rct Corporation System and process for detecting, tracking and counting human objects of interest
US8726194B2 (en) * 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
US7852262B2 (en) 2007-08-16 2010-12-14 Cybernet Systems Corporation Wireless mobile indoor/outdoor tracking system
JP4872113B2 (ja) 2007-09-10 2012-02-08 株式会社ワコム 位置検出装置
US7970176B2 (en) 2007-10-02 2011-06-28 Omek Interactive, Inc. Method and system for gesture classification
US8419545B2 (en) 2007-11-28 2013-04-16 Ailive, Inc. Method and system for controlling movements of objects in a videogame
US20090221368A1 (en) * 2007-11-28 2009-09-03 Ailive Inc., Method and system for creating a shared game space for a networked game
GB2455316B (en) * 2007-12-04 2012-08-15 Sony Corp Image processing apparatus and method
US7925081B2 (en) 2007-12-12 2011-04-12 Fuji Xerox Co., Ltd. Systems and methods for human body pose estimation
US8159458B2 (en) 2007-12-13 2012-04-17 Apple Inc. Motion tracking user interface
US9098766B2 (en) 2007-12-21 2015-08-04 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
US8696458B2 (en) 2008-02-15 2014-04-15 Thales Visionix, Inc. Motion tracking system and method using camera and non-camera sensors
US9772689B2 (en) * 2008-03-04 2017-09-26 Qualcomm Incorporated Enhanced gesture-based image manipulation
CN101256673A (zh) 2008-03-18 2008-09-03 中国计量学院 用于在实时视频跟踪系统中跟踪手臂运动的方法
US8075942B1 (en) 2008-03-21 2011-12-13 Nanoport Technologies Microengineered optical filters that closely match predefined transmission curves and systems and methods of manufacture
CN101254344B (zh) 2008-04-18 2010-06-16 李刚 场地方位与显示屏点阵按比例相对应的游戏装置和方法
CN101271581A (zh) * 2008-04-25 2008-09-24 浙江大学 建立个性化的三维人体模型
CN201188667Y (zh) * 2008-04-30 2009-01-28 北京工业大学 一种基线长度自动调节的双目立体摄像机
US20090280901A1 (en) 2008-05-09 2009-11-12 Dell Products, Lp Game controller device and methods thereof
CN201254344Y (zh) 2008-08-20 2009-06-10 中国农业科学院草原研究所 植物标本及种子存贮器
WO2010038693A1 (ja) * 2008-10-01 2010-04-08 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
EP2209091B1 (en) * 2009-01-16 2012-08-08 Honda Research Institute Europe GmbH System and method for object motion detection based on multiple 3D warping and vehicle equipped with such system
US7996793B2 (en) * 2009-01-30 2011-08-09 Microsoft Corporation Gesture recognizer system architecture
US8278571B2 (en) 2009-04-03 2012-10-02 Pixart Imaging Inc. Capacitive touchscreen or touchpad for finger and active stylus
KR101073309B1 (ko) 2009-11-24 2011-10-12 삼성모바일디스플레이주식회사 터치 스크린 시스템 및 그 구동방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007010893A1 (ja) 2005-07-19 2007-01-25 Nec Corporation 関節物体位置姿勢推定装置及びその方法ならびにプログラム

Also Published As

Publication number Publication date
RU2530334C2 (ru) 2014-10-10
EP2391988A2 (en) 2011-12-07
US20100197399A1 (en) 2010-08-05
CA2748557C (en) 2016-06-28
CN102301313B (zh) 2013-10-30
US9039528B2 (en) 2015-05-26
US20120077591A1 (en) 2012-03-29
RU2011132029A (ru) 2013-02-10
EP2391988A4 (en) 2017-12-20
KR20110117114A (ko) 2011-10-26
EP2391988B1 (en) 2022-06-08
WO2010088032A3 (en) 2010-09-23
US8267781B2 (en) 2012-09-18
WO2010088032A2 (en) 2010-08-05
BRPI1006111A2 (pt) 2016-02-16
JP2012516504A (ja) 2012-07-19
JP5227463B2 (ja) 2013-07-03
CN102301313A (zh) 2011-12-28
CA2748557A1 (en) 2010-08-05

Similar Documents

Publication Publication Date Title
KR101619562B1 (ko) 시각적 타깃 추적
US9842405B2 (en) Visual target tracking
US7974443B2 (en) Visual target tracking using model fitting and exemplar
US8577084B2 (en) Visual target tracking
US8565476B2 (en) Visual target tracking
US8682028B2 (en) Visual target tracking
US8577085B2 (en) Visual target tracking
US8565477B2 (en) Visual target tracking

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 4