KR20120093197A - 인간 트래킹 시스템 - Google Patents

인간 트래킹 시스템 Download PDF

Info

Publication number
KR20120093197A
KR20120093197A KR1020127008854A KR20127008854A KR20120093197A KR 20120093197 A KR20120093197 A KR 20120093197A KR 1020127008854 A KR1020127008854 A KR 1020127008854A KR 20127008854 A KR20127008854 A KR 20127008854A KR 20120093197 A KR20120093197 A KR 20120093197A
Authority
KR
South Korea
Prior art keywords
analysis
tracking system
target recognition
voxel
depth image
Prior art date
Application number
KR1020127008854A
Other languages
English (en)
Other versions
KR101722147B1 (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 KR20120093197A publication Critical patent/KR20120093197A/ko
Application granted granted Critical
Publication of KR101722147B1 publication Critical patent/KR101722147B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods 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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/422Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
    • G06V10/426Graphical representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • 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/215Input arrangements for video game devices characterised by their sensors, purposes or types comprising means for detecting acoustic signals, e.g. using a microphone
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • 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/1068Features 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 being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
    • A63F2300/1075Features 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 being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad using a touch screen
    • 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/50Features 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 details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • 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/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Position Input By Displaying (AREA)

Abstract

장면의 깊이 이미지 등의 이미지가 장치에 의해 수신, 관찰 또는 캡쳐될 수 있다. 다음으로 복셀 격자가 깊이 이미지에 근거하여 생성되어 깊이 이미지가 다운샘플링될 수 있다. 복셀 격자에 포함된 배경이 제거되어, 인간 타겟 등의 전경 사물에 연관된 하나 이상의 복셀을 분리할 수 있다. 분리된 인간 타겟의 하나 이상의 말단의 위치 또는 포지션이 결정되고, 그 하나 이상의 말단의 위치 또는 포지션에 근거하여 모델이 조정될 수 있다.

Description

인간 트래킹 시스템{HUMAN TRACKING SYSTEM}
컴퓨터 게임, 멀티미디어 애플리케이션을 비롯한 각종 컴퓨팅 애플리케이션에서 사용자는 컨트롤(controls)을 통해 게임 캐릭터나 애플리케이션의 기타 양태들을 조종한다. 통상적으로 이런 컨트롤은 컨트롤러, 리모콘, 키보드, 마우스 등을 사용하여 입력된다. 불행히도, 이런 컨트롤은 배우기가 어려워, 사용자와 이런 게임이나 애플리케이션 간에 벽을 생기게 할 수 있다. 또한, 이러한 컨트롤은 이 컨트롤이 사용된 실제 게임 동작이나 기타 애플리케이션 동작과 다를 수 있다. 예를 들어, 게임 캐릭터가 야구 방망이를 휘두르게 하는 게임 제어가 실제로 야구 방망이를 휘두르는 모션과 일치하지 않을 수 있다.
한 장면에서 사용자를 트래킹하는 시스템 및 방법이 본원에 개시된다. 예를 들어, 장면의 깊이 이미지(depth image) 등의 이미지를 수신하고 관찰한다. 이후에, 깊이 이미지에 기반하여 복셀 격자(grid of voxels)를 생성하여, 깊이 이미지를 다운샘플링할 수 있다(downsample). 예를 들어, 깊이 이미지는 부분 또는 블록으로 나뉘는 복수 개의 화소를 포함할 수 있다. 이후에 각 부분 또는 블록에 대해 복셀을 생성하여, 수신된 깊이 이미지를 복셀 격자로 다운샘플링할 수 있다.
일 실시예에 따르면, 복셀 격자에 포함된 배경을 제거하여, 인간 타겟과 같은 전경(foreground) 사물에 관련된 하나 이상의 복셀을 분리할 수 있다(isolate). 분리된 인간 타겟의 중심(centroid) 또는 중앙, 머리, 어깨, 엉덩이, 팔, 손, 팔꿈치, 다리, 발, 무릎 등 하나 이상의 말단(extremities)의 위치나 포지션을 결정할 수 있다. 또한, 말단의 폭, 길이 등을 포함하는 치수를 비롯한 크기(dimensions)를 결정할 수 있다.
다음으로, 하나 이상의 말단 및/또는 그에 따라 결정된 크기를 기초로 하여 모델을 조정할 수 있다. 예를 들어, 모델은 관절 및/또는 뼈를 포함하는 골격 모델일 수 있다. 하나 이상의 관절이 그에 해당하는 하나 이상의 말단의 위치나 포지션에 할당되고, 또는 그 사이에 정의된 뼈가 그에 해당하는 하나 이상의 말단의 크기로 조정되도록, 모델의 하나 이상의 관절을 조정할 수 있다.
조정된 모델을 처리할 수 있다. 예를 들어, 일 실시예에서, 조정된 모델을 아바타(avatar)나 게임 캐릭터에 매핑하여, 그 아바타나 게임 캐릭터가 사용자를 흉내 내도록 애니메이션화하거나, 또는 모델의 각종 신체 부위의 포지션에 기반하여 애플리케이션에서 수행될 컨트롤을 결정하는 데 사용가능한 컴퓨팅 환경의 제스처 라이브러리에 조정된 모델을 제공할 수 있다.
본 요약은 아래의 상세한 설명에서 추가적으로 설명되는 일련의 개념을 간략화된 형태로 소개하기 위한 것이다. 본 요약은 특허청구된 대상의 핵심적인 특징 또는 필수적인 특징을 밝히기 위한 것이 아니며, 특허청구된 대상의 범위를 결정하는 데 일조하기 위해 사용되는 것도 아니다. 또한, 특허청구된 대상은 본 내용에서 언급된 임의의 또는 모든 단점들을 해결하는 구현에 한정되지 않는다.
도 1a 및 1b는 게임을 하는 사용자가 있는 타겟 인식, 분석 및 트래킹 시스템의 일 실시예가 도시된다.
도 2는 타겟 인식, 분석 및 트래킹 시스템에 사용가능한 캡쳐 장치의 예시적인 실시예를 도시한다.
도 3은 타겟 인식, 분석 및 트래킹 시스템에서 하나 이상의 제스처를 해석하고, 또한 타겟 인식, 분석 및 트래킹 시스템에 의해 디스플레이되는 아바타나 온-스크린(on-screen) 캐릭터를 애니메이션화하는 데 사용가능한 컴퓨팅 환경의 예시적인 실시예를 도시한다.
도 4는 타겟 인식, 분석 및 트래킹 시스템에서 하나 이상의 제스처를 해석하고, 또한 타겟 인식, 분석 및 트래킹 시스템에 의해 디스플레이되는 아바타나 온-스크린(on-screen) 캐릭터를 애니메이션화하는 데 사용가능한 컴퓨팅 환경의 다른 실시예를 도시한다.
도 5는 한 장면의 사용자를 트래킹하는 예시적인 방법의 순서도를 도시한다.
도 6은 캡쳐되거나 관찰되는 깊이 이미지의 예시적인 실시예를 도시한다.
도 7a 및 7b는 다운샘플링되는 깊이 이미지의 일부의 예시적인 실시예를 도시한다.
도 8은 인간 타겟에 대해 추정되는 중심 또는 중앙의 예시적인 실시예를 도시한다.
도 9는 중심부 부피(core volume)를 결정하기 위해 정의되는 경계 상자(bounding box)의 예시적인 실시예를 도시한다.
도 10은 머리 후보(head candidate)의 점수를 매기기 위해(score) 생성되는 머리 원기둥(head cylinder) 및 상체 원기둥(torso cylinder)의 예시적인 실시예를 도시한다.
도 11은 머리와 인간 타겟의 중심 또는 중앙에 기반한 헤드-투-센터(head-to-center) 벡터의 예시적인 실시예를 도시한다.
도 12는 헤드-투-센터 벡터에 근거하여 결정된 어깨 부피 상자(volume box) 및 엉덩이 부피 상자의 예시적인 실시예를 도시한다.
도 13은 어깨 부피 상자 및 엉덩이 부피 상자에 근거하여 계산된 어깨 및 엉덩이의 일 실시예를 도시한다.
도 14는 중심부 부피를 나타내는 원기둥의 예시적인 실시예를 도시한다.
도 15(a) - 15(c)는 앵커 포인트(anchor points)에 근거하여 결정되는 손의 예시적인 실시예를 도시한다.
도 16은 팔과 다리의 평균 포지션(average positions) 및/또는 앵커 포인트에 근거하여 결정되는 손과 발의 예시적인 실시예를 도시한다.
도 17은 생성가능한 모델의 예시적인 실시예를 도시한다.
도 1a 및 1b는 복싱 게임을 하는 사용자(18)가 있는 타겟 인식, 분석 및 트래킹 시스템(10)의 구성에 대한 예시적인 실시예를 도시한다. 예시적인 실시예에서, 타겟 인식, 분석 및 트래킹 시스템(10)을 사용하여 사용자(18) 등의 인간 타겟을 인식, 분석 및/또는 트래킹할 수 있다.
도 1a에 도시된 바와 같이, 타겟 인식, 분석 및 트래킹 시스템(10)은 컴퓨팅 환경(12)을 포함할 수 있다. 컴퓨팅 환경(12)은 컴퓨터, 게임 시스템 또는 콘솔 등일 수 있다. 예시적인 실시예에 따르면, 컴퓨팅 환경(12)은 게임 애플리케이션, 비게임 애플리케이션 등의 애플리케이션들을 실행하는 데에 사용될 수 있도록 하드웨어 컴포넌트 및/또는 소프트웨어 컴포넌트들을 포함할 수 있다. 일 실시예에서, 컴퓨팅 환경(12)은 예를 들어, 깊이 이미지를 수신하고, 그 깊이 이미지에 근거하여 복셀 격자를 생성하고, 복셀 격자에 포함된 배경을 제거하여 인간 타겟에 관련된 하나 이상의 복셀을 분리하고, 분리된 인간 타겟의 하나 이상의 말단의 위치나 포지션을 결정하여, 그 하나 이상의 말단의 위치나 포지션에 근거하여 모델을 조정하기 위한 인스트럭션 또는 그 밖의 임의의 적절한 인스트럭션을 포함하는 인스트럭션을 실행할 수 표준화된 프로세서, 특화된 프로세서, 마이크로프로세서 등의 프로세서를 포함할 수 있으며, 이는 아래에서 보다 상세하게 설명될 것이다.
도 1a에 도시된 바와 같이, 타겟 인식, 분석 및 트래킹 시스템(10)은 캡쳐 장치(20)를 더 포함할 수 있다. 캡쳐 장치(20)는 예를 들어, 사용자(18)를 비롯한 한 명 이상의 사용자들을 시각적으로 모니터링하여, 이 사용자들이 행하는 제스처 및/또는 움직임을 캡쳐, 분석 및 트래킹하여 애플리케이션 내의 여러 컨트롤이나 동작을 실행하거나 또는 아바타나 온-스크린 캐릭터를 애니메이션화할 수 있는 카메라일 수 있으며, 이는 아래에서 보다 상세하게 설명될 것이다.
일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템(10)은 사용자(18) 등의 사용자에게 게임 또는 애플리케이션 비주얼 및/또는 오디오를 제공하는 텔레비전, 모니터, HDTV(high-definition television) 등의 오디오비주얼 장치(audiovisual device, 16)에 연결될 수 있다. 예를 들어, 컴퓨팅 환경(12)은 게임 애플리케이션, 비게임 애플리케이션 등과 관련된 오디오비주얼 신호를 제공하는 그래픽 카드 등의 비디오 어댑터 및/또는 사운드 카드 등의 오디오 어댑터를 포함할 수 있다. 오디오비주얼 장치(16)는 컴퓨팅 환경(12)으로부터 오디오비주얼 신호를 수신하여, 이 오디오비주얼 신호와 관련된 게임 또는 애플리케이션의 비주얼 및/또는 오디오를 사용자(18)에게 제공한다. 일 실시예에 따르면, 오디오비주얼 장치(16)는 예를 들어, S-Video 케이블, 동축 케이블, HDMI 케이블, DVI 케이블, VGA 케이블 등을 통해 컴퓨팅 환경(12)에 연결될 수 있다.
도 1a 및 1b에 도시된 바와 같이, 타겟 인식, 분석 및 트래킹 시스템(10)을 사용하여 사용자(18) 등의 인간 타겟을 인식, 분석 및/또는 트래킹할 수 있다. 예를 들어, 사용자(18)를 캡쳐 장치(20)를 통해 트래킹하여, 사용자(18)의 제스쳐 및/또는 움직임을 캡쳐하여 아바타나 온-스크린 캐릭터를 애니메이션화할 수 있고 또는 이러한 제스쳐 및/또는 움직임이 컴퓨터 환경(12)에서 실행 중인 애플리케이션에 영향을 주는 제어로써 해석될 수 있다. 따라서, 일 실시예에 따르면, 사용자(18)는 자신의 몸을 움직여 애플리케이션을 제어하거나, 또는 아바타나 온-스크린 캐릭터를 애니메이션화할 수 있다.
도 1a 및 1b에 도시된 바와 같이, 예시적인 실시예에서, 컴퓨팅 환경(12)에서 실행되는 애플리케이션이 사용자(18)가 플레이하고 있는 복싱 게임일 수 있다. 예를 들어, 컴퓨팅 환경(12)은 오디오비주얼 장치(16)를 사용하여 사용자에게 복싱 상대(38)의 비주얼 형상(visual representation)을 제공할 수 있다. 컴퓨팅 환경(12)은 오디오비주얼 장치(16)를 사용하여, 사용자(18)가 그 자신의 움직임으로 제어할 수 있는 플레이어 아바타(40)의 비주얼 형상을 제공할 수도 있다. 예를 들어, 도 1b에 도시된 바와 같이, 사용자(18)는 물리적 공간에서 펀치를 날려, 플레이어 아바타(40)가 게임 공간에서 펀치를 날리게 할 수 있다. 따라서, 예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템(10)의 컴퓨팅 환경(12) 및 캡쳐 장치(20)를 사용하여 물리적 공간에서의 사용자(18)의 펀치를 인식하고 분석하여, 그 펀치가 게임 공간에서 플레이어 아바타(40)의 게임 제어로 해석되거나 또는, 펀치의 모션이 게임 공간에서 플레이어 아바타(40)를 애니메이션화하는 데 사용될 수 있다.
또한, 사용자(18)의 다른 움직임들은 예를 들어, 보빙(bob), 위빙(weave), 셔플(shuffle), 블록(block), 잽(jab)을 하거나 또는 다양한 다른 파워 펀치들을 날리기 위한 컨트롤과 같이, 다른 컨트롤이나 동작으로 해석되거나 또는, 플레이어 아바타를 애니메이션화하는 데 사용될 수 있다. 나아가, 일부 움직임들은 플레이어 아바타(40)의 제어가 아닌 동작들에 해당하는 컨트롤로 해석될 수 있다. 예를 들어, 플레이어가 움직임을 통해 게임의 종료, 일시 중지 또는 저장, 레벨 선택, 최고점 보기, 친구와의 통신 등을 할 수 있다. 다른 실시예에 따르면, 플레이어는 움직임을 사용하여 메인 사용자 인터페이스로부터 게임 또는 다른 애플리케이션을 선택할 수 있다. 또한, 사용자(18)의 모든 움직임이 애플리케이션과 인터랙션하도록 적절한 방식으로 이용 가능, 사용 및 분석될 수 있다.
예시적인 실시예에서, 사용자(18) 등의 인간 타겟은 사물(object)을 가질 수 있다. 이러한 실시예에서는, 전자 게임의 사용자가 사물을 쥐어, 플레이어와 사물의 모션이 게임의 파라미터를 조정 및/또는 제어하는 데에 사용될 수 있다. 예를 들어, 라켓을 쥔 플레이어의 모션이 트래킹되어, 전자 스포츠 게임의 온-스크린 라켓을 제어하는 데에 이용될 수 있다. 또 다른 실시예에서, 사물을 쥐고 있는 플레이어의 모션이 트래킹되어, 전자 컴뱃 게임에서 온-스크린 무기를 제어하는 데에 이용될 수 있다.
다른 예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템(10)은 타겟 움직임을 게임 세상 밖에 있는 운영 체제 및/또는 애플리케이션의 컨트롤로 해석할 수 있다. 예를 들어, 운영 체제 및/또는 애플리케이션의 제어가능한 사실상 모든 양태가 사용자(18) 등의 타겟의 움직임에 의해 제어될 수 있다.
도 2는 타겟 인식, 분석 및 트래킹 시스템(10)에서 사용되는 캡쳐 장치(20)의 예시적인 실시예를 도시한다. 예시적인 실시예에 따르면, 캡쳐 장치(20)는 비행 시간(time-of-flight), 구조광(structured light), 스테레오 이미지 등을 포함하는 적절한 임의의 기술을 통해, 깊이 값을 포함하는 깊이 이미지 등 깊이 정보가 있는 비디오를 캡쳐하도록 구성될 수 있다. 일 실시예에 따르면, 캡쳐 장치(20)는 "Z 레이어들", 또는 깊이 카메라로부터 시선(line of sight)을 따라 연장되는 Z 축에 수직인 레이어들로 깊이 정보를 체계화시킬 수 있다.
도 2에 도시된 바와 같이 캡쳐 장치(20)는 이미지 카메라 컴포넌트(22)를 포함할 수 있다. 일 실시예에 따르면, 이미지 카메라 컴포넌트(22)는 장면의 깊이 이미지를 캡쳐하는 깊이 카메라일 수 있다. 깊이 이미지는 캡쳐된 장면의 2-D(two-dimensional) 화소 영역을 포함할 수 있고, 2-D 화소 영역의 각 화소는 카메라로부터 캡쳐된 장면에서 사물의 길이 또는 거리 등의 깊이 값을 센티미터, 밀리미터 등으로 나타낼 수 있다.
도 2에 도시된 바와 같이, 예시적인 실시예에 따르면, 이미지 카메라 컴포넌트(22)는 장면의 깊이 이미지를 캡쳐하기 위해 사용되는 적외선 컴포넌트(IR light component, 24), 3-D(three-dimensional) 카메라(26) 및 RGB 카메라(28)를 포함할 수 있다. 예를 들면, 비행 시간 분석법에서는, 캡쳐 장치(20)의 적외선 컴포넌트(24)가 장면으로 적외선을 내보내고, 센서들(도시되지 않음)을 사용하여 3-D 카메라(26) 및/또는 RGB 카메라(28)를 사용한 장면의 하나 이상의 타겟 및 사물들의 표면으로부터 후방 산란되는 빛을 검출한다. 몇몇 실시예에서는, 펄스 적외선(pulsed infrared light)을 사용하여, 나가는 광 펄스와 이에 대응하여 들어오는 광 펄스 간의 시간을 측정하고, 이를 사용하여 캡쳐 장치(20)로부터 장면의 타겟 또는 사물들의 특정 지점까지의 물리적인 거리를 결정할 수 있다. 또한, 또 다른 예시적인 실시예에서는, 나가는 광파의 위상과 들어오는 광파의 위상을 비교하여 위상 변위(phase shift)를 결정할 수 있다. 이후, 이 위상 변위를 사용하여 캡쳐 장치로부터 타겟 또는 사물의 특정 지점까지의 물리적인 거리를 결정할 수 있다.
또 다른 예시적인 실시예에 따르면, 비행 시간 분석법을 사용하여 셔터 광 펄스 이미징(shuttered light pulse imaging)을 포함하는 다양한 기술을 통해 시간에 따른 반사광의 강도를 분석함으로써 캡쳐 장치(20)로부터 타겟 또는 사물의 특정 지점까지의 물리적인 거리를 간접적으로 결정할 수 있다.
또 다른 예시적인 실시예에 따르면, 캡쳐 장치(20)는 구조광을 사용하여 깊이 정보를 캡쳐할 수 있다. 이러한 분석법에서는, 패턴화된 광(즉, 격자 패턴이나 스트라이프 패턴과 같이 공지된 패턴으로 디스플레이되는 광)이 적외선 컴포넌트(24)를 통해 장면에 투사될 수 있다. 그 장면의 하나 이상의 타겟 또는 사물의 표면에 부딪치면, 패턴이 그에 따라 변형되게 된다. 이러한 패턴의 변형이 예컨대, 3-D 카메라(26) 및/또는 RGB 카메라(28)에 의해 캡쳐된 후에 분석되어, 캡쳐 장치(20)로부터 타겟 또는 사물의 특정 지점까지의 물리적인 거리를 결정할 수 있다.
또 다른 실시예에 따르면, 캡쳐 장치(20)는, 깊이 정보의 생성을 위해 분석되는 비주얼 스테레오 데이터를 얻기 위해 각기 다른 각도에서 장면을 볼 수 있는 물리적으로 분리된 둘 이상의 카메라들을 포함할 수 있다.
캡쳐 장치(20)는 마이크(30)를 더 포함할 수 있다. 마이크(30)는 소리를 수신하여 이를 전기 신호로 변환하는 변환기(transducer) 또는 센서를 포함할 수 있다. 일 실시예에 따르면, 마이크(30)는 타겟 인식, 분석 및 트래킹 시스템(10)의 캡쳐 장치(20)와 컴퓨팅 환경(12) 사이의 피드백을 감소시키기 위해 사용할 수 있다. 게다가, 컴퓨팅 환경(12)에서 실행가능한 게임 애플리케이션, 비게임 애플리케이션 등의 애플리케이션들을 제어하기 위해 사용자로부터 제공되는 오디오 신호를 수신하기 위해 마이크(30)를 사용할 수 있다.
예시적인 실시예에서, 캡쳐 장치(20)는 이미지 카메라 컴포넌트(22)와 통신 가능한 논리 프로세서(32)를 더 포함할 수 있다. 프로세서(32)는 예를 들어, 깊이 이미지를 수신하고, 그 깊이 이미지에 근거하여 복셀 격자를 생성하고, 복셀 격자에 포함된 배경을 제거하여 인간 타겟에 관련된 하나 이상의 복셀을 분리하고, 분리된 인간 타겟의 하나 이상의 말단의 위치나 포지션을 결정하여, 그 하나 이상의 말단의 위치나 포지션에 근거하여 모델을 조정하기 위한 인스트럭션 또는 그 밖의 임의의 적절한 인스트럭션을 포함하는 인스트럭션들을 실행할 수 표준화된 프로세서, 특화된 프로세서, 마이크로프로세서 등을 포함할 수 있으며, 이는 아래에서 보다 상세하게 설명될 것이다.
캡쳐 장치(20)는, 프로세서(32)로 실행가능한 인스트럭션, 3-D 카메라 또는 RGB 카메라로 캡쳐된 이미지 또는 이미지 프레임, 또는 기타 임의의 적절한 정보, 이미지 등을 저장하는 메모리 컴포넌트(34)를 더 포함할 수 있다. 예시적인 실시예에 따르면, 메모리 컴포넌트(34)는 RAM(random access memory), ROM(read only memory), 캐시(cache), 플래시 메모리, 하드 디스크 또는 기타 적절한 저장 컴포넌트를 포함한다. 도 2에 도시된 바와 같이, 일 실시예에서, 메모리 컴포넌트(34)는 이미지 카메라 컴포넌트(22) 및 프로세서(32)와 통신하는 별개의 컴포넌트일 수 있다. 또 다른 실시예에 따르면, 메모리 컴포넌트(34)가 프로세서(32) 및/또는 이미지 카메라 컴포넌트(22)에 통합될 수도 있다.
도 2에 도시된 바와 같이, 캡쳐 장치(20)는 통신 링크(36)를 통해 컴퓨팅 환경(12)과 통신할 수 있다. 통신 링크(36)는 USB 연결, 파이어와이어(Firewire) 연결, 이더넷 케이블 연결 등을 포함하는 유선 연결 및/또는 무선 802.11 b, g, a 또는 n 연결 등의 무선 연결일 수 있다. 일 실시예에 따르면, 컴퓨팅 환경(12)은 장면을 언제 캡쳐할지를 결정하는 데에 사용되는 클럭을 통신 링크(36)를 통해 캡쳐 장치(20)로 제공할 수 있다.
또한, 캡쳐 장치(20)는 예를 들어, 3-D 카메라(26) 및/또는 RGB 카메라(28)에서 캡쳐되는 깊이 정보 및 이미지, 및/또는 캡쳐 장치(20)로부터 생성되는 골격 모델을 통신 링크(36)를 통해 컴퓨팅 환경(12)으로 제공할 수 있다. 이후에, 컴퓨팅 환경(12)은 모델, 깊이 정보 및 캡쳐된 이미지를 사용하여, 예컨대, 게임 또는 워드 프로세서 등의 애플리케이션을 제어하고 아바타 또는 온-스크린 캐릭터를 애니메이션화할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 컴퓨팅 환경(12)은 제스처 라이브러리(190)를 포함할 수 있다. 제스처 라이브러리(190)는 (사용자가 움직임에 따라) 골격 모델에 의해 실행되는 제스처에 관한 정보를 각각 포함하는 일련의 제스처 필터를 포함할 수 있다. 카메라(26, 28)와 캡쳐 장치(20)에 의해 캡쳐된 골격 모델 및 그에 연관된 움직임 형태의 데이터를 제스처 라이브러리(190)의 제스처 필터와 비교하여 (골격 모델로 표현된 바와 같이) 사용자가 하나 이상의 제스처를 언제 수행했는지를 식별할 수 있다. 이들 제스처는 애플리케이션의 각종 컨트롤에 연관될 수 있다. 따라서, 컴퓨팅 환경(12)은 제스처 라이브러리(190)를 사용하여 골격 모델의 움직임을 해석하고 그 움직임에 기반하여 애플리케이션을 제어할 수 있다.
도 3은 타겟 인식, 분석 및 트래킹 시스템에서 여러 제스처들을 해석하고 이 시스템에 의해 디스플레이되는 아바타 또는 온-스크린 캐릭터를 애니메이션화하는 데에 사용되는 컴퓨팅 환경의 예시적인 실시예를 도시한다. 도 1a - 2와 관련하여 전술한 컴퓨팅 환경(12) 등의 컴퓨팅 환경은 게임 콘솔과 같은 멀티미디어 콘솔(100)일 수 있다. 도 3에 도시된 바와 같이, 멀티미디어 콘솔(100)은, 레벨 1 캐시(102), 레벨 2 캐시(104) 및 플래시 ROM(Read Only Memory, 106)을 포함하는 CPU(central processing unit, 101)를 갖는다. 레벨 1 캐시(102) 및 레벨 2 캐시(104)는 임시로 데이터를 저장하여 메모리 액세스 사이클의 수를 감소시킴으로써, 처리 속도와 처리율을 향상시킨다. CPU(101)에는 하나 이상의 코어, 따라서 추가적인 레벨 1 및 레벨 2 캐시(102 및 104)가 제공될 수 있다. 플래시 ROM(106)은 멀티미디어 콘솔(100)의 전원이 켜질 때 부팅 프로세스(boot process)의 초기 단계 동안 로딩되는 실행가능 코드를 저장할 수 있다.
그래픽 처리 장치(GPU, 108)와 비디오 인코더/비디오 코덱(코더/디코더, 114)은 고속 및 고해상도 그래픽 처리를 위해 비디오 처리 파이프라인을 형성한다. 데이터는 버스를 통해 그래픽 처리 장치(108)에서 비디오 인코더/비디오 코덱(114)으로 전달된다. 비디오 처리 파이프라인은 텔레비전이나 다른 디스플레이로의 전송을 위해 A/V(오디오/비디오) 포트(140)로 데이터를 출력한다. 메모리 제어기(110)는 GPU(108)에 접속되어, RAM(Random Access Memory)과 같은, 하지만 이에 제한되지는 않는, 다양한 유형의 메모리(112)로의 프로세서의 액세스를 용이하게 한다.
멀티미디어 콘솔(100)은, 모듈(118)에서 바람직하게 구현되는 I/O 제어기(120), 시스템 관리 제어기(122), 오디오 처리 장치(123), 네트워크 인터페이스 제어기(124), 제 1 USB 호스트 제어기(126), 제 2 USB 제어기(128), 및 전면 패널 I/O 서브어셈블리(130)를 포함한다. USB 제어기들(126 및 128)은 주변 제어기들(142(1) - 142(2)), 무선 어댑터(148) 및 외부 메모리 장치(146, 예를 들어, 플래시 메모리, 외부 CD/DVD ROM 드라이브, 이동식 매체 등)를 위한 호스트들로서 기능한다. 네트워크 인터페이스(124) 및/또는 무선 어댑터(148)는 네트워크(예를 들어, 인터넷, 홈 네트워크 등)로의 액세스를 제공하고, 이더넷 카드, 모뎀, 블루투스 모듈, 케이블 모뎀 등을 포함하는 아주 다양한 유무선 어댑터 컴포넌트들 중 임의의 것일 수 있다.
시스템 메모리(143)는 부팅 프로세스 동안에 로딩되는 애플리케이션을 저장하기 위해 제공된다. 미디어 드라이브(144)가 제공되고, 이는 DVD/CD 드라이브, 하드 드라이브, 또는 다른 이동식 미디어 드라이브 등을 포함할 수 있다. 미디어 드라이브(144)는 멀티미디어 콘솔(100)의 내부 또는 외부에 있을 수 있다. 애플리케이션 데이터는 멀티미디어 콘솔(100)에 의한 실행, 재생 등을 위해 미디어 드라이브(144)를 통해 액세스될 수 있다. 미디어 드라이브(144)는, 직렬 ATA 버스 또는 기타 고속 접속(예를 들어, IEEE 1394)과 같은 버스를 통해 I/O 제어기(120)에 접속된다.
시스템 관리 제어기(122)는 멀티미디어 콘솔(100)의 가용성의 보장과 관련된 다양한 서비스 기능들을 제공한다. 오디오 처리 장치(123)와 오디오 코덱(132)은 고신뢰성과 스테레오 처리를 갖는 대응 오디오 처리 파이프라인을 형성한다. 오디오 데이터는 통신 링크를 통해 오디오 처리 장치(123)와 오디오 코덱(132) 사이에서 전달된다. 오디오 처리 파이프라인은 오디오 기능이 있는 외부 오디오 플레이어 또는 장치에 의한 재생을 위해 A/V 포트(140)로 데이터를 출력시킨다.
전면 패널 I/O 서브어셈블리(130)는 전원 버튼(150), 배출 버튼(eject button, 152), 및 멀티미디어 콘솔(100)의 외부 표면에 노출된 LED들(light emitting diodes) 또는 기타 인디케이터의 기능을 지원한다. 시스템 전원 모듈(136)은 멀티미디어 콘솔(100)의 컴포넌트들에 전력을 공급한다. 팬(fan, 138)은 멀티미디어 콘솔(100) 내의 회로를 냉각시킨다.
멀티미디어 콘솔(100) 내의 CPU(101), GPU(108), 메모리 제어기(110) 및 기타 다양한 컴포넌트들은 직렬 및 병렬 버스들, 메모리 버스, 주변장치 버스, 또는 다양한 버스 아키텍처들 중의 임의의 것을 사용하는 프로세서나 로컬 버스를 포함하는 하나 이상의 버스들을 통해 상호접속된다. 예를 들어, 이러한 아키텍쳐에는 PCI(Peripheral Component Interconnects) 버스, PCI 익스프레스(PCI-Express) 버스 등이 포함될 수 있다.
멀티미디어 콘솔(100)의 전원이 켜질 때, 시스템 메모리(143)로부터 애플리케이션 데이터가 메모리(112) 및/또는 캐시(102, 104)로 로딩되어, CPU(101)에서 실행될 수 있다. 애플리케이션은 멀티미디어 콘솔(100)에서 이용가능한 다른 미디어 유형들로 네비게이션할 때 일관된 사용자 경험을 제공하는 그래픽 사용자 인터페이스를 제공할 수 있다. 동작 시에는, 미디어 드라이브(144) 내에 포함된 애플리케이션들 및/또는 기타 미디어들이 미디어 드라이브(144)로부터 시작되거나 재생되어, 멀티미디어 콘솔(100)에 추가 기능들을 제공할 수 있다.
멀티미디어 콘솔(100)은 텔레비전이나 기타 디스플레이에 시스템을 단순히 접속시킴으로써 독립형 시스템으로서 동작할 수 있다. 이 독립형 모드에서, 멀티미디어 콘솔(100)은 한 명 이상의 사용자들이 시스템과 인터랙트하고, 영화를 보고, 음악을 듣게 하도록 할 수 있다. 그러나, 네트워크 인터페이스(124) 또는 무선 어댑터(148)를 통해 이용가능하게 된 통합 광대역 접속으로 인해, 멀티미디어 콘솔(100)은 보다 큰 네트워크 커뮤니티의 참가자로서 동작할 수도 있다.
멀티미디어 콘솔(100)의 전원이 켜지면, 설정량의 하드웨어 리소스들이 멀티미디어 콘솔 운영 체제에 의한 시스템 사용을 위해 예약된다. 이러한 리소스들은 메모리(예컨대, 16 MB), CPU 및 GPU 사이클(예컨대, 5 %), 네트워킹 대역폭(예컨대, 8 kbs) 등의 예약을 포함할 수 있다. 이러한 리소스들은 시스템 부팅 시간에 예약되기 때문에, 애플리케이션의 관점에서는 예약된 리소스들이 존재하지 않는다.
특히, 개시 커널(launch kernel), 동시(concurrent) 시스템 애플리케이션 및 드라이버를 포함할 수 있을 정도로 메모리 예약이 충분히 큰 것이 바람직하다. 예약된 CPU 사용량이 시스템 애플리케이션에서 사용되지 않는 경우, 휴지 쓰레드(idle thread)가 미사용 사이클들을 쓸 수 있도록 CPU 예약이 일정한 것이 바람직하다.
GPU 예약과 관련하여, 팝업(popup)이 오버레이(overlay)로 렌더링되도록 코드를 스케줄링하는 GPU 인터럽트를 사용하여 시스템 애플리케이션에서 생성되는 간단한 메시지(예컨대, 팝업)가 디스플레이된다. 오버레이에 필요한 메모리량은 오버레이 영역 크기에 따르며, 오버레이는 스크린 해상도에 맞춰 스케일링되는 것이 바람직하다. 동시 시스템 애플리케이션이 풀 유저 인터페이스(full user interface)를 사용하는 경우에는, 애플리케이션 해상도와는 별개의 해상도를 사용하는 것이 바람직하다. 주파수를 변경하고 TV를 재동기화시킬 필요가 없도록 이 해상도를 설정하기 위해, 스케일러가 사용될 수 있다.
멀티미디어 콘솔(100)이 부팅되고 시스템 리소스가 예약된 후에, 동시 시스템 애플리케이션이 실행되어 시스템 기능들을 제공한다. 시스템 기능들은, 상기에서 설명한 예약된 시스템 리소스들 내에서 실행되는 일련의 시스템 애플리케이션에서 캡슐화되어 있다. 운영 체제 커널은 시스템 애플리케이션 쓰레드인지 게임 애플리케이션 쓰레드인지를 식별한다. 일관적인 시스템 리소스 뷰를 애플리케이션에 제공하기 위해, 시스템 애플리케이션은 사전 설정된 시간 및 간격으로 CPU(101)에서 실행되도록 스케줄링되는 것이 바람직하다. 스케줄링은 콘솔에서 실행되는 게임 애플리케이션에 대한 캐시 중단을 최소화하기 위한 것이다.
동시 시스템 애플리케이션이 오디오를 필요로 할 때, 오디오 처리는 시간에 대한 민감도로 인해 게임 애플리케이션과 비동기적으로 스케줄링된다. 시스템 애플리케이션이 활성화될 때, 멀티미디어 콘솔 애플리케이션 관리자(이하에서 설명됨)는 게임 애플리케이션 오디오 레벨(예컨대, 음소거(mute), 감쇠(attenuate))을 제어한다.
게임 애플리케이션 및 시스템 애플리케이션은 입력 장치들(예컨대, 제어기(142(1) 및 142(2)))을 공유한다. 입력 장치들은 예약된 리소스들이 아니지만, 각 시스템 애플리케이션 및 게임 애플리케이션이 입력 장치의 포커스를 갖도록 애플리케이션들 사이에서 스위칭될 것이다. 애플리케이션 관리자는 게임 애플리케이션에 대한 정보 없이 입력 스트림의 스위칭을 제어하는 것이 바람직하며, 드라이버는 포커스 스위치에 관한 상태 정보를 보유한다. 카메라(26, 28) 및 캡쳐 장치(20)는 콘솔(100)을 위한 추가적인 입력 장치들이다.
도 4는 타겟 인식, 분석 및 트래킹 시스템에서의 여러 제스처들의 해석, 및/또는 타겟 인식, 분석 및 트래킹 시스템에 의해 디스플레이되는 아바타 또는 온-스크린 캐릭터의 애니메이션화를 위해 사용되는 도 1a - 2에 도시된 컴퓨팅 환경(12)의 또 다른 실시예인 컴퓨팅 환경(220)을 도시한다. 컴퓨팅 시스템 환경(220)은 적합한 컴퓨팅 환경의 일례일 뿐, 본원에 개시된 대상의 사용이나 기능의 범위를 제한하는 것은 아니다. 컴퓨팅 환경(220)은, 예시적인 운영 환경(220)에 도시된 임의의 컴포넌트 또는 컴포넌트 조합에 관한 의존성이나 요구 사항을 가지는 것으로 해석되어서는 안 된다. 몇몇 실시예에서, 도시된 다양한 컴퓨팅 구성요소들은 본 개시의 특정 양태들에 대한 예를 들어 설명하는 회로를 포함할 수 있다. 예를 들어, 본 개시에서 사용되는 회로라는 용어는 펌웨어나 스위치로 기능(들)을 실행하도록 구성되는 특화된 하드웨어 컴포넌트들을 포함할 수 있다. 또 다른 실시예에서, 회로는 기능(들)을 실행하는 논리 동작을 구현하는 소프트웨어 인스트럭션으로 구성되는 범용 처리 장치(general purpose processing unit), 메모리 등을 포함할 수 있다. 하드웨어와 소프트웨어의 조합을 포함하는 회로의 예시적인 실시예에 있어서, 구현자는 논리를 구현하는 소스 코드를 작성하고, 이 소스 코드는 범용 처리 장치에서 처리될 수 있는 기계 판독가능 코드로 컴파일될 수 있다. 당업자라면 하드웨어, 소프트웨어 또는 하드웨어/소프트웨어의 조합 간에 차이가 거의 없는 방향으로 선행 기술이 발전해왔다는 점을 알 수 있으므로, 특정 기능을 구현하기 위한 하드웨어 대 소프트웨어의 선택은 구현자에게 달려 있는 설계 선택에 불과하다. 특히, 당업자라면 소프트웨어 프로세스가 동등한 하드웨어 구조로 변환가능하고, 하드웨어 구조 또한 동등한 소프트웨어 프로세스로 변환가능하다는 점을 알 수 있다. 따라서, 하드웨어 구현 대 소프트웨어 구현의 선택은 설계 선택으로, 구현자에게 달려 있다.
도 4에서, 컴퓨팅 환경(220)은, 통상적으로 각종 컴퓨터 판독가능 매체를 포함하는 컴퓨터(241)를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(241)가 액세스할 수 있으며, 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체 모두를 포함하는 임의의 가용 매체일 수 있다. 시스템 메모리(222)는 ROM(read only memory, 223) 및 RAM(random access memory, 260)과 같은 휘발성 및/또는 비휘발성 메모리의 형태인 컴퓨터 저장 매체를 포함한다. 스타트업 동안과 같이 컴퓨터(241) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS, 224)은 일반적으로 ROM(223)에 저장된다. RAM(260)은 통상적으로 처리 장치(259)에 의해 즉시 액세스 가능 및/또는 바로 동작되는 데이터 및/또는 프로그램 모듈들을 포함한다. 예를 들어, 도 4는 운영 체제(225), 애플리케이션 프로그램(226), 다른 프로그램 모듈(227), 및 프로그램 데이터(228)를 도시하고 있으며, 이들로서 제한되는 것은 아니다.
또한, 컴퓨터(241)는 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예를 들어, 도 4는 비이동식, 비휘발성 자기 매체에 판독 또는 기록하는 하드 디스크 드라이브(238), 이동식, 비휘발성 자기 디스크(254)에 판독 또는 기록하는 자기 디스크 드라이브(239), 및 CD ROM 또는 다른 광학 매체와 같은 이동식, 비휘발성 광 디스크(253)에 판독 또는 기록하는 광 디스크 드라이브(240)를 도시한다. 예시적인 운영 환경에서 사용가능한 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체는, 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만, 이들로서 제한되는 것은 아니다. 하드 디스크 드라이브(238)는 일반적으로 인터페이스(234)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(221)에 연결되며, 자기 디스크 드라이브(239) 및 광 디스크 드라이브(240)는 일반적으로 인터페이스(235)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(221)에 연결된다.
앞서 논의되었으며 도 4에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터(241)를 위한 컴퓨터 판독가능 인스트럭션, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 4에서, 예를 들어, 하드 디스크 드라이브(238)는 운영 체제(258), 애플리케이션 프로그램(257), 다른 프로그램 모듈(256) 및 프로그램 데이터(255)를 저장하는 것으로 도시되어 있다. 이러한 컴포넌트들은 운영 체제(225), 애플리케이션 프로그램(226), 다른 프로그램 모듈(227) 및 프로그램 데이터(228)와 동일할 수도 또는 다를 수도 있음을 알 것이다. 운영 체제(258), 애플리케이션 프로그램(257), 다른 프로그램 모듈(256), 및 프로그램 데이터(255)는, 최소한 이들이 상이한 카피들임을 나타내기 위해 본원에서 상이한 번호가 부여된다. 사용자는 키보드(251), 및 일반적으로 마우스, 트랙볼, 또는 터치 패드로 불리는 포인팅 장치(252)를 비롯한 입력 장치들을 통해 명령어 및 정보를 컴퓨터(241)에 입력할 수 있다. 다른 입력 장치들(도시되지 않음)은 마이크, 조이스틱, 게임 패드, 위성 접시, 스캐너, 리모콘 등을 포함할 수 있다. 이들 및 다른 입력 장치들은 보통 시스템 버스에 연결된 사용자 입력 인터페이스(236)를 통해 처리 장치(259)에 접속되지만, 병렬 포트, 게임 포트, 또는 USB(universal serial bus)를 비롯한 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 카메라(26, 28) 및 캡쳐 장치(20)는 콘솔(100)의 추가 입력 장치에 해당한다. 모니터(242) 또는 다른 형태의 디스플레이 장치도 비디오 인터페이스(232)와 같은 인터페이스를 통해 시스템 버스(221)에 접속된다. 모니터뿐만 아니라, 컴퓨터들은, 출력 주변 기기 인터페이스(233)를 통해 접속될 수 있는 스피커(244) 및 프린터(243)를 비롯한 다른 주변 기기 출력 장치들을 포함할 수 있다.
컴퓨터(241)는 원격 컴퓨터(246)와 같은 하나 이상의 원격 컴퓨터들에 대한 논리적인 연결들을 사용하여 네트워킹된 환경에서 동작할 수 있다. 원격 컴퓨터(246)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치(peer device) 또는 다른 공통 네트워크 노드일 수 있으며, 단지 메모리 저장 장치(247)만이 도 4에 도시되어 있지만, 일반적으로 컴퓨터(241)와 관련하여 전술한 다수의 또는 모든 구성요소들을 포함한다. 도 4에 도시된 논리적인 연결은 LAN(local area network, 245) 및 WAN(wide area network, 249)을 포함하지만, 또한 다른 네트워크들도 포함할 수 있다. 이러한 네트워킹 환경들은 사무실, 기업(enterprise-wide) 컴퓨터 네트워크, 인트라넷 및 인터넷에 흔하다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(241)는 네트워크 인터페이스 또는 어댑터(237)를 통해서 LAN(245)에 연결된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(241)는 통상적으로 모뎀(250) 또는 인터넷과 같이 WAN(249)을 통해 통신을 구축하기 위한 다른 수단을 포함한다. 내부 또는 외부에 존재할 수 있는 모뎀(250)은 사용자 입력 인터페이스(236), 또는 다른 적절한 메카니즘을 통해 시스템 버스(221)에 연결될 수 있다. 네트워킹 환경에서, 컴퓨터(241) 또는 그 일부분에 관련하여 도시된 프로그램 모듈들이 원격 메모리 저장 장치 내에 저장될 수 있다. 예를 들면, 도 4는 메모리 장치(247) 상에 존재하는 원격 애플리케이션 프로그램들(248)을 도시하고 있다. 도시된 네트워크 연결들은 예시적인 것이며, 컴퓨터들 간에 통신 링크를 구축하는 다른 수단이 사용될 수 있음을 이해할 것이다.
도 5는 한 장면의 사용자를 트래킹하는 예시적인 방법(300)의 순서도를 도시한다. 예를 들어, 예시된 방법(300)은 도 1a - 4에 관해 설명된 타겟 인식, 분석 및 트래킹 시스템(10)의 캡쳐 장치(20) 및/또는 컴퓨팅 환경(12)을 사용하여 구현될 수 있다. 예시적인 실시예에서, 예시된 방법(300)은 도 1a - 4에 관해 설명된 타겟 인식, 분석 및 트래킹 시스템(10)의 캡쳐 장치(20) 및/또는 컴퓨팅 환경(12)에서 실행가능한 프로그램 코드(즉, 인스트럭션)의 형태를 취할 수 있다.
일 실시예에 따르면, 305에서, 깊이 이미지를 수신할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 도 1a - 2에 관해 전술한 캡쳐 장치(20)와 같은 캡쳐 장치를 포함할 수 있다. 캡쳐 장치는 하나 이상의 타겟을 포함할 수 있는 장면을 캡쳐하거나 관찰할 수 있다. 예시적인 실시예에서, 캡쳐 장치는 비행 시간 분석, 구조광 분석, 스테레오 이미지 분석 등 적절한 임의의 기술을 사용하여 장면의 깊이 이미지와 같은 이미지를 얻도록 구성된 깊이 카메라일 수 있다.
깊이 이미지는 각각의 화소가 관찰된 깊이 값을 갖는 관찰된 복수 개의 화소일 수 있다. 예를 들어, 깊이 이미지는 캡쳐된 장면의 2-D(two-dimensional) 화소 영역을 포함할 수 있고, 2-D 화소 영역의 각 화소는 캡쳐된 장면의 사물의 센티미터, 밀리미터 등으로 나타낸 캡쳐 장치로부터의 길이 또는 거리 등의 깊이 값을 가질 수 있다.
도 6은 305에서 수신가능한 깊이 이미지(400)의 예시적인 실시예를 도시한다. 예시적인 실시예에 따르면, 깊이 이미지(400)는 예컨대, 도 2에 관해 전술한 캡쳐 장치(20)의 3-D 카메라(26) 및/또는 RGB 카메라(28)로 캡쳐한 장면의 이미지 또는 프레임일 수 있다. 도 6에 도시된 바와 같이, 깊이 이미지(400)는 캡쳐된 장면에 도 1a 및 1b에 관해 전술한 사용자(18) 등의 사용자에 대응하는 인간 타겟(402a)과 벽, 테이블, 모니터 등의 하나 이상의 비인간 타겟(404)을 포함할 수 있다. 전술한 바와 같이, 깊이 이미지(400)는 관찰된 복수 개의 화소를 포함하고, 관찰된 각 화소는 그에 연관된 관찰된 깊이 값을 갖는다. 예를 들어, 깊이 이미지(400)는 캡쳐된 장면의 2-D(two-dimensional) 화소 영역을 포함할 수 있고, 2-D 화소 영역의 특정 X-값 및 Y-값에서의 각 화소는 캡쳐된 장면의 타겟 또는 사물의 센티미터, 밀리미터 등으로 나타낸 캡쳐 장치로부터의 길이 또는 거리 등의 깊이 값을 가질 수 있다.
일 실시예에서는, 깊이 이미지(400)는 그 깊이 이미지의 화소들의 상이한 색상들이 캡쳐 장치로부터의 인간 타겟 및 비인간 타겟의 상이한 거리들에 상응하거나 또는 이를 시각적으로 표현하도록 컬러화될 수 있다. 예를 들어, 깊이 이미지에서 캡쳐 장치에 가장 가까이에 있는 타겟에 관련된 화소들은 적색 및/또는 주황색을 내는 한편, 멀리 떨어진 타겟에 관련된 화소들은 깊이 이미지에서 녹색 및/또는 청색을 내게 된다.
다시 5를 참조하면, 일 실시예에서, 305에서 이미지를 수신하면, 깊이 이미지에서 높은 분산(high-variance) 및/또는 노이즈가 있는 하나 이상의 깊이 값을 제거하거나 스무딩하고(smooth), 누락 및/또는 제거된 깊이 정보 부분을 채우거나 복원하며, 또는 수신된 깊이 이미지에 기타 적절한 임의의 처리를 하여, 깊이 이미지에 관련된 깊이 정보를 사용하여 골격 모델 등의 모델을 생성할 수 있으며, 이는 아래에서 보다 상세하게 설명될 것이다.
예시적인 실시예에 따르면, 310에서, 수신된 깊이 이미지에 기반하여 하나 이상의 복셀이 있는 격자를 생성할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 수신된 깊이 이미지에 포함된 정보를 사용하여 하나 이상의 복셀을 생성함으로써 수신된 깊이 이미지를 다운샘플링하여, 다운샘플링된 깊이 이미지를 생성할 수 있다. 일 실시예에서, 하나 이상의 복셀은 서브-샘플링된 격자 상에서, 수신된 깊이 이미지에 포함된 정보 데이터 또는 값을 나타내는 부피 요소(volume elements)일 수 있다.
예를 들어, 전술한 바와 같이, 깊이 이미지는 캡쳐된 장면의 2-D 화소 영역을 포함할 수 있고, 각 화소는 그에 연관된 X-값, Y-값 및 깊이 값(또는 Z-값)을 가질 수 있다. 일 실시예에서, 2-D 화소 영역의 화소들을 하나 이상의 복셀 격자로 줄임으로써 깊이 이미지를 다운샘플링할 수 있다. 예를 들어, 깊이 이미지는 4x4 화소 블록, 5x5 화소 블록, 8x8 화소 블록, 10x10 화소 블록 등의 화소 부분 또는 블록으로 나뉠 수 있다. 현실 세계 공간에서 2-D 깊이 이미지의 화소에 연관된 부분이나 블록의 위치를 나타내는 깊이 이미지에 대한 복셀을 생성하도록 각 부분 또는 블록을 처리한다. 예시적인 실시예에 따르면, 복셀이 나타내는 부분 또는 블록의 화소들에 대한 유효(valid) 또는 영이 아닌(non-zero) 깊이 값의 평균 깊이 값, 복셀이 나타내는 부분 또는 블록의 화소의 최소, 최대 및/또는 중간(median) 깊이 값, 복셀이 나타내는 부분 또는 블록의 유효 깊이 값을 갖는 화소들에 대한 X-값 및 Y-값의 평균, 또는 깊이 이미지로부터 제공되는 그 밖의 임의의 적절한 정보에 기반하여 각 복셀의 위치를 얻을 수 있다. 따라서, 예시적인 실시예에 따르면, 각각의 복셀은, 복셀이 나타내는 부분 또는 블록의 화소들에 대한 유효 또는 영이 아닌 깊이 값의 평균 깊이 값, 복셀이 나타내는 부분 또는 블록의 화소의 최소, 최대 및/또는 중간 깊이 값, 복셀이 나타내는 부분 또는 블록의 유효 깊이 값을 갖는 화소들에 대한 X-값 및 Y-값의 평균, 또는 305에서 수신되는 깊이 이미지의 해당 부분 또는 블록의 X-값, Y-값 및 깊이 값에 근거하여 깊이 이미지로부터 제공되는 그 밖의 임의의 적절한 정보 등의 값을 갖는 깊이 이미지의 서브-볼륨 부분 또는 블록을 나타낼 수 있다.
일 실시예에서, 다운샘플링된 깊이 이미지 안에서 하나 이상의 복셀의 격자가 층을 이룰 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 전술한 대로 복셀을 생성할 수 있다. 이후에 타겟 인식, 분석 및 트래킹 시스템은 격자에서, 생성된 하나 이상의 다른 복셀 위에 생성된 복셀을 쌓을 수도 있다.
예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 깊이 이미지에서 캡쳐될 수 있는 장면의 사물의 테두리(edges) 주변의 격자에서 복셀을 쌓을 수 있다. 예를 들어, 305에서 수신된 깊이 이미지는 인간 타겟과 벽 등의 비인간 타겟을 포함할 수 있다. 인간 타겟은 예컨대, 인간 타겟의 테두리에서 벽 등의 비인간 타겟에 오버랩될 수 있다. 일 실시예에서, 오버랩된 테두리는 깊이 이미지에서 캡쳐될 수 있는 인간 타겟과 비인간 타겟에 연관된 깊이 값, X-값, Y-값 등의 정보를 포함할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 오버랩된 테두리에서 인간 타겟에 연관된 복셀 및 비인간 타겟에 연관된 복셀을 생성하여, 복셀들이 쌓이고 격자가 오버랩 테두리의 깊이 값, X-값, Y-값 등의 정보를 보유할 수 있게 된다.
또 다른 실시예에 따르면, 305에서 수신되는 깊이 이미지의 화소에 대한 깊이 값, X-값, Y-값 등의 정보를 3-D(three-dimensional) 공간에 투사함으로써, 310에서 하나 이상의 복셀이 있는 격자를 생성할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 카메라, 이미지 또는 원근법 변환(perspective transform) 등의 변환을 통해 깊이 이미지의 화소에 대한 깊이 값, X-값, Y-값 등의 정보를 3-D 공간의 3-D 포인트에 매핑시킴으로써, 정보가 3-D 공간에서 사다리꼴이나 피라미드형으로 변환될 수 있다. 일 실시예에서, 사다리꼴이나 피라미드형의 3-D 공간은 복셀 격자를 생성할 수 있는 큐브(cubes) 등의 블록으로 분할될 수 있고, 블록 또는 큐브 각각은 격자의 복셀을 나타낼 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 깊이 이미지의 사물에 대응하는 3-D 포인트 위에 3-D 격자를 중첩시킬 수 있다. 그리고 나서, 타겟 인식, 분석 및 트래킹 시스템은 격자를 복셀을 나타내는 블록으로 분할하거나 쪼개어, 깊이 이미지를 낮은 해상도(resolution)로 다운샘플링할 수 있다. 예시적인 실시예에 따르면, 격자 내의 각 복셀은, 복셀이 나타내는 격자의 3-D 공간에 연관된 화소들의 유효 또는 영이 아닌 깊이 값의 평균 깊이 값, 복셀이 나타내는 격자의 3-D 공간에 연관된 화소들의 최소 및/또는 최대 깊이 값, 복셀이 나타내는 격자의 3-D 공간에 연관된 유효 깊이 값을 갖는 화소들에 대한 X-값 및 Y-값의 평균, 또는 깊이 이미지로부터 제공되는 그 밖의 임의의 적절한 정보를 포함할 수 있다.
도 7a 및 7b는 다운샘플링된 이미지의 일부의 예시적인 실시예를 도시한다. 예를 들어, 도 7a에 도시된 대로, 도 6에 관해서 전술한 깊이 이미지(400)의 일부(410)가 복수의 화소(420)를 포함하고, 각 화소는 그에 연관된 X-값, Y-값 및 깊이 값(또는 Z-값)을 포함할 수 있다. 일 실시예에 따르면, 전술한 바와 같이, 2-D 화소 영역의 화소들을 하나 이상의 복셀이 있는 격자로 줄임으로써 깊이 이미지(400) 등의 깊이 이미지를 다운샘플링할 수 있다. 예를 들어, 도 7a에 도시된 대로, 깊이 이미지(400)의 일부(410)는 화소(420)의 8x8 블록과 같이 화소(420)의 부분 또는 블록(430)으로 분할될 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 부분 또는 블록(430)을 처리하여, 도 7a 및 7b에 도시된 바와 같이 현실 세계 공간의 화소(420)에 연관된 부분 또는 블록(430)의 위치를 나타내는 복셀(440)을 생성할 수 있다.
다시 도 5를 참조하면, 315에서, 다운샘플링된 깊이 이미지로부터 배경을 제거할 수 있다. 예를 들어, 다운샘플링된 깊이 이미지의 비인간 타겟 또는 사물 등의 배경을 제거하여, 사용자와 연관된 인간 타겟 등의 전경 사물을 분리시킬 수 있다. 일 실시예에서, 전술한 바와 같이, 타겟 인식, 분석 및 트래킹 시스템은 캡쳐되거나 관찰된 깊이 이미지에 대한 하나 이상의 복셀이 있는 격자를 생성함으로써, 캡쳐되거나 관찰된 깊이 이미지를 다운샘플링할 수 있다. 타겟 인식, 분석 및 트래
킹 시스템은 다운샘플링된 깊이 이미지의 각각의 복셀을 분석하여, 복셀이 깊이 이미지의 하나 이상의 비인간 타겟 등의 배경 사물의 연관 여부를 결정할 수 있다. 복셀이 배경 사물과 연관이 있으면, 다운샘플링된 깊이 이미지로부터 그 복셀을 제거하거나 버려, 인간 타겟과 같은 전경 사물 및 전경 사물에 연관된 격자의 하나 이상의 복셀을 분리시킬 수 있다.
일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 각 복셀을 분석하여 그에 연관된 사물을 결정할 수 있다. 예를 들어, 전술한 바와 같이, 도 6에서 전술한 깊이 이미지(400) 등의 깊이 이미지로써 305에서 관찰되거나 캡쳐될 수 있는 장면은 복수의 사물을 포함할 수 있다. 이들 사물로는 하나 이상의 인간 타겟 및/또는 벽, 테이블, 소파, 램프 등 하나 이상의 비인간 타겟을 들 수 있다. 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 격자의 각 복셀을 분석하여, 복셀이 장면의 어떤 사물에 연관되었는지를 결정함으로써, 315에서 장면의 각 사물에 연관된 복셀들을 식별할 수 있다. 따라서, 예시적인 실시예에 따르면, 인간 타겟 또는 사람이 장면의 벽 앞에 서 있는 경우, 타겟 인식, 분석 및 트래킹 시스템은 각 복셀을 분석하여 각 복셀이 인간 타겟 또는 벽에 연관이 있는지를 결정할 수 있다.
복셀이 장면의 어떤 사물과 연관이 있는지를 결정하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 복셀이 나타내는 블록 또는 부분의 화소들에 대한 유효 또는 영이 아닌 깊이 값의 평균 깊이 값, 복셀이 나타내는 부분 또는 블록의 화소의 최소 및/또는 최대 깊이 값, 복셀이 나타내는 부분 또는 블록의 유효 깊이 값을 갖는 화소들에 대한 X-값 및 Y-값의 평균, 또는 인접한 또는 근처의 복셀의 기타 임의의 적절한 정보와 같은 값들을 비교할 수 있다. 예를 들어, 일 실시예에서, 격자에서 분석 중인 특정 복셀에 연관된 평균 깊이 값을 그 특정 복셀에 인접한 각 복셀의 평균 깊이 값과 비교할 수 있다. 분석 중인 특정 복셀의 평균 깊이 값과 인접 복셀의 평균 깊이 값의 차이가 임계치보다 작으면, 특정 복셀과 인접 복셀은 동일한 사물에 속하는 것으로 볼 수 있다. 분석 중인 특정 복셀의 평균 깊이 값과 인접 복셀의 평균 깊이 값의 차이가 임계치보다 크면, 특정 복셀과 인접 복셀이 별개의 사물에 속하는 것으로 볼 수 있다. 예시적인 실시예에 따르면, 임계치는 타겟 인식, 분석 및 트래킹 시스템에서 생성되는 사전결정된 값일 수 있고, 이는 복셀이 동일한 사물의 일부일 가능성 또는 확률에 기반할 수 있다. 따라서, 예시적인 실시예에 따르면, 깊이 이미지에서 캡쳐되거나 관찰된 장면에서 인간 타겟이나 사람이 벽 앞에 서 있는 경우, 타겟 인식, 분석 및 트래킹 시스템은 깊이 이미지에 대해 생성되는 각 복셀을 분석하여 복셀이 인간 타겟 또는 벽에 연관되었는지를 결정할 수 있다.
타겟 인식, 분석 및 트래킹 시스템은 수신된 깊이 이미지의 장면에서 사물과 그에 연관된 복셀을 식별한 후에, 식별된 각각의 사물에 연관된 정보를 계산할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 식별된 각각의 사물에 대한 최대 세계 공간 포지션, 최소 세계 공간 포지션, 평균 세계 공간 포지션 등을 계산할 수 있다.
일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 315에서, 장면에서 식별된 하나 이상의 사물이 그 장면의 다른 사물들과 합쳐져야만(merged) 하는지도 결정할 수 있다. 예를 들어, 305에서 수신된 깊이 이미지에서 사물의 일부 또는 부분이 그 사물의 다른 일부나 부분과 분리될 수 있다. 일 실시예에 따르면, 사물의 일부 또는 부분이 예컨대, 장면의 그 사물, 다른 사물 등으로 인해 드리워진 적외선 그림자에 의해 그 사물의 다른 일부나 부분과 분리될 수 있다. 다른 실시예에서, 사물의 일부 또는 부분은 예컨대, 그 사물과 연관된 색상, 질감, 패턴 등에 의해 사물의 다른 일부 또는 부분과 분리될 수 있다. 예를 들어, 인간 타겟의 머리는 예컨대, 안면 털, 다양한 의류 품목 등에 의해 Y-방향으로 Y-면을 따라 인간 타겟의 상체와 분리될 수 있다.
장면에서 식별된 사물이 실제로 장면에서 식별된 다른 사물의 일부 또는 부분인지 여부를 결정하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 사물에 연관된 복셀들의 X-값 및 깊이 값과 근처 사물에 연관된 복셀들의 X-값 및 깊이 값을 비교할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 장면에서 식별된 제 1 사물에 연관된 하나 이상의 복셀의 X-값 및 깊이 값과 제 1 사물 근처에 또는 그에 인접한 제 2 사물에 연관된 하나 이상의 복셀의 X-값 및 깊이 값을 비교할 수 있다. 따라서, 예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 장면의 복셀들을 분석하여, 제 1 및 제 2 사물이 X-방향으로 정의된 X-면 및/또는 Z-방향으로 정의된 Z-면을 따라서 오버랩되어, 제 1 및 제 2 사물이 합쳐져 동일한 사물의 일부 또는 부분으로 식별되는지를 결정할 수 있다.
일 실시예에 따르면, 제 1 사물과 연관된 하나 이상의 복셀의 X-값 및 깊이 값과 제 2 사물과 연관된 하나 이상의 복셀의 X-값 및 깊이 값이 오버랩되는 경우, 타겟 인식, 분석 및 트래킹 시스템은 제 1 및 제 2 사물을 합쳐, 제 1 및 제 2 사물을 공통 사물의 일부 또는 부분으로 식별할 수 있다. 예를 들어, 제 1 사물에 연관된 제 1 복셀이 X-방향을 따라 X-값으로 5 및 제 1 사물의 오른쪽 바깥 테두리에서 깊이 값으로 10 mm를 갖고 있고, 제 2 사물에 연관된 제 2 복셀이 X-방향을 따라 X-값으로 3 및 제 2 사물의 왼쪽 바깥 테두리에서 깊이 값으로 10 mm를 갖고 있는 경우, 타겟 인식, 분석 및 트래킹 시스템은 제 1 및 제 2 사물이 오버랩한다고 결정할 수 있다. 그리고 나서, 타겟 인식, 분석 및 트래킹 시스템은 제 1 및 제 2 사물을 합쳐, 제 1 및 제 2 사물을 동일한 사물의 일부 또는 부분으로 식별할 수 있다.
또한, 장면에서 식별된 사물이 실제로 장면에서 식별된 다른 사물의 일부 또는 부분인지 여부를 결정하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 사물에 대해 정의된 경계 상자가 그 장면의 다른 사물의 경계 상자와 오버랩되는지를 결정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 식별된 사물 각각에 대해 경계 상자를 정의할 수 있다. 이후에 타겟 인식, 분석 및 트래킹 시스템은 예컨대, 전술한 바와 같이 그 안에 포함된 하나 이상의 복셀의 X-값, Y-값 및/또는 깊이 값에 근거하여 하나 이상의 사물의 경계 상자가 오버랩되는지 여부를 결정할 수 있다.
다른 예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 예컨대, 사물에 포함된 복셀들의 X-값, Y-값 및 깊이 값의 평균을 내어 각 사물의 중앙 또는 중심을 결정할 수 있다. 다음으로, 타겟 인식, 분석 및 트래킹 시스템은 장면의 사물들의 중심 또는 중앙 간의 거리를 결정하여, 장면에서 식별된 사물이 실제로 그 장면에서 식별된 다른 사물의 일부 또는 부분인지 여부를 결정할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 사물 간의 거리에 근거하여 하나 이상의 사물을 합칠 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 제 1 사물의 중심 또는 중앙과 제 2 사물의 중앙 또는 중심 간의 거리를 결정할 수 있다. 제 1 사물과 제 2 사물의 중심 또는 중앙 간의 거리가 제 1 및 제 2 사물이 합쳐져야만 함을 가리키는 사전결정된 범위 내에 있다면, 타겟 인식, 분석 및 트래킹 시스템은 사물들을 합쳐, 제 1 및 제 2 사물을 동일한 사물의 일부 또는 부분으로 식별할 수 있다.
일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 315에서 장면에서 식별된 하나 이상의 사물이 분리되어야 하는지도 결정할 수 있다. 예를 들어, 315에서 장면에서 식별된 사물이 실제로 별개의 두 사물일 수 있다. 장면의 사물이 분리되어야 하는지를 결정하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 이전에 수신된 프레임에서 결정된 각 사물의 중심의 위치를 확인할 수 있다. 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 이전에 수신된 프레임의 사물들로부터 결정된 중심의 위치에서부터 시작하여, 305에서 수신된 프레임의 깊이 이미지에 대해 생성된 장면의 복셀들을 동시에 플러드 필링할 수 있다(floodfill). 그 후에, 타겟 인식, 분석 및 트래킹 시스템은 사물들에 대한 이전 위치를 사용하여 플러드 필링된 복셀들이 이전에 수신된 프레임의 어떤 사물에 더 가까운지를 결정할 수 있다. 플러드 필링된 복셀들이 이전에 수신된 프레임에서 식별된 다른 사물에 더 가깝다면, 타겟 인식, 분석 및 트래킹 시스템은 315에서 사물을 나눌 수 있다.
315에서, 타겟 인식, 분석 및 트래킹 시스템은 식별된 사물이 비인간 타겟 등의 배경 사물인지 또는 인간 타겟 등의 전경 사물인지를 결정할 수 있다. 예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 식별된 사물의 이동 또는 움직임 여부에 근거하여 식별된 사물이 배경 사물인지 또는 전경 사물인지를 결정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 예컨대, 각 복셀에 대한 비-모션(non-motion) 깊이 정보를 포함하는, 장면의 기준 이미지 등의 기준 판(reference plate)를 포함할 수 있다. 예시적인 실시예에 따르면, 기준 판은, 일련의 프레임에 걸쳐 결정되는 격자의 복셀에 대한 최소 X-값, Y-값 및 깊이 값 등의 복셀의 최소 세계 공간 포지션, 일련의 프레임에 걸쳐 결정되는 격자의 복셀에 대한 최대 X-값, Y-값 및 깊이 값 등의 복셀의 최대 세계 공간 포지션, 일련의 프레임에 걸쳐 결정되는 격자의 복셀에 대한 평균 X-값, Y-값 및 깊이 값 등의 복셀의 평균 세계 공간 포지션 또는 기타 임의의 적절한 기준 판을 포함할 수 있다. 다른 실시예에서, 기준 판은 장면의 각 복셀에 연관된 이동 평균(moving average)을 포함할 수 있다. 예를 들어, 이동 평균은 이전에 수신된 일련의 프레임에 걸쳐 결정된 복셀의 평균 깊이 값을 포함할 수 있다.
일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 예컨대, 305에서 수신된 깊이 이미지의 장면에서 식별된 사물들에 연관된 각각의 복셀의 최대 깊이 값, 평균 깊이 값, 최소 깊이 값 등을 비롯한 깊이 정보와 기준 판에 포함된 각 대응 복셀의 비-모션 깊이 정보를 비교할 수 있다. 깊이 정보 및 기준 판의 대응 복셀의 비-모션 깊이 정보의 비교에 따라, 타겟 인식, 분석 및 트래킹 시스템은 복셀을 움직이는 것으로 식별할 수 있다. 예를 들어, 일 실시예에서, 복셀의 최소 깊이 값, 최대 깊이 값 및/또는 평균 깊이 값을 비롯한 깊이 값이 기준 판의 대응 복셀의 이동 평균보다 작아서 복셀이 이동 평균의 앞에 있다면, 복셀은 움직이는 것으로 식별될 수 있다. 다른 예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 복셀 및 기준 판의 대응 복셀과 연관된 값들 간의 차이를 계산할 수 있다. 예를 들어, 복셀의 평균 깊이 값, 최대 깊이 값 및/또는 최소 깊이 값 등의 깊이 값과 기준 판의 대응 복셀의 비-모션 정보에 포함된 깊이 값들 간의 차이가 모션 임계치보다 큰 경우, 타겟 인식, 분석 및 트래킹 시스템은 그 복셀을 움직이는 것으로 식별할 수 있다.
또 다른 예시적인 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 복셀 및 인접 복셀들의 최대 깊이 값, 평균 깊이 값, 최소 깊이 값 등의 깊이 정보와 기준 판에 포함된 각 대응 복셀의 비-모션 깊이 정보를 비교할 수 있다. 예를 들어, 테두리 노이즈를 처리하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 특정 복셀 및 인접 복셀들의 최소 깊이 값과 기준 판의 대응 복셀을 비교하여, 복셀 및/또는 그에 연관된 사물의 움직임 여부를 결정할 수 있다. 예컨대, 특정 복셀 및 인접 복셀들의 최소 깊이 값과 기준 판의 대응 복셀들의 비-모션 정보에 포함된 최소 깊이 값 간의 차이가 모션 임계치보다 크면, 타겟 인식, 분석 및 트래킹 시스템은 그 특정 복셀을 움직이는 것으로 식별할 수 있다.
다음으로, 타겟 인식, 분석 및 트래킹 시스템은 움직이는 복셀들의 평균에 근거하여 각 식별된 사물에 대한 전경 점수(foreground score)를 계산할 수 있다. 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 움직이는 것으로 식별된 섬(island)에 포함된 복셀의 개수를 섬에 포함된 복셀의 전체 개수로 나누어 전경 점수를 계산할 수 있다.
타겟 인식, 분석 및 트래킹 시스템은 점수 임계치를 넘는 전경 점수를 갖는 사물을 분리시킬 수 있다. 타겟 인식, 분석 및 트래킹 시스템에 의해 정의된, 값 또는 퍼센트인 점수 임계치는 움직이는 사물을 나타낼 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 전경 점수에 기반하여 다운샘플링된 깊이 이미지로부터 움직이지 않는 배경 사물을 제거하거나 버려, 다운샘플링된 깊이 이미지에에서 점수 임계치를 초과하는 전경 점수를 갖는 인간 타겟 등의 전경 사물을 분리할 수 있다. 예시적인 실시예에 따르면, 움직이지 않는 사물을 제거하거나 버리기 위해, 타겟 인식, 분석 및 트래킹 시스템은 X-값, Y-값 및/또는 깊이 값을 제로 값 또는 복셀이 유효하지 않음을 나타내는 다른 적절한 지표나 표시로 대체함으로써 움직이지 않는 사물에 연관된 복셀들을 제거하거나 버릴 수 있다.
320에서, 인간 타겟과 같은 분리된 전경 사물에 대해 하나 이상의 신체 부위 등의 하나 이상의 말단을 결정할 수 있다. 예를 들어, 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 분리된 인간 타겟에 하나 이상의 휴리스틱(heuristics) 기법 또는 규칙을 적용하여, 예컨대, 분리된 인간 타겟에 관련된 중심 또는 중앙, 머리, 어깨, 상체, 팔, 다리 등을 결정할 수 있다. 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 말단의 결정을 기초로 하여, 분리된 인간 타겟의 모델을 생성 및/또는 조정할 수 있다. 예를 들어, 305에서 수신된 깊이 이미지가 도 1a - 2에 관해 전술한 캡쳐 장치(20) 등의 캡쳐 장치에 의해 관찰되거나 캡쳐된 최초 프레임에 포함된다면, 골격 모델의 관절을 말단들의 결정된 위치에 할당함으로써 320에서 결정된 중심, 머리, 어깨, 팔, 손, 다리 등의 말단의 위치에 기반하여 모델을 생성할 수 있고, 이는 아래에서 보다 상세하게 설명될 것이다. 또는, 깊이 이미지가 캡쳐 장치에 의해 관찰되거나 캡쳐된 다음의 또는 최초가 아닌 프레임에 포함된다면, 320에서 결정된 중심, 머리, 어깨, 팔, 손, 다리 등의 말단의 위치에 기반하여 이전에 생성된 모델을 조정할 수 있다.
예시적인 실시예에 따르면, 315에서 인간 타겟 등의 전경 사물이 분리되면, 타겟 인식, 분석 및 트래킹 시스템은 320에서 인간 타겟의 복셀의 평균을 계산하여, 인간 타겟의 중심 또는 중앙을 추정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 인간 타겟의 중심 또는 중앙의 추정치를 제공하는 인간 타겟에 포함된 복셀의 평균 위치를 계산할 수 있다. 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 그 복셀들에 연관된 X-값, Y-값 및 깊이 값에 근거하여 인간 타겟에 연관된 복셀들의 평균 위치를 계산할 수 있다. 예를 들어, 전술한 바와 같이, 타겟 인식, 분석 및 트래킹 시스템은 복셀에 연관된 화소들의 X-값의 평균을 냄으로써 복셀에 대한 X-값을 계산하고, 복셀에 연관된 화소들의 Y-값의 평균을 냄으로써 복셀에 대한 Y-값을 계산하며, 복셀에 연관된 화소들의 깊이 값의 평균을 냄으로써 복셀에 대한 깊이 값을 계산할 수 있다. 320에서, 타겟 인식, 분석 및 트래킹 시스템은 인간 타겟에 포함된 복셀들의 X-값, Y-값 및 깊이 값의 평균을 내어, 인간 타겟의 중심 또는 중앙의 추정치를 제공하는 평균 위치를 계산할 수 있다.
도 8은 인간 타겟(402b)에 대해 추정된 중심 또는 중앙의 예시적인 실시예를 도시한다. 예시적인 실시예에 따르면, 중심 또는 중앙의 위치 또는 포지션(802)은 전술한 바와 같이 분리된 인간 타겟(402b)에 연관된 복셀들의 평균 위치 또는 장소에 기반할 수 있다.
다시 도 5에서, 타겟 인식, 분석 및 트래킹 시스템은 320에서 인간 타겟에 대한 경계 상자를 정의하여, 예컨대, 인간 타겟의 머리 및/또는 상체를 포함하는 인간 타겟의 중심부 부피를 결정할 수 있다. 예를 들어, 인간 타겟의 중심 또는 중앙의 추정치가 결정되면, 타겟 인식, 분석 및 트래킹 시스템은 X-방향을 따라 수평으로 검색하여 중심부 부피에 관련된 경계 상자를 정의하는 데 사용하는 인간 타겟의 폭(width)을 결정할 수 있다. 일 실시예에 따르면, X-방향을 따라 수평으로 검색하여 인간 타겟의 폭을 결정하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 복셀에 연관된 깊이 값을 포함하지 않는 복셀이나 장면에서 식별된 다른 사물에 연관된 복셀과 같이 유효하지 않은(invalid) 복셀에 도달할 때까지, 중심 또는 중앙으로부터 X-축을 따라 좌우 방향으로 검색할 수 있다. 예를 들어, 전술한 바와 같이, 315에서 배경에 연관된 복셀들을 제거하여, 인간 타겟 및 그에 연관된 복셀들을 분리할 수 있다. 전술한 바와 같이, 예시적인 실시예에 따르면, 315에서 복셀들을 제거하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 배경 사물의 복셀들에 연관된 X-값, Y-값 및/또는 깊이 값을 제로 값 또는 복셀이 유효하지 않음을 나타내는 다른 적절한 지표나 표시로 대체할 수 있다. 320에서, 타겟 인식, 분석 및 트래킹 시스템은 인간 타겟의 왼쪽에 있는 제 1 유효하지 않은 복셀에 도달할 때까지 인간 타겟의 중앙으로부터 왼쪽 방향으로 검색할 수 있으며, 또한 인간 타겟의 오른쪽에 있는 제 2 유효하지 않은 복셀에 도달할 때까지 인간 타겟의 중앙으로부터 오른쪽 방향으로 검색할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 예컨대, 왼쪽 방향에서 도달한 제 1 유효하지 않은 복셀 근처의 제 1 유효 복셀의 X-값과 오른쪽 방향에서의 제 2 유효하지 않은 복셀 근처의 제 2 유효 복셀 간의 차이에 근거하여, 길이를 계산하거나 측정할 수 있다.
다음으로, 타겟 인식, 분석 및 트래킹 시스템은 Y-방향을 따라 수직으로 검색하여 중심부 부피에 관련된 경계 상자를 정의하는 데 사용하는 인간 타겟의 키(height), 예컨대 머리부터 엉덩이까지를 결정할 수 있다. 일 실시예에 따르면, Y-방향을 따라 수직으로 검색하여 인간 타겟의 키를 결정하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 유효하지 않은(invalid) 복셀이나 또는 복셀에 연관된 X-값, Y-값 또는 깊이 값을 포함하지 않는 복셀에 도달할 때까지, 중심 또는 중앙으로부터 Y-축을 따라 상하 방향으로 검색할 수 있다. 예를 들어, 320에서, 타겟 인식, 분석 및 트래킹 시스템은 인간 타겟의 윗부분에 있는 제 3 유효하지 않은 복셀에 도달할 때까지 인간 타겟의 중앙으로부터 위쪽 방향으로 검색할 수 있으며, 또한 인간 타겟의 아랫부분에 있는 제 4 유효하지 않은 복셀에 도달할 때까지 인간 타겟의 중앙으로부터 아래쪽 방향으로 검색할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 예컨대, 위쪽 방향에서 도달한 제 3 유효하지 않은 복셀 근처의 제 3 유효 복셀의 Y-값과 아래쪽 방향에서의 제 4 유효하지 않은 복셀 근처의 제 4 유효 복셀 간의 차이에 근거하여, 키를 계산하거나 측정할 수 있다.
예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 X- 및 Y-축 상에서 X- 및 Y-방향을 따라 30 도, 45 도, 60 도 등 여러 각도에서 대각선으로 검색하여, 중심부 부피에 관련된 경계 상자를 정의하는 데 사용하는 그 밖의 거리 및 값들을 결정할 수 있다.
또한, 타겟 인식, 분석 및 트래킹 시스템은 거리 또는 값들의 비율에 근거하여 중심부 부피에 관련된 경계 상자를 정의할 수도 있다. 예를 들어, 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 전술한 바와 같이 결정된 키와 0.2, 0.25, 0.3 등의 상수 또는 그 밖의 적절한 임의의 값의 곱에 기반하여 경계 상자의 폭을 정의할 수 있다.
타겟 인식, 분석 및 트래킹 시스템은 X-축에 따른 수평 방향 검색으로 결정되는 제 1 및 제 2 유효 복셀, Y-축에 따른 수직 방향 검색으로 결정되는 제 3 및 제 4 유효 복셀 또는 예컨대, 대각선 검색으로 결정되는 그 밖의 거리 및 값들에 근거하여 중심부 부피를 나타내는 경계 상자를 정의할 수 있다. 예를 들어, 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 제 1 유효 복셀의 X-값에서 Y-축을 따라 경계 상자의 제 1 수직선을 생성하고, 제 2 유효 복셀의 X-값에서 Y-축을 따라 경계 상자의 제 2 수직선을 생성할 수 있다. 게다가, 타겟 인식, 분석 및 트래킹 시스템은 제 3 유효 복셀의 Y-값에서 X-축을 따라 경계 상자의 제 1 수평선을 생성하고, 제 4 유효 복셀의 Y-값에서 X-축을 따라 경계 상자의 제 2 수평선을 생성할 수 있다. 예시적인 실시예에 따르면, 제 1 및 제 2 수평선은 제 1 및 제 2 수직선과 교차하여, 인간 타겟의 중심부 부피에 연관된 경계 상자를 나타내는 직사각형 또는 정사각형을 형성할 수 있다.
도 9는 중심부 부피를 결정하기 위해 정의된 경계 상자(804)의 예시적인 실시예를 도시한다. 도 9에 도시된 바와 같이, 경계 상자(804)는 제 1 수직선(VL1) 및 제 2 수직선(VL2)와 제 1 수평선(HL1) 및 제 2 수평선(HL2)의 교차점에 기반하여 직사각형을 형성할 수 있다.
다시 도 5에서, 타겟 인식, 분석 및 트래킹 시스템은 320에서 인간 타겟의 머리를 결정할 수 있다. 예를 들어, 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 중심부 부피를 결정하고 그에 연관된 경계 상자를 정의한 후에 인간 타겟의 머리의 위치 또는 포지션을 결정할 수 있다.
머리의 포지션 또는 위치를 결정하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 머리에 적합한 포지션 또는 위치에서 여러 후보들을 검색하고, 그 여러 후보들에 대해 점수를 매긴 후, 그 점수에 기반하여 여러 후보들로부터 머리의 위치를 선택할 수 있다. 예를 들어, 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 인간 타겟의 절대적으로 가장 높이 있는 복셀(absolute highest voxel) 및/또는 이 절대적으로 가장 높이 있는 복셀에 인접하거나 근접한 복셀들, 이전 프레임에서 결정된 머리의 위치에 근거하여 증가하는 하나 이상의 복셀, 예컨대, 중심 또는 중앙으로부터 수직으로 연장되는 상향 벡터(upward vector) 상에서 가장 높이 있는 복셀 및/또는 이전 프레임으로부터 결정되는 이전 상향 벡터 상에서 가장 높이 있는 복셀에 인접하거나 근접한 복셀들, 이전 프레임에 대해 결정된 중심 및 가장 높이 있는 복셀 사이의 이전 상향 벡터 상에 있는 가장 높이 있는 복셀, 또는 머리에 대한 후보가 될 수 있는 그 밖의 적절한 임의의 복셀들을 검색할 수 있다.
다음으로, 타겟 인식, 분석 및 트래킹 시스템은 후보들의 점수를 매길 수 있다. 일 실시예에 따르면, 3-D 패턴 매칭에 따라 후보들의 점수를 매길 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 머리 원기둥 및 어깨 원기둥을 생성할 수 있다. 그 다음에, 타겟 인식, 분석 및 트래킹 시스템은 머리 원기둥에 포함된, 후보들에 연관된 복셀의 개수에 따라 후보들에 대한 점수를 계산할 수 있으며, 이는 아래에서 보다 상세하게 설명될 것이다.
도 10은 머리에 관련된 후보들의 점수를 매기기 위해 생성되는 머리 원기둥(806) 및 어깨 원기둥(808)의 예시적인 실시예를 도시한다. 예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 머리 원기둥(806) 및 어깨 원기둥(808)에 포함된, 머리 후보들에 연관된 복셀의 개수에 기반하여 후보들의 점수를 매길 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 머리 후보들에 관련된 복셀들의 위치에 기반하여 머리 원기둥(806) 및/또는 어깨 원기둥(808) 안에 있는 머리 후보들의 전체 개수와, 머리 후보들에 관련된 복셀들에 기반하여 머리 원기둥(806)(예컨대, 영역(807) 내) 및/또는 어깨 원기둥(808) 밖에 있는 머리 후보들의 전체 개수를 결정할 수 있다. 또한, 타겟 인식, 분석 및 트래킹 시스템은 어깨 원기둥(808)의 왼쪽 절반(LH)에 있는 머리 후보들의 개수와 어깨 원기둥(808)의 오른쪽 절반(RH)에 있는 머리 후보들의 개수의 차이의 절대값의 함수를 기초로 하여 대칭 메트릭(symmetric metric)을 계산할 수 있다. 예시적인 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 머리 원기둥(806) 및/또는 어깨 원기둥(808) 안에 있는 후보들의 전체 개수에서 머리 원기둥(806) 및/또는 어깨 원기둥(808) 밖에 있는 후보들의 전체 개수를 빼고, 머리 원기둥(806) 및/또는 어깨 원기둥(808) 안팎에 있는 후보들의 전체 개수의 차이에서 대칭 메트릭을 뺌으로써 후보들의 점수를 계산할 수 있다. 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 뺄셈 전에, 머리 원기둥(806) 및/또는 어깨 원기둥(808) 안팎에 있는 후보들의 전체 개수에 타겟 인식, 분석 및 트래킹 시스템에 의해 결정된 상수를 곱할 수 있다.
다시 도 5를 참조하여, 일 실시예에 따르면, 어느 후보에 관한 점수가 머리 임계 점수를 초과하면, 타겟 인식, 분석 및 트래킹 시스템은 320에서 후보와 연관된 복셀들에 기반하여 머리의 포지션 또는 위치를 결정할 수 있다. 예를 들어, 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 가장 높이 있는 포인트, 예컨대, 중심 또는 중앙으로부터 수직으로 연장되는 상향 벡터 상에서 가장 높이 있는 복셀 및/또는 이전 프레임에서 결정된 이전 상향 벡터 상에서 가장 높이 있는 복셀에 인접하거나 근접한 복셀들, 이전 프레임에 대해 결정된 중심 및 가장 높이 있는 복셀 사이의 이전 상향 벡터 상에서 가장 높이 있는 복셀, 이전 프레임의 머리의 포지션 또는 위치 주변의 상자, 큐브 등의 영역 내에 있는 모든 복셀들의 평균 위치 등에 기반하여 머리의 포지션 또는 위치를 선택할 수 있다. 다른 예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 머리 임계 점수를 초과하는 후보에 연관된 복셀들의 X-값, Y-값 및 깊이 값 등의 값들의 평균을 계산하여, 머리의 포지션 또는 위치를 결정할 수 있고, 또는 타겟 인식, 분석 및 트래킹 시스템은 머리 임계 점수를 초과하는 후보에 포함된 복셀들의 선 적합성(line fit) 또는 최적선(line of best fit)에 기반하여 머리의 포지션 또는 위치를 선택할 수 있다.
또한, 일 실시예에서, 둘 이상의 후보가 머리 임계 점수를 초과하는 경우, 타겟, 인식 및 트래킹 시스템은 최고 점수를 갖는 후보를 선택한 후, 그 후보에 관련된 복셀들에 기반하여 머리의 포지션 또는 위치를 결정할 수 있다. 전술한 바와 같이, 타겟 인식, 분석 및 트래킹 시스템은 최고 점수를 갖는 후보에 관련된 복셀들의 X-값, Y-값 및 깊이 값 등의 값들의 평균에 기반하여 머리의 포지션 또는 위치를 선택할 수 있다.
일 실시예에 따르면, 후보와 연관된 점수들 중 어느 하나도 머리 임계 점수를 초과하지 않는 경우, 타겟 인식, 분석 및 트래킹 시스템은 머리 점수가 머리 임계 점수를 초과한 이전 프레임의 깊이 값에 연관된 인간 타겟에 포함된 복셀들에 대해 결정된 머리의 이전 포지션 또는 위치를 사용할 수 있고, 305에서 수신된 깊이 이미지가 캡쳐 장치에서 캡쳐되거나 관찰된 최초 프레임이라면, 타겟 인식, 분석 및 트래킹 시스템은 T-포즈, 자연스럽게 서 있는 포즈 등과 같이 인간 타겟의 디폴트 포즈에서의 머리에 대한 디폴트 포지션 또는 위치를 사용할 수 있다.
다른 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 예컨대, 머리 모양에 연관된 하나 이상의 2-D(two-dimensional) 패턴을 포함할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 후보에 연관된 복셀들이 하나 이상의 2-D 패턴의 머리 모양일 가능성에 기반하여 머리에 관련된 후보들의 점수를 매길 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 머리 모양의 정의를 나타내는 인접 또는 근처 복셀들의 깊이 값을 샘플링할 수 있다. 머리 모양의 정의를 나타내는 복셀들 중 어느 하나의 샘플링된 깊이 값이 머리 모양의 복셀들의 하나 이상의 예상 또는 사전 정의된 깊이 값에서 벗어나는 경우, 타겟 인식, 분석 및 트래킹 시스템은 디폴트 점수나 초기 점수를 낮춰, 그 복셀이 머리가 아님을 나타낼 수 있다. 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 최고치를 갖는 점수를 선택하여, 그 최고 점수를 갖는 후보에 연관된 복셀의 위치 또는 포지션에 기반하여 머리의 위치 또는 포지션을 배치할 수 있다.
또 다른 실시예에 따르면, 디폴트 점수 또는 초기 점수는 전술한 바와 같이 머리 및/또는 어깨 원기둥을 사용하여 계산된 머리에 연관된 후보에 대한 점수일 수 있다. 후보가 하나 이상의 2-D 패턴에 연관된 머리 모양이 아닐 경우, 타겟 인식, 분석 및 트래킹 시스템은 이러한 점수를 낮출 수 있다. 전술한 바와 같이, 타겟 인식, 분석 및 트래킹 시스템은 머리 임계 점수를 초과하는 후보의 점수를 선택하여, 그 후보의 위치나 포지션에 기반하여 머리의 위치나 포지션을 배치할 수 있다.
나아가, 타겟 인식, 분석 및 트래킹 시스템은 320에서 인간 타겟의 어깨와 엉덩이를 결정할 수 있다. 예를 들어, 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 인간 타겟의 머리의 위치나 포지션을 결정한 후에, 인간 타겟의 어깨와 엉덩이의 위치나 포지션을 결정할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 어깨와 엉덩이의 회전(rotation)이나 각도 등 어깨와 엉덩이의 오리엔테이션(orientation)도 결정할 수 있다.
예시적인 실시예에 따르면, 어깨와 엉덩이의 위치나 포지션을 결정하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 머리의 위치 또는 포지션과 인간 타겟의 중심 또는 중앙에 기반해서 헤드-투-센터 벡터를 정의할 수 있다. 예를 들어, 헤드-투-센터 벡터는 머리 포인트의 위치나 포지션에서의 X-값, Y-값 및 깊이 값(또는 Z-값)과 중심 또는 중앙 포인트의 위치나 포지션에서의 깊이 값(또는 Z-값) 사이에서 정의된 벡터 또는 선(line)일 수 있다.
도 11은 머리와 인간 타겟의 중심 또는 중앙에 기반한 헤드-투-센터 벡터의 예시적인 실시예를 도시한다. 전술한 바와 같이, 머리의 위치 또는 포지션(810) 등의 위치 또는 포지션을 결정할 수 있다. 도 11에 도시된 바와 같이, 타겟 인식, 분석 및 트래킹 시스템은 머리의 위치나 포지션(810)과 중심이나 중앙의 위치 또는 포지션(802) 사이에서 헤드-투-센터 벡터(812)를 정의할 수 있다.
도 5를 다시 참조하면, 타겟 인식, 분석 및 트래킹 시스템은 320에서 헤드-투-센터 벡터에 기반하여 어깨 부피 상자 및 엉덩이 부피 상자를 정의할 수 있다. 예를 들어, 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 머리 또는 중앙이나 중심에 연관된 포지션이나 위치 등의 신체 랜드마크로부터의 길이와 같은 변위(displacement)에 기반하여 어깨 및 엉덩이의 위치나 포지션을 정의하거나 결정할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 머리 또는 중앙이나 중심에 연관된 포지션이나 위치 등의 신체 랜드마크로부터의 변위 주위에 어깨 부피 상자 및 엉덩이 부피 상자를 정의할 수 있다.
도 12는 헤드-투-센터 벡터(812)에 근거하여 결정된 어깨 부피 상자(SVB) 및 엉덩이 부피 상자(HVB)의 예시적인 실시예를 도시한다. 예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 머리에 연관된 위치나 포지션(810) 또는 중앙이나 중심에 연관된 위치나 포지션(802) 등의 신체 랜드마크로부터의 길이와 같은 변위에 기반하여 어깨 및 엉덩이의 대략적인 위치나 포지션을 정의하거나 결정할 수 있다. 그 후에 타겟 인식, 분석 및 트래킹 시스템은 신체 랜드마크로부터의 변위 값 주변에서 어깨 부피 상자(SVB) 및 엉덩이 부피 상자(HVB)를 정의할 수 있다.
도 5를 다시 참조하면, 타겟 인식, 분석 및 트래킹 시스템은 헤드-투-센터 벡터에 따른, 머리 등의 신체 랜드마크로부터의 길이와 같은 변위 값에 기반하여 어깨 및 엉덩이의 중심을 계산할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 헤드-투-센터 벡터를 따라 변위 값만큼 위아래로 이동하여, 어깨 및 엉덩이의 중심을 계산할 수 있다.
일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 어깨 및 엉덩이의 각도 등의 오리엔테이션도 결정할 수 있다. 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 예컨대, 어깨 부피 상자 및 엉덩이 부피 상자 내의 깊이 값들의 선 적합성을 계산하여, 어깨 및 엉덩이의 각도 등의 오리엔테이션을 결정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 어깨 부피 상자 및 엉덩이 부피 상자에 연관된 복셀들의 X-값, Y-값 및 깊이 값들에 기반하여 최적선을 계산하여, 어깨의 중심을 통과하는 어깨뼈를 정의하는 벡터의 어깨 경사(slope)와 엉덩이의 중심을 통과하는 엉덩이의 관절 사이의 엉덩이뼈를 정의하는 벡터의 엉덩이 경사를 계산할 수 있다. 어깨 경사 및 엉덩이 경사는 어깨 및 엉덩이의 각도 등 각각의 오리엔테이션을 정의할 수 있다.
다른 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 320에서 복셀들의 깊이 값이 헤드-투-센터 벡터에 기반하여 인간 타겟의 중심 주변을 반영하도록, 인간 타겟의 깊이 값을 반영할(mirror) 수 있다. 따라서, 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 헤드-투-센터 벡터 등의 중심축 벡터(pivot vector), 어깨 및/또는 엉덩이 경계 상자로부터 계산된 중심점(pivot point) 등의 주변에서 인간 타겟의 복셀들의 깊이 값을 반영시킴으로써 신체의 뒤쪽을 보완할 수 있다.
타겟 인식, 분석 및 트래킹 시스템은 예컨대, 어깨 부피 상자 및 엉덩이 부피 상자 안의 반영된 깊이 값들을 포함하는 깊이 값의 선 적합성을 계산하여, 어깨 및 엉덩이 각도 등의 오리엔테이션을 결정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 어깨 부피 상자 및 엉덩이 부피 상자에 연관된 반영된 깊이 값을 포함하는 복셀들의 X-값, Y-값 및 깊이 값들에 기반하여 최적선을 계산하여, 어깨의 중심을 통과하는 어깨뼈를 정의하는 벡터의 어깨 경사와 엉덩이의 중심을 통과하는 엉덩이의 관절 사이의 엉덩이뼈를 정의하는 벡터의 엉덩이 경사를 계산할 수 있다. 어깨 경사 및 엉덩이 경사는 어깨 및 엉덩이의 각도 등 각각의 오리엔테이션을 정의할 수 있다.
도 13은 어깨 부피 상자(SVB) 및 엉덩이 부피 상자(HVB)에 근거하여 계산된 어깨 및 엉덩이의 일 실시예를 도시한다. 도 13에 도시된 대로, 어깨의 위치 또는 포지션(816a-b)과 엉덩이의 위치 또는 포지션(818a-b)이 전술한 바와 같이 각각 어깨 부피 상자(SVB) 및 엉덩이 부피 상자(HVB)에 근거하여 결정될 수 있다.
다시 도 5를 참조하면, 320에서, 타겟 인식, 분석 및 트래킹 시스템은 인간 타겟의 상체를 결정할 수 있다. 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 어깨 및 엉덩이를 결정한 후에, 머리, 어깨, 중심 및 엉덩이에 연관되고 이를 둘러싼 복셀을 포함하는 상체 부피를 생성하거나 만들 수 있다. 상체 부피는 중심, 머리, 어깨 및/또는 엉덩이의 위치 또는 포지션에 기반한 원기둥, 둥근 말단을 갖는 원기둥같은 캡슐 형태(pill shape) 등일 수 있다.
일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 어깨, 머리, 엉덩이, 중심 등에 기반한 크기를 갖는 중심부 부피를 나타내는 원기둥을 만들 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 어깨의 폭에 기반한 폭 또는 직경과, 머리와 엉덩이 간의 거리에 기반한 높이를 갖는 원기둥을 만들 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 헤드-투-센터 벡터를 따른 상체 부피를 나타내는 원기둥의 방향과 각을 정해서, 상체 부피가 인간 타겟의 상체의 각도 등의 오리엔테이션을 반영하도록 할 수 있다.
도 14는 중심부 부피를 나타내는 원기둥(820)의 예시적인 실시예를 도시한다. 도 14에 도시된 대로, 원기둥(820)은 어깨의 폭에 기반한 폭 또는 직경과, 머리와 엉덩이 간의 거리에 기반한 높이를 가질 수 있다. 원기둥(820)은 헤드-투-센터 벡터(812)를 따라 방향과 각을 정할 수 있다.
다시 도 5를 참조하면, 320에서, 타겟 인식, 분석 및 트래킹 시스템은 인간 타겟의 팔다리를 추정하거나 결정할 수 있다. 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 상체 부피를 생성하거나 또는 만들어낸 후에, 팔다리와 같이 상체 부피 밖에 있는 복셀들을 대략적으로 레이블링할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 상체 부피 밖에 있는 각각의 복셀을 식별하여 그 복셀들을 팔다리(limb)의 일부로 레이블링할 수 있다.
타겟 인식, 분석 및 트래킹 시스템은 상체 부피 밖에 있는 복셀들에 연관된 오른팔 및 왼팔, 오른손 및 왼손, 오른쪽 다리 및 왼쪽 다리, 오른발 및 왼발 등의 실제 팔다리를 결정할 수 있다. 일 실시예에서, 실제 팔다리를 결정하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 오른팔, 왼팔, 왼쪽 다리, 오른쪽 다리의 이전 포지션 또는 위치 등 식별된 팔다리의 이전 포지션 또는 위치를 상체 부피 바깥의 복셀들의 포지션 또는 위치와 비교할 수 있다. 예시적인 실시예에 따르면, 이전에 식별된 팔다리의 이전 위치 또는 포지션은, 이전 프레임에서 수신된 깊이 이미지에서의 팔다리의 위치 또는 포지션, 이전 움직임에 기반한 투사된 신체 부위 위치 또는 포지션, 또는 인간 타겟의 온전히 이어진 골격 또는 볼륨 모델(fully articulated skeleton or volumetric model)과 같은 인간 타겟의 표상의 기타 적절한 임의의 이전 위치 또는 포지션일 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 이러한 비교에 기반하여, 상체 부피 밖에 있는 복셀들과 이전에 식별된 가장 가까운 팔다리를 연계시킬 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 상체 부피 밖에 있는 각각의 복셀의 X-값, Y-값 및 깊이 값을 포함하는 포지션 또는 위치를, 이전에 식별된 왼팔, 오른팔, 왼쪽 다리, 오른쪽 다리 등 이전에 식별된 팔다리의 X-값, Y-값 및 깊이 값을 포함하는 이전 포지션 또는 위치와 비교할 수 있다. 그 후에 타겟 인식, 분석 및 트래킹 시스템은 이 비교 결과에 따라 상체 볼륨 밖에 있는 각각의 복셀을 가장 가까운 위치나 포지션에 있는 이전에 식별된 팔다리와 연계시킬 수 있다.
일 실시예에서, 실제 팔다리를 결정하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 인간 타겟의 표상의 디폴트 포즈에서 오른팔, 왼팔, 오른쪽 다리, 왼쪽 다리 등의 식별된 팔다리의 디폴트 포지션 또는 위치를 상체 부피 밖에 있는 복셀들의 포지션 또는 위치와 비교할 수 있다. 예를 들어, 305에서 수신된 깊이 이미지는 캡쳐 장치에서 캡쳐되거나 관찰된 최초 프레임에 포함될 수 있다. 305에서 수신된 깊이 이미지가 최초 프레임에 포함된 경우에, 타겟 인식, 분석 및 트래킹 시스템은 오른팔, 왼팔, 왼쪽 다리, 오른쪽 다리 등의 디폴트 포지션 또는 위치를 비롯한 팔다리의 디폴트 포지션 또는 위치를 상체 부피 밖의 복셀들의 포지션 또는 위치와 비교할 수 있다. 예시적인 실시예에 따르면, 식별된 팔다리의 디폴트 위치 또는 포지션은 디폴트 포즈인 인간 타겟의 온전히 이어진 골격 또는 볼륨 모델을 비롯한 인간 타겟 표상의 T-포즈, 다빈치 포즈, 자연스러운 포즈 등의 디폴트 포즈에서의 팔다리의 위치 또는 포지션일 수 있다. 그 후에 타겟 인식, 분석 및 트래킹 시스템은 이 비교 결과에 따라 상체 볼륨 밖에 있는 각각의 복셀을 디폴트 포즈에 관련된 가장 가까운 팔다리와 연계시킬 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 상체 부피 밖에 있는 각각의 복셀의 X-값, Y-값 및 깊이 값을 포함하는 포지션 또는 위치를 디폴트 왼팔, 오른팔, 왼쪽 다리, 오른쪽 다리 등의 디폴트 팔다리의 X-값, Y-값 및 깊이 값을 포함하는 디폴트 포지션 또는 위치와 비교할 수 있다. 그 후에 타겟 인식, 분석 및 트래킹 시스템은 이 비교 결과에 따라 상체 볼륨 밖에 있는 각각의 복셀을 가장 가까운 위치나 포지션에 있는 디폴트 팔다리와 연계시킬 수 있다.
또한 타겟 인식, 분석 및 트래킹 시스템은 추정된 팔다리에 기반하여 상체 부피 내의 복셀들을 다시 레이블링할 수 있다. 예를 들어, 일 실시예에서, 왼쪽 팔뚝과 같이 팔의 적어도 일부분이 인간 타겟의 상체의 앞에 위치할 수 있다. 식별된 팔의 이전 포지션 또는 위치에 기반하여, 타겟 인식, 분석 및 트래킹 시스템은 전술한 바와 같이 그 부분을 팔과 연관된다고 결정하거나 추정할 수 있다. 예를 들어, 이전에 식별된 팔다리의 이전 포지션 또는 위치는, 인간 타겟의 팔 등의 특정 팔다리의 하나 이상의 복셀이 상체 부피 안에 있음을 나타낼 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 이전에 식별된 왼팔, 오른팔, 왼쪽 다리, 오른쪽 다리 등 이전에 식별된 팔다리의 X-값, Y-값 및 깊이 값을 포함하는 이전 포지션 또는 위치를 상체 부피에 포함된 복셀들의 포지션 또는 위치와 비교할 수 있다. 그 후에 타겟 인식, 분석 및 트래킹 시스템은 이 비교 결과에 따라 상체 볼륨 안의 각각의 복셀을 가장 가까운 위치나 포지션에 있는 이전에 식별된 팔다리와 연계시키고 다시 레이블링할 수 있다.
일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 팔다리에 연관된 복셀들을 레이블링을 한 후에, 320에서 레이블링된 팔다리 부위들의 위치 또는 포지션을 결정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 왼팔, 오른팔, 왼쪽 다리 및/또는 오른쪽 다리에 연관된 복셀들을 레이블링한 후에, 손 및/또는 오른팔 및 왼팔의 팔꿈치, 무릎 및/또는 발, 팔꿈치 등의 위치나 포지션을 결정할 수 있다.
타겟 인식, 분석 및 트래킹 시스템은 각 팔다리에 대한 팔다리 평균에 기반하여 손, 팔꿈치, 발, 무릎 등의 부위들의 위치나 포지션을 결정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 왼 팔에 연관된 각각의 복셀에 대한 X-값, 왼팔에 연관된 각각의 복셀에 대한 Y-값, 왼팔에 연관된 각각의 복셀에 대한 깊이 값을 추가하고, 추가된 X-값, Y-값 및 깊이 값 각각의 합을 왼팔에 연관된 복셀들의 전체 개수로 나누어 왼팔 평균 위치를 계산할 수 있다. 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 왼쪽 어깨와 왼팔 평균 위치 사이의 벡터 또는 선을 정의하여, 그 벡터 또는 선으로 왼손에 대한 제 1 검색 방향을 정의할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 어깨에서 벡터 또는 선에 의해 정의된 제 1 검색 방향을 따라 마지막 유효 복셀 또는 유효 X-값, Y-값 및/또는 깊이 값을 갖는 마지막 복셀을 검색하여, 마지막 유효 복셀의 위치 또는 포지션을 왼손과 연계시킬 수 있다.
다른 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 앵커 포인트(anchor point)를 계산할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 앵커 포인트와 왼팔 평균 위치 사이의 벡터 또는 선을 정의하여, 그 벡터 또는 선으로 왼손에 대한 제 2 검색 방향을 정의할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 앵커 포인트로부터 벡터 또는 선에 의해 정의된 제 2 검색 방향을 따라 마지막 유효 복셀 또는 유효 X-값, Y-값 및/또는 깊이 값을 갖는 마지막 복셀을 검색하여, 마지막 유효 복셀의 위치 또는 포지션을 왼손과 연계시킬 수 있다.
예시적인 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 머리, 엉덩이, 어깨 등 결정된 다른 말단들로부터의 하나 이상의 오프셋에 기반하여 앵커 포인트의 위치 또는 포지션을 계산할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 어깨의 위치나 포지션에 연관된 X-값 및 깊이 값의 절반만큼 어깨의 위치 또는 포지션을 X-방향 및 Z-방향으로 각각 연장시켜 앵커 포인트에 대한 X-값 및 깊이 값을 계산할 수 있다. 그리고 나서, 타겟 인식, 분석 및 트래킹 시스템은 연장된 위치 또는 포지션 주변의 앵커 포인트에 대한 X-값 및 깊이 값의 위치나 포지션을 반영시킬 수 있다.
타겟 인식, 분석 및 트래킹 시스템은 머리 및/또는 엉덩이로부터의 왼팔 평균 위치의 변위에 근거하여 앵커 포인트에 대한 Y-값을 계산할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 머리의 Y-값 및 왼팔 평균의 Y-값 간의 변위 또는 차이를 계산할 수 있다. 그 다음에, 타겟 인식, 분석 및 트래킹 시스템은 그 변위 또는 차이를 예컨대, 엉덩이의 중심의 Y-값에 더하여 앵커 포인트의 Y-값을 계산할 수 있다.
도 15(a) - 15(c)는 앵커 포인트(828a-828c)에 근거하여 결정되는 손의 예시적인 실시예를 도시한다. 도 15(a) - 15(c)에 도시된 바와 같이, 다른 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 앵커 포인트(828a-828c)를 계산할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 앵커 포인트(828a-828c)와 왼팔 평균 위치(826a-826c) 사이의 벡터 또는 선을 정의하여, 그 벡터 또는 선으로 왼손에 대한 제 2 검색 방향을 정의할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 앵커 포인트(828a-828c)로부터 벡터 또는 선에 의해 정의된 제 2 검색 방향을 따라 마지막 유효 복셀 또는 유효 X-값, Y-값 및/또는 깊이 값을 갖는 마지막 복셀을 검색하고, 마지막 유효 복셀의 위치 또는 포지션을 왼손과 연계시킬 수 있다.
전술한 바와 같이, 예시적인 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 머리, 엉덩이, 어깨 등 결정된 다른 말단들로부터의 하나 이상의 오프셋(offset)에 기반하여 앵커 포인트(828a-828c)의 위치 또는 포지션을 계산할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 어깨의 위치나 포지션에 연관된 X-값 및 깊이 값의 절반만큼 어깨의 위치 또는 포지션을 X-방향 및 Z-방향으로 각각 연장시켜 앵커 포인트(828a-828c)에 대한 X-값 및 깊이 값을 계산할 수 있다. 그리고 나서, 타겟 인식, 분석 및 트래킹 시스템은 연장된 위치 또는 포지션 주변의 앵커 포인트(828a-828c)에 대한 X-값 및 깊이 값의 위치나 포지션을 반영시킬 수 있다.
타겟 인식, 분석 및 트래킹 시스템은 머리 및/또는 엉덩이로부터의 왼팔 평균 위치의 변위에 근거하여 앵커 포인트(828a-828c)에 대한 Y-값을 계산할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 머리의 Y-값 및 왼팔 평균(826a-826c)의 Y-값 간의 변위 또는 차이를 계산할 수 있다. 그 다음에, 타겟 인식, 분석 및 트래킹 시스템은 그 변위 또는 차이를 예컨대, 엉덩이의 중심의 Y-값에 더하여 앵커 포인트(828a-828c)의 Y-값을 계산할 수 있다.
다시 도 5를 참조하여, 예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 320에서 오른손의 위치 또는 포지션을 결정하는 데 사용되는, 전술한 바와 같은 제 1 및 제 2 검색 방향 등의 검색 방향을 정의하기 위해 사용되는 오른팔 평균 위치를 결정할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 왼발 및 오른발을 결정하는 데 사용되는, 전술한 바와 같은 검색 방향을 정의하기 위해 사용되는 왼발 평균 위치 및 오른발 평균 위치도 계산할 수 있다.
도 16은 팔과 다리의 평균 위치 및/또는 앵커 포인트에 근거하여 계산되는 손과 발의 예시적인 실시예를 도시한다. 도 16에 도시된 바와 같이, 양손의 위치 또는 포지션(822a-b)과 양발의 위치 또는 포지션(824a-b)은 전술한 바와 같이 각각의 팔 및 다리 평균 포지션 및/또는 앵커 포인트에 의해 결정되는 제 1 및 제 2 검색 방향에 기반하여 결정될 수 있다.
도 6을 다시 참조하면, 320에서, 타겟 인식, 분석 및 트래킹 시스템은 오른팔 및 왼팔의 평균 위치 및 오른쪽 및 왼쪽 다리의 평균 위치, 어깨, 엉덩이, 머리 등에 기반하여 팔꿈치와 무릎의 위치 또는 포지션을 결정할 수 있다. 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 왼팔 평균 위치의 X-값, Y-값 및 깊이 값을 리파인함으로써(refining) 왼쪽 팔꿈치의 위치 또는 포지션을 결정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 왼팔에 연관된 테두리를 정의하는 가장바깥쪽 복셀들을 결정할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 왼팔 평균 위치의 X-값, Y-값 및 깊이 값이 테두리의 중심에 또는 테두리로부터 동일한 거리에 있도록 조정할 수 있다.
타겟 인식, 분석 및 트래킹 시스템은 320에서, 분리된 인간 타겟에 대해 추가적인 관심 포인트를 결정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 신체 중심으로부터 가장 먼 복셀, 카메라에 가장 가까운 복셀, 예컨대, 어깨 각도 등의 오리엔테이션에 근거하여 인간 타겟의 가장 앞쪽에 있는 복셀을 결정할 수 있다.
타겟 인식, 분석 및 트래킹 시스템은 320에서 머리, 어깨, 엉덩이, 손, 발 등의 말단에 대해 결정된 하나 이상의 위치 또는 포지션이 인간 타겟의 실제 말단들에 대한 정확한 위치 또는 포지션이 아닌지를 결정할 수 있다. 예를 들어, 일 실시예에서, 오른손의 위치 또는 포지션이 부정확하여, 오른손의 위치 또는 포지션이 어깨 또는 엉덩이의 위치나 포지션에 또는 그 가까이에 붙어있을 수 있다.
예시적인 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 말단의 부정확한 위치나 포지션을 나타내는, 각종 말단에 대한 부피 마커(volume marker) 목록을 포함하거나 저장할 수 있다. 예를 들면, 목록은 손에 연관된 어깨와 엉덩이 주변의 부피 마커들을 포함할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 목록에 있는 손에 연관된 부피 마커들에 근거하여 손에 대한 위치나 포지션이 정확한지 여부를 결정할 수 있다. 예를 들어, 손의 위치나 포지션이 목록의 손에 연관된 어느 하나의 부피 마커 안에 있다면, 타겟 인식, 분석 및 트래킹 시스템은 손의 위치나 포지션이 부정확하다고 결정할 수 있다. 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 손의 위치나 포지션을 이전 프레임의 손의 정확한 이전 위치 또는 손의 현재 위치 또는 포지션으로 조정할 수 있다.
325에서, 타겟 인식, 분석 및 트래킹 시스템은 320에서 결정된 말단들에 기반하여 생성된 모델을 트래킹할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 하나 이상의 관절과 그 관절 사이에 정의된 뼈를 갖는 골격 모델을 비롯한 모델을 생성 및/또는 포함할 수 있다.
도 17은 생성된 골격 모델 등의 모델(900)의 예시적인 실시예를 도시한다. 예시적인 실시예에 따르면, 모델(900)은 예컨대, 인간의 3-D 모델을 나타내는 하나 이상의 데이터 구조를 포함할 수 있다. 각 신체 부위는 모델(900)의 관절과 뼈를 정의하는 X, Y 및 Z 값을 갖는 수학적인 벡터로 표현될 수 있다.
도 17에 도시된 바와 같이, 모델(900)은 하나 이상의 관절(j1-j16)을 포함할 수 있다. 예시적인 실시예에 따르면, 각각의 관절(j1-j16)에 의해 그들 사이에서 정의된 여러 신체 부위가 다른 여러 신체 부위에 대해 상대적으로 움직일 수 있게 된다. 예를 들어, 인간 타겟을 나타내는 모델은 인접 뼈들의 교차점에 위치하는 관절(j1-j16)을 갖는 "뼈"와 같은 하나 이상의 구조 부재에 의해 정의되는 복수의 딱딱한(rigid) 및/또는 변형가능한 신체 부위를 포함할 수 있다. 관절(j1-j16)을 통해, 뼈와 관절(j1-j16)과 연관된 각종 신체 부위들이 서로 독립적으로 움직일 수 있게 된다. 예를 들어, 도 17에 도시된 대로, 관절(j10)과 관절(j12) 사이에 정의된 뼈는, 종아리에 해당하는 관절들(j14 및 j16) 사이에서 정의된 뼈와는 독립적으로 움직이는 팔뚝에 해당한다.
도 5를 다시 참조하면, 325에서, 타겟 인식, 분석 및 트래킹 시스템은 320에서 생성된 모델을 말단들에 대해 결정된 위치 또는 포지션에 기반하여 조정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 머리에 연관된 관절(j2)을 320에서 결정된 머리에 대한 위치 또는 포지션(810) 등의 포지션 또는 위치에 대응하도록 조정할 수 있다. 따라서, 예시적인 실시예에서, 전술한 바와 같이 머리에 대해 결정된 위치 또는 포지션(810)에 연관된 X-값, Y-값 및 깊이 값을 관절(j2)에 할당할 수 있다. 예컨대, 전술한 부피 마커 목록에 근거하여 하나 이상의 말단이 부정확한 경우, 타겟 인식, 분석 및 트래킹 시스템은 그 부정확한 관절을 이전 프레임에 근거한 이전 위치나 포지션에 유지시킬 수 있다.
나아가, 타겟 인식, 분석 및 트래킹 시스템이 말단들의 위치 또는 포지션을 갖고 있지 않은 경우, T-포즈, 다빈치 포즈 등의 디폴트 포즈에 기반한 디폴트 위치나 포지션을 사용할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 모델의 하나 이상의 관절(j1-j16)이 디폴트 포즈에서의 가장 가까운 복셀들의 X-값, Y-값 및/또는 깊이 값에 연계되도록 이 관절들을 끌어들이거나 조정할 수 있다.
325에서, 타겟 인식, 분석 및 트래킹 시스템은 330에서 결정된 하나 이상의 신체 측정치에 기반하여, 모델의 관절 사이에서 정의된 하나 이상의 뼈의 측정치를 조정할 수 있으며, 이는 아래에서 보다 상세하게 설명될 것이다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 330에서 인간 타겟의 왼쪽 팔뚝의 길이를 결정할 수 있다. 325에서, 타겟 인식, 분석 및 트래킹 시스템은 330에서 인간 타겟에 대해 결정된 왼쪽 팔뚝의 길이를 모방하도록, 왼쪽 팔뚝에 연관된 뼈의 길이를 조정할 수 있다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 관절(j10 및 j12)의 X-값, Y-값 및 깊이 값(또는 Z-값) 중에서 하나 이상을 조정하여 그 사이에서 정의된 뼈가 330에서 인간 타겟의 왼쪽 팔뚝에 대해 결정된 길이와 동일하게 할 수 있다.
325에서, 타겟 인식, 분석 및 트래킹 시스템은 조정된 모델에 연관된 관절들의 유효하지 않은 위치 또는 포지션을 확인할 수 있다. 예를 들어, 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 관절(j10) 등의 관절이 튀어나와 모델이 닭춤 포즈에 빠져있는지를 결정하기 위해 확인할 수 있다. 따라서, 325에서, 타겟 인식, 분석 및 트래킹 시스템은 팔꿈치에 연관된 관절을 비롯하여 부적절한 방식으로 무너진 모델의 알려져 있는 위치 또는 포지션에 관해 모델을 확인할 수 있다.
일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 305에서 수신된 다운샘플링되지 않은 깊이 이미지의 2-D 화소 영역에서의 X-값, Y-값 및 깊이 값에 기반하여 관절의 위치나 포지션을 리파인할 수도 있다. 예를 들어, 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 다운샘플링되지 않은 깊이 이미지의 데이터를 사용하여 예컨대, 무너진 모델의 관절들의 위치나 포지션을 리파인할 수 있다.
또한, 타겟 인식, 분석 및 트래킹 시스템은 다운샘플링되지 않은 깊이 이미지의 데이터를 사용하여 자주 사용되는 제스쳐에 관련된 모델의 관절들의 위치나 포지션을 리파인할 수 있다. 예를 들어, 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 손에 관련된 관절들에 우선 순위를 둘 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 305에서 수신된 다운샘플링되지 않은 깊이 이미지에서 손 주변의 데이터를 localize(국부화)하여, 305에서 수신된 다운샘플링되지 않은 깊이 이미지의 높은 해상도 데이터를 사용하여 320에서 결정된 손의 위치 또는 포지션을 수정할 수 있다.
전술한 바와 같이, 330에서, 타겟 인식, 분석 및 트래킹 시스템은 분리된 인간 타겟에 연관된 복셀들을 스캔하여 그와 관련된 말단들의 크기를 결정할 수 있다. 예를 들어, 분리된 인간 타겟을 스캔하여, 예컨대, 팔, 다리, 머리, 어깨, 엉덩이, 상체 등의 말단과 연관된 길이, 폭 등의 치수를 결정할 수 있다.
크기를 결정하기 위해, 330에서, 타겟 인식, 분석 및 트래킹 시스템은 각각의 말단에 대한 제시된 관절 치수의 예측치(estimator)를 생성할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 예측치를 사용하여 제시된 각 관절 치수에 대한 평균 및 표준 편차를 계산할 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 정의된 비율 편차(percentage deviation) 내의 제시된 관절 치수를 추가하고, 벗어난 값(outliers)이나 정의된 비율 편차 밖의 제시된 관절 치수는 버려진다. 타겟 인식, 분석 및 트래킹 시스템은 표준 편차와 제시된 관절 치수의 개수 간의 가장 높은 비율(highest ratio)을 갖는 예측치에 기반하여 말단들의 치수를 결정할 수 있다.
스캔을 통해 결정된 말단에 관련된 치수를 330에서 업데이트할 수 있다. 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템은 스캔에 의해 결정된 치수가 정확한지를 결정하기 위해 하나 이상의 휴리스틱 기법 또는 규칙을 포함할 수 있다. 예를 들어, 타겟 인식 분석, 및 트래킹 시스템은 치수를 조정하는 데 사용되는, 대칭 관절들 간의 유클리디안 거리(Euclidean distance)가 거의 동일한지를 결정하는 휴리스틱 기법 또는 규칙, 손 및/또는 팔꿈치가 신체 근처에 있는지를 결정하는 휴리스틱 기법 또는 규칙, 머리가 특정 포지션이나 위치에 있는지를 결정하는 휴리스틱 기법 및/또는 규칙, 손이 머리 근처에 있는지를 결정하는 휴리스틱 기법 및/또는 규칙 등을 포함할 수 있다. 전술한 바와 같이, 330에서 결정된 치수를 사용하여 325에서 다음 프레임에 대해 트래킹된 모델을 조정할 수 있다.
335에서, 조정된 모델을 처리할 수 있다. 예를 들어, 일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 조정된 모델에 적용된 하나 이상의 모션 또는 움직임을 아바타나 게임 캐릭터에 매핑시켜, 그 아바타나 게임 캐릭터가 애니메이션화되어 도 1a 및 1b에서 전술한 사용자(18) 등의 사용자를 흉내내게 함으로써 조정된 모델을 처리할 수 있다. 예를 들어, 온-스크린 캐릭터의 시각적인 모습은 조정된 모델의 변화에 따라 바뀔 수 있다.
일 실시예에서, 타겟 인식, 분석 및 트래킹 시스템은 도 1a - 4에서 전술한 컴퓨팅 환경(12) 등의 컴퓨팅 환경의 제스처 라이브러리에 조정된 모델을 제공함으로써 조정된 모델을 처리할 수 있다. 골격 모델의 각종 신체 부위의 포지션에 기반하여 애플리케이션에서 실행할 컨트롤을 결정하는 데 제스처 라이브러리를 사용할 수 있다.
본원에 기술된 구성 및/또는 접근 방법은 예시적인 것으로, 이러한 특정 실시예들이나 예시들로 제한되는 것은 아님을 이해할 것이다. 본원에 기술된 특정 루틴 또는 방법들은 하나 이상인 임의의 수의 처리 전략을 나타낸다. 따라서, 도시된 다양한 동작들은 도시된 순서대로, 다른 순서로 또는 동시에 실행될 수 있다. 마찬가지로, 전술한 프로세스의 순서가 변경될 수도 있다.
본 개시의 대상은 다양한 프로세스, 시스템 및 구성, 및 기타 특징, 기능, 동작 및/또는 특성의 모든 신규하고 비자명한 조합 및 서브콤비네이션뿐만 아니라, 임의의 그리고 모든 등가물도 포함한다.

Claims (15)

  1. 사용자를 트래킹하는 방법에 있어서,
    깊이 이미지를 수신하는 단계,
    상기 깊이 이미지에 기반하여 복셀 격자를 생성하는 단계,
    상기 복셀 격자에 포함된 배경을 제거하여 인간 타겟에 연관된 하나 이상의 복셀을 분리하는 단계,
    상기 분리된 인간 타겟의 하나 이상의 말단의 위치 또는 포지션을 결정하는 단계, 및
    상기 하나 이상의 말단의 상기 위치 또는 포지션에 기반하여 모델을 조정하는 단계를 포함하는
    사용자 트래킹 방법.
  2. 제1항에 있어서,
    상기 모델은 관절과 뼈를 갖는 골격 모델을 포함하는
    사용자 트래킹 방법.
  3. 제2항에 있어서,
    상기 결정된 하나 이상의 말단에 기반하여 상기 모델을 조정하는 단계는 상기 하나 이상의 말단의 상기 위치 또는 포지션을 상기 모델의 해당 관절에 할당하는 단계를 포함하는
    사용자 트래킹 방법.
  4. 제1항에 있어서,
    상기 복셀 격자의 배경을 제거하여 인간 타겟에 연관된 하나 이상의 복셀을 분리하는 단계는
    상기 격자의 사물의 움직임 여부를 결정하는 단계 및
    상기 결정에 기반하여, 상기 사물이 움직이지 않을 때, 상기 사물에 연관된 상기 복셀들을 버리는 단계를 더 포함하는
    사용자 트래킹 방법.
  5. 제1항에 있어서,
    상기 방법은
    상기 하나 이상의 말단의 크기를 결정하는 단계 및 상기 결정된 크기에 기반하여 상기 모델의 상기 관절 및 뼈를 조정하는 단계를 더 포함하는
    사용자 트래킹 방법.
  6. 제1항에 있어서,
    상기 하나 이상의 말단은 머리, 중심, 어깨, 엉덩이, 다리, 팔, 손, 팔꿈치, 무릎 및 발 중 적어도 하나를 포함하는
    사용자 트래킹 방법.
  7. 제1항에 있어서,
    상기 방법은
    상기 조정된 모델을 처리하는 단계를 더 포함하는
    사용자 트래킹 방법.
  8. 제1항에 있어서,
    상기 격자의 각각의 복셀은 상기 수신된 깊이 이미지에 포함된 화소의 부분 또는 블록에 기반하여 생성되는
    사용자 트래킹 방법.
  9. 사용자를 트래킹하는 컴퓨터 실행가능 인스트럭션을 저장한 컴퓨터 판독가능 저장 매체에 있어서,
    상기 컴퓨터 실행가능 인스트럭션은
    화소를 포함하는 깊이 이미지를 수신하고,
    상기 수신된 깊이 이미지의 화소를 다운샘플링하여 하나 이상의 복셀을 생성하고,
    인간 타겟에 연관된 하나 이상의 복셀을 분리하며,
    상기 분리된 인간 타겟의 하나 이상의 말단의 위치 또는 포지션을 결정하고,
    상기 하나 이상의 말단의 상기 위치 또는 포지션에 기반하여 모델을 조정하는 인스트럭션을 포함하는 컴퓨터 판독가능 저장 매체.
  10. 제9항에 있어서,
    상기 모델은 관절과 뼈를 갖는 골격 모델을 포함하는 컴퓨터 판독가능 저장 매체.
  11. 사용자와 연관된 모델을 트래킹하는 시스템에 있어서,
    상기 시스템은
    캡쳐 장치 - 상기 캡쳐 장치는 장면의 깊이 이미지를 수신하는 카메라 컴포넌트를 포함함 -, 및
    상기 캡쳐 장치와 통신 동작하는 컴퓨팅 장치 - 상기 컴퓨팅 장치는 상기 캡쳐 장치로부터 수신된 상기 깊이 이미지의 하나 이상의 화소에 기반하여 다운샘플링된 깊이 이미지를 생성하고, 상기 다운샘플링된 깊이 이미지의 배경을 제거하여 인간 타겟을 분리하고, 상기 분리된 인간 타겟의 하나 이상의 말단의 위치 또는 포지션을 결정하고, 상기 하나 이상의 말단의 상기 위치 또는 포지션에 기반하여 모델을 조정하는 프로세서를 포함함 - 를 포함하는 시스템.
  12. 제11항에 있어서,
    상기 프로세서는 상기 하나 이상의 화소의 부분 또는 블록에 대한 복셀을 생성함으로써, 상기 캡쳐 장치로부터 수신된 상기 깊이 이미지의 상기 하나 이상의 화소에 기반하여 상기 다운샘플링된 깊이 이미지를 생성하는 시스템.
  13. 제12항에 있어서,
    상기 모델은 관절 및 뼈를 갖는 골격 모델을 포함하는 시스템.
  14. 제13항에 있어서,
    상기 프로세서는 상기 하나 이상의 말단의 상기 위치 또는 포지션을 상기 모델의 해당 관절에 할당함으로써, 상기 하나 이상의 결정된 말단에 근거하여 상기 모델을 조정하는 시스템.
  15. 제11항에 있어서,
    상기 하나 이상의 말단은 머리, 중심, 어깨, 엉덩이, 다리, 팔, 손, 팔꿈치, 무릎 및 발 중 적어도 하나를 포함하는 시스템.
KR1020127008854A 2009-10-07 2010-10-06 인간 트래킹 시스템 KR101722147B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/575,388 2009-10-07
US12/575,388 US8564534B2 (en) 2009-10-07 2009-10-07 Human tracking system
PCT/US2010/051662 WO2011044257A2 (en) 2009-10-07 2010-10-06 Human tracking system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020177008298A Division KR101802125B1 (ko) 2009-10-07 2010-10-06 인간 트래킹 시스템

Publications (2)

Publication Number Publication Date
KR20120093197A true KR20120093197A (ko) 2012-08-22
KR101722147B1 KR101722147B1 (ko) 2017-03-31

Family

ID=43822804

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127008854A KR101722147B1 (ko) 2009-10-07 2010-10-06 인간 트래킹 시스템
KR1020177008298A KR101802125B1 (ko) 2009-10-07 2010-10-06 인간 트래킹 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177008298A KR101802125B1 (ko) 2009-10-07 2010-10-06 인간 트래킹 시스템

Country Status (7)

Country Link
US (6) US8564534B2 (ko)
EP (1) EP2486545B1 (ko)
JP (1) JP5845184B2 (ko)
KR (2) KR101722147B1 (ko)
CN (1) CN102549619B (ko)
TW (4) TWI497346B (ko)
WO (1) WO2011044257A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190141213A (ko) * 2017-09-21 2019-12-23 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 가상 인터랙티브 장면에서의 타깃 포지셔닝 방법 및 장치
KR102377556B1 (ko) * 2021-08-30 2022-03-22 주식회사 조이펀 깊이 카메라를 활용한 실시간 사용자 추적 시스템

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7989689B2 (en) * 1996-07-10 2011-08-02 Bassilic Technologies Llc Electronic music stand performer subsystems and music communication methodologies
US7297856B2 (en) * 1996-07-10 2007-11-20 Sitrick David H System and methodology for coordinating musical communication and display
US20080236431A1 (en) * 2007-03-28 2008-10-02 Pergo (Europe) Ab Process for Color Variability in Printing to Simulate Color Variation of Natural Product
TWI369899B (en) * 2008-07-21 2012-08-01 Ind Tech Res Inst Method and system for tracking human extremity positions
US8867820B2 (en) 2009-10-07 2014-10-21 Microsoft Corporation Systems and methods for removing a background of an image
US7961910B2 (en) 2009-10-07 2011-06-14 Microsoft Corporation Systems and methods for tracking a model
US8564534B2 (en) * 2009-10-07 2013-10-22 Microsoft Corporation Human tracking system
US8963829B2 (en) * 2009-10-07 2015-02-24 Microsoft Corporation Methods and systems for determining and tracking extremities of a target
KR101633359B1 (ko) * 2009-10-20 2016-06-27 삼성전자 주식회사 투사 불변량을 이용한 무표식 증강 현실 구현 시스템 및 그 방법
US9981193B2 (en) 2009-10-27 2018-05-29 Harmonix Music Systems, Inc. Movement based recognition and evaluation
US10357714B2 (en) * 2009-10-27 2019-07-23 Harmonix Music Systems, Inc. Gesture-based user interface for navigating a menu
US20110211749A1 (en) * 2010-02-28 2011-09-01 Kar Han Tan System And Method For Processing Video Using Depth Sensor Information
US8731829B2 (en) * 2010-05-31 2014-05-20 Nec Corporation Flow line detection system, flow line detection method, and flow line detection program
JP2012000165A (ja) * 2010-06-14 2012-01-05 Sega Corp ビデオゲーム装置
US8639020B1 (en) * 2010-06-16 2014-01-28 Intel Corporation Method and system for modeling subjects from a depth map
US8638364B2 (en) * 2010-09-23 2014-01-28 Sony Computer Entertainment Inc. User interface system and method using thermal imaging
JP2012160039A (ja) * 2011-02-01 2012-08-23 Fujifilm Corp 画像処理装置、立体画像印刷システム、画像処理方法およびプログラム
US8702507B2 (en) * 2011-04-28 2014-04-22 Microsoft Corporation Manual and camera-based avatar control
KR101514168B1 (ko) * 2011-04-28 2015-04-21 엔이씨 솔루션 이노베이터 가부시키가이샤 정보 처리 장치, 정보 처리 방법 및 기록 매체
WO2012172322A2 (en) * 2011-06-13 2012-12-20 Elliptic Laboratories As Touchless interaction
US11048333B2 (en) 2011-06-23 2021-06-29 Intel Corporation System and method for close-range movement tracking
WO2012176315A1 (ja) * 2011-06-23 2012-12-27 富士通株式会社 情報処理装置、入力制御方法及び入力制御プログラム
JP6074170B2 (ja) 2011-06-23 2017-02-01 インテル・コーポレーション 近距離動作のトラッキングのシステムおよび方法
TWI460683B (zh) * 2011-06-24 2014-11-11 Reallusion Inc The way to track the immediate movement of the head
TWI465960B (en) * 2011-08-30 2014-12-21 Three-dimensional human interface system and method thereof
CN102981599A (zh) * 2011-09-05 2013-03-20 硕擎科技股份有限公司 三维人机界面系统及其方法
JP2013101526A (ja) * 2011-11-09 2013-05-23 Sony Corp 情報処理装置、表示制御方法、およびプログラム
US9628843B2 (en) * 2011-11-21 2017-04-18 Microsoft Technology Licensing, Llc Methods for controlling electronic devices using gestures
US9072929B1 (en) * 2011-12-01 2015-07-07 Nebraska Global Investment Company, LLC Image capture system
US9782680B2 (en) 2011-12-09 2017-10-10 Futurewei Technologies, Inc. Persistent customized social media environment
WO2013103410A1 (en) 2012-01-05 2013-07-11 California Institute Of Technology Imaging surround systems for touch-free display control
US9338409B2 (en) * 2012-01-17 2016-05-10 Avigilon Fortress Corporation System and method for home health care monitoring
KR101909544B1 (ko) * 2012-01-19 2018-10-18 삼성전자주식회사 평면 검출 장치 및 방법
US9477303B2 (en) 2012-04-09 2016-10-25 Intel Corporation System and method for combining three-dimensional tracking with a three-dimensional display for a user interface
JP2015525381A (ja) * 2012-05-04 2015-09-03 オブロング・インダストリーズ・インコーポレーテッド 相互ユーザ手追跡および形状認識ユーザ・インターフェース
TWI470565B (zh) * 2012-06-15 2015-01-21 Sheng Fang Huang 非接觸式醫療導覽系統及其控制方法
US20140018169A1 (en) * 2012-07-16 2014-01-16 Zhong Yuan Ran Self as Avatar Gaming with Video Projecting Device
US20140037135A1 (en) * 2012-07-31 2014-02-06 Omek Interactive, Ltd. Context-driven adjustment of camera parameters
TWI496090B (zh) 2012-09-05 2015-08-11 Ind Tech Res Inst 使用深度影像的物件定位方法與裝置
JP6018468B2 (ja) * 2012-09-21 2016-11-02 日本放送協会 奥行き範囲算出装置及びそのプログラム
KR20140049152A (ko) 2012-10-16 2014-04-25 한국전자통신연구원 사람 추종 방법 및 로봇 장치
AU2013204965B2 (en) 2012-11-12 2016-07-28 C2 Systems Limited A system, method, computer program and data signal for the registration, monitoring and control of machines and devices
US9367733B2 (en) 2012-11-21 2016-06-14 Pelco, Inc. Method and apparatus for detecting people by a surveillance system
US10009579B2 (en) * 2012-11-21 2018-06-26 Pelco, Inc. Method and system for counting people using depth sensor
US9602778B2 (en) * 2012-12-12 2017-03-21 Sensormatic Electronics, LLC Security video system using customer regions for monitoring point of sale areas
WO2014107434A1 (en) 2013-01-02 2014-07-10 California Institute Of Technology Single-sensor system for extracting depth information from image blur
US9830736B2 (en) 2013-02-18 2017-11-28 Tata Consultancy Services Limited Segmenting objects in multimedia data
US9135516B2 (en) * 2013-03-08 2015-09-15 Microsoft Technology Licensing, Llc User body angle, curvature and average extremity positions extraction using depth images
US10220303B1 (en) 2013-03-15 2019-03-05 Harmonix Music Systems, Inc. Gesture-based music game
US9639747B2 (en) 2013-03-15 2017-05-02 Pelco, Inc. Online learning method for people detection and counting for retail stores
JP6276519B2 (ja) * 2013-05-22 2018-02-07 株式会社 日立産業制御ソリューションズ 人数計測装置および人物動線解析装置
JP6097150B2 (ja) * 2013-05-24 2017-03-15 ソニーセミコンダクタソリューションズ株式会社 画像処理装置、画像処理方法およびプログラム
US10474921B2 (en) * 2013-06-14 2019-11-12 Qualcomm Incorporated Tracker assisted image capture
TW201500968A (zh) * 2013-06-21 2015-01-01 Utechzone Co Ltd 三維互動系統及其互動感測方法
CN103399637B (zh) * 2013-07-31 2015-12-23 西北师范大学 基于kinect人体骨骼跟踪控制的智能机器人人机交互方法
CN104424649B (zh) * 2013-08-21 2017-09-26 株式会社理光 检测运动物体的方法和系统
EP3055987A4 (en) * 2013-09-13 2017-10-25 Intel Corporation Motion data based focus strenght metric to facilitate image processing
WO2015047225A1 (en) * 2013-09-24 2015-04-02 Hewlett-Packard Development Company, L.P. Determining a segmentation boundary based on images representing an object
US10286313B2 (en) 2013-10-24 2019-05-14 Virtuix Holdings Inc. Method of generating an input in an omnidirectional locomotion system
US10933320B2 (en) * 2013-10-24 2021-03-02 Virtuix Holdings Inc. Method generating an input in an omnidirectional locomotion system
US9530101B1 (en) * 2013-11-20 2016-12-27 The United States Of America As Represented By The Secretary Of The Navy Method for calculating sensor performance of a sensor grid using dynamic path aggregation
US9336440B2 (en) * 2013-11-25 2016-05-10 Qualcomm Incorporated Power efficient use of a depth sensor on a mobile device
US11615460B1 (en) 2013-11-26 2023-03-28 Amazon Technologies, Inc. User path development
JP6217373B2 (ja) * 2013-12-13 2017-10-25 富士通株式会社 動作判定方法、動作判定装置および動作判定プログラム
FR3015730B1 (fr) * 2013-12-20 2017-07-21 Thales Sa Procede de detection de personnes et ou d'objets dans un espace
US20150185851A1 (en) * 2013-12-30 2015-07-02 Google Inc. Device Interaction with Self-Referential Gestures
US9684928B2 (en) * 2014-01-15 2017-06-20 Holition Limited Foot tracking
CN104801042A (zh) * 2014-01-23 2015-07-29 鈊象电子股份有限公司 根据玩家挥手范围切换游戏画面的方法
US9452531B2 (en) 2014-02-04 2016-09-27 Microsoft Technology Licensing, Llc Controlling a robot in the presence of a moving object
EP4015054A1 (en) * 2014-03-19 2022-06-22 Virtuix Holdings Inc. Method of generating an input in an omnidirectional locomotion system
WO2015139231A1 (en) * 2014-03-19 2015-09-24 Intel Corporation Facial expression and/or interaction driven avatar apparatus and method
US9727778B2 (en) 2014-03-28 2017-08-08 Wipro Limited System and method for guided continuous body tracking for complex interaction
US9432768B1 (en) * 2014-03-28 2016-08-30 Amazon Technologies, Inc. Beam forming for a wearable computer
US9436277B2 (en) * 2014-04-21 2016-09-06 Xerox Corporation System and method for producing computer control signals from breath attributes
US10430676B2 (en) 2014-06-23 2019-10-01 Denso Corporation Apparatus detecting driving incapability state of driver
WO2015198540A1 (ja) 2014-06-23 2015-12-30 株式会社デンソー ドライバの運転不能状態検出装置
JP6372388B2 (ja) * 2014-06-23 2018-08-15 株式会社デンソー ドライバの運転不能状態検出装置
US9508195B2 (en) * 2014-09-03 2016-11-29 Microsoft Technology Licensing, Llc Management of content in a 3D holographic environment
KR101643917B1 (ko) * 2014-09-15 2016-08-01 (주)인더스웰 실사 영상 기반의 스마트 피팅장치
US11013451B2 (en) 2014-09-19 2021-05-25 Brigham Young University Marker-less monitoring of movement disorders
JP6030617B2 (ja) * 2014-10-15 2016-11-24 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置および画像処理方法
US20160110593A1 (en) * 2014-10-17 2016-04-21 Microsoft Corporation Image based ground weight distribution determination
TWI549069B (zh) * 2014-12-15 2016-09-11 Sheng Hui Meng Method and device for passenger barge
US10007996B2 (en) * 2015-03-02 2018-06-26 Lawrence Livermore National Security, Llc System for detecting objects in streaming 3D images formed from data acquired with a medium penetrating sensor
US10679177B1 (en) 2015-03-25 2020-06-09 Amazon Technologies, Inc. Using depth sensing cameras positioned overhead to detect and track a movement of a user within a materials handling facility
US10810539B1 (en) * 2015-03-25 2020-10-20 Amazon Technologies, Inc. Re-establishing tracking of a user within a materials handling facility
US11205270B1 (en) 2015-03-25 2021-12-21 Amazon Technologies, Inc. Collecting user pattern descriptors for use in tracking a movement of a user within a materials handling facility
US10586203B1 (en) 2015-03-25 2020-03-10 Amazon Technologies, Inc. Segmenting a user pattern into descriptor regions for tracking and re-establishing tracking of a user within a materials handling facility
US9706107B2 (en) * 2015-07-13 2017-07-11 Avaya Inc. Camera view control using unique nametags and gestures
EP3804825B1 (en) 2015-07-28 2023-11-15 Virtuix Holdings Inc. System and method of soft decoupling an input
CN106559660B (zh) * 2015-09-29 2018-09-07 杭州海康威视数字技术股份有限公司 2d视频中展示目标3d信息的方法及装置
JP6841232B2 (ja) * 2015-12-18 2021-03-10 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US11511156B2 (en) 2016-03-12 2022-11-29 Arie Shavit Training system and methods for designing, monitoring and providing feedback of training
US10587858B2 (en) * 2016-03-14 2020-03-10 Symbol Technologies, Llc Device and method of dimensioning using digital images and depth data
US9824500B2 (en) 2016-03-16 2017-11-21 Microsoft Technology Licensing, Llc Virtual object pathing
TWI610059B (zh) * 2016-08-04 2018-01-01 緯創資通股份有限公司 三維量測方法及應用其之三維量測裝置
US10762715B2 (en) * 2016-10-21 2020-09-01 Sony Interactive Entertainment Inc. Information processing apparatus
EP3373114B1 (en) 2017-03-10 2019-10-09 Alterface Projects Tracking system and method using a depth aware camera
US10346695B2 (en) * 2017-05-25 2019-07-09 General Motors Llc Method and apparatus for classifying LIDAR data for object detection
US10942575B2 (en) * 2017-06-07 2021-03-09 Cisco Technology, Inc. 2D pointing indicator analysis
US10943088B2 (en) 2017-06-14 2021-03-09 Target Brands, Inc. Volumetric modeling to identify image areas for pattern recognition
US10311624B2 (en) 2017-06-23 2019-06-04 Disney Enterprises, Inc. Single shot capture to animated vr avatar
KR102434574B1 (ko) 2017-08-14 2022-08-22 삼성전자주식회사 이미지에 포함된 특징 포인트의 시간 또는 공간의 움직임에 기초하여 이미지에 존재하는 피사체를 인식하는 장치 및 방법
US11328513B1 (en) 2017-11-07 2022-05-10 Amazon Technologies, Inc. Agent re-verification and resolution using imaging
CN108055479B (zh) * 2017-12-28 2020-07-03 暨南大学 一种动物行为视频的制作方法
JP7017689B2 (ja) * 2017-12-29 2022-02-09 富士通株式会社 情報処理装置、情報処理システムおよび情報処理方法
US11127189B2 (en) 2018-02-23 2021-09-21 Canon Kabushiki Kaisha 3D skeleton reconstruction from images using volumic probability data
GB2571307B (en) * 2018-02-23 2020-10-21 Canon Kk 3D skeleton reconstruction from images using volumic probability data
WO2020008458A2 (en) * 2018-07-02 2020-01-09 Vayyar Imaging Ltd. System and methods for environment mapping
US11461957B2 (en) * 2018-09-03 2022-10-04 Sony Interactive Entertainment Inc. Information processing device, information processing method, and program
CN109443196B (zh) * 2018-09-28 2020-07-24 顺丰科技有限公司 一种体积测量方法及系统
WO2020101472A1 (en) * 2018-11-14 2020-05-22 Mimos Berhad Method and system for counting and determining direction of movement of moving objects
US11386306B1 (en) 2018-12-13 2022-07-12 Amazon Technologies, Inc. Re-identification of agents using image analysis and machine learning
CN111514584B (zh) 2019-02-01 2022-07-26 北京市商汤科技开发有限公司 游戏控制方法及装置、游戏终端及存储介质
GB2583742B (en) * 2019-05-08 2023-10-25 Jaguar Land Rover Ltd Activity identification method and apparatus
JP2021016547A (ja) * 2019-07-19 2021-02-15 株式会社スクウェア・エニックス プログラム、記録媒体、物体検出装置、物体検出方法及び物体検出システム
CN110674719B (zh) * 2019-09-18 2022-07-26 北京市商汤科技开发有限公司 目标对象匹配方法及装置、电子设备和存储介质
TWI736138B (zh) * 2020-02-17 2021-08-11 國立屏東大學 交通安全學習系統與方法
US11128636B1 (en) 2020-05-13 2021-09-21 Science House LLC Systems, methods, and apparatus for enhanced headsets
CN114026463A (zh) * 2020-05-15 2022-02-08 百度时代网络技术(北京)有限公司 基于部分点云的行人速度估计方法
WO2022060765A1 (en) * 2020-09-15 2022-03-24 Jintronix, Inc. Method and system for 2d motion tracking of a subject
CN114330606B (zh) * 2020-10-09 2024-05-10 华为终端有限公司 真人游戏交互系统与方法
JP2022133723A (ja) * 2021-03-02 2022-09-14 株式会社アイシン 身体情報取得装置
CN113096337B (zh) * 2021-04-08 2022-11-11 中国人民解放军军事科学院国防工程研究院工程防护研究所 用于复杂背景的移动目标识别处理方法及智能安防系统
CN113313794B (zh) * 2021-05-19 2022-11-08 深圳市慧鲤科技有限公司 动画迁移方法和装置、设备及存储介质
TWI779735B (zh) * 2021-07-22 2022-10-01 宏碁股份有限公司 可調靈敏度之觸控裝置及其控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001513244A (ja) * 1997-12-22 2001-08-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オプション選択に基づくジェスチャー方法及び装置
JP2003109015A (ja) * 2001-10-01 2003-04-11 Masanobu Yamamoto 身体動作測定方式
WO2007132451A2 (en) * 2006-05-11 2007-11-22 Prime Sense Ltd. Modeling of humanoid forms from depth maps

Family Cites Families (297)

* 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
US5239464A (en) 1988-08-04 1993-08-24 Blair Preston E Interactive video system providing repeated switching of multiple tracks of actions sequences
US5239463A (en) 1988-08-04 1993-08-24 Blair Preston E Method and apparatus for player interaction with animated characters and objects
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
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
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
EP0590101B1 (en) 1991-12-03 1999-06-23 French Sportech Corporation 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
US5320538A (en) 1992-09-23 1994-06-14 Hughes Training, Inc. Interactive aircraft training system and method
US5561745A (en) 1992-10-16 1996-10-01 Evans & Sutherland Computer Corp. Computer graphics for animation by time-sequenced textures
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
US5325984A (en) * 1993-06-21 1994-07-05 Motorola, Inc. Friction clutch for dual pivot point hinge
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
GB9405299D0 (en) 1994-03-17 1994-04-27 Roke Manor Research Improvements in or relating to video-based systems for computer assisted surgery and localisation
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 混雑度検知方法およびそのシステム
AUPN003894A0 (en) 1994-12-13 1995-01-12 Xenotech Research Pty Ltd Head tracking system for stereoscopic display apparatus
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
WO1996034332A1 (fr) 1995-04-28 1996-10-31 Matsushita Electric Industrial Co., Ltd. Dispositif d'interface
US5913727A (en) 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
WO1996041304A1 (en) 1995-06-07 1996-12-19 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
US6430997B1 (en) 1995-11-06 2002-08-13 Trazer Technologies, Inc. System and method for tracking and assessing movement skills in multidimensional space
US6308565B1 (en) 1995-11-06 2001-10-30 Impulse Technology Ltd. System and method for tracking and assessing movement skills in multidimensional space
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
WO1999044698A2 (en) 1998-03-03 1999-09-10 Arena, Inc. System and method for tracking and assessing movement skills in multidimensional space
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
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
JPH09231369A (ja) 1996-02-21 1997-09-05 Canon Inc 画像情報入力装置
US5909218A (en) 1996-04-25 1999-06-01 Matsushita Electric Industrial Co., Ltd. Transmitter-receiver of three-dimensional skeleton structure motions and method thereof
JP2000510013A (ja) 1996-05-08 2000-08-08 リアル ヴィジョン コーポレイション 位置検出を用いたリアルタイムシミュレーション
US6173066B1 (en) 1996-05-21 2001-01-09 Cybernet Systems Corporation Pose determination and tracking by matching 3D objects to a 2D sensor
US5844241A (en) 1996-07-19 1998-12-01 City Of Hope System and method for determining internal radioactivity and absorbed dose estimates
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 日本電気株式会社 被写体抽出方式
EP0849697B1 (en) 1996-12-20 2003-02-12 Hitachi Europe Limited A hand gesture recognition system and method
US5974175A (en) * 1997-01-22 1999-10-26 Fujitsu Limited Image processing apparatus and method for detecting a contour of an object from images of a motion picture and extracting the object therefrom
US6009210A (en) 1997-03-05 1999-12-28 Digital Equipment Corporation Hands-free interface to a virtual reality environment using head tracking
US6400368B1 (en) 1997-03-20 2002-06-04 Avid Technology, Inc. System and method for constructing and using generalized skeletons for animation models
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
US6289112B1 (en) 1997-08-22 2001-09-11 International Business Machines Corporation System and method for determining block direction in fingerprint images
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
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
US6101289A (en) 1997-10-15 2000-08-08 Electric Planet, Inc. Method and apparatus for unencumbered capture of an object
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6384819B1 (en) 1997-10-15 2002-05-07 Electric Planet, Inc. System and method for generating an animatable character
US6130677A (en) 1997-10-15 2000-10-10 Electric Planet, Inc. Interactive computer vision system
AU1099899A (en) 1997-10-15 1999-05-03 Electric Planet, Inc. Method and apparatus for performing a clean background subtraction
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
US6272231B1 (en) 1998-11-06 2001-08-07 Eyematic Interfaces, Inc. Wavelet-based facial motion capture for avatar animation
WO1999053443A1 (en) 1998-04-13 1999-10-21 Eyematic Interfaces, Inc. Wavelet-based facial motion capture for avatar animation
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
US20010008561A1 (en) 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US6681031B2 (en) 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US7121946B2 (en) 1998-08-10 2006-10-17 Cybernet Systems Corporation Real-time head tracking system for computer games and other applications
US7036094B1 (en) 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
US6801637B2 (en) 1999-08-10 2004-10-05 Cybernet Systems Corporation Optical body tracker
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
JP4006873B2 (ja) * 1999-03-11 2007-11-14 ソニー株式会社 情報処理システム、情報処理方法及び装置、並びに情報提供媒体
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
US6487304B1 (en) 1999-06-16 2002-11-26 Microsoft Corporation Multi-view approach to motion and stereo
GB9914808D0 (en) * 1999-06-25 1999-08-25 Koninkl Philips Electronics Nv Active matrix electroluminscent device
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
US6556199B1 (en) 1999-08-11 2003-04-29 Advanced Research And Technology Institute Method and apparatus for fast voxelization of volumetric models
AU6985100A (en) * 1999-09-10 2001-04-24 Scanvaegt International A/S A grader apparatus
US6658136B1 (en) 1999-12-06 2003-12-02 Microsoft Corporation System and process for locating and tracking a person or object in a scene using a series of range images
JP4531897B2 (ja) 1999-12-27 2010-08-25 パナソニック株式会社 人物追跡装置、人物追跡方法及びそのプログラムを記録した記録媒体
US6980690B1 (en) 2000-01-20 2005-12-27 Canon Kabushiki Kaisha Image processing apparatus
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
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
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
US7375728B2 (en) 2001-10-01 2008-05-20 University Of Minnesota Virtual mirror
US6760028B1 (en) 2000-07-21 2004-07-06 Microsoft Corporation Methods and systems for hinting fonts
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
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
US6573912B1 (en) 2000-11-07 2003-06-03 Zaxel Systems, Inc. Internet system for virtual telepresence
JP4011327B2 (ja) 2000-11-15 2007-11-21 株式会社レクサー・リサーチ 表示オブジェクト提供装置、表示オブジェクト提供方式及び表示オブジェクト提供プログラム
US20040104935A1 (en) 2001-01-26 2004-06-03 Todd Williamson Virtual reality immersion system
EP1371019A2 (en) 2001-01-26 2003-12-17 Zaxel Systems, Inc. Real-time virtual viewpoint in simulated reality environment
JP2002319036A (ja) * 2001-02-13 2002-10-31 Sega Corp アニメーション生成プログラム
US6539931B2 (en) 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
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 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置及びプログラム
RU2215326C2 (ru) 2001-06-29 2003-10-27 Самсунг Электроникс Ко., Лтд. Иерархическое основанное на изображениях представление неподвижного и анимированного трехмерного объекта, способ и устройство для использования этого представления для визуализации объекта
US7274800B2 (en) * 2001-07-18 2007-09-25 Intel Corporation Dynamic gesture recognition from stereo sequences
JP2003058907A (ja) 2001-08-09 2003-02-28 Univ Tokyo 木構造リンク系のポーズ及び動作を生成する方法
US6937742B2 (en) 2001-09-28 2005-08-30 Bellsouth Intellectual Property Corporation Gesture activated home appliance
DE10149556A1 (de) 2001-10-08 2003-04-24 Siemens Ag Verfahren zur Erzeugung eines zweidimensionalen Bildes aus einem 3D-Datensatz eines Tomographie-Geräts und medizinisches Tomographie-Gerät
CN1218282C (zh) 2001-11-27 2005-09-07 三星电子株式会社 用深度图像表示三维物体的节点结构
KR100446635B1 (ko) 2001-11-27 2004-09-04 삼성전자주식회사 깊이 이미지 기반 3차원 객체 표현 장치 및 방법
US7340077B2 (en) 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors
AU2003219926A1 (en) 2002-02-26 2003-09-09 Canesta, Inc. Method and apparatus for recognizing objects
US7203356B2 (en) 2002-04-11 2007-04-10 Canesta, Inc. Subject segmentation and tracking using 3D sensing technology for video compression in multimedia applications
US7607509B2 (en) 2002-04-19 2009-10-27 Iee International Electronics & Engineering S.A. Safety device for a vehicle
GB0209080D0 (en) 2002-04-20 2002-05-29 Virtual Mirrors Ltd Methods of generating body models from scanned data
US7366645B2 (en) 2002-05-06 2008-04-29 Jezekiel Ben-Arie Method of recognition of human motion, vector sequences and speech
US7710391B2 (en) 2002-05-28 2010-05-04 Matthew Bell Processing an image utilizing a spatially varying pattern
US7348963B2 (en) 2002-05-28 2008-03-25 Reactrix Systems, Inc. Interactive video display system
US7170492B2 (en) 2002-05-28 2007-01-30 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
US7598976B2 (en) 2002-06-13 2009-10-06 I See Tech Ltd. Method and apparatus for a multisensor imaging and scene interpretation system to aid the visually impaired
US8599266B2 (en) 2002-07-01 2013-12-03 The Regents Of The University Of California Digital processing of video images
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
US9474968B2 (en) 2002-07-27 2016-10-25 Sony Interactive Entertainment America Llc Method and system for applying gearing effects to visual tracking
US7176915B1 (en) 2002-08-09 2007-02-13 Avid Technology, Inc. Subdividing rotation in a character using quaternion interpolation for modeling and animation in three dimensions
US8098293B2 (en) * 2002-08-30 2012-01-17 Sony Corporation Image extraction device, image extraction method, image processing device, image processing method, and imaging device
JP4287375B2 (ja) * 2002-09-24 2009-07-01 健爾 西 画像表示装置及び投影光学系
US7576727B2 (en) 2002-12-13 2009-08-18 Matthew Bell Interactive directed light/sound system
KR100507780B1 (ko) 2002-12-20 2005-08-17 한국전자통신연구원 고속 마커프리 모션 캡쳐 장치 및 방법
JP4235729B2 (ja) 2003-02-03 2009-03-11 国立大学法人静岡大学 距離画像センサ
US7224830B2 (en) * 2003-02-04 2007-05-29 Intel Corporation Gesture detection from digital video images
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
DE602004006190T8 (de) 2003-03-31 2008-04-10 Honda Motor Co., Ltd. Vorrichtung, Verfahren und Programm zur Gestenerkennung
JP4355341B2 (ja) 2003-05-29 2009-10-28 本田技研工業株式会社 深度データを用いたビジュアルトラッキング
US8072470B2 (en) 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment
EP3196805A3 (en) 2003-06-12 2017-11-01 Honda Motor Co., Ltd. Target orientation estimation using depth sensing
US7874917B2 (en) * 2003-09-15 2011-01-25 Sony Computer Entertainment Inc. Methods and systems for enabling depth and direction detection when interfacing with a computer program
WO2005041579A2 (en) 2003-10-24 2005-05-06 Reactrix Systems, Inc. Method and system for processing captured image information in an interactive video display system
JP2005165984A (ja) * 2003-12-05 2005-06-23 Seiko Epson Corp 人物顔の頭頂部検出方法及び頭頂部検出システム並びに頭頂部検出プログラム
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
JP4708422B2 (ja) 2004-04-15 2011-06-22 ジェスチャー テック,インコーポレイテッド 両手動作の追跡
US7308112B2 (en) 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
US8059153B1 (en) 2004-06-21 2011-11-15 Wyse Technology Inc. Three-dimensional object tracking using distributed thin-client cameras
US8114172B2 (en) 2004-07-30 2012-02-14 Extreme Reality Ltd. System and method for 3D space-dimension based image processing
US7704135B2 (en) 2004-08-23 2010-04-27 Harrison Jr Shelton E Integrated game system, method, and device
US20130063477A1 (en) 2004-12-06 2013-03-14 James Richardson Systems and methods for using a movable object to control a computer
KR20060070280A (ko) 2004-12-20 2006-06-23 한국전자통신연구원 손 제스처 인식을 이용한 사용자 인터페이스 장치 및 그방법
WO2006074290A2 (en) 2005-01-07 2006-07-13 Gesturetek, Inc. Optical flow based tilt sensor
US7853041B2 (en) 2005-01-07 2010-12-14 Gesturetek, Inc. Detecting and tracking objects in images
WO2006074310A2 (en) 2005-01-07 2006-07-13 Gesturetek, Inc. Creating 3d images of objects by illuminating with infrared patterns
US20060170769A1 (en) 2005-01-31 2006-08-03 Jianpeng Zhou Human and object recognition in digital video
US7646902B2 (en) 2005-02-08 2010-01-12 Regents Of The University Of Michigan Computerized detection of breast cancer on digital tomosynthesis mammograms
CN101536494B (zh) 2005-02-08 2017-04-26 奥布隆工业有限公司 用于基于姿势的控制系统的系统和方法
US20080246759A1 (en) 2005-02-23 2008-10-09 Craig Summers Automatic Scene Modeling for the 3D Camera and 3D Video
US7317836B2 (en) 2005-03-17 2008-01-08 Honda Motor Co., Ltd. Pose estimation based on critical point analysis
KR101430761B1 (ko) 2005-05-17 2014-08-19 퀄컴 인코포레이티드 방위-감응 신호 출력
US20090041297A1 (en) 2005-05-31 2009-02-12 Objectvideo, Inc. Human detection and tracking for security applications
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
JP4653599B2 (ja) 2005-08-29 2011-03-16 アロカ株式会社 超音波診断装置
US8382485B2 (en) 2005-09-29 2013-02-26 The General Hospital Corporation Methods and apparatus for providing realistic medical training
US8390821B2 (en) 2005-10-11 2013-03-05 Primesense Ltd. Three-dimensional sensing using speckle patterns
US7728839B2 (en) 2005-10-28 2010-06-01 Honda Motor Co., Ltd. Discriminative motion modeling for human motion tracking
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
US8094928B2 (en) 2005-11-14 2012-01-10 Microsoft Corporation Stereo video for gaming
WO2007064456A2 (en) * 2005-11-28 2007-06-07 The George Washington University Virtual reality simulator harness systems
KR100817298B1 (ko) 2005-12-08 2008-03-27 한국전자통신연구원 양손 검출 및 추적 방법
JP5025950B2 (ja) 2005-12-12 2012-09-12 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
US8571258B2 (en) * 2006-02-07 2013-10-29 France Telecom Method of tracking the position of the head in real time in a video image stream
CN101479782B (zh) * 2006-05-04 2011-08-03 美国索尼电脑娱乐公司 多输入游戏控制混合器
EP2016562A4 (en) * 2006-05-07 2010-01-06 Sony Computer Entertainment Inc METHOD FOR IMPLEMENTING AFFECTIVE PROPERTIES IN A COMPUTER GENERATED AVATAR DURING A COMPUTER GAME
US8467570B2 (en) * 2006-06-14 2013-06-18 Honeywell International Inc. Tracking system with fused motion and object detection
US8086971B2 (en) 2006-06-28 2011-12-27 Nokia Corporation Apparatus, methods and computer program products providing finger-based and hand-based gesture commands for portable electronic device applications
US8284202B2 (en) 2006-06-30 2012-10-09 Two Pic Mc Llc Methods and apparatus for capturing and rendering dynamic surface deformations in human motion
JP4409545B2 (ja) 2006-07-06 2010-02-03 株式会社ソニー・コンピュータエンタテインメント 三次元位置特定装置および方法、奥行位置特定装置
JP4707034B2 (ja) 2006-07-07 2011-06-22 株式会社ソニー・コンピュータエンタテインメント 画像処理方法、入力インタフェース装置
US7701439B2 (en) 2006-07-13 2010-04-20 Northrop Grumman Corporation Gesture recognition simulation system and method
DE102006048166A1 (de) 2006-08-02 2008-02-07 Daimler Ag Verfahren zur Beobachtung einer Person in einem industriellen Umfeld
CN100541540C (zh) 2006-09-14 2009-09-16 浙江大学 基于侧影和末端节点的视频人体三维运动恢复方法
US8131011B2 (en) 2006-09-25 2012-03-06 University Of Southern California Human detection and tracking system
JP5395323B2 (ja) 2006-09-29 2014-01-22 ブレインビジョン株式会社 固体撮像素子
US20100278391A1 (en) 2006-10-12 2010-11-04 Yung-Tai Hsu Apparatus for behavior analysis and method thereof
US8023726B2 (en) 2006-11-10 2011-09-20 University Of Maryland Method and system for markerless motion capture using multiple cameras
US7844087B2 (en) 2006-12-19 2010-11-30 Carestream Health, Inc. Method for segmentation of lesions
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
CA2717485A1 (en) 2007-03-02 2008-09-12 Organic Motion System and method for tracking three dimensional objects
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
US20080252596A1 (en) 2007-04-10 2008-10-16 Matthew Bell Display Using a Three-Dimensional vision System
WO2008128568A1 (en) 2007-04-20 2008-10-30 Softkinetic S.A. Volume recognition method and system
US7965866B2 (en) 2007-07-03 2011-06-21 Shoppertrak Rct Corporation System and process for detecting, tracking and counting human objects of interest
US7852262B2 (en) 2007-08-16 2010-12-14 Cybernet Systems Corporation Wireless mobile indoor/outdoor tracking system
US8295543B2 (en) * 2007-08-31 2012-10-23 Lockheed Martin Corporation Device and method for detecting targets in images based on user-defined classifiers
US7806589B2 (en) 2007-09-26 2010-10-05 University Of Pittsburgh Bi-plane X-ray imaging system
US7970176B2 (en) 2007-10-02 2011-06-28 Omek Interactive, Inc. Method and system for gesture classification
US7876947B2 (en) 2007-10-10 2011-01-25 Siemens Medical Solutions Usa, Inc. System and method for detecting tagged material using alpha matting
US9292092B2 (en) 2007-10-30 2016-03-22 Hewlett-Packard Development Company, L.P. Interactive display system with collaborative gesture detection
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
US9165199B2 (en) 2007-12-21 2015-10-20 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
WO2009086088A1 (en) * 2007-12-21 2009-07-09 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
KR100939294B1 (ko) 2007-12-26 2010-01-29 주식회사 케이티 3차원 공간에서의 사람 움직임 추적 방법 및 장치
US8166421B2 (en) 2008-01-14 2012-04-24 Primesense Ltd. Three-dimensional user interface
KR101335346B1 (ko) 2008-02-27 2013-12-05 소니 컴퓨터 엔터테인먼트 유럽 리미티드 장면의 심도 데이터를 포착하고, 컴퓨터 액션을 적용하기 위한 방법들
US8259163B2 (en) 2008-03-07 2012-09-04 Intellectual Ventures Holding 67 Llc Display with built in 3D sensing
JP4582174B2 (ja) 2008-03-28 2010-11-17 ソニー株式会社 追跡処理装置、追跡処理方法、プログラム
CN101254344B (zh) 2008-04-18 2010-06-16 李刚 场地方位与显示屏点阵按比例相对应的游戏装置和方法
KR101494344B1 (ko) * 2008-04-25 2015-02-17 삼성전자주식회사 휴머노이드 로봇의 움직임 제어 시스템 및 그 방법
US8781197B2 (en) 2008-04-28 2014-07-15 Cornell University Tool for accurate quantification in molecular MRI
US8971565B2 (en) * 2008-05-29 2015-03-03 Hie-D Technologies, Llc Human interface electronic device
US8456517B2 (en) 2008-07-09 2013-06-04 Primesense Ltd. Integrated processor for 3D mapping
EP2327061A4 (en) 2008-08-15 2016-11-16 Univ Brown METHOD AND DEVICE FOR ESTIMATING BODY SHAPES
CN201254344Y (zh) 2008-08-20 2009-06-10 中国农业科学院草原研究所 植物标本及种子存贮器
US8385688B2 (en) 2008-08-27 2013-02-26 International Business Machines Corporation System and method for automatic recognition and labeling of anatomical structures and vessels in medical imaging scans
US8577084B2 (en) 2009-01-30 2013-11-05 Microsoft Corporation Visual target tracking
WO2010103482A2 (en) 2009-03-13 2010-09-16 Primesense Ltd. Enhanced 3d interfacing for remote devices
KR101591779B1 (ko) 2009-03-17 2016-02-05 삼성전자주식회사 모션 데이터 및 영상 데이터를 이용한 골격 모델 생성 장치및 방법
US8503720B2 (en) 2009-05-01 2013-08-06 Microsoft Corporation Human body pose estimation
US8379101B2 (en) 2009-05-29 2013-02-19 Microsoft Corporation Environment and/or target segmentation
US8320619B2 (en) 2009-05-29 2012-11-27 Microsoft Corporation Systems and methods for tracking a model
US9182814B2 (en) 2009-05-29 2015-11-10 Microsoft Technology Licensing, Llc Systems and methods for estimating a non-visible or occluded body part
US8744121B2 (en) 2009-05-29 2014-06-03 Microsoft Corporation Device for identifying and tracking multiple humans over time
US8175335B2 (en) * 2009-06-17 2012-05-08 Sony Corporation Content adaptive detection of images with stand-out object
US8565479B2 (en) 2009-08-13 2013-10-22 Primesense Ltd. Extraction of skeletons from 3D maps
KR101619076B1 (ko) 2009-08-25 2016-05-10 삼성전자 주식회사 모바일 플랫폼의 동적 물체 검출 및 추적 방법
US8867820B2 (en) 2009-10-07 2014-10-21 Microsoft Corporation Systems and methods for removing a background of an image
US8564534B2 (en) * 2009-10-07 2013-10-22 Microsoft Corporation Human tracking system
US8963829B2 (en) * 2009-10-07 2015-02-24 Microsoft Corporation Methods and systems for determining and tracking extremities of a target
US7961910B2 (en) * 2009-10-07 2011-06-14 Microsoft Corporation Systems and methods for tracking a model
WO2012046392A1 (ja) * 2010-10-08 2012-04-12 パナソニック株式会社 姿勢推定装置及び姿勢推定方法
US20130208900A1 (en) * 2010-10-13 2013-08-15 Microsoft Corporation Depth camera with integrated three-dimensional audio
US20130208926A1 (en) * 2010-10-13 2013-08-15 Microsoft Corporation Surround sound simulation with virtual skeleton modeling
US8761437B2 (en) * 2011-02-18 2014-06-24 Microsoft Corporation Motion recognition
US9171200B2 (en) * 2011-03-04 2015-10-27 Hewlett-Packard Development Company, L.P. Gestural interaction identification
EP2773301B1 (en) * 2011-10-31 2016-03-16 Ossur Hf Orthopedic device for dynamically treating the knee
CN103871106A (zh) * 2012-12-14 2014-06-18 韩国电子通信研究院 利用人体模型的虚拟物拟合方法及虚拟物拟合服务系统
US9052746B2 (en) * 2013-02-15 2015-06-09 Microsoft Technology Licensing, Llc User center-of-mass and mass distribution extraction using depth images
US9135516B2 (en) * 2013-03-08 2015-09-15 Microsoft Technology Licensing, Llc User body angle, curvature and average extremity positions extraction using depth images
US9159140B2 (en) * 2013-03-14 2015-10-13 Microsoft Technology Licensing, Llc Signal analysis for repetition detection and analysis
US9142034B2 (en) * 2013-03-14 2015-09-22 Microsoft Technology Licensing, Llc Center of mass state vector for analyzing user motion in 3D images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001513244A (ja) * 1997-12-22 2001-08-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オプション選択に基づくジェスチャー方法及び装置
JP2003109015A (ja) * 2001-10-01 2003-04-11 Masanobu Yamamoto 身体動作測定方式
WO2007132451A2 (en) * 2006-05-11 2007-11-22 Prime Sense Ltd. Modeling of humanoid forms from depth maps

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190141213A (ko) * 2017-09-21 2019-12-23 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 가상 인터랙티브 장면에서의 타깃 포지셔닝 방법 및 장치
KR102377556B1 (ko) * 2021-08-30 2022-03-22 주식회사 조이펀 깊이 카메라를 활용한 실시간 사용자 추적 시스템

Also Published As

Publication number Publication date
CN102549619A (zh) 2012-07-04
US20120128208A1 (en) 2012-05-24
EP2486545A2 (en) 2012-08-15
TW201546659A (zh) 2015-12-16
US20150131862A1 (en) 2015-05-14
EP2486545A4 (en) 2017-03-15
WO2011044257A2 (en) 2011-04-14
TWI521388B (zh) 2016-02-11
JP5845184B2 (ja) 2016-01-20
KR101802125B1 (ko) 2017-11-27
KR101722147B1 (ko) 2017-03-31
KR20170038101A (ko) 2017-04-05
TW201546658A (zh) 2015-12-16
EP2486545B1 (en) 2019-07-17
CN102549619B (zh) 2013-11-20
TW201546660A (zh) 2015-12-16
TWI545464B (zh) 2016-08-11
US20140375557A1 (en) 2014-12-25
JP2013507688A (ja) 2013-03-04
TW201120684A (en) 2011-06-16
US9821226B2 (en) 2017-11-21
US8970487B2 (en) 2015-03-03
TWI497346B (zh) 2015-08-21
TWI595383B (zh) 2017-08-11
US20140044309A1 (en) 2014-02-13
WO2011044257A3 (en) 2011-09-29
US20140022161A1 (en) 2014-01-23
US8564534B2 (en) 2013-10-22
US8542910B2 (en) 2013-09-24
US8861839B2 (en) 2014-10-14
US9522328B2 (en) 2016-12-20
US20110080336A1 (en) 2011-04-07

Similar Documents

Publication Publication Date Title
US10048747B2 (en) Methods and systems for determining and tracking extremities of a target
KR101722147B1 (ko) 인간 트래킹 시스템
US10147194B2 (en) Systems and methods for removing a background of an image
US8897495B2 (en) Systems and methods for tracking a model

Legal Events

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

Payment date: 20200227

Year of fee payment: 4