RU2605370C2 - System for recognition and tracking of fingers - Google Patents

System for recognition and tracking of fingers Download PDF

Info

Publication number
RU2605370C2
RU2605370C2 RU2013154102/08A RU2013154102A RU2605370C2 RU 2605370 C2 RU2605370 C2 RU 2605370C2 RU 2013154102/08 A RU2013154102/08 A RU 2013154102/08A RU 2013154102 A RU2013154102 A RU 2013154102A RU 2605370 C2 RU2605370 C2 RU 2605370C2
Authority
RU
Russia
Prior art keywords
hand
user
rectangle
fingers
data
Prior art date
Application number
RU2013154102/08A
Other languages
Russian (ru)
Other versions
RU2013154102A (en
Inventor
Энтони ЭМБРУС
Киунгсук Дэвид ЛИ
Эндрю КЭМПБЕЛЛ
Дэвид ХЕЙЛИ
Брайан МАУНТ
Альберт РОБЛЕС
Дэниел ОСБОРН
Шон РАЙТ
Нахил ШАРКАСИ
Дэйв ХИЛЛ
Дэниел МАККАЛЛОК
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2013154102A publication Critical patent/RU2013154102A/en
Application granted granted Critical
Publication of RU2605370C2 publication Critical patent/RU2605370C2/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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
    • 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/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/113Recognition of static hand signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • 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/812Ball games, e.g. soccer or baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • 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
    • 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/6615Methods for processing data by generating or executing the game program for rendering three dimensional images using models with different levels of detail [LOD]
    • 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)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Position Input By Displaying (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: invention relates to formation of a computer model of an end user, including a model of hand and fingers of user captured by means of an image sensor in a natural user interface system. Technical result is achieved by forming a model of hand of user, including one or more fingers, by extracting a descriptor for extraction of hand data.
EFFECT: technical result is improvement of accuracy of recognition and tracking of user's body, including position of fingers and hands.
17 cl, 23 dwg

Description

УРОВЕНЬ ТЕХНИКИBACKGROUND

В прошлом вычислительные прикладные программы, такие как компьютерные игры и мультимедийные прикладные программы, использовали контроллеры, пульты дистанционного управления, клавиатуры, мыши и т.п., чтобы позволить пользователям управлять игровыми персонажами или другими аспектами прикладной программы. Позже компьютерные игры и мультимедийные прикладные программы начали использовать камеры и программные механизмы распознавания жестов, чтобы обеспечить естественный пользовательский интерфейс ("NUI"). С помощью естественного пользовательского интерфейса первичные данные суставов и пользовательские жесты обнаруживаются, интерпретируются и используются для управления игровыми персонажами или другими аспектами прикладной программы.In the past, computing applications such as computer games and multimedia applications have used controllers, remote controls, keyboards, mice, and the like to allow users to control game characters or other aspects of the application. Later, computer games and multimedia applications began using cameras and gesture recognition software to provide a natural user interface (“NUI”). Using a natural user interface, primary joint data and user gestures are detected, interpreted, and used to control game characters or other aspects of the application program.

Одной из проблем системы естественного пользовательского интерфейса является различение человека в поле зрения датчика изображения и корректная идентификация расположения его частей тела, в том числе кистей рук и пальцев, в поле зрения. Известны программы для отслеживания рук, ног, головы и туловища. Однако, учитывая тонкие детали и большое разнообразие позиций кистей рук пользователя, традиционные системы не в состоянии удовлетворительно распознавать и отслеживать тело пользователя, включая позиции пальцев и кистей рук.One of the problems of the natural user interface system is distinguishing a person in the field of view of the image sensor and correctly identifying the location of his body parts, including hands and fingers, in the field of view. Known programs for tracking arms, legs, head and torso. However, given the subtle details and the wide variety of positions of the user's hands, traditional systems are not able to satisfactorily recognize and track the user's body, including the positions of the fingers and hands.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

Здесь раскрыты системы и способы распознавания и отслеживания скелетных суставов пользователя, в том числе позиций кисти руки и пальцев, с помощью системы естественного пользовательского интерфейса. В примерах отслеживание позиций кисти руки и пальцев может использоваться системами естественного пользовательского интерфейса для инициирования событий, таких как выбор, вступление в контакт или захват и перетаскивание объектов на экране. Посредством настоящей технологии для распознавания и отслеживания позиций и движений кистей рук может быть обеспечена возможность для множества других жестов, управляющих действий и применений. Посредством определения состояния кисти руки и пальцев пользователя интерактивность пользователя с системой естественного пользовательского интерфейса может быть увеличена и пользователю могут быть представлены более простые и более интуитивные интерфейсы.Systems and methods for recognizing and tracking the user's skeletal joints, including the positions of the wrist and fingers, using the natural user interface system are disclosed here. In the examples, tracking positions of the hand and fingers can be used by natural user interface systems to trigger events, such as selecting, making contact, or grabbing and dragging objects on the screen. Through the present technology for recognizing and tracking the positions and movements of the hands, it is possible to provide many other gestures, control actions and applications. By determining the state of the user's hand and fingers, the user's interactivity with the natural user interface system can be increased and simpler and more intuitive interfaces can be presented to the user.

В одном примере настоящее раскрытие имеет отношение к способу формирования модели кисти руки пользователя, включающей в себя один или более пальцев, для естественного пользовательского интерфейса, содержащему этапы, на которых: (a) принимают данные изображения пользователя, взаимодействующего с естественным пользовательским интерфейсом; и (b) анализируют данные изображения для идентификации руки в данных изображения, упомянутый этап (b) содержит этапы, на которых: (b)(1) анализируют данные глубины из данных изображения, полученных на упомянутом этапе (a), для сегментации данных изображения в данные кисти руки, и (b)(2) извлекают дескриптор формы посредством применения одного или более фильтров к данным изображения кисти руки, идентифицированным на упомянутом этапе (b)(1), причем эти один или более фильтров анализируют данные изображения кисти руки по сравнению с данными изображения за пределами границы кисти руки для различения формы и ориентации кисти руки.In one example, the present disclosure relates to a method of forming a model of a user's hand, including one or more fingers, for a natural user interface, comprising the steps of: (a) receiving image data of a user interacting with a natural user interface; and (b) analyzing the image data to identify the hands in the image data, said step (b) comprising the steps of: (b) (1) analyzing the depth data from the image data obtained in said step (a) to segment the image data into the hand data, and (b) (2) the shape descriptor is extracted by applying one or more filters to the hand image data identified in the aforementioned step (b) (1), the one or more filters analyzing the hand image data compared with image data outside the boundaries of the wrist to distinguish the shape and orientation of the hand.

В дополнительном примере настоящее раскрытие имеет отношение к системе для формирования модели кисти руки пользователя, включающей в себя один или более пальцев, для естественного пользовательского интерфейса, содержащей: средство распознавания скелета для распознавания скелета пользователя из принятых данных изображения; средство сегментации изображения для сегментации одной или более областей тела в область, представляющую кисть руки пользователя; и средство извлечения дескриптора для извлечения данных, представляющих кисть руки, включающей в себя один или более пальцев, и ориентацию кисти руки, при этом средство извлечения дескриптора применяет множество фильтров для анализа пикселей в области, представляющей кисть руки, причем каждый фильтр во множестве фильтров определяет позицию и ориентацию кисти руки, при этом средство извлечения дескриптора комбинирует результаты каждого фильтра для достижения наилучшей оценки позиции и ориентации кисти руки.In a further example, the present disclosure relates to a system for generating a model of a user's hand, including one or more fingers, for a natural user interface, comprising: skeleton recognition means for recognizing a user's skeleton from received image data; image segmentation means for segmenting one or more areas of the body into an area representing a user's hand; and descriptor extracting means for retrieving data representing a hand including one or more fingers, and the orientation of the hand, wherein the descriptor retrieval uses a plurality of filters to analyze pixels in an area representing the hand, each filter in a plurality of filters the position and orientation of the hand, while the descriptor extractor combines the results of each filter to achieve the best estimate of the position and orientation of the hand.

В другом примере настоящее раскрытие имеет отношение к машиночитаемому носителю, не состоящему из модулированного сигнала данных, причем машиночитаемый носитель имеет машиноисполняемые команды для программирования процессора на выполнение способа формирования модели кисти руки пользователя, включающей в себя один или более пальцев, для естественного пользовательского интерфейса, содержащего этапы, на которых: (a) принимают данные изображения пользователя, взаимодействующего с естественным пользовательским интерфейсом; (b) анализируют данные изображения для идентификации кисти руки в данных изображения; и (c) сравнивают данные изображения идентифицированной кисти руки с предопределенными положениями кисти руки для определения того, выполнил ли пользователь один из следующих предопределенных жестов кисти руки или управляющих действий: (c)(1) счет на пальцах пользователя, (c)(2) выполнение жеста “все в порядке” («окей»), (c)(3) нажатие виртуальной кнопки, (c)(4) зажимание вместе большого и другого пальцев кисти руки, (c)(5) письмо или рисование, (c)(6) лепка, (c)(7) управление куклой, (c)(8) вращение круглой рукоятки или открывание кодового замка, (c)(9) стрельба из оружия, (c)(10) выполнение жеста щелчка, (c)(11) выполнение жеста, в котором палец может использоваться на открытой ладони для прокрутки и перемещения через виртуальное пространство, и (c)(12) движение пальцами как ножницами для управления ногами виртуального персонажа.In another example, the present disclosure relates to a computer-readable medium not consisting of a modulated data signal, wherein the computer-readable medium has computer-executable instructions for programming a processor to execute a method of generating a model of a user's hand including one or more fingers for a natural user interface comprising the steps of: (a) receiving image data of a user interacting with a natural user interface; (b) analyzing the image data to identify the hand in the image data; and (c) comparing the image data of the identified hand with the predetermined positions of the hand to determine whether the user has performed one of the following predefined hand gestures or control actions: (c) (1) the count on the user's fingers, (c) (2) execution of the “all right” gesture (“ok”), (c) (3) pressing a virtual button, (c) (4) clamping the thumb and the other fingers together, (c) (5) writing or drawing, (c ) (6) modeling, (c) (7) control of the doll, (c) (8) rotating the knob or opening the combination lock, (c) (9) shooting and with weapons, (c) (10) performing a click gesture, (c) (11) performing a gesture in which the finger can be used on an open palm to scroll and move through the virtual space, and (c) (12) moving fingers with scissors to control the legs of a virtual character.

Это описание сущности изобретения дано для того, чтобы в упрощенной форме представить подборки концепций, которые далее описаны в подробном описании. Это описание сущности изобретения не предназначено для выявления ключевых признаков или основных признаков заявленного изобретения, а также не предназначено для использования в качестве средства определения объема заявленного изобретения. Кроме того, заявленное изобретение не ограничено реализациями, которые устраняют какие-либо или все недостатки, отмеченные в любой части этого раскрытия.This description of the invention is given in order to simplify the presentation of a selection of concepts, which are further described in the detailed description. This description of the invention is not intended to identify key features or main features of the claimed invention, nor is it intended to be used as a means of determining the scope of the claimed invention. In addition, the claimed invention is not limited to implementations that eliminate any or all of the disadvantages noted in any part of this disclosure.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

Фигура 1A показывает иллюстративный вариант осуществления системы распознавания, анализа и отслеживания цели.Figure 1A shows an illustrative embodiment of a target recognition, analysis, and tracking system.

Фигура 1B показывает дополнительный иллюстративный вариант осуществления системы распознавания, анализа и отслеживания цели.Figure 1B shows a further illustrative embodiment of a target recognition, analysis, and tracking system.

Фигура 1C показывает еще один дополнительный иллюстративный вариант осуществления системы распознавания, анализа и отслеживания цели.Figure 1C shows another additional illustrative embodiment of a target recognition, analysis and tracking system.

Фигура 2 показывает иллюстративный вариант осуществления устройства захвата, которое может использоваться в системе распознавания, анализа и отслеживания цели.Figure 2 shows an illustrative embodiment of a capture device that can be used in a target recognition, analysis, and tracking system.

Фигура 3 показывает иллюстративную модель тела, используемую для представления человеческой цели.Figure 3 shows an illustrative model of the body used to represent a human target.

Фигура 4 показывает, по существу, вид спереди иллюстративной скелетной модели, используемой для представления человеческой цели.Figure 4 shows a substantially front view of an illustrative skeletal model used to represent a human target.

Фигура 5 показывает вид сбоку иллюстративной скелетной модели, используемой для представления человеческой цели.Figure 5 shows a side view of an illustrative skeletal model used to represent a human target.

Фигура 6 показывает блок-схему последовательности операций конвейера для отслеживания цели в соответствии с вариантом осуществления настоящей технологии.6 shows a flowchart of a conveyor for tracking a target in accordance with an embodiment of the present technology.

Фигура 7 показывает иллюстративный способ определения состояния кисти руки пользователя в соответствии с вариантом осуществления настоящего раскрытия.Figure 7 shows an illustrative method for determining a state of a user's hand in accordance with an embodiment of the present disclosure.

Фигура 8 - блок-схема последовательности операций средства сегментации изображения в соответствии с вариантом осуществления настоящего раскрытия.Figure 8 is a flowchart of an image segmentation means in accordance with an embodiment of the present disclosure.

Фигура 9 - блок-схема последовательности операций фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.9 is a flowchart of a pixel classification filter in accordance with an embodiment of the present disclosure.

Фигура 10 - дерево решений фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.Figure 10 is a decision tree of a pixel classification filter in accordance with an embodiment of the present disclosure.

Фигуры 11A и 11B иллюстрируют идентификацию кончика пальца с использованием фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.Figures 11A and 11B illustrate finger tip identification using a pixel classification filter in accordance with an embodiment of the present disclosure.

Фигура 12 иллюстрирует идентификацию пальца с использованием фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.12 illustrates finger identification using a pixel classification filter in accordance with an embodiment of the present disclosure.

Фигура 13 иллюстрирует секцию кисти руки, идентифицированную с использованием фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.Figure 13 illustrates a section of a hand identified using a pixel classification filter in accordance with an embodiment of the present disclosure.

Фигура 14 иллюстрирует идентификацию кисти руки и пальца с использованием фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.Figure 14 illustrates the identification of a hand and a finger using a pixel classification filter in accordance with an embodiment of the present disclosure.

Фигура 15 - блок-схема последовательности операций фильтра анализа кривизны в соответствии с вариантом осуществления настоящего раскрытия.15 is a flowchart of a curvature analysis filter in accordance with an embodiment of the present disclosure.

Фигура 16 иллюстрирует идентификацию кисти руки и пальца с использованием фильтра анализа кривизны в соответствии с вариантом осуществления настоящего раскрытия.16 illustrates the identification of a hand and a finger using a curvature analysis filter in accordance with an embodiment of the present disclosure.

Фигура 17 иллюстрирует анализ открытой и закрытой кисти руки с использованием фильтра гистограммы глубины в соответствии с вариантом осуществления настоящего раскрытия.Figure 17 illustrates an analysis of an open and closed hand using a depth histogram filter in accordance with an embodiment of the present disclosure.

Фигура 18 - блок-схема последовательности операций фильтра супервизора для классификации позиции кисти рук на основе фильтров кисти руки.Figure 18 is a flowchart of a supervisor filter for classifying a hand position based on hand filter.

Фигура 19A показывает иллюстративный вариант осуществления вычислительной среды, которая может использоваться для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели.19A shows an illustrative embodiment of a computing environment that can be used to interpret one or more gestures in a target recognition, analysis, and tracking system.

Фигура 19B иллюстрирует другой иллюстративный вариант осуществления вычислительной среды, которая может использоваться для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели.19B illustrates another illustrative embodiment of a computing environment that can be used to interpret one or more gestures in a target recognition, analysis, and tracking system.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

Теперь со ссылкой на фиг. 1A-19B будут описаны варианты осуществления настоящей технологии, которые в общем имеют отношение к конвейеру для формирования компьютерной модели целевого пользователя, включающей в себя модель кистей рук и пальцев пользователя, захваченной датчиком изображения в системе естественного пользовательского интерфейса (NUI). Компьютерная модель может формироваться один раз для каждого кадра захваченных данных изображения и представляет наилучшую оценку позиции, в том числе позы, пользователя во время захваченного кадра. Сформированная модель кистей рук для каждого кадра может использоваться игровой или другой прикладной программой для определения таких моментов, как пользовательские жесты и управляющие действия. Модель кистей рук также может быть возвращена в конвейер, чтобы помочь в будущих определениях модели.Now with reference to FIG. 1A-19B, embodiments of the present technology that are generally related to a conveyor for generating a computer model of a target user including a model of user’s hands and fingers captured by an image sensor in a natural user interface (NUI) system will be described. A computer model can be generated once for each frame of captured image data and represents the best estimate of the position, including posture, of the user during the captured frame. The generated model of hands for each frame can be used by a game or other application program to determine such moments as user gestures and control actions. The hand model can also be returned to the conveyor to assist in future model definitions.

Как показано на фиг. 1A-2, аппаратные средства для реализации настоящей технологии включают в себя систему 10 распознавания, анализа и отслеживания цели, которая может использоваться для распознавания, анализа и/или отслеживания человеческой цели, такой как пользователь 18. Варианты осуществления системы 10 распознавания, анализа и отслеживания цели включают в себя вычислительную среду 12 для исполнения игровой или другой прикладной программы. Вычислительная среда 12 может включать в себя аппаратные компоненты и/или программные компоненты, с тем чтобы вычислительная среда 12 могла использоваться для исполнения прикладных программ, такие как игровые и неигровые прикладные программы. В одном варианте осуществления вычислительная среда 12 может включать в себя процессор, такой как стандартизированный процессор, специализированный процессор, микропроцессор и т.п., который может исполнять команды, сохраненные на читаемом с помощью процессора устройстве хранения данных, для выполнения описанных здесь процессов.As shown in FIG. 1A-2, the hardware for implementing the present technology includes a target recognition, analysis and tracking system 10 that can be used to recognize, analyze and / or track a human target, such as a user 18. Embodiments of the recognition, analysis and tracking system 10 goals include a computing environment 12 for executing a game or other application program. Computing medium 12 may include hardware components and / or software components so that computing environment 12 can be used to execute application programs, such as gaming and non-game application programs. In one embodiment, computing environment 12 may include a processor, such as a standardized processor, a dedicated processor, microprocessor, and the like, that can execute instructions stored on a processor readable data storage device to execute the processes described herein.

Система 10 дополнительно включает в себя устройство 20 захвата для захвата данных изображения и звука, имеющих отношение к одному или более пользователям и/или объектам, обнаруженным устройством захвата. В вариантах осуществления устройство 20 захвата может использоваться для захвата информации, имеющей отношение к движениям тела и кистей рук и/или жестов и речи одного или более пользователей, которая принимается вычислительной средой и используется для аспектов воспроизведения, взаимодействия и/или управления в игровой или другой прикладной программы. Примеры вычислительной среды 12 и устройство 20 захвата более подробно разъяснены ниже.System 10 further includes a capture device 20 for capturing image and sound data related to one or more users and / or objects detected by the capture device. In embodiments, the capture device 20 may be used to capture information related to body and hand movements and / or gestures and speech of one or more users, which is received by the computing environment and used for aspects of reproduction, interaction, and / or control in a game or other application program. Examples of computing environment 12 and capture device 20 are explained in more detail below.

Варианты осуществления системы 10 распознавания, анализа и отслеживания цели могут быть соединены с аудиовизуальным (A/V) устройством 16, имеющим дисплей 14. Устройство 16, например, может представлять собой телевизор, телефоном, монитором для компьютера, телевизор высокой четкости (HDTV) и т.п., которые могут обеспечить пользователю визуальную и звуковую информацию игры или прикладной программы. Например, вычислительная среда 12 может включать в себя видеоадаптер, такой как видеокарта, и/или звуковой адаптер, такой как звуковая карта, которые могут обеспечить звуковые/визуальные сигналы, соответствующие игре или другой прикладной программе. Аудиовизуальное устройство 16 может принимать звуковые/визуальные сигналы от вычислительной среды 12 и может затем выводить 18 пользователю визуальную и/или звуковую информацию игры или прикладной программы, соответствующую звуковым/визуальным сигналам. В соответствии с одним вариантом осуществления аудиовизуальное устройство 16 может быть соединено с вычислительной средой 12, например, через кабель S-Video, коаксиальный кабель, кабель HDMI, кабель DVI, кабель VGA, кабель компонентного видео и т.п.Embodiments of the target recognition, analysis, and tracking system 10 may be coupled to an audiovisual (A / V) device 16 having a display 14. The device 16, for example, may be a television, telephone, computer monitor, high definition television (HDTV), and etc., which can provide the user with visual and audio information of a game or application. For example, computing environment 12 may include a video adapter, such as a video card, and / or a sound adapter, such as a sound card, that can provide audio / visual signals corresponding to a game or other application program. The audiovisual device 16 may receive audio / visual signals from the computing environment 12 and may then output 18 to the user visual and / or audio information of the game or application corresponding to the audio / visual signals. In accordance with one embodiment, audiovisual device 16 may be connected to computing environment 12, for example, via an S-Video cable, coaxial cable, HDMI cable, DVI cable, VGA cable, component video cable, and the like.

В вариантах осуществления вычислительная среда 12, аудиовизуальное устройство 16 и устройство 20 захвата могут взаимодействовать для воспроизведения видеообраза или экранного персонажа 19 на дисплее 14. Например, фиг.1A показывает пользователя 18, играющего в прикладную программу футбола. Движения пользователя отслеживаются и используются для анимации движения видеообраза 19. В вариантах осуществления видеообраз 19 подражает движениям пользователя 18 в пространстве реального мира таким образом, чтобы пользователь 18 мог выполнять движения и жесты, которые управляют движениями и действиями видеообраза 19 на дисплее 14.In embodiments, computing environment 12, audiovisual device 16, and capture device 20 may interact to play a video image or screen character 19 on display 14. For example, FIG. 1A shows a user 18 playing a football application. The user’s movements are tracked and used to animate the motion of the video image 19. In embodiments, the video image 19 mimics the movements of the user 18 in real-world space so that the user 18 can perform movements and gestures that control the movements and actions of the video image 19 on the display 14.

Как объяснено выше, программы оценки движения, такие как системы отображения скелета, могут испытывать недостаток возможностей обнаруживать тонкие жесты пользователя, такие как, например, движение кисти руки пользователя. Например, пользователь может хотеть взаимодействовать с системой 10 естественного пользовательского интерфейса посредством просмотра путем прокрутки и управления пользовательским интерфейсом 21 с помощью своей кисти руки, как показано на фиг.1B. Пользователь может в качестве альтернативы попытаться выполнять различные жесты, например, посредством открывания и/или закрывания своей кисти руки, как показано номерами 23 и 25 на фиг.1C.As explained above, motion estimation programs, such as skeleton imaging systems, may lack the ability to detect subtle gestures by the user, such as, for example, the movement of a user's hand. For example, the user may want to interact with the natural user interface system 10 by viewing by scrolling and controlling the user interface 21 with his hand, as shown in FIG. 1B. The user may alternatively try to perform various gestures, for example, by opening and / or closing his hand, as shown by numbers 23 and 25 in FIG. 1C.

В соответствии с этим, описанные здесь ниже системы и способы направлены на определение состояния кисти руки пользователя. Например, действие закрывания и открывания кисти руки может использоваться такими системами для инициирующих событий, таких как выбор, вступление в контакт или захват и перетаскивание объектов, например, объекта 27 (фиг.1C) на экране. Эти действия иначе могут соответствовать нажатию кнопки при использовании контроллера. Такое усовершенствованное взаимодействие без контроллеров может использоваться в качестве альтернативы подходам, основанным на взмахе и парении кисти руки, которое может быть не интуитивным или затруднительным. Посредством настоящей технологии для распознавания и отслеживания движений кистей рук может быть обеспечена возможность для множества других жестов, управляющих действий и применений, некоторые из которых описаны с дополнительными подробностями ниже. Посредством определения состояния кисти руки пользователя, как описано ниже, может быть увеличена интерактивность пользователя с системой, и пользователю могут быть представлены более простые и более интуитивные интерфейсы.In accordance with this, the systems and methods described below are aimed at determining the state of the user's hand. For example, the action of closing and opening the hand can be used by such systems for initiating events, such as selecting, making contact, or grabbing and dragging objects, for example, object 27 (FIG. 1C) on the screen. These actions may otherwise correspond to a button press when using the controller. Such advanced interaction without controllers can be used as an alternative to approaches based on the sweep and hover of the hand, which may not be intuitive or difficult. Through the present technology for recognizing and tracking the movements of the hands, it is possible to provide many other gestures, control actions and applications, some of which are described with further details below. By determining the state of the user's hand, as described below, the user interactivity with the system can be increased, and simpler and more intuitive interfaces can be presented to the user.

Фиг. 1A-1B включают в себя статические фоновые объекты 23, такие как пол, стул и растение. Они являются объектами в пределах поля зрения (FOV), захваченного устройством 20 захвата, но не изменяются от кадра к кадру. В дополнение к показанным полу, стулу и растению статические объекты могут представлять собой любые объекты, захваченные камерами изображения в устройстве 20 захвата. Дополнительные статические объекты в сцене могут включать в себя любые стены, потолок, окна, двери, стенные украшения и т.д.FIG. 1A-1B include static background objects 23, such as a floor, a chair, and a plant. They are objects within the field of view (FOV) captured by the capture device 20, but do not change from frame to frame. In addition to the floor, chair, and plant shown, static objects can be any objects captured by image cameras in the capture device 20. Additional static objects in the scene can include any walls, ceiling, windows, doors, wall decorations, etc.

Подходящие примеры системы 10 и ее компонентов находятся в следующих одновременных заявках на патенты, все из которых включены в настоящий документ по ссылке: заявка на патент США №12/475094, названная “Сегментация среды и/или цели”, поданная 29 мая 2009 года; заявка на патент США № 12/511850, названная “Автоматическая генерация визуального представления”, поданная 29 июля 2009 года; заявка на патент США № 12/474655, названная “Жестовый инструмент”, поданная 29 мая 2009 года; заявка на патент США № 12/603437, названная “Конвейер отслеживания поз”, поданная 21 октября 2009 года; заявка на патент США №12/475308, названная “Устройство для идентификации и отслеживания нескольких людей в течение времени”, поданная 29 мая 2009 года, заявка на патент США № 12/575388, названная “Система отслеживания человека”, поданная 7 октября 2009 года; заявка на патент США № 12/422661, названная “Системная архитектура устройства распознавания жестов”, поданная 13 апреля 2009 года; и заявка на патент США № 12/391150, названная “Стандартные жесты”, поданная 23 февраля 2009 года.Suitable examples of system 10 and its components are found in the following simultaneous patent applications, all of which are incorporated herein by reference: US Patent Application No. 12/475094, entitled “Segmentation of the Environment and / or Purpose,” filed May 29, 2009; US Patent Application No. 12/511850, entitled “Automatic Generation of Visual Presentation,” filed July 29, 2009; US Patent Application No. 12/474655, entitled “Gesture Instrument”, filed May 29, 2009; US Patent Application No. 12/603437, entitled “Pose Tracking Conveyor”, filed October 21, 2009; US Patent Application No. 12/475308, entitled “Device for Identifying and Tracking Multiple People Over Time”, filed May 29, 2009, US Patent Application No. 12/575388, named “Human Tracking System”, filed October 7, 2009 ; US Patent Application No. 12/422661, entitled “Gesture Recognition System Architecture,” filed April 13, 2009; and US Patent Application No. 12/391150, entitled “Standard Gestures,” filed February 23, 2009.

Фиг.2 показывает иллюстративный вариант осуществления устройства 20 захвата, которое может использоваться в системе 10 распознавания, анализа и отслеживания цели. В иллюстративном варианте осуществления устройство 20 захвата может быть выполнено с возможностью захватывать видеоинформацию, имеющую изображение глубины, которое может включать в себя значения глубины, через любую подходящую методику, в том числе, например, время прохождения, структурированное освещение, стереоскопическое изображение и т.п. В соответствии с одним вариантом осуществления устройство 20 захвата может организовать расчетную информацию глубины по “Z-уровням”, или уровням, которые могут быть перпендикулярными по отношению к оси Z, простирающейся из глубины камеры вдоль ее линии обзора. Оси X и Y могут быть определены как перпендикулярные по отношению к оси Z. Ось Y может представлять собой вертикаль, и ось X может представлять собой горизонталь. Вместе эти оси X, Y и Z определяют трехмерное пространство реального мира, захватываемое устройством 20 захвата.FIG. 2 shows an illustrative embodiment of a capture device 20 that can be used in target recognition, analysis, and tracking system 10. In an illustrative embodiment, the capture device 20 may be configured to capture video information having a depth image, which may include depth values, through any suitable technique, including, for example, travel time, structured lighting, stereoscopic image, and the like. . In accordance with one embodiment, the capture device 20 may organize the calculated depth information in “Z-levels,” or levels that may be perpendicular to the Z axis extending from the depth of the camera along its line of sight. The X and Y axes can be defined as perpendicular to the Z axis. The Y axis can be a vertical, and the X axis can be a horizontal. Together, these X, Y, and Z axes define the three-dimensional real-world space captured by the capture device 20.

Как показано на фиг.2, устройство 20 захвата может включать в себя компонент 22 камеры изображения. В соответствии с иллюстративным вариантом осуществления компонент 22 камеры изображения может представлять собой камеру глубины, которая может захватывать изображение глубины сцены. Изображение глубины может включать в себя двухмерную (2D) область пикселей захваченной сцены, где каждый пиксель в двухмерной области пикселей может представлять значение глубины, такое как длина или расстояние, например, в сантиметрах, миллиметрах и т.п. объекта в захваченной сцене от камеры.As shown in FIG. 2, the capture device 20 may include an image camera component 22. According to an exemplary embodiment, the image camera component 22 may be a depth camera that can capture a scene depth image. The depth image may include a two-dimensional (2D) pixel region of the captured scene, where each pixel in the two-dimensional pixel region may represent a depth value, such as length or distance, for example, in centimeters, millimeters, and the like. an object in a captured scene from the camera.

Как показано на фиг.2, в соответствии с иллюстративным вариантом осуществления компонент 22 камеры изображения может включать в себя компонент 24 инфракрасного (IR) света, трехмерную (3D) камеру 26 и камеру 28 RGB, которые могут использоваться для захвата изображения глубины сцены. Например, при анализе времени прохождения компонент 24 инфракрасного света из устройства 20 захвата может испускать инфракрасный свет на сцену и может затем использовать датчики (не показаны) для обнаружения обратно рассеянного света от поверхности одной или более целей и объектов в сцене с использованием, например, трехмерной камеры 26 и/или камеры 28 RGB.As shown in FIG. 2, in accordance with an illustrative embodiment, the image camera component 22 may include an infrared (IR) light component 24, a three-dimensional (3D) camera 26, and an RGB camera 28 that can be used to capture an image of the depth of the scene. For example, when analyzing the transit time of the infrared light component 24 from the capture device 20, it can emit infrared light onto the scene and can then use sensors (not shown) to detect backscattered light from the surface of one or more targets and objects in the scene using, for example, three-dimensional cameras 26 and / or cameras 28 RGB.

В некоторых вариантах осуществления импульсный инфракрасный свет может использоваться таким образом, чтобы время между исходящим световым импульсом и соответствующим входящим световым импульсом могло быть измерено и использовано для определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах в сцене. Дополнительно, в других иллюстративных вариантах осуществления фаза исходящей световой волны может сравниваться с фазой входящей световой волны, для определения фазового сдвига. Фазовый сдвиг может затем использоваться для определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах.In some embodiments, pulsed infrared light can be used so that the time between the outgoing light pulse and the corresponding incoming light pulse can be measured and used to determine the physical distance from the capture device 20 to a specific location on targets or objects in the scene. Additionally, in other illustrative embodiments, the phase of the outgoing light wave can be compared with the phase of the incoming light wave to determine the phase shift. The phase shift can then be used to determine the physical distance from the capture device 20 to a specific location on targets or objects.

В соответствии с другим иллюстративным вариантом осуществления анализ времени прохождения может использоваться для косвенного определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах посредством анализа интенсивности отраженного пучка света в течение времени через различные методики, в том числе, например, формирование изображений с помощью прерывистых световых импульсов.In accordance with another illustrative embodiment, the analysis of travel time can be used to indirectly determine the physical distance from the capture device 20 to a specific location on targets or objects by analyzing the intensity of the reflected light beam over time through various techniques, including, for example, imaging with using intermittent light pulses.

В другом иллюстративном варианте осуществления устройство 20 захвата может использовать структурированный свет для захвата информации глубины. При таком анализе структурированный свет (то есть, свет, визуально воспроизводимый с известным рисунком, таким как сетчатый рисунок или рисунок в полоску) может быть спроецирован на сцену, например, через компонент 24 инфракрасного света. После столкновения с поверхностью одной или более целей или объектов в сцене в ответ рисунок может деформироваться. Такая деформация рисунка может быть захвачена, например, трехмерной камерой 26 и/или камерой 28 RGB и затем может быть проанализирована для определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах.In another illustrative embodiment, the capture device 20 may use structured light to capture depth information. In such an analysis, structured light (that is, light visually reproduced with a known pattern, such as a grid pattern or a striped pattern) can be projected onto the scene, for example, through the infrared light component 24. After a collision with the surface of one or more targets or objects in the scene, the pattern may become deformed in response. Such deformation of the pattern can be captured, for example, by a three-dimensional camera 26 and / or an RGB camera 28 and then can be analyzed to determine the physical distance from the capture device 20 to a specific location on targets or objects.

В соответствии с другим вариантом осуществления устройство 20 захвата может включать в себя две или более физически разделенные камеры, которые могут обозревать сцену с различных углов, для получения стереоскопических визуальных данных, которые могут быть проанализированы для формирования информации глубины. В другом иллюстративном варианте осуществления устройство 20 захвата может использовать данные облака точек и методики оцифровки цели для обнаружения признаков пользователя. Другие системы датчиков могут использоваться в дополнительных вариантах осуществления, такие как, например, ультразвуковая система, способная обнаруживать оси x, y и z.According to another embodiment, the capture device 20 may include two or more physically separated cameras that can view the scene from different angles to obtain stereoscopic visual data that can be analyzed to generate depth information. In another exemplary embodiment, the capture device 20 may use point cloud data and target digitization techniques to detect signs of a user. Other sensor systems may be used in further embodiments, such as, for example, an ultrasound system capable of detecting x, y, and z axes.

Устройство захвата 20 может дополнительно включать в себя микрофон 30. Микрофон 30 может включать в себя датчик, который может принимать и преобразовывать звук в электрический сигнал. В соответствии с одним вариантом осуществления микрофон 30 может использоваться для уменьшения обратной связи между устройством 20 захвата и вычислительной средой 12 в системе 10 распознавания, анализа и отслеживания цели. Дополнительно, микрофон 30 может использоваться для приема аудиосигналов, которые также могут быть обеспечены пользователем для управления прикладными программами, такими как игровые прикладные программы, неигровые прикладные программы и т.п., которые могут исполняться вычислительной средой 12.The capture device 20 may further include a microphone 30. The microphone 30 may include a sensor that can receive and convert sound into an electrical signal. In accordance with one embodiment, the microphone 30 may be used to reduce feedback between the capture device 20 and the computing environment 12 in the target recognition, analysis, and tracking system 10. Additionally, the microphone 30 can be used to receive audio signals, which can also be provided by the user to control application programs, such as gaming applications, non-gaming applications, and the like, that can be executed by computing environment 12.

В иллюстративном варианте осуществления устройство 20 захвата может дополнительно включать в себя процессор 32, который может находиться в функциональной связи с компонентом 22 камеры изображения. Процессор 32 может включать в себя стандартизированный процессор, специализированный процессор, микропроцессор и т.п., которые могут исполнять команды, которые могут включать в себя команды для получения изображения глубины, определения, может ли подходящая цель быть включена в изображение глубины, преобразования подходящей цели в скелетное представление или модель цели или исполнения какой-либо другой подходящей команды.In an illustrative embodiment, the capture device 20 may further include a processor 32, which may be in functional communication with the image camera component 22. The processor 32 may include a standardized processor, a specialized processor, a microprocessor, and the like, which may execute instructions, which may include instructions for acquiring a depth image, determining whether a suitable target can be included in a depth image, converting a suitable target into a skeletal representation or model of the goal or execution of any other suitable team.

Устройство 20 захвата может дополнительно включать в себя компонент 34 памяти, который может хранить команды, которые могут быть исполнены процессором 32, изображения или кадры изображений, захваченные трехмерной камерой или камерой RGB, или любую другую подходящую информацию, изображения и т.п. В соответствии с иллюстративным вариантом осуществления компонент 34 памяти может включать в себя оперативное запоминающее устройство (ОЗУ; RAM), постоянное запоминающее устройство (ПЗУ; ROM), кэш, флэш-память, жесткий диск или любой другой подходящий компонент хранения. Как показано на фиг.2, в одном варианте осуществления компонент 34 памяти может являться отдельным компонентом, связанным с компонентом 22 камеры изображения и процессором 32. В соответствии с другим вариантом осуществления компонент 34 памяти может быть интегрирован в процессор 32 и/или компонент 22 камеры изображения.The capture device 20 may further include a memory component 34 that can store instructions that may be executed by the processor 32, images or image frames captured by a three-dimensional camera or an RGB camera, or any other suitable information, images, or the like. According to an illustrative embodiment, the memory component 34 may include random access memory (RAM; RAM), read-only memory (ROM), cache, flash memory, hard disk, or any other suitable storage component. As shown in FIG. 2, in one embodiment, the memory component 34 may be a separate component associated with the image camera component 22 and the processor 32. According to another embodiment, the memory component 34 may be integrated in the processor 32 and / or the camera component 22 Images.

Как показано на фиг.2, устройство 20 захвата может находиться в связи с вычислительной средой 12 через линию 36 связи. Линия 36 связи может представлять собой проводное соединение, в том числе, например, соединение USB, соединением Firewire, кабельное соединение Ethernet и т.п. и/или беспроводным соединением, таким как беспроводная связь стандарта 802.11b, g, a или n. В соответствии с одним вариантом осуществления вычислительная среда 12 может обеспечить часы для устройства 20 захвата, которые могут использоваться, например, для определения, когда следует захватить сцену, через линию 36 связи.As shown in FIG. 2, the capture device 20 may be in communication with the computing environment 12 via a communication line 36. Communication line 36 may be a wired connection, including, for example, a USB connection, a Firewire connection, an Ethernet cable connection, and the like. and / or a wireless connection, such as 802.11b, g, a, or n wireless communication. In accordance with one embodiment, computing environment 12 may provide a clock for capture device 20, which may be used, for example, to determine when to capture a scene, via communication link 36.

Дополнительно устройство 20 захвата может обеспечивать информацию глубины и изображения, захваченные, например, трехмерной камерой 26 и/или камерой 28 RGB. При помощи этих устройств частичная скелетная модель может быть разработана в соответствии с настоящей технологией, и полученные в результате данные предоставляются вычислительной среде 12 через линию 36 связи.Additionally, the capture device 20 may provide depth information and images captured, for example, by a three-dimensional camera 26 and / or an RGB camera 28. Using these devices, a partial skeletal model can be developed in accordance with the present technology, and the resulting data is provided to computing environment 12 via communication line 36.

Вычислительная среда 12 может также включать в себя средство 190 распознавания жестов для распознавания жестов, как разъяснено ниже. В соответствии с настоящей системой вычислительная среда 12 также может включать в себя средство 192 распознавания скелета, средство 194 сегментации изображения, средство 196 извлечения дескриптора и средство 198 классификатора. Каждое из этих средств программного обеспечения более подробно описан ниже.Computing medium 12 may also include gesture recognition means 190 for gesture recognition, as explained below. According to the present system, computing environment 12 may also include skeleton recognition means 192, image segmentation means 194, descriptor extraction means 196, and classifier means 198. Each of these software tools is described in more detail below.

Фиг.3 показывает неограничивающее визуальное представление иллюстративной модели 70 тела, сформированной средством 192 распознавания скелета. Модель 70 тела представляет собой машинное представление смоделированной цели (например, пользователя 18 на фиг.1A и 1B). Модель тела может включать в себя одну или более структур данных, которые включают в себя набор переменных, которые все вместе определяют смоделированную цель на языке игры или другой прикладной программы/операционной системы.Figure 3 shows a non-limiting visual representation of an illustrative body model 70 formed by skeleton recognition means 192. The body model 70 is a machine representation of the modeled target (e.g., user 18 in FIGS. 1A and 1B). A body model may include one or more data structures that include a set of variables that collectively define a simulated target in the language of a game or other application / operating system.

Модель цели может быть сконфигурирована по-разному без отступления от контекста этого раскрытия. В некоторых примерах модель может включать в себя одну или более структур данных, которые представляют цель как трехмерную модель, содержащую жесткие и/или деформируемые формы или части тела. Каждая часть тела может быть охарактеризована как математический примитив, примеры которого включают в себя, но без ограничения, сферы, анизотропически масштабированные сферы, цилиндры, анизотропные цилиндры, гладкие цилиндры, параллелепипеды, скошенные параллелепипеды, призмы и т.п.The target model can be configured in different ways without departing from the context of this disclosure. In some examples, the model may include one or more data structures that represent the target as a three-dimensional model containing rigid and / or deformable shapes or parts of the body. Each part of the body can be characterized as a mathematical primitive, examples of which include, but are not limited to, spheres, anisotropically scaled spheres, cylinders, anisotropic cylinders, smooth cylinders, parallelepipeds, beveled parallelepipeds, prisms, etc.

Например, модель 70 тела по фиг.3 включает в себя части bp1-bp14 тела, каждая из которых представляет отдельную часть смоделированной цели. Каждая часть тела представляет собой трехмерную форму. Например, часть bp3 является прямоугольной призмой, которая представляет левую руку смоделированной цели, и часть bp5 является восьмиугольной призмой, которая представляет левое плечо смоделированной цели. Модель 70 тела является иллюстративной в этом смысле, что модель тела может содержать любое количество частей тела, каждая из которых может являться любым понимаемым машиной представлением соответствующей части смоделированной цели.For example, the body model 70 of FIG. 3 includes body parts bp1-bp14, each of which represents a separate part of the simulated target. Each part of the body is a three-dimensional shape. For example, part bp3 is a rectangular prism that represents the left hand of the simulated target, and part bp5 is an octagonal prism that represents the left shoulder of the simulated target. The body model 70 is illustrative in this sense that the body model can contain any number of body parts, each of which can be any machine-understood representation of the corresponding part of the simulated target.

Модель, включающая в себя две или более частей тела, также может включать в себя один или более суставов. Каждый сустав может дать возможность одной или более частям тела двигаться относительно одной или более других частей тела. Например, модель, представляющая человеческую цель, может включать в себя множество жестких и/или деформируемых частей тела, причем некоторые части тела могут представлять соответствующую анатомическую часть тела человеческой цели. Кроме того, каждая часть тела модели может содержать один или более структурных элементов (то есть, “костей” или скелетных частей), и суставы расположены на пересечении смежных костей. Следует понимать, что некоторые кости могут соответствовать анатомическим костям в человеческой цели, и/или некоторые кости могут не иметь соответствующих анатомических костей в человеческой цели.A model that includes two or more parts of the body may also include one or more joints. Each joint may enable one or more parts of the body to move relative to one or more other parts of the body. For example, a model representing a human target may include many rigid and / or deformable parts of the body, with some parts of the body representing the corresponding anatomical part of the body of the human target. In addition, each part of the model body may contain one or more structural elements (that is, “bones” or skeletal parts), and the joints are located at the intersection of adjacent bones. It should be understood that some bones may correspond to anatomical bones in the human target, and / or some bones may not have corresponding anatomical bones in the human target.

Кости и суставы могут все вместе составить скелетную модель, которая может являться составляющим элементом модели тела. В некоторых вариантах осуществления скелетная модель может использоваться вместо другого типа модели, такой как модель 70 на фиг. 3. Скелетная модель может включать в себя один или более скелетных элементов для каждой части тела и сустава между смежными скелетными элементами. Иллюстративная скелетная модель 80 и иллюстративная скелетная модель 82 показаны на фиг.4 и 5, соответственно. Фиг.4 показывает скелетную модель 80, обозреваемую спереди, с суставами j1-j33. Фиг.5 показывает скелетную модель 82, обозреваемую сбоку, также с суставами j1-j33. Скелетная модель может включать в себя больше или меньше суставов без отступления от сущности этого раскрытия. Дополнительные варианты осуществления настоящей системы, разъясненные в дальнейшем, работают с использованием скелетной модели, имеющей 31 сустав.Bones and joints can all together constitute a skeletal model, which can be an integral part of the body model. In some embodiments, a skeletal model may be used in place of another type of model, such as model 70 in FIG. 3. The skeletal model may include one or more skeletal elements for each part of the body and joint between adjacent skeletal elements. An exemplary skeletal model 80 and an exemplary skeletal model 82 are shown in FIGS. 4 and 5, respectively. Figure 4 shows a skeletal model 80, viewed from the front, with joints j1-j33. 5 shows a skeletal model 82, viewed from the side, also with joints j1-j33. The skeletal model may include more or less joints without departing from the essence of this disclosure. Additional embodiments of the present system, explained later, operate using a skeletal model having 31 joints.

Описанные выше модели частей тела и скелетные модели не ограничивают примеры типов моделей, которые могут использоваться в качестве машинных представлений смоделированной цели. Другие модели также находятся в объеме этого раскрытия. Например, некоторые модели могут включать в себя многоугольные сетки, участки, неоднородные рациональные B-сплайны, поверхности подразделения или другие поверхности высокого порядка. Модель может также включать в себя поверхностные текстуры и/или другую информацию для более точного представления одежды, волос и/или других аспектов смоделированной цели. Модель может дополнительно включать в себя информацию, имеющую отношение к текущей позе, к одной или более прошлым позам и/или к физике модели. Следует понимать, что множество различных моделей, которые могут быть изложены, является совместимым с описанной здесь системой распознавания, анализа и отслеживания цели.The above-described models of body parts and skeletal models do not limit examples of types of models that can be used as machine representations of a simulated target. Other models are also within the scope of this disclosure. For example, some models may include polygonal meshes, sections, heterogeneous rational B-splines, subdivision surfaces, or other high-order surfaces. The model may also include surface textures and / or other information to more accurately represent clothing, hair, and / or other aspects of the modeled target. The model may further include information related to the current pose, to one or more past poses, and / or to the physics of the model. It should be understood that the many different models that can be described are compatible with the target recognition, analysis, and tracking system described here.

Известны программные конвейеры для формирования скелетных моделей одного или более пользователей в пределах области зрения устройства 20 захвата. Одна такая система раскрыта, например, в заявке на патент США № 12/876418, названной “Система для быстрого вероятностного скелетного отслеживания”, поданная 7 сентября 2010 года, которая включена в настоящий документ по ссылке во всей своей полноте. При определенных условиях, например, когда пользователь находится достаточно близко к устройству 20 захвата, и по меньшей мере одна из кистей руки пользователя отличима от другого фонового шума, программный конвейер дополнительно может быть в состоянии сформировать модели кисти руки и/или пальцев одного или более пользователей в пределах поля зрения.Software pipelines are known for forming skeletal models of one or more users within the field of view of the capture device 20. One such system is disclosed, for example, in US patent application No. 12/876418, entitled “System for rapid probabilistic skeletal tracking”, filed September 7, 2010, which is incorporated herein by reference in its entirety. Under certain conditions, for example, when the user is close enough to the capture device 20, and at least one of the user's hands is distinguishable from other background noise, the program conveyor may additionally be able to form models of the hands and / or fingers of one or more users within sight.

Фиг.6 является блок-схемой последовательности операций программного конвейера для распознавания и отслеживания кисти руки и/или пальцев пользователя. На этапе 200 конвейер принимает изображение глубины от устройства 20 захвата. Изображение глубины секции пользователя проиллюстрировано на фиг.7 под номером 302. Каждый пиксель в изображении глубины включает в себя информацию глубины, например, как проиллюстрировано на фиг.7 с помощью полутонового градиента. Например, в позиции 302 левая кисть руки пользователя находится ближе к устройству 20 захвата, как обозначено более темной областью левой кисти руки. Устройство захвата или камера глубины захватывают изображения пользователя в наблюдаемой сцене. Как описано ниже, изображение глубины пользователя может использоваться для определения информации о расстоянии областей пользователя, информации о масштабе пользователя, кривизны и скелетной информации пользователя.6 is a flowchart of a software pipeline for recognizing and tracking a user's hand and / or fingers. At step 200, the conveyor receives a depth image from the capture device 20. The depth image of the user section is illustrated in FIG. 7 at 302. Each pixel in the depth image includes depth information, for example, as illustrated in FIG. 7 using a grayscale gradient. For example, at position 302, the user's left hand is closer to the grip device 20, as indicated by the darker area of the left hand. The capture device or depth camera captures the user's images in the observed scene. As described below, a user depth image can be used to determine user area distance information, user scale information, curvature, and user skeletal information.

На этапе 204 средство 192 распознавания скелета из состава конвейера оценивает скелетную модель пользователя, как описано выше, для получения виртуального скелета из изображения глубины, полученного на этапе 200. Например, на фиг.7, виртуальный скелет 304 показан как оцененный на основе изображения глубины, показанного в позиции 302 пользователя.At step 204, the skeleton recognition tool 192 from the pipeline evaluates the user’s skeletal model, as described above, to obtain a virtual skeleton from the depth image obtained in step 200. For example, in FIG. 7, the virtual skeleton 304 is shown as estimated based on the depth image, shown at position 302 of the user.

На этапе 208 конвейер сегментирует кисть руки или кисти рук пользователя через средство 194 сегментации изображения конвейера. В некоторых примерах средство 194 сегментации изображения может дополнительно сегментировать одну или более областей тела в дополнение к кистям руки. Сегментация кисти руки пользователя включает в себя идентификацию области изображения глубины, соответствующей кисти руки, причем идентификация по меньшей мере частично основана на информации скелета, полученной на этапе 204. Фиг.7 иллюстрирует пример сегментации изображения глубины пользователя на различные области 306 на основе оцененного скелете 304, как обозначено по-разному затененными областями. Фиг.7 показывает локализованную область 308 кисти руки, соответствующую поднятой правой кисти руки пользователя.At step 208, the conveyor segments the user's hand or hands through the conveyor image segmentation means 194. In some examples, the image segmentation means 194 may further segment one or more areas of the body in addition to the hands. Segmentation of a user's hand includes the identification of a depth image area corresponding to a hand, wherein the identification is at least partially based on skeleton information obtained in step 204. FIG. 7 illustrates an example of segmentation of a user depth image into various regions 306 based on an estimated skeleton 304 , as indicated by differently shaded areas. 7 shows a localized area 308 of the hand corresponding to the raised right hand of the hand of the user.

Кисти руки или области тела могут быть сегментированы или локализованы множеством способов, и это может быть основано на выбранных суставах, идентифицированных по описанной выше оценке скелета. В качестве одного примера, обнаружение и локализация кисти руки в изображении глубины могут быть основаны на оцененных суставах запястья и/или кончиков кисти руки из оцененного скелета. Например, в некоторых вариантах осуществления сегментация кисти руки в изображении глубины может быть выполнена с использованием топографического поиска изображения глубины вокруг суставов кисти руки, с определением местоположения около локальных экстремумов в изображении глубины как кандидатов на кончики пальцев. Средство 194 сегментации изображения затем сегментирует остальную часть кисти руки, принимая во внимание масштабный коэффициент размера тела, определенный из оцененного скелета, а также разрывы глубины для идентификации границ.Hands or areas of the body can be segmented or localized in a variety of ways, and this can be based on selected joints identified by the skeleton assessment described above. As one example, the detection and localization of the hand in the depth image can be based on the estimated joints of the wrist and / or the tips of the hand from the estimated skeleton. For example, in some embodiments, segmentation of the hand in the depth image can be performed using topographic search for the depth image around the joints of the hand, with location near local extremes in the depth image as candidates for fingertips. The image segmentation means 194 then segments the rest of the hand, taking into account the scale factor of the body size determined from the estimated skeleton, as well as the depth gaps for identifying boundaries.

В качестве другого примера, для идентификации областей изображения глубины, соответствующих кистям руки пользователя, может использоваться подход заливки. В подходе заливки изображение глубины может отыскиваться от начальной точки и в начальном направлении, например, начальная точка может представлять собой сустав запястья, и начальное направление может представлять собой направление от локтя до сустава запястья. Соседние пиксели в изображении глубины могут итерационно оцениваться на основе проекции на начальное направление в качестве способа предоставления предпочтения точкам, перемещающимся от локтя и к кончику кисти руки, в то время как ограничения постоянства глубины, такие как разрывы глубины, могут использоваться для идентификации границы или экстремальных значений кистей рук пользователя в изображении глубины. В некоторых примерах могут использоваться пороговые значения расстояния для ограничения поиска по карте глубины как в положительном, так и в отрицательном направлениях относительно начального направления на основе фиксированных значений, или, например, может использоваться масштаб на основе оцененного размера пользователя.As another example, a fill approach may be used to identify depth image areas corresponding to the user's hands. In the pouring approach, a depth image can be found from the start point and in the start direction, for example, the start point can be the wrist joint, and the start direction can be the direction from the elbow to the wrist joint. Adjacent pixels in the depth image can be iteratively estimated based on the projection onto the initial direction as a way of giving preference to points moving from the elbow to the tip of the hand, while depth constancy restrictions, such as depth gaps, can be used to identify boundaries or extreme values of the user's hands in the depth image. In some examples, distance threshold values may be used to limit the search on the depth map in both positive and negative directions relative to the initial direction based on fixed values, or, for example, a scale based on the estimated user size may be used.

В качестве еще одного примера, ограничивающая сфера или другая подходящая ограничивающая форма, расположенная на основе скелетных суставов (например, запястья или суставов кончика кисти руки), могут использоваться для включения всех пикселей в изображении глубины вплоть до разрыва глубины. Например, по ограничивающей сфере можно двигать окно, чтобы идентифицировать разрывы глубины, которые могут использоваться для установления границы области кисти руки изображения глубины.As another example, a bounding sphere or other suitable bounding shape located on the basis of skeletal joints (for example, the wrist or joints of the tip of the hand) can be used to include all the pixels in the image depth to the point of breaking the depth. For example, a window can be moved around the bounding sphere to identify depth gaps that can be used to set the border of the hand region of the depth image.

Способ ограничивающей формы также может использоваться для размещения ограничивающей формы вокруг центра ладони, который может быть итеративно идентифицирован. Один пример такого итеративного способа ограничения раскрыт в презентации Дэвида Тафта (David Tuft), названной "Kinect Developer Summit at GDC 2011: Kinect for XBOX 360", приложенной к настоящему документу как присоединение 1, и в публикации K. Эйб (K. Abe), Х. Саито (H. Saito), С. Озоа (S. Ozawa), названной "3D drawing system via hand motion recognition from cameras", IEEE International Conference on Systems, Man, and Cybernetics, vol. 2, 2000, которая включена в настоящий документ по ссылке во всей полноте.The bounding shape method can also be used to place the bounding shape around the center of the palm, which can be iteratively identified. One example of such an iterative method of limiting is disclosed in a presentation by David Tuft entitled "Kinect Developer Summit at GDC 2011: Kinect for XBOX 360," annexed to this document as appendix 1, and K. Abe , H. Saito, S. Ozawa, entitled "3D drawing system via hand motion recognition from cameras", IEEE International Conference on Systems, Man, and Cybernetics, vol. 2, 2000, which is incorporated herein by reference in its entirety.

В общем, такой способ включает в себя несколько итеративных проходов для отбрасывания пикселей из модели. В каждом проходе способ отбрасывает пиксели вне сферы или другой формы с центром на кисти руки. Затем способ отбрасывает пиксели, слишком далекие от кончика кисти руки (вдоль вектора руки). Затем способ выполняет этап обнаружения границы для обнаружения края руки и удаления несвязных островков. Иллюстративные этапы такого способа показаны в блок-схеме последовательности операций на фиг.8. На этапе 224 ограничивающая форма формируется вокруг центра кисти руки, заданной посредством данных сустава руки из средства 192 распознавания скелета. Ограничивающая форма является достаточно большой, чтобы охватить всю кисть руки, и является трехмерной. На этапе 226 отбрасываются пиксели вне ограничивающей формы.In general, such a method includes several iterative passes for discarding pixels from a model. In each pass, the method discards pixels outside a sphere or other shape centered on the wrist. Then, the method discards pixels that are too far from the tip of the hand (along the hand vector). The method then performs a border detection step for detecting an edge of a hand and removing disconnected islets. Illustrative steps of such a method are shown in the flowchart of FIG. At step 224, a bounding shape is formed around the center of the hand of the hand defined by the data of the joint of the hand from the skeleton recognition means 192. The bounding shape is large enough to cover the entire hand, and is three-dimensional. At 226, pixels are discarded outside the bounding shape.

Может случиться, что кисть руки пользователя находится близко к его телу или ко второй кисти руки пользователя на изображении глубины, и данные от этих других секций тела будут первоначально включены в сегментированное изображение. Маркировка соединенных компонентов может быть выполнена для маркировки разных средних точек в сегментированном изображении. Средняя точка, которая наиболее вероятно является кистью руки, выбирается на основе ее размера и местоположении сустава кисти руки. Не выбранные средние точки могут быть отброшены. На этапе 230 также могут быть отброшены пиксели, которые находятся слишком далеко от кончика кисти руки вдоль вектора от присоединенной руки.It may happen that the user's hand is close to his body or to the second hand of the user in the depth image, and data from these other sections of the body will be initially included in the segmented image. Marking of connected components can be done to mark different midpoints in a segmented image. The midpoint, which is most likely the hand, is selected based on its size and the location of the joint of the hand. Unselected midpoints may be dropped. At step 230, pixels that are too far from the tip of the hand along the vector from the attached hand can also be discarded.

Скелетные данные от средства 192 распознавания скелета могут иметь помехи, таким образом, данные для кисти руки далее корректируются для идентификации центра кисти руки. Это может быть сделано посредством выполнения итерации по изображению и измерения расстояния от каждого пикселя до края контура кисти руки. Средство 194 сегментации изображения может тогда выполнить поиск нагруженного среднего для выяснения максимального/минимального расстояния. Таким образом, на этапе 232 для каждого пикселя в сегментированном изображении кисти руки идентифицируется максимальное расстояние вдоль осей x и y до края контура кисти руки и минимальное расстояние вдоль осей x и y до края контура руки. Расстояние до края берется в качестве весового коэффициента, и затем берется нагруженное среднее минимальных определенных расстояний по всем измеренным пикселям для выяснения вероятного центра положения кисти руки в пределах изображения (этап 234). С использованием нового центра процесс может быть многократно повторен, пока изменение центра ладони от предыдущей итерации не будет находиться в пределах некоторого допуска.The skeletal data from the skeleton recognition means 192 may be interfered with, so the data for the wrist is further adjusted to identify the center of the wrist. This can be done by iterating over the image and measuring the distance from each pixel to the edge of the outline of the hand. The image segmentation means 194 can then search for the loaded average to determine the maximum / minimum distance. Thus, in step 232, for each pixel in the segmented image of the hand, the maximum distance along the x and y axes to the edge of the hand contour is identified and the minimum distance along the x and y axes to the edge of the hand contour. The distance to the edge is taken as the weight coefficient, and then the loaded average of the minimum determined distances over all measured pixels is taken to determine the probable center of the position of the hand within the image (step 234). Using the new center, the process can be repeated many times until the change in the center of the palm from the previous iteration is within a certain tolerance.

В некоторых подходах может быть выполнена сегментация кистей рук, когда пользователь поднимает кисть руки от туловища, над туловищем или перед туловищем. Таким образом, идентификация областей кистей рук в изображении глубины может быть менее неоднозначной, поскольку области кистей рук можно отличить от тела более легко. Изображения кистей рук являются особенно четкими, когда кисть руки пользователя ориентирована ладонью к устройству 20 захвата, и в такой точке признаки кисти руки могут быть обнаружены как контур. Признаки могут иметь помехи, но имеющая контур кисть руки позволяет делать некоторые обоснованные решения о том, что кисть руки делает, например, на основе обнаружения промежутков между пальцами и наблюдением общей формы кисти руки и их отображения с использованием множества разных подходов. Обнаружение этих промежутков и других признаков позволяет распознавать конкретные пальцы и общее направление, куда этот палец указывает.In some approaches, segmentation of the hands can be performed when the user lifts the hand from the body, over the body or in front of the body. Thus, the identification of the areas of the hands in the depth image may be less ambiguous, since the areas of the hands can be distinguished more easily from the body. The images of the hands are especially clear when the user's hand is oriented by the palm of the hand toward the gripping device 20, and at such a point, the signs of the hand can be detected as a contour. Signs may be interfering, but a contoured hand allows you to make some informed decisions about what the hand does, for example, by detecting the gaps between the fingers and observing the general shape of the hand and displaying them using many different approaches. The detection of these gaps and other signs allows you to recognize specific fingers and the general direction where this finger points.

Следует понимать, что иллюстративные описанные выше примеры сегментации кисти руки представлены с целью примера и не предназначены для ограничения объема этого раскрытия. Вообще, любые способы сегментации части кисти руки или тела могут использоваться по отдельности или в комбинации друг с другом и/или с одним из описанных выше иллюстративных способов.It should be understood that the illustrative examples of hand segmentation described above are presented for the purpose of example and are not intended to limit the scope of this disclosure. In general, any methods for segmenting a portion of a hand or body can be used individually or in combination with each other and / or with one of the above illustrative methods.

В продолжение описания конвейера на фиг.7, этап 210 включает в себя извлечение дескриптора формы для области, например, области изображения глубины, соответствующей кисти руки, как идентифицировано на этапе 208. Дескриптор формы на этапе 210 извлекается посредством механизма 196 извлечения дескриптора и может представлять собой любое подходящее представление области кисти руки, которое используется для классификации области кисти руки. В некоторых вариантах осуществления дескриптор формы может быть вектором или набором чисел, используемым для кодификации или описания формы области кисти руки.Continuing the description of the conveyor in FIG. 7, step 210 includes retrieving a shape descriptor for a region, for example, a depth image area corresponding to a hand, as identified in step 208. The shape descriptor in step 210 is retrieved by the descriptor retrieval mechanism 196 and can represent any suitable representation of the area of the hand that is used to classify the area of the hand. In some embodiments, the shape descriptor may be a vector or a set of numbers used to codify or describe the shape of an area of a hand.

Средство 196 извлечения дескриптора может использовать любое множество фильтров на этапе 210 для извлечения дескриптора формы. Один фильтр может упоминаться как классификатор пикселей, который теперь будет описан со ссылкой на блок-схему последовательности операций на фиг. 9, дерево решений на фиг.10 и иллюстрации на фиг. 11-14. На этапе 240 выбирается пиксель на переднем плане сегментированного изображения. Это пиксели, которые, как по меньшей мере номинально полагают, являются частью кисти руки пользователя. Прямоугольник предопределенного размера берется вокруг выбранного пикселя с выбранным пикселем в центре. В вариантах осуществления размер прямоугольника может быть выбран в 1,5 раза больше ширины нормализованного пальца. "Нормализованный палец" представляет собой палец пользователя, который был скорректирован до нормализованного размера на основе размера скелетной модели и обнаруженного расстояния от пользователя до устройства 20 захвата. Следующие этапы выполняются последовательно для каждого пикселя, который, как номинально полагают, является частью кисти руки.The descriptor extractor 196 may use any of a variety of filters in step 210 to retrieve the form descriptor. One filter may be referred to as a pixel classifier, which will now be described with reference to the flowchart of FIG. 9, the decision tree of FIG. 10 and the illustrations of FIG. 11-14. At 240, a pixel in the foreground of the segmented image is selected. These are pixels that are, at least nominally, considered to be part of the user's hand. A predefined size rectangle is taken around the selected pixel with the selected pixel in the center. In embodiments, the size of the rectangle can be selected 1.5 times the width of the normalized finger. A “normalized finger” is a user's finger that has been adjusted to a normalized size based on the size of the skeletal model and the detected distance from the user to the capture device 20. The following steps are performed sequentially for each pixel, which is nominally believed to be part of the hand.

На этапе 242 фильтр классификатора пикселей определяет, сколько краев прямоугольника пересечено. Пересечением является место, где изображение переходит с переднего плана (над кистью руки) на фон (не над кистью руки). Например, фиг.11A показывает палец 276, выбранный пиксель 278 на пальце и описанный выше прямоугольник 280 вокруг пикселя в радиусе r. Прямоугольник пересекается в двух точках вдоль одного края; в точках 281a и 281b. Точки 281a, 281b являются местами, где изображение переходит с переднего плана (пальца) на фон. Все пиксели 278, имеющие две точки пересечения с краями своих соответствующих прямоугольников 280, считаются кончиками пальца (или частью сустава или руки, как объяснено ниже) в целях определения средних точек кистей рук, как объяснено ниже.At 242, the pixel classifier filter determines how many edges of the rectangle are crossed. The intersection is the place where the image goes from the foreground (above the hand) to the background (not above the hand). For example, FIG. 11A shows a finger 276, a selected pixel 278 on a finger, and the above-described rectangle 280 around a pixel of radius r. The rectangle intersects at two points along one edge; at points 281a and 281b. Points 281a, 281b are places where the image moves from the foreground (finger) to the background. All pixels 278 having two intersection points with the edges of their respective rectangles 280 are considered the fingertips (or part of the joint or arm, as explained below) in order to determine the midpoints of the hands, as explained below.

На этапе 246 фильтр классификатора пикселей определяет, находятся ли пересечения на одних и тех же или на разных краях. Как можно видеть на фиг.11B, палец может пересекать прямоугольник 280 вдоль двух смежных краев, а не вдоль одного и того же края. Эта информация будет использоваться для определения направления, в котором указывает палец, как объяснено ниже.At step 246, the pixel classifier filter determines whether the intersections are on the same or different edges. As can be seen in FIG. 11B, a finger can intersect rectangle 280 along two adjacent edges, rather than along the same edge. This information will be used to determine the direction in which the finger is pointing, as explained below.

В противоположность кончику пальца, пиксель, который пересекает свой прямоугольник 280 в четырех точках, будут считаться пальцем в целях определения средних точек кистей рук, как объяснено ниже. Например, фиг.12 показывает пример, в котором выбранный пиксель 278 является достаточно удаленным от кончика пальца и имеет четыре точки пересечения 281a, 281b, 281c и 281d с прямоугольником 280.In contrast to the fingertip, a pixel that intersects its rectangle 280 at four points will be counted as a finger in order to determine the midpoints of the hands, as explained below. For example, FIG. 12 shows an example in which a selected pixel 278 is sufficiently distant from the fingertip and has four intersection points 281a, 281b, 281c and 281d with a rectangle 280.

На этапе 242 блок-схемы последовательности операций на фиг.9 и в позиции 264 дерева решений на фиг.10 фильтр классификатора пикселей проверяет, сколько краев прямоугольника 280 пересечено. Если края не пересечены, предполагается, что выбранный пиксель находится в пределах ладони пользователя в позиции 265. Таким образом, поскольку размер прямоугольника 280 выбран таким образом, чтобы были пересечены по меньшей мере два края, если пиксель находится на пальце или кончике пальца, если пиксель находится на кисти руки, и края не пересечены, то предполагается, что пиксель лежит на ладони. Если два края пересечены, фильтр идет в позицию 266, чтобы проверить, являются ли углы непересеченных краев заполненными (кисть руки) или пустыми (фон), как объяснено ниже. Если в позиции 267 пересечены четыре края, это считается пальцем, как объяснено выше. Если в позиции 268 края прямоугольника 280 пересечены шесть раз, это считается недопустимым считыванием и отбрасывается (этап 250).At step 242 of the flowchart of FIG. 9 and at position 264 of the decision tree of FIG. 10, the pixel classifier filter checks how many edges of rectangle 280 are intersected. If the edges are not intersected, it is assumed that the selected pixel is within the user's palm at position 265. Thus, since the size of the rectangle 280 is chosen so that at least two edges are intersected if the pixel is on the finger or fingertip, if the pixel is located on the hand, and the edges are not crossed, it is assumed that the pixel lies on the palm. If the two edges are crossed, the filter goes to position 266 to check if the corners of the non-intersected edges are filled (hand) or empty (background), as explained below. If four edges are crossed at position 267, this is considered a finger, as explained above. If at position 268 the edges of rectangle 280 are crossed six times, this is considered invalid reading and discarded (step 250).

Снова в позиции 266, где пересечены два края, это может быть кончик пальца, но это также может быть пространство между двумя смежными пальцами. Фильтр классификатора пикселей поэтому проверяет углы непересеченных краев (этап 248). Когда углы непересеченных краев являются заполненными, это означает, что прямоугольник находится под кистью руки в этих углах, и точки пересечения определяют впадину между смежными пальцами. Наоборот, когда углы непересеченных краев являются пустыми (как показано на иллюстрации, соответствующей позиции 266), это означает, что в этих углах прямоугольник находится на фоновых пикселях, и точки пересечения определяют часть кисти руки.Again at position 266, where the two edges are intersected, this may be the tip of the finger, but it may also be the space between two adjacent fingers. The pixel classifier filter therefore checks the angles of the non-intersected edges (block 248). When the corners of the non-intersected edges are filled, this means that the rectangle is under the wrist at these corners, and the intersection points define the depression between adjacent fingers. Conversely, when the corners of the non-intersected edges are empty (as shown in the illustration corresponding to position 266), this means that the rectangle is in the background pixels at these corners, and the intersection points define part of the hand.

Если углы являются пустыми, фильтра классификатора пикселей в позиции 269 проверяет, является ли расстояние между точками пересечения, называемое длиной хорды, меньше максимальной ширины пальца (этап 252). Таким образом, там, где имеется две точки пересечения, это может быть кончик пальца, как показано на фиг.11A. Однако пиксель также может являться частью руки или частью кисти руки, например, суставом, как показано на фиг.13. Если это так, длина 282 хорды может быть больше максимальной ширины пальца. Если это так, считается, что пиксель 278, на предмет которого исследуется прямоугольник 280, находится на руке или суставе в позиции 271 (фиг.10).If the corners are empty, the pixel classifier filter at 269 checks to see if the distance between the intersection points, called the chord length, is less than the maximum width of the finger (step 252). Thus, where there are two intersection points, this may be the tip of the finger, as shown in figa. However, the pixel may also be part of the hand or part of the hand, for example, a joint, as shown in Fig. 13. If so, the length of the 282 chord may be greater than the maximum width of the finger. If so, it is believed that the pixel 278 for which rectangle 280 is being examined is located on the arm or joint at position 271 (Fig. 10).

В дополнение к идентификации кончика пальца или пальца пересечение с двумя точками или пересечение с четырьмя точками также могут раскрыть направление, в котором указывает кончик пальца/палец. Например, на фиг.11A имелось два пересечения с менее чем максимальной шириной пальца, таким образом, было определено, что пиксель 278 находится на кончике пальца. Однако, учитывая такое пересечение, можно сделать выводы о направлении, в котором указывает кончик пальца. То же самое может быть сказано для пальца, показанного на фиг.12. Фиг.11A показывает палец 276, указывающий прямо вверх. Но кончик 276 пальца может указывать также в других восходящих направлениях. Информация от других точек около точки 278 на кончике 276 пальца может использоваться для дополнительных выводов о направлении.In addition to identifying a fingertip or finger, a two-point intersection or a four-point intersection can also reveal the direction in which the fingertip / finger points. For example, in FIG. 11A, there were two intersections with less than the maximum width of the finger, so it was determined that the pixel 278 is at the tip of the finger. However, given this intersection, conclusions can be drawn about the direction in which the tip of the finger points. The same can be said for the finger shown in FIG. 11A shows a finger 276 pointing straight up. But the tip of the finger 276 may also indicate other ascending directions. Information from other points near point 278 on finger tip 276 can be used for additional directional findings.

Фиг.11B показывает пересечение с двумя точками, которое обеспечивает дополнительные выводы о направлении, в котором указывает палец/кончик пальца. Таким образом, направление может быть выведено из отношения расстояний до совместного угла. Иначе говоря, длина хорды между точками 281a и 281b определяет гипотенузу треугольника, также включающего в себя стороны между точками 281a, 281b и совместный угол. Можно сделать вывод, что палец указывает в направлении, перпендикулярном по отношении к гипотенузе.11B shows a two-point intersection that provides additional conclusions about the direction in which the finger / fingertip is pointing. Thus, the direction can be inferred from the ratio of the distances to the joint angle. In other words, the chord length between points 281a and 281b defines the hypotenuse of the triangle, which also includes the sides between points 281a, 281b and the joint angle. It can be concluded that the finger points in a direction perpendicular to the hypotenuse.

Может случиться, что кисть руки удерживается с двумя пальцами вместе, с тремя пальцами вместе или четырьмя пальцами вместе. Таким образом, после того, как описанные выше этапы пройдены с использованием прямоугольника 280 для каждого пикселя в кисти руки, процесс может быть повторен с использованием прямоугольника 280, который немного больше максимальной ширины двух пальцев вместе, и затем повторен снова с использованием прямоугольника 280, который немного больше максимальной ширины трех пальцев вместе, и т.д.It may happen that the hand is held with two fingers together, with three fingers together or four fingers together. Thus, after the steps described above are completed using rectangle 280 for each pixel in the hand, the process can be repeated using rectangle 280, which is slightly larger than the maximum width of two fingers together, and then repeated again using rectangle 280, which slightly larger than the maximum width of three fingers together, etc.

Как только данные фильтра классификатора пикселей собраны, фильтр классификатора пикселей затем пытается создать модель кисти руки из данных на этапе 258 (фиг.9). Имеются маленькие идентифицированные области, или средние точки, такие как, например, иллюстративные области, которые являются кончиком пальца, и область, которая является ладонью, и идея о центре ладони из этапа сегментации кисти руки. Средство 198 классификатора затем исследует средние точки пальца, не классифицированные как кончики пальцев, но, вследствие того, что они пересеклись в четырех точках, классифицированные как пальцы. Ориентация направления также была идентифицирована для областей пальца и кончика пальца. Если средняя точка пальца выровнена со средней точкой кончика пальца, и они находятся в корректном относительном расположении друг относительно друга, алгоритм соединяет эти средние точки как принадлежащие одному и тому же пальцу.Once the pixel classifier filter data is collected, the pixel classifier filter then attempts to create a hand model from the data in step 258 (Fig. 9). There are small identified areas, or midpoints, such as, for example, illustrative areas that are the tip of the finger, and the area that is the palm, and the idea of the center of the palm from the segmentation stage of the hand. The classifier 198 then examines the midpoints of the finger, not classified as fingertips, but because they intersected at four points, classified as fingers. Orientation directions have also been identified for finger and fingertip areas. If the midpoint of the finger is aligned with the midpoint of the fingertip and they are in the correct relative position relative to each other, the algorithm connects these midpoints as belonging to the same finger.

Затем ориентация области пальца используется для проекции туда, где находится сустав этого пальца, на основе размера скелета и величины пальца. Размер, позиция и ориентации любых идентифицированных впадин между пальцами также могут использоваться для подтверждения определенной модели кисти руки. Затем спроецированная позиция сустава соединяется с ладонью. После завершения средство классификатора пикселей определяет скелетную модель 284 кисти руки, два примера которой показаны на фиг.14. Модель, которую можно назвать "уменьшенная скелетная модель кисти руки отслеживает сегменты кисти руки, относящиеся к кончикам пальцев, суставы соединяют кисть руки и пальцы и центральную кость к ладони", включает в себя средние точки кончиков пальцев, соединенные со средними точками пальца, соединенными со средними точками сустава, соединенными со средней точкой ладони. Данные относительно известной геометрии и возможных позиций кисти руки из известной позиции руки также могут использоваться для проверки или оспаривания определенных позиций кончика пальца, пальца, сустава и/или позиций средних точек ладони, а также для отбрасывания данных центральных точек, которые могут быть определены как не являющиеся частью кисти руки.Then, the orientation of the finger region is used to project where the joint of that finger is based on the size of the skeleton and the size of the finger. The size, position and orientation of any identified hollows between the fingers can also be used to confirm a specific model of the hand. The projected position of the joint then connects to the palm of the hand. Upon completion, the pixel classifier determines the skeletal model 284 of the hand, two examples of which are shown in FIG. The model, which can be called a “reduced skeletal model of the hand traces hand segments related to the fingertips, joints connect the hand and fingers and the central bone to the palm,” includes the midpoints of the fingertips connected to the midpoints of the finger connected to midpoints of the joint connected to the midpoint of the palm. Data regarding the known geometry and possible positions of the hand from the known position of the hand can also be used to check or dispute certain positions of the fingertip, finger, joint and / or positions of the midpoints of the palm, as well as to discard data of central points that can be determined as not being part of the hand.

Описанное выше создаст модель кисти руки, даже если одна или более секций кисти руки будут отсутствовать в модели. Например, палец мог быть закрыт или находиться слишком близко к телу пользователя или другой кисти руки, которая должна быть обнаружена. Или у пользователя может отсутствовать палец. Фильтр классификации пикселей создаст модель кисти руки с использованием положений пальцев и кисти руки, которые он обнаруживает.The above will create a model of the hand, even if one or more sections of the hand are absent in the model. For example, the finger could be closed or too close to the body of the user or another hand that needs to be detected. Or the user may be missing a finger. The pixel classification filter will create a model of the hand using the positions of the fingers and the hand that it detects.

Другой фильтр, который может быть выполнен в дополнение или вместо фильтра классификации пикселей, может упоминаться как фильтр анализа кривизны. Этот фильтр сосредоточен на кривизне вдоль границ сегментированного контура кисти руки, чтобы определить пики и впадины в попытке дифференцировать пальцы. Как показано в блок-схеме последовательности операций на фиг.15, на этапе 286, начиная с первого пикселя, восемь окружающих пикселей исследуются для определения, какой пиксель является следующим на кисти руки. Таким образом каждому пикселю присваивается значение от 0 до 7, характеризующее связность между этим пикселем и следующим. Цепочка этих чисел строится вокруг контура кисти руки, которая дает границы кисти руки. Эти значения могут быть преобразованы в углы и контуры вокруг кисти руки на этапе 288 для обеспечения графика контура и пиков кисти руки, такого как показан на фиг.16. Эти этапы формирования контуров и пиков кисти руки описаны, например, в статье Ф. Леймэри (F. Leymarie), М.Д. Левин (M.D. Levine), названной "Curvature morphology ", Computer Vision and Robotics Laboratory, McGill University, Montreal, Quebec, Canada, 1988, которая включена в настоящий документ по ссылке во всей полноте.Another filter, which may be performed in addition to or instead of a pixel classification filter, may be referred to as a curvature analysis filter. This filter focuses on curvature along the boundaries of the segmented contour of the hand to identify peaks and troughs in an attempt to differentiate fingers. As shown in the flowchart of FIG. 15, in step 286, starting from the first pixel, eight surrounding pixels are examined to determine which pixel is next on the wrist. Thus, each pixel is assigned a value from 0 to 7, characterizing the connectivity between this pixel and the next. A chain of these numbers is built around the contour of the hand, which gives the border of the hand. These values can be converted to angles and contours around the hand in step 288 to provide a graph of the contour and peaks of the hand, such as shown in FIG. These stages of the formation of the contours and peaks of the hand are described, for example, in the article by F. Leymarie, M.D. Levin (M.D. Levine), entitled "Curvature morphology", Computer Vision and Robotics Laboratory, McGill University, Montreal, Quebec, Canada, 1988, which is incorporated herein by reference in its entirety.

Пики вокруг контура кисти руки идентифицируются на этапе 289, и каждый анализируется относительно различных признаков пика. Пик может быть определен стартовой точкой, пиком и конечной точкой. Эти три точки могут образовать треугольник, как объяснено ниже. Различные признаки пика, которые могут быть исследованы, включают в себя, например:Peaks around the contour of the hand are identified at step 289, and each is analyzed relative to different signs of the peak. A peak can be defined by a start point, a peak, and an end point. These three points can form a triangle, as explained below. Various peak symptoms that can be investigated include, for example:

ширину пика;peak width;

максимальную высоту данного пика;maximum height of a given peak;

среднюю высоту отсчетов кривизны в пределах пика;the average height of the samples of curvature within the peak;

соотношение формы пика (максимальная высота/средняя высота);peak shape ratio (maximum height / average height);

площадь пика;peak area;

расстояние от кисти руки до пика;distance from the hand to the peak;

направление от локтя до кисти руки (x, y и z);direction from the elbow to the hand (x, y and z);

векторное произведение направления пика и направления руки (насколько мал угол между направлением руки и направлением пика); иvector product of the peak direction and the direction of the hand (how small is the angle between the direction of the hand and the direction of the peak); and

векторное произведение вектора между стартовой точкой пика и максимальной точкой и вектора между максимальной точкой и конечной точкой.the vector product of the vector between the start point of the peak and the maximum point and the vector between the maximum point and the end point.

Эта информация может быть пропущена через различные методики машинного обучения на этапе 290, такие как, например, метод опорных векторов, чтобы дифференцировать пальцы и кисть руки. Метод опорных векторов известен и описан, например, в статьях К. Кортес (C. Cortes) и В. Вапник (V. Vapnik), "Support-Vector Networks, Machine Learning", 20(3):273-297, September 1995, и Владимир Н. Вапник (Vladimir N. Vapnik), "The Nature of Statistical Learning Theory", Springer, New York, 1995, обе из которых включены в настоящий документ по ссылке во всей полноте. В вариантах осуществления данные с помехами могут быть сглажены с использованием скрытой Марковской модели для поддержания состояния кистей рук и фильтрации шума.This information can be passed through various machine learning techniques at step 290, such as, for example, the support vector method to differentiate fingers and hand. The support vector method is known and described, for example, in articles by C. Cortes and V. Vapnik, "Support-Vector Networks, Machine Learning", 20 (3): 273-297, September 1995 and Vladimir N. Vapnik, "The Nature of Statistical Learning Theory", Springer, New York, 1995, both of which are incorporated herein by reference in their entirety. In embodiments, the interference data can be smoothed using a hidden Markov model to maintain the state of the hands and filter noise.

Описанные выше фильтры могут упоминаться, как фильтры контура, поскольку они исследуют данные, относящиеся к контуру кисти руки. Дополнительный фильтр, который может быть использован, является фильтром гистограммы и упоминается как фильтр глубины, поскольку он использует данные глубины для построения модели кисти руки. Этот фильтр может использоваться в дополнение или вместо описанных выше фильтров и может быть особенно полезен, когда кисть руки пользователя указывает в направлении устройства 20 захвата изображения.The filters described above may be referred to as contour filters because they examine data related to the contour of the hand. An additional filter that can be used is a histogram filter and is referred to as a depth filter because it uses depth data to build a model of the hand. This filter can be used in addition to or instead of the filters described above and can be especially useful when the user's hand points in the direction of the image pickup device 20.

В фильтре гистограммы может быть создана гистограмма расстояний в области кисти руки. Например, такая гистограмма может включать в себя пятнадцать интервалов, где каждый интервал включает в себя количество точек в области кисти руки, расстояние которых в направлении оси z (глубина) от самой близкой точки к камере находится в пределах некоторого диапазона расстояния, соответствующего этому интервалу. Например, первый интервал в такой гистограмме может включать в себя количество точек в области кисти руки, расстояние которых до средней точки кисти руки находится между 0 и 0,40 см, второй интервал включает в себя количество точек в области кисти руки, расстояние которых до средней точки кисти руки находится между 0,40 и 0,80 см, и т.д. Таким образом, может быть создан вектор для кодификации формы кисти руки. Такие векторы затем могут быть нормализованы, например, на основе оцененного размера тела.In the histogram filter, a histogram of distances in the area of the hand can be created. For example, such a histogram may include fifteen intervals, where each interval includes the number of points in the area of the hand, the distance of which in the direction of the z axis (depth) from the closest point to the camera is within a certain range of distance corresponding to this interval. For example, the first interval in such a histogram may include the number of points in the area of the hand, the distance from which to the midpoint of the hand is between 0 and 0.40 cm, the second interval includes the number of points in the area of the hand, the distance from which to the middle the point of the hand is between 0.40 and 0.80 cm, etc. Thus, a vector can be created to codify the shape of the hand. Such vectors can then be normalized, for example, based on estimated body size.

В другом иллюстративном подходе гистограмма может быть создана на основе расстояний и/или углов от точек в области кисти руки до сустава, сегмента кости или плоскости ладони из оцененного скелета пользователя, например, локтевого сустава, сустава запястья и т.д. Фиг.17 иллюстрирует два графика, показывающими гистограммы, определенные для закрытой кисти руки и открытой кисти руки.In another illustrative approach, a histogram can be created based on distances and / or angles from points in the area of the wrist to the joint, bone segment or plane of the palm from the estimated skeleton of the user, for example, the elbow joint, wrist joint, etc. 17 illustrates two graphs showing histograms defined for a closed hand and an open hand.

Следует понимать, что примеры фильтра дескрипторов формы являются иллюстративными по природе и не предназначены для ограничения объема этого раскрытия. Вообще, любые подходящие дескрипторы формы для области кисти руки могут использоваться по отдельности или в комбинации друг с другом и/или одним из описанных выше иллюстративных способов. Например, дескрипторы формы, такие как описанные выше гистограммы или векторы, могут сочетаться и комбинироваться, объединяться и/или соединяться в большие по размеру векторы и т.д. Это может дать возможность идентификации новых шаблонов, которые не могли быть идентифицированы при их изолированном рассмотрении. Эти фильтры могут быть наращены посредством использования хронологических данных кадров, которые могут указать, например, отклоняется ли идентифицированный палец слишком далеко от этого пальца, идентифицированного в предыдущем кадре.It should be understood that examples of form descriptor filter are illustrative in nature and are not intended to limit the scope of this disclosure. In general, any suitable shape descriptors for an area of the hand can be used individually or in combination with each other and / or one of the above illustrative methods. For example, shape descriptors, such as the histograms or vectors described above, can be combined and combined, combined and / or combined into large vectors, etc. This may make it possible to identify new patterns that could not be identified when they were isolated. These filters can be extended by using historical frame data, which can indicate, for example, whether the identified finger deviates too far from that finger identified in the previous frame.

Фиг.18 показывает фильтр супервизора для объединения результатов различных описанных выше фильтров. Например, фильтр классификатора пикселей может использоваться для получения модели кисти руки и пальцев. Кроме того, классификатор пикселей, фильтр анализа кривизны, фильтр гистограммы глубины и, возможно, другие фильтры кисти руки, не показанные на фиг.19, могут быть обработаны, как описано выше, и далее обработаны, например, посредством фильтрации временной согласованности (например, низкочастотным фильтром) и методики сглаживания для получения позиций кисти руки и пальцев. Как упомянуто выше, контур, используемый в различных описанных здесь фильтрах, может быть масштабирован, чтобы он был инвариантен относительно размеров кисти руки и расстояния от датчика посредством знания расстояния от пользователя до камеры и размера кисти руки, выведенного из ее проанализированного скелета.Fig. 18 shows a supervisor filter for combining the results of the various filters described above. For example, a pixel classifier filter can be used to obtain a model of the hand and fingers. In addition, the pixel classifier, the curvature analysis filter, the depth histogram filter, and possibly other hand filters not shown in FIG. 19 can be processed as described above and further processed, for example, by filtering temporal consistency (for example, low-pass filter) and smoothing techniques to obtain the positions of the hand and fingers. As mentioned above, the contour used in the various filters described herein can be scaled to be invariant with respect to the size of the hand and the distance from the sensor by knowing the distance from the user to the camera and the size of the hand drawn from its analyzed skeleton.

В дополнение к открытому или закрытому состояниям кисти руки настоящая технология может использоваться для идентификации конкретной ориентации пальцев, например, указания в конкретном направлении одним или более пальцами. Технология также может использоваться для идентификации различных положений кистей рук, ориентированных под различными углами в пределах декартова пространства с осями x, y, z.In addition to the open or closed states of the hand, the present technology can be used to identify a specific orientation of the fingers, for example, pointing in a specific direction with one or more fingers. The technology can also be used to identify different positions of the hands, oriented at different angles within the Cartesian space with the x, y, z axes.

В вариантах осуществления различные этапы фильтрации постклассификации могут использоваться для увеличения точности оценок позиции кисти руки и пальцев на этапе 216 (фиг.6). Например, этап фильтрации временной согласованности может быть применен к предсказанным позициям кисти руки и пальцев между последовательными кадрами изображения глубины для сглаживания предсказания и уменьшения временного дрожания, например, из-за случайных движений рук, помех в датчике или случайных ошибок классификации. Таким образом, может быть оценено множество позиций кисти руки и пальцев на основе множества изображений глубины от устройства захвата или датчика, и может быть выполнена временная фильтрация множества оценок для оценки позиций кисти руки и пальцев.In embodiments, the various stages of postclassification filtering can be used to increase the accuracy of the estimates of the position of the hand and fingers in step 216 (FIG. 6). For example, the temporal consistency filtering step can be applied to predicted hand and finger positions between successive depth image frames to smooth out predictions and reduce temporary jitter, for example, due to random hand movements, sensor interference, or random classification errors. Thus, a plurality of positions of the wrist and fingers can be estimated based on the plurality of depth images from the gripper or sensor, and temporary filtering of the plurality of evaluations to evaluate the positions of the wrist and fingers can be performed.

На этапе 220 конвейер, показанный на фиг.6, может выдать ответ в каждом кадре на основе оцененного состояния кисти руки. Например, на консоль вычислительной системы, такой как консоль 12 вычислительной системы 10, может быть выдана команда. В качестве другого примера, ответ может быть выдан на дисплейное устройство, такое как дисплейное устройство 16. Таким образом, оцененные движения пользователя, в том числе оцененные состояния кистей рук, могут быть преобразованы в команды для консоли 12 системы 10, с тем чтобы пользователь мог взаимодействовать с системой, как описано выше. Кроме того, описанные выше способ и процессы могут быть реализованы для определения оценок состояний любой части тела пользователя, например, рта, глаз и т.д. Например, положение части тела пользователя может быть оценено с использованием описанных выше способов.At step 220, the conveyor shown in FIG. 6 may issue a response in each frame based on the estimated condition of the hand. For example, a command may be issued to a console of a computing system, such as a console 12 of computing system 10. As another example, a response may be provided to a display device, such as display device 16. Thus, the estimated movements of the user, including the estimated states of the hands, can be converted into commands for the console 12 of the system 10 so that the user can interact with the system as described above. In addition, the method and processes described above can be implemented to determine the state estimates of any part of the user's body, for example, the mouth, eyes, etc. For example, the position of a part of a user's body can be estimated using the methods described above.

Настоящая технология обеспечивает возможность для большого разнообразия взаимодействий с системой естественного пользовательского интерфейса, как, например, показано на фиг.1A-1C. Имеется широкий диапазон естественных взаимодействий, которые основаны на движениях кисти руки и пальцев или комбинируют как крупные движения тела, так и мелкие манипуляции кистями рук, которые желательны для создания новых распознанных жестов, большей интерактивности и захватывающих игр. Эти применения и взаимодействия включают в себя, но без ограничения, следующее:The present technology provides an opportunity for a wide variety of interactions with a natural user interface system, as, for example, shown in FIGS. 1A-1C. There is a wide range of natural interactions that are based on the movements of the hand and fingers or combine both large body movements and small hand manipulations, which are desirable for creating new recognized gestures, greater interactivity and exciting games. These applications and interactions include, but are not limited to, the following:

Обеспечение позиций курсора с высокой точностью - посредством точного распознавания и отслеживания указывающего пальца пользователя система естественного пользовательского интерфейса может точно определить, куда пользователь указывает на экране в отношении позиционирования курсора (фиг.1B).Providing cursor positions with high accuracy - through accurate recognition and tracking of the user's pointing finger, the natural user interface system can accurately determine where the user points on the screen in relation to the cursor positioning (Fig. 1B).

Нацеливание пальцев - в общем случае, точное распознавание и отслеживание пальца или пальцев пользователя может использоваться в любом множестве способов улучшения управления и взаимодействия с системой естественного пользовательского интерфейса и игровыми или другими прикладными программами, работающими с системой естественного пользовательского интерфейса. Распознавание различных конфигураций кистей рук может использоваться в качестве распознанных жестов, например, таких как, но без ограничения, счет на пальцах, палец вверх, палец вниз, знак "все в порядке", знак "рога" (указательный палец и мизинец вверх), знак "шака" ("hang loose"), знак "живи долго и процветай" из сериала Star Trek®, единственный поднятый палец и другие. Каждый из них может использоваться для управления взаимодействием пользовательского интерфейса.Finger targeting - in general, accurate recognition and tracking of a user's finger or fingers can be used in any of a variety of ways to improve control and interaction with the natural user interface system and game or other applications working with the natural user interface system. The recognition of various configurations of the hands can be used as recognized gestures, for example, such as, but not limited to, finger counting, finger up, finger down, “all right” sign, “horn” sign (index finger and little finger up), the “shack” sign (“hang loose”), the “live long and prosper” sign from Star Trek®, the only raised finger and others. Each of these can be used to control user interface interactions.

Виртуальные кнопки (с осязаемой обратной связью) - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам использовать множество виртуальных кнопок, дополнительно улучшающих восприятие естественного пользовательского интерфейса.Virtual buttons (with tangible feedback) - precise recognition and tracking of individual fingers allows applications to use many virtual buttons that further enhance the perception of the natural user interface.

Управление большим пальцем - посредством восприятия ориентации и надежного обнаружения большого пальца руки кисть руки может действовать как контроллер - ориентация большого пальца управляет ориентацией контроллера, прижимание большого пальца к кисти руки распознается как нажатие кнопки.Thumb control - through the perception of orientation and reliable detection of the thumb, the hand can act as a controller - the orientation of the thumb controls the orientation of the controller, pressing the thumb to the hand is recognized as a button press.

Зажим для выбора - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам использовать движение зажима между большим и другим пальцем для воздействия на некоторую функцию управления или метрику прикладной программы.Clamp for selection - precise recognition and tracking of individual fingers allows applications to use the movement of the clamp between the thumb and the other finger to influence some control function or application metric.

Одно или несколько направлений пальцев - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам использовать относительные позиции пальцев как управляющую метрику или выполнять некоторую другую метрику прикладной программы.One or more finger directions — accurate recognition and tracking of individual fingers allows application programs to use relative finger positions as a control metric or perform some other application metric.

Письмо, рисование, лепка - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам интерпретировать пользователя, держащего перо или кисть, и то, как им образом это перо или кисть движутся при движении отдельных пальцев. Распознавание таких движений дает пользователю возможность формировать буквы, рукописный текст, "лепить" и/или рисовать изображения.Writing, drawing, sculpting - precise recognition and tracking of individual fingers allows applications to interpret the user holding the pen or brush, and how the pen or brush moves with the movement of individual fingers. Recognition of such movements allows the user to form letters, handwritten text, sculpt and / or draw images.

Печатание - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам выполнять движения печати, которые интерпретируются системой естественного пользовательского интерфейса или прикладной программой как нажатия клавиш на виртуальной клавиатуре для ввода символа и слова на экране или обеспечить управляющую или прикладную информацию системе естественного пользовательского интерфейса или прикладной программе.Typing - Accurate recognition and tracking of individual fingers allows application programs to perform print movements that are interpreted by the natural user interface system or application program as keystrokes on a virtual keyboard to enter a character and word on the screen, or provide control or application information to the natural user interface system or application program .

Отслеживание вращений кистями рук - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам точно идентифицировать вращение кистями рук.Hand rotation tracking - Accurate recognition and tracking of individual fingers allows applications to accurately identify hand rotation.

Управление куклой - отображение скелета пальцев на систему управления кукольной анимации. В качестве альтернативы, отображение скелета пальцев может использоваться для непосредственного управления виртуальным объектом в такой же форме, в какой управляется физическая марионетка на физической веревке.Doll control - displays the skeleton of fingers on the puppet animation control system. Alternatively, the display of the skeleton of the fingers can be used to directly control the virtual object in the same form as the physical puppet on the physical rope is controlled.

Вращение круглой рукоятки или открывание кодового замка - точное распознавание и отслеживание отдельных пальцев позволяет пользователю выбирать и вращать виртуальную круглую рукоятку или открывать виртуальный кодовый замок. Такой кодовый замок может использоваться для обеспечения или запрещения доступа для защиты сетевых или сохраненных ресурсов.Rotating the knob or opening the combination lock - precise recognition and tracking of individual fingers allows the user to select and rotate the virtual knob or open the virtual combination lock. Such a combination lock can be used to provide or deny access to protect network or stored resources.

Стрельба из оружия - использование обнаружения пальцев и кисти руки в качестве контроллера оружия - указательный палец определяет цель, и большой палец нажимает кнопку для выстрела.Weapon shooting - using the detection of fingers and hands as a weapon controller - the index finger defines the target, and the thumb presses the button to fire.

Жест щелчка - обнаружение и использование жеста щелчка пальцами в воздухе для виртуального взаимодействия.Click gesture - Detect and use a finger gesture in the air for virtual interaction.

Жест открытой ладони - использование открытой ладони для отображения изображения карты, означающее модальное изменение между точкой зрения первого лица и третьего лица. Указательный палец может использоваться на открытой ладони (подобно мыши или пальцу на сенсорном экране) для прокрутки и перемещения через виртуальное пространство.Gesture of an open palm - using an open palm to display a map image, meaning a modal change between the point of view of the first person and third person. The index finger can be used on an open palm (like a mouse or finger on the touch screen) to scroll and move through the virtual space.

Управление ногами - использование указательного и среднего пальцев (с обращенной вниз кистью руки) для управления ногами персонажа с изображением бега, прыжков или ударов. Этот жест может быть объединен с жестом открытой ладони, чтобы обозначить модальное изменение между взаимодействиями всего тела и пользовательским интерфейсом или навигацией. Например, в сюжетной игре с активными действиями игрок может использовать управление всем телом для участия в боевых действиях, затем использовать жест открытой ладони, чтобы переключиться на изображение карты, и использовать указательный и средний пальцы для изображения бега по местности.Foot control - using the index and middle fingers (with the downward hand) to control the character’s legs with the image of running, jumping or striking. This gesture can be combined with an open palm gesture to indicate a modal change between whole body interactions and a user interface or navigation. For example, in an action-driven story game, a player can use the entire body control to participate in the fighting, then use the open hand gesture to switch to the map image, and use the index and middle fingers to depict running on the ground.

Предусматриваются другие взаимодействия пальцев и кистей рук.Other interactions of fingers and hands are contemplated.

Фиг.19A показывает иллюстративный вариант воплощения вычислительной среды, которая может использоваться для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели. Вычислительная среда, такая как вычислительная среда 12, описанная выше со ссылкой на фиг. 1A-2, может представлять собой мультимедийную консоль 600, такую как игровая консоль. Как показано в рис.19A, мультимедийная консоль 600 имеет центральный процессор (CPU) 601, имеющий кэш 602 уровня 1, кэш 604 уровня 2 и перепрограммируемое постоянное запоминающее устройство (ROM) 606. Кэш 602 уровня 1 и кэш 604 уровня 2 временно хранят данные и поэтому сокращают количество циклов доступа к памяти, тем самым увеличивая скорость и пропускную способность обработки. Может быть обеспечен центральный процессор 601, имеющий более одного ядра и, таким образом, дополнительные кэши 602 и 604 уровня 1 и уровня 2. Перепрограммируемое запоминающее устройство 606 может сохранить исполняемый код, который загружается во время начальной фазы процесса загрузки, когда мультимедийная консоль 600 включается.19A shows an illustrative embodiment of a computing environment that can be used to interpret one or more gestures in a target recognition, analysis, and tracking system. A computing environment such as computing environment 12 described above with reference to FIG. 1A-2 may be a multimedia console 600, such as a game console. As shown in Figure 19A, the multimedia console 600 has a central processing unit (CPU) 601 having a level 1 cache 602, level 2 cache 604, and flash programmable read-only memory (ROM) 606. Level 1 cache 602 and level 2 cache 604 temporarily store data and therefore reduce the number of memory access cycles, thereby increasing processing speed and throughput. A central processor 601 may be provided having more than one core and thus additional caches 602 and 604 of level 1 and level 2. Flashing memory 606 may store executable code that is loaded during the initial phase of the boot process when the multimedia console 600 is turned on .

Графический процессор (GPU) 608 и видео-кодер/видео-кодек (кодер/декодер) 614 образуют конвейер обработки видеоинформации для высокоскоростной обработки графики с высоким разрешением. Данные переносятся от графического процессора 608 на видео-кодер/видео-кодек 614 через шину. Конвейер обработки видеоинформации выдает данные на аудио/видео (A/V) порт 640 для передачи на телевизор или другой дисплей. Контроллер 610 памяти соединен с графическим процессором 608 для обеспечения доступа процессора к памяти 612 различных типов, такой как, но без ограничения, оперативное запоминающее устройство (ОЗУ; RAM).A graphics processor (GPU) 608 and a video encoder / video codec (encoder / decoder) 614 form a video processing pipeline for high-speed processing of high-resolution graphics. Data is transferred from the GPU 608 to the video encoder / video codec 614 via the bus. The video processing pipeline provides data to the audio / video (A / V) port 640 for transmission to a television or other display. A memory controller 610 is coupled to a graphics processor 608 to provide processor access to various types of memory 612, such as, but not limited to, random access memory (RAM; RAM).

Мультимедийная консоль 600 включает в себя контроллер 620 ввода-вывода (I/O), контроллер 622 управления системой, блок 623 обработки аудиоинформации, контроллер 624 сетевого интерфейса, первый ведущий контроллер 626 USB, второй контроллер 628 USB и подсистему 630 ввода-вывода передней панели, которые предпочтительно реализованы на модуле 618. Контроллеры 626 и 628 USB служат хостами для контроллеров 642(1)-642(2) ввода-вывода, адаптера 648 беспроводной связи и внешнего устройства 646 памяти (например, флэш-памяти, внешнего диска CD/DVD ROM, сменного носителя и т.д.). Сетевой интерфейс 624 и/или адаптер 648 беспроводной связи обеспечивает доступ к сети (например, сети Интернет, домашней сети и т.д.) и может представлять собой любой из широкого разнообразия компонентов различных проводных или беспроводных адаптеров, в том числе карту Ethernet, модем, модуль технологии Bluetooth, кабельный модем и т.п.The multimedia console 600 includes an input / output (I / O) controller 620, a system control controller 622, an audio processing unit 623, a network interface controller 624, a first USB host controller 626, a second USB controller 628, and a front panel I / O subsystem 630 which are preferably implemented on module 618. USB controllers 626 and 628 serve as hosts for the I / O controllers 642 (1) -642 (2), wireless adapter 648, and external memory device 646 (eg, flash memory, external CD / DVD ROM, removable media, etc.). Network interface 624 and / or wireless adapter 648 provides access to a network (e.g., the Internet, home network, etc.) and can be any of a wide variety of components of various wired or wireless adapters, including an Ethernet card, a modem , Bluetooth technology module, cable modem, etc.

Системная память 643 обеспечена для хранения данных прикладных программ, которые загружаются во время процесса загрузки. Обеспечен дисковод 644, который может содержать дисковод DVD/CD дисков, накопитель на жестком диске или другой дисковод для сменных носителей и т.д. Дисковод 644 может быть внутренним или внешним по отношению к мультимедийной консоли 600. Посредством мультимедийной консоли 600 через дисковод 644 можно получить доступ к данным прикладной программы для исполнения, воспроизведения и т.д. Дисковод 644 соединен с контроллером 620 ввода-вывода через шину, такую как шина интерфейса Serial ATA или другое высокоскоростное соединение (например, соединение стандарта IEEE 1394).System memory 643 is provided for storing application program data that is loaded during the boot process. A 644 drive is provided, which may include a DVD / CD drive, a hard disk drive or other removable media drive, etc. The drive 644 may be internal or external to the multimedia console 600. Through the multimedia console 600 through the drive 644, you can access application data for execution, playback, etc. The drive 644 is connected to the I / O controller 620 via a bus, such as a Serial ATA interface bus or other high-speed connection (for example, an IEEE 1394 standard connection).

Контроллер 622 управления системой обеспечивает множество служебных функций, связанных с гарантией доступности мультимедийной консоли 600. Блок 623 обработки аудиоинформации и аудио-кодек 632 образуют соответствующий конвейер обработки аудиоинформации с высокой точностью и обработкой стерео. Звуковые данные переносятся между блоком 623 обработки аудиоинформации и аудио-кодеком 632 через линию связи. Конвейер обработки аудиоинформации выдает данные на порту 640 A/V для воспроизведения посредством внешнего аудиопроигрывателя или устройства, имеющего возможности воспроизведения звука.The system control controller 622 provides a variety of utility functions related to guaranteeing the availability of the multimedia console 600. The audio information processing unit 623 and the audio codec 632 form an appropriate audio information processing pipeline with high fidelity and stereo processing. Sound data is transferred between the audio information processing unit 623 and the audio codec 632 via a communication line. The audio information processing pipeline provides data on a 640 A / V port for playback via an external audio player or device having sound reproduction capabilities.

Подсистема 630 ввода-вывода передней панели поддерживает функциональные возможности кнопки 650 включения питания и кнопки 652 выброса, а также любые светодиоды (LED) или другие индикаторы, представленные на внешней поверхности мультимедийной консоли 600. Системный модуль 636 источника питания обеспечивает электропитание компонентам мультимедийной консоли 600. Вентилятор 638 охлаждает схемы в пределах мультимедийной консоли 600.The front-panel I / O subsystem 630 supports the functionality of the power-on button 650 and the eject button 652, as well as any light emitting diodes (LEDs) or other indicators provided on the outer surface of the multimedia console 600. A power supply system module 636 provides power to components of the multimedia console 600. A fan 638 cools circuits within the multimedia console 600.

Центральный процессор 601, графический процессор 608, контроллер 610 памяти и различные другие компоненты в пределах мультимедийной консоли 600 связаны между собой через одну или более шин, в том числе последовательные и параллельные шины, шину памяти, шину периферийных устройств и процессорную или локальную шину с использованием любой из множества шинных архитектур. В качестве примера такая архитектура может включать в себя шину соединения периферийных устройств (стандарт PCI), шину стандарта PCI-Express и т.д.A central processor 601, a graphics processor 608, a memory controller 610, and various other components within the multimedia console 600 are interconnected via one or more buses, including serial and parallel buses, a memory bus, peripheral bus, and a processor or local bus using any of a variety of bus architectures. As an example, such an architecture may include a peripheral device connection bus (PCI standard), a PCI-Express standard bus, etc.

Когда мультимедийная консоль 600 включается, данные прикладной программы могут быть загружены из системной памяти 643 в память 612 и/или кэши 602, 604 и исполнены на центральном процессоре 601. Прикладная программа может предоставить графический пользовательский интерфейс, который обеспечивает единообразный пользовательский интерфейс при навигации по информационному содержанию различных видов, доступному на мультимедийной консоли 600. При работе прикладные программы и/или другое информационное содержание, содержащиеся в дисководе 644, могут быть запущены или воспроизведены с дисковода 644 для обеспечения дополнительных функциональных возможностей мультимедийной консоли 600.When the multimedia console 600 is turned on, application data can be downloaded from system memory 643 to memory 612 and / or caches 602, 604 and executed on the central processor 601. The application program can provide a graphical user interface that provides a consistent user interface when navigating through the information various kinds of content available on the multimedia console 600. When operating, application programs and / or other informational content contained in a drive 644 could s launched or played from the drive 644 to provide additional functionality of the multimedia console 600.

Мультимедийную консоль 600 можно использовать как автономную систему посредством простого соединения системы с телевизором или другим дисплеем. В этом автономном режиме мультимедийная консоль 600 позволяет одному или более пользователям взаимодействовать с системой, смотреть кино или слушать музыку. Однако при интеграции широкополосной связи, доступной через сетевой интерфейс 624 или адаптер 648 беспроводной связи, мультимедийную консоль 600 также можно использовать в качестве компонента большего сетевого сообщества.The multimedia console 600 can be used as a standalone system by simply connecting the system to a television or other display. In this standalone mode, the multimedia console 600 allows one or more users to interact with the system, watch a movie, or listen to music. However, when integrating the broadband available through the network interface 624 or the wireless adapter 648, the multimedia console 600 can also be used as a component of a larger network community.

Когда мультимедийная консоль 600 включается, установленное количество аппаратных ресурсов резервируется для системного использования операционной системой мультимедийной консоли. Эти ресурсы могут включать в себя резервирование памяти (например, 16 МБ), циклы центрального процессора и графического процессора (например, 5%), ширину сетевой полосы пропускания (например, 8 КБ) и т.д. Поскольку эти ресурсы резервируются во время загрузки системы, зарезервированные ресурсы не существуют с точки зрения прикладной программы.When the multimedia console 600 is turned on, the set amount of hardware resources is reserved for system use by the operating system of the multimedia console. These resources may include memory redundancy (e.g., 16 MB), CPU and GPU cycles (e.g., 5%), network bandwidth (e.g., 8 KB), etc. Because these resources are reserved at boot time, the reserved resources do not exist from the point of view of the application.

В частности, резервирование памяти предпочтительно является достаточно большим, чтобы содержать ядро запуска, параллельные системные прикладные программы и драйверы. Резервирование центрального процессора является предпочтительно постоянным, поэтому если зарезервированная загрузка центрального процессора не используется системными прикладными программами, неактивный поток будет потреблять любые неиспользованные циклы.In particular, the memory reservation is preferably large enough to contain a launch kernel, parallel system applications, and drivers. The redundancy of the central processor is preferably constant, therefore, if the reserved loading of the central processor is not used by system applications, the inactive thread will consume any unused cycles.

Что касается резервирования графического процессора, простые сообщения, сформированные системными прикладными программами (например, всплывающие окна), воспроизводятся посредством использования прерывания графического процессора, чтобы запланировать код для реализации всплывающего окна в оверлей. Объем памяти, требуемый для оверлея, зависит от размера области оверлея, и оверлей предпочтительно масштабируется в зависимости от разрешающей способности экрана. Когда параллельной системной прикладной программой используется полный пользовательский интерфейс, предпочтительно использовать разрешающую способность, независимую от разрешающей способности прикладной программы. Делитель частоты может использоваться для установления этой разрешающую способность таким образом, чтобы избавиться от необходимости изменять частоту и вызывать ресинхронизацию телевизионного сигнала.Regarding GPU redundancy, simple messages generated by system applications (for example, pop-ups) are reproduced by using a GPU interrupt to schedule code to implement a pop-up in an overlay. The amount of memory required for the overlay depends on the size of the overlay area, and the overlay is preferably scaled depending on the resolution of the screen. When the full user interface is used by the parallel system application, it is preferable to use a resolution independent of the resolution of the application. A frequency divider can be used to establish this resolution in such a way as to eliminate the need to change the frequency and cause the television signal to resynchronize.

После того, как мультимедийная консоль 600 загружена и системные ресурсы зарезервированы, исполняются параллельные системные прикладные программы для обеспечения системных функциональных возможностей. Системные функциональные возможности инкапсулированы во множестве системных прикладных программ, которые исполняются в зарезервированных системных ресурсах, описанных выше. Ядро операционной системы идентифицирует потоки, которые представляют собой системные потоки прикладных программ и потоки игровых прикладных программ. Системные прикладные программы предпочтительно планируются для выполнения на центральном процессоре 601 в предопределенные моменты времени и интервалы для обеспечения согласованного отображения системных ресурсов прикладной программе. Планирование должно минимизировать разрушение кэша для игровой прикладной программы, работающей на консоли.After the multimedia console 600 is loaded and system resources are reserved, parallel system applications are executed to provide system functionality. System functionality is encapsulated in a variety of system applications that are executed in the reserved system resources described above. The kernel of the operating system identifies threads, which are system threads of application programs and threads of game applications. System application programs are preferably scheduled to be executed on the central processor 601 at predetermined times and intervals to provide a consistent mapping of system resources to the application program. Scheduling should minimize cache disruption for a game application running on the console.

Когда параллельной системной прикладной программе требуется аудиоинформация, обработка аудиоинформации планируется асинхронно с игровой прикладной программой из-за чувствительности по времени. Диспетчер прикладных программ мультимедийной консоли (описанный ниже) управляет уровнем аудиоинформации игровой прикладной программы (например, заглушает, ослабляет), когда системные прикладные программы являются активными.When audio information is required by a parallel system application, the processing of audio information is scheduled asynchronously with the gaming application due to time sensitivity. The application manager of the multimedia console (described below) controls the audio level of the gaming application (for example, drowns out, weakens) when system applications are active.

Устройства ввода данных (например, контроллеры 642(1) и 642(2)) совместно используются игровыми прикладными программами и системными прикладными программами. Устройства ввода данных не являются зарезервированными ресурсами, но должны переключаться между системными прикладными программами и игровой прикладной программой таким образом, чтобы каждая из них будет иметь фокус ввода устройства. Диспетчер прикладных программ предпочтительно управляет переключением входного потока, не зная о том, какой информацией располагает игровая прикладная программа, и драйвер поддерживает информацию состояния относительно переключения фокуса ввода. Камеры 26, 28 и устройство 20 захвата могут определять дополнительные устройства ввода данных для консоли 600.Data input devices (e.g., controllers 642 (1) and 642 (2)) are shared between gaming applications and system applications. Data input devices are not reserved resources, but must be switched between system applications and game application programs so that each of them will have the input focus of the device. The application manager preferably controls the switching of the input stream, not knowing what information the game application has, and the driver maintains state information regarding switching the input focus. Cameras 26, 28 and capture device 20 may determine additional data input devices for console 600.

Фиг.19B иллюстрирует другой иллюстративный вариант воплощения вычислительной среды 720, которая может представлять собой вычислительную среду 12, показанную на фиг. 1A-2, используемую для интерпретации одного или более положений и движений в системе распознавания, анализа и отслеживания цели. Среда 720 вычислительной системы является только одним примером подходящей вычислительной среды и не предназначена для введения какого-либо ограничения относительно объема или функциональных возможностей раскрываемой сущности изобретения. Никто не должен интерпретировать вычислительную среду 720 как имеющую какую-либо зависимость или требования, относящиеся к любому одному компоненту или комбинации компонентов, показанных в иллюстративной среде 720. В некоторых вариантах воплощения различные изображенные вычислительные элементы могут включать в себя схему, выполненную в возможностью реализовывать конкретные аспекты настоящего раскрытия. Например, термин "схема", используемый в раскрытии, может включать в себя специализированные аппаратные компоненты, выполненные с возможностью выполнять функцию (функции) посредством встроенного программного обеспечения или переключателей. В других приведенных в качестве примера вариантах воплощения термин "схема" может включать в себя процессор общего назначения, память и т.д., выполненные посредством программных команд, которые воплощают логическую схему, действующую для выполнения функции (функций). В иллюстративных вариантах воплощения, когда схема включает в себя комбинацию аппаратных средств и программного обеспечения, разработчик может написать исходный код, воплощающий логическую схему, и исходный код может быть скомпилирован в машиночитаемый код, который может быть обработан посредством процессора общего назначения. Поскольку специалист может понять, что область техники развилась до такого состояния, когда имеется мало различий между аппаратными средствами, программным обеспечением или комбинацией аппаратных средств/программного обеспечения, выбор между аппаратными средствами и программным обеспечением для совершения заданных функций представляет собой выбор конфигурации, оставленный разработчику. Более определенно, специалист в области техники может понять, что программный процесс может быть преобразован в эквивалентную аппаратную структуру, и аппаратная структура сама может быть преобразована в эквивалентный программный процесс. Таким образом, выбор между аппаратной реализацией и программной реализацией представляет собой выбор конфигурации и оставлен конструктору.FIG. 19B illustrates another illustrative embodiment of a computing environment 720, which may be the computing environment 12 shown in FIG. 1A-2, used to interpret one or more positions and movements in a target recognition, analysis and tracking system. The computing system environment 720 is just one example of a suitable computing environment and is not intended to introduce any limitation as to the scope or functionality of the disclosed subject matter. No one should interpret computing environment 720 as having any dependency or requirements related to any one component or combination of components shown in exemplary environment 720. In some embodiments, the various illustrated computing elements may include circuitry configured to implement particular aspects of the present disclosure. For example, the term “circuitry” as used in the disclosure may include specialized hardware components configured to perform a function (s) via firmware or switches. In other exemplary embodiments, the term “circuit” may include a general-purpose processor, memory, etc., executed by program instructions that embody a logic circuit operable to perform functions (functions). In illustrative embodiments, when the circuit includes a combination of hardware and software, the developer can write the source code embodying the logic circuit, and the source code can be compiled into computer-readable code that can be processed by a general-purpose processor. Because one skilled in the art can understand that the technical field has evolved to a point where there is little difference between hardware, software, or a combination of hardware / software, the choice between hardware and software to perform the given functions is a configuration choice left to the developer. More specifically, one skilled in the art can understand that a software process can be converted to an equivalent hardware structure, and the hardware structure itself can be converted to an equivalent software process. Thus, the choice between hardware implementation and software implementation is a configuration choice and left to the designer.

На фиг.19B вычислительная среда 720 содержит компьютер 741, который обычно содержит разные машиночитаемые носители. Машиночитаемые носители могут представлять собой любые имеющиеся носители, к которым можно получить доступ с помощью компьютера 741, и включают в себя как энергозависимые, так и энергонезависимые носители, сменные и несменные носители. Системная память 722 включает в себя компьютерные носители данных в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM; ПЗУ) 723 и оперативное запоминающее устройство (RAM; ОЗУ) 760. Базовая система 724 ввода-вывода (BIOS), содержащая базовые подпрограммы, которые помогают перемещать информацию между элементами в компьютере 741, например, во время запуска, обычно хранится в постоянном запоминающем устройстве (ROM; ПЗУ) 723. Оперативное запоминающее устройство (RAM; ОЗУ) 760 обычно содержит данные и/или программные модули, которые являются моментально доступными для процессора 759 и/или которые в данный момент обрабатываются процессором 759. В качестве примера, но не ограничения, фиг.19B иллюстрирует операционную систему 725, прикладные программы 726, другие программные модули 727 и программные данные 728. Фиг.19B дополнительно включает в себя графический процессор (GPU) 729, имеющий соответствующую видеопамять 730 для высокоскоростной обработки и хранения графики высокого разрешения. Графический процессор 729 может быть соединен с системной шиной 721 через графический интерфейс 731.On figv computing environment 720 contains a computer 741, which usually contains different machine-readable media. Computer-readable media can be any available media that can be accessed using a computer 741, and includes both volatile and non-volatile media, removable and non-removable media. System memory 722 includes computer storage media in the form of volatile and / or non-volatile memory, such as read-only memory (ROM; ROM) 723 and random access memory (RAM; RAM) 760. Basic input / output system (BIOS) 724, containing basic routines that help move information between items in the computer 741, for example, during startup, is usually stored in read-only memory (ROM; ROM) 723. Random access memory (RAM; RAM) 760 typically contains data and / or program mm modules that are instantly available to processor 759 and / or which are currently being processed by processor 759. As an example, but not limitation, FIG. 19B illustrates an operating system 725, application programs 726, other program modules 727, and program data 728. FIG. 19B further includes a graphics processor (GPU) 729 having corresponding video memory 730 for high-speed processing and storage of high-resolution graphics. The graphics processor 729 may be connected to the system bus 721 via the graphic interface 731.

Компьютер 741 также может включать в себя другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных. Только в качестве примера фиг.19B иллюстрирует накопитель 738 на жестких дисках, который считывает или записывает на несменный энергонезависимый магнитный носитель, магнитный дисковод 739, который считывает или записывает на сменный энергонезависимый магнитный диск 754, и оптический дисковод 740, который считывает или записывает на сменный энергонезависимый оптический диск 753, такой как постоянное запоминающее устройство на компакт-диске (CD ROM) или другой оптический носитель. Другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут использоваться в иллюстративной среде, включают в себя, но без ограничения, кассеты магнитной ленты, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, полупроводниковое ОЗУ, полупроводниковое ПЗУ и т.п. Накопитель 738 на жестких дисках обычно соединен с системной шиной 721 через интерфейс несменной памяти, такой как интерфейс 734, и магнитный дисковод 739 и оптический дисковод 740 обычно соединяются с системной шиной 721 посредством интерфейса сменной памяти, такого как интерфейс 735.Computer 741 may also include other removable / non-removable, volatile / non-volatile computer storage media. By way of example only, FIG. 19B illustrates a hard disk drive 738 that reads or writes to non-removable non-volatile magnetic media, a magnetic drive 739 that reads or writes to a removable non-volatile magnetic disk 754, and an optical drive 740 that reads or writes to a removable non-volatile optical disk 753, such as read-only memory on a compact disc (CD-ROM) or other optical medium. Other removable / non-removable, volatile / non-volatile computer storage media that may be used in an illustrative environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, semiconductor RAM, semiconductor ROM, etc. .P. A hard disk drive 738 is usually connected to the system bus 721 via a non-removable memory interface, such as interface 734, and a magnetic drive 739 and an optical drive 740 are usually connected to the system bus 721 via a removable memory interface, such as interface 735.

Дисковые накопители и связанные с ними компьютерные носители данных, описанные выше и проиллюстрированные на фиг.19B, обеспечивают хранение машиночитаемых команд, структур данных, программных модулей и других данных для компьютера 741. На фиг.19B, например, накопитель 738 на жестких дисках проиллюстрирован как содержащий операционную систему 758, прикладные программы 757, другие программные модули 756 и программные данные 755. Следует отметить, что эти компоненты могут либо быть теми же самыми, либо отличными от операционной системы 725, прикладных программ 726, других программных модулей 727 и программных данных 728. Операционной системе 758, прикладным программам 757, другим программным модулям 756 и программным данным 755 здесь даны другие номера, чтобы проиллюстрировать, что они как минимум являются другими копиями. Пользователь может вводить команды и информацию в компьютер 741 через устройства ввода данных, такие как клавиатура 751 и координатно-указательное устройство 752, обычно называемое мышью, шаровым манипулятором или сенсорной клавиатурой. Другие устройства ввода данных (не показаны), могут включать в себя микрофон, джойстик, игровую клавиатуру, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода данных часто соединены с процессором 759 через интерфейс 736 пользовательского ввода, который присоединен к системной шине, но могут быть соединены другими интерфейсными и шинными структурами, такими как параллельный порт, игровой порт или универсальная последовательная шина (USB). Камеры 26, 28 и устройство 20 захвата могут определять дополнительные устройства ввода данных для консоли 700. Монитор 742 или дисплейное устройство другого типа также соединен с системной шиной 721 через интерфейс, такой как видеоинтерфейс 732. В дополнение к монитору компьютеры также могут включать в себя другие периферийные устройства вывода, такие как динамики 744 и принтер 743, которые могут быть соединены через интерфейс 733 периферийных устройств вывода.The disk drives and associated computer storage media described above and illustrated in FIG. 19B provide storage of machine-readable instructions, data structures, program modules and other data for computer 741. In FIG. 19B, for example, a hard disk drive 738 is illustrated as comprising an operating system 758, application programs 757, other program modules 756, and program data 755. It should be noted that these components may either be the same or different from the operating system 725, application software Programs 726, other program modules 727, and program data 728. The operating system 758, application programs 757, other program modules 756, and program data 755 are given other numbers here to illustrate that they are at least other copies. The user can enter commands and information into the computer 741 through data input devices, such as a keyboard 751 and a pointing device 752, commonly referred to as a mouse, trackball or touch keyboard. Other data input devices (not shown) may include a microphone, joystick, gaming keyboard, satellite dish, scanner, and the like. These and other input devices are often connected to the processor 759 via a user input interface 736, which is connected to the system bus, but can be connected by other interface and bus structures, such as a parallel port, a game port, or a universal serial bus (USB). Cameras 26, 28 and the capture device 20 may determine additional input devices for the console 700. A monitor 742 or other type of display device is also connected to the system bus 721 via an interface such as video interface 732. In addition to the monitor, computers may also include other peripheral output devices, such as speakers 744 and printer 743, which can be connected via an interface 733 of peripheral output devices.

Компьютер 741 может работать в сетевом окружении, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 746. Удаленный компьютер 746 может являться персональным компьютером, сервером, маршрутизатором, сетевым персональным компьютером, одноранговым устройством или другим общим сетевым узлом и обычно включает в себя многие или все элементы, описанные выше относительно компьютера 741, хотя на фиг.19B было проиллюстрировано только устройство 747 памяти. Логические соединения, изображенные на фиг.19B, включают в себя локальную сеть 745 и глобальную сеть 749, но также могут включать в себя другие сети. Такие сетевые среды являются обычным явлением в офисах, в компьютерных сетях масштаба предприятия, в интрасетях и в Интернете.Computer 741 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer 746. Remote computer 746 may be a personal computer, server, router, network personal computer, peer-to-peer device, or other common network node and typically includes incorporating many or all of the elements described above with respect to computer 741, although only memory device 747 has been illustrated in FIG. The logical connections shown in FIG. 19B include a local area network 745 and a wide area network 749, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.

При использовании в среде локальной сети компьютер 741 соединен с локальной сетью 745 через сетевой интерфейс или адаптер 737. При использовании в среде глобальной сети компьютер 741 обычно включает в себя модем 750 или другое средство для установления связи по глобальной сети 749, такой как Интернет. Модем 750, который может быть внутренним или внешним, может быть соединен с системной шиной 721 через интерфейс 736 пользовательского ввода или другой соответствующий механизм. В сетевом окружении программные модули, изображенные относительно компьютера 741, или их части могут храниться в удаленном запоминающем устройстве. В качестве примера, но не ограничения, фиг.19B иллюстрирует удаленные прикладные программы 748 как находящиеся в устройстве 747 памяти. Следует понимать, что показанные сетевые соединения являются иллюстративными, и могут быть использованы другие средства установления линии связи между компьютерами.When used in a local area network environment, computer 741 is connected to a local area network 745 via a network interface or adapter 737. When used in a wide area network environment, computer 741 typically includes a modem 750 or other means for establishing communication over wide area network 749, such as the Internet. The modem 750, which may be internal or external, may be connected to the system bus 721 via a user input interface 736 or other appropriate mechanism. In a networked environment, program modules depicted relative to computer 741, or parts thereof, may be stored in a remote storage device. By way of example, but not limitation, FIG. 19B illustrates remote application programs 748 as residing in a memory device 747. It should be understood that the network connections shown are illustrative, and other means of establishing a communication link between computers can be used.

Предшествующее подробное описание системы согласно изобретению было представлено в целях иллюстрации и описания. Не предполагается, что оно является исчерпывающим или ограничивает систему согласно изобретению точной раскрытой формой. Много модификаций и изменений возможны в свете описанной выше идеи. Описанные варианты осуществления были выбраны для наилучшего объяснения принципов системы согласно изобретению и ее практического применения, чтобы тем самым обеспечить возможность для специалистов в данной области техники наилучшим образом использовать систему, отвечающую изобретению, в различных вариантах осуществления и с различными модификациями, подходящих для конкретного рассматриваемого использования. Подразумевается, что объем изобретения определяется приложенной формулой изобретения.The foregoing detailed description of the system according to the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the system of the invention to the exact form disclosed. Many modifications and changes are possible in light of the above idea. The described embodiments have been selected to best explain the principles of the system according to the invention and its practical application, thereby making it possible for those skilled in the art to make best use of the system according to the invention in various embodiments and with various modifications suitable for the particular use in question. . It is understood that the scope of the invention is defined by the appended claims.

Claims (17)

1. Способ формирования модели кисти руки пользователя, включающей в себя один или более пальцев, содержащий этапы, на которых:
(a) принимают данные позиции, представляющие позицию пользователя, взаимодействующего с датчиком, причем данные позиции включают в себя по меньшей мере одно из данных глубины и данных изображения, представляющих кисть руки пользователя; и
(b) анализируют данные позиции для идентификации кисти руки пользователя в данных позиции, причем этап (b) содержит этапы, на которых:
(b)(1) анализируют данные глубины из данных позиции, полученных на этапе (а), чтобы сегментировать данные позиции в данные кисти руки, и
(b)(2) извлекают набор дескрипторов признака посредством применения одного или более фильтров к данным изображения кисти руки, идентифицированной на этапе (b)(1), причем эти один или более фильтров анализируют данные изображения кисти руки по сравнению с данными изображения за пределами границы кисти руки, чтобы различить признаки кисти руки, включающие в себя форму и ориентацию кисти руки.
1. The method of forming a model of the user's hand, which includes one or more fingers, containing stages in which:
(a) receiving position data representing a position of a user interacting with the sensor, wherein the position data includes at least one of depth data and image data representing a user's hand; and
(b) analyze position data to identify a user's hand in position data, wherein step (b) comprises the steps of:
(b) (1) analyze depth data from position data obtained in step (a) to segment position data into hand data, and
(b) (2) retrieving a set of feature descriptors by applying one or more filters to the hand image data identified in step (b) (1), the one or more filters analyzing hand image data compared to image data outside the borders of the hand to distinguish the signs of the hand, including the shape and orientation of the hand.
2. Способ по п. 1, дополнительно содержащий этапы, на которых исполняют прикладную программу, принимающую команды через механизм считывания, и воздействуют на управляющее действие в прикладной программе на основе позиции кисти руки, идентифицированной на этапе (b).2. The method according to claim 1, further comprising the steps of executing the application program that receives commands through the reading mechanism and affecting the control action in the application program based on the position of the hand identified in step (b). 3. Способ по п. 1, дополнительно содержащий этапы, на которых исполняют игровую прикладную программу, принимающую команды через механизм считывания, и воздействуют на действие в игровой прикладной программе на основе позиции кисти руки, идентифицированной на этапе (b).3. The method of claim 1, further comprising the steps of: executing a gaming application receiving commands through a reading mechanism, and affecting an action in the gaming application based on the position of the hand identified in step (b). 4. Способ по п. 1, в котором этап (b)(1) содержит этап, на котором анализируют средние точки, построенные из данных изображения, для определения местоположения наилучшего возможного варианта кисти руки.4. The method of claim 1, wherein step (b) (1) comprises analyzing the midpoints constructed from the image data to determine the location of the best possible hand variant. 5. Способ по п. 4, в котором этап (b)(1) содержит этап, на котором анализируют наилучший возможный вариант кисти руки, чтобы определить наилучший возможный вариант центра кисти руки.5. The method according to claim 4, in which step (b) (1) comprises the step of analyzing the best possible variant of the hand to determine the best possible variant of the center of the hand. 6. Способ по п. 1, в котором этап (b)(2) содержит этапы применения классификатора пикселей, содержащий этапы, на которых:
выбирают пиксели в пределах границы дескриптора формы кисти руки,
строят прямоугольник заранее определенного размера вокруг каждого пикселя, причем каждый прямоугольник строится в плоскости дескриптора формы,
определяют точки пересечения с каждым прямоугольником, в которых данные изображения переходят между точкой переднего плана и фоновой точкой, и
идентифицируют кисть руки и пальцы из анализа точек пересечения каждого прямоугольника для каждого исследуемого пикселя.
6. The method of claim 1, wherein step (b) (2) comprises the steps of applying a pixel classifier, comprising the steps of:
select pixels within the border of the handle shape of the hand,
build a rectangle of a predetermined size around each pixel, with each rectangle being built in the plane of the shape descriptor,
determining intersection points with each rectangle at which image data transitions between a foreground point and a background point, and
identify the hand and fingers from the analysis of the intersection points of each rectangle for each examined pixel.
7. Способ по п. 1, в котором этап (b)(2) содержит этапы применения фильтра анализа кривизны, содержащий этапы, на которых:
выбирают пиксели вдоль границы дескриптора формы кисти руки,
исследуют множество пикселей, окружающих выбранный пиксель, и присваивают выбранному пикселю значение, указывающее, какой окружающий пиксель также находится вдоль границы дескриптора формы,
преобразовывают значения в углы и контуры вокруг кисти руки, включающие в себя пики и впадины, и
определяют, какие из пиков представляют пальцы кисти руки.
7. The method according to claim 1, in which step (b) (2) comprises the steps of applying a curvature analysis filter, comprising the steps of:
select pixels along the border of the handle shape of the hand,
examining the plurality of pixels surrounding the selected pixel, and assigning a value to the selected pixel indicating which surrounding pixel is also located along the border of the shape descriptor,
converting values to angles and contours around the hand, including peaks and troughs, and
determine which of the peaks represent the fingers of the hand.
8. Способ по п. 1, в котором этап (b)(2) содержит этапы применения фильтра гистограммы, содержащий этапы, на которых строят гистограмму расстояний между множеством точек в дескрипторе формы и устройством, захватывающим данные изображения.8. The method of claim 1, wherein step (b) (2) comprises the steps of applying a histogram filter, comprising the steps of constructing a histogram of the distances between the plurality of points in the shape descriptor and the device capturing image data. 9. Система для формирования модели кисти руки пользователя, включающей в себя один или более пальцев, при этом система включает в себя механизм считывания, функционально соединенный с вычислительным устройством, причем система содержит:
средство распознавания скелета для распознавания по меньшей мере части скелета пользователя из принятых данных, включающих в себя по меньшей мере одно из данных глубины и данных изображения;
средство сегментации изображения для сегментации одной или более областей тела в область, представляющую кисть руки пользователя; и
средство извлечения дескриптора для извлечения данных, представляющих кисть руки, включающую в себя один или более пальцев, и ориентацию кисти руки, при этом средство извлечения дескриптора применяет множество фильтров для анализа пикселей в области, представляющей кисть руки, причем каждый фильтр в этом множестве фильтров определяет позицию и ориентацию кисти руки, при этом средство извлечения дескриптора комбинирует результаты каждого фильтра для достижения наилучшей оценки позиции и ориентации кисти руки.
9. A system for forming a model of a user's hand, including one or more fingers, the system includes a reading mechanism operably connected to a computing device, the system comprising:
skeleton recognition means for recognizing at least a portion of a user’s skeleton from received data including at least one of depth data and image data;
image segmentation means for segmenting one or more areas of the body into an area representing a user's hand; and
descriptor extraction means for retrieving data representing a hand including one or more fingers and an orientation of the hand, wherein the descriptor extraction means uses a plurality of filters to analyze pixels in an area representing the hand, each filter in this plurality of filters the position and orientation of the hand, while the descriptor extractor combines the results of each filter to achieve the best estimate of the position and orientation of the hand.
10. Система по п. 9, в которой упомянутое множество фильтров средства извлечения дескриптора включает в себя один или более фильтров, оптимизированных идентифицировать позицию и ориентацию кисти руки как контур относительно устройства, захватывающего принимаемые данные.10. The system of claim 9, wherein said plurality of descriptor extractor filters includes one or more filters optimized to identify the position and orientation of the hand as a contour relative to a device capturing received data. 11. Система по п. 9, в которой упомянутое множество фильтров средства извлечения дескриптора включает в себя один или более фильтров, оптимизированных для идентификации позиции и ориентации кисти руки, когда она указывает по направлению к или от устройства, захватывающего принимаемые данные.11. The system of claim 9, wherein said plurality of descriptor extractor filters includes one or more filters optimized to identify the position and orientation of the hand when it points toward or away from a device capturing received data. 12. Система по п. 9, в которой упомянутое множество фильтров средства извлечения дескриптора включает в себя средство классификатора для анализа кисти руки как контура относительно механизма считывания, при этом средство классификатора выбирает пиксели в пределах области, представляющей кисть руки пользователя, строит прямоугольник заранее определенного размера вокруг каждого пикселя, где каждый прямоугольник строится в плоскости контура, определяет точки пересечения с каждым прямоугольником, в которых данные изображения переходят между точкой переднего плана и фоновой точкой, и идентифицирует кисть руки и пальцы из анализа точек пересечения каждого прямоугольника для каждого исследуемого пикселя.12. The system of claim 9, wherein said plurality of descriptor extractor filters includes classifier means for analyzing the hand as a contour with respect to the reading mechanism, while the classifier means selects pixels within the area representing the user's hand, constructs a rectangle of a predetermined size around each pixel, where each rectangle is built in the plane of the contour, determines the intersection points with each rectangle at which image data passes I’m waiting for the foreground and background points, and identifies the hand and fingers from the analysis of the intersection points of each rectangle for each examined pixel. 13. Система по п. 12, в которой средство классификатора идентифицирует среднюю точку, представляющую кончик пальца, когда на прямоугольнике идентифицированы две точки пересечения и расстояние между точками пересечения является слишком малым, чтобы представлять ладонь.13. The system of claim 12, wherein the classifier tool identifies a midpoint representing a fingertip when two intersection points are identified on the rectangle and the distance between the intersection points is too small to represent a palm. 14. Система по п. 13, в которой местоположение двух точек пересечения на одной и той же или на разных сторонах прямоугольника указывает ориентацию идентифицированного кончика пальца.14. The system of claim 13, wherein the location of the two intersection points on the same or on different sides of the rectangle indicates the orientation of the identified fingertip. 15. Система по п. 12, в которой средство классификатора идентифицирует среднюю точку, представляющую палец, когда на прямоугольнике идентифицированы четыре точки пересечения.15. The system of claim 12, wherein the classifier tool identifies the midpoint representing the finger when four intersection points are identified on the rectangle. 16. Система по п. 12, в которой средство классификатора идентифицирует среднюю точку, представляющую ладонь руки, когда на прямоугольнике идентифицированы две точки пересечения и расстояние между точками пересечения является слишком большим, чтобы представлять кончик пальца.16. The system of claim 12, wherein the classifier tool identifies the midpoint representing the palm of the hand when two intersection points are identified on the rectangle and the distance between the intersection points is too large to represent the tip of the finger. 17. Система по п. 12, в которой упомянутый прямоугольник, построенный вокруг конкретного пикселя, представляет собой первый прямоугольник первого размера, при этом средство классификатора дополнительно строит вокруг этого конкретного пикселя второй прямоугольник второго размера, большего чем первый размер, для обнаружения условия, при котором пальцы руки находятся вместе друг с другом. 17. The system of claim 12, wherein said rectangle constructed around a particular pixel is a first rectangle of a first size, and the classifier tool further builds around this particular pixel a second rectangle of a second size larger than the first size to detect a condition, when which fingers are together.
RU2013154102/08A 2011-06-06 2012-06-04 System for recognition and tracking of fingers RU2605370C2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161493850P 2011-06-06 2011-06-06
US61/493,850 2011-06-06
US13/277,011 2011-10-19
US13/277,011 US8897491B2 (en) 2011-06-06 2011-10-19 System for finger recognition and tracking
PCT/US2012/040741 WO2012170349A2 (en) 2011-06-06 2012-06-04 System for finger recognition and tracking

Publications (2)

Publication Number Publication Date
RU2013154102A RU2013154102A (en) 2015-06-10
RU2605370C2 true RU2605370C2 (en) 2016-12-20

Family

ID=47262102

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013154102/08A RU2605370C2 (en) 2011-06-06 2012-06-04 System for recognition and tracking of fingers

Country Status (10)

Country Link
US (1) US8897491B2 (en)
EP (1) EP2718900A4 (en)
JP (1) JP6021901B2 (en)
KR (1) KR101956325B1 (en)
AU (1) AU2012268589B2 (en)
BR (1) BR112013031118B1 (en)
CA (1) CA2837470C (en)
MX (1) MX2013014393A (en)
RU (1) RU2605370C2 (en)
WO (1) WO2012170349A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2662399C1 (en) * 2017-03-17 2018-07-25 Алексей Александрович Тарасов System and method for capturing movements and positions of human body and parts of human body
RU2774212C2 (en) * 2017-06-15 2022-06-16 Долби Интернэшнл Аб Method and system for processing audio content, method and system for processing multimedia content for playback

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110254765A1 (en) * 2010-04-18 2011-10-20 Primesense Ltd. Remote text input using handwriting
US8639020B1 (en) 2010-06-16 2014-01-28 Intel Corporation Method and system for modeling subjects from a depth map
JP5820366B2 (en) * 2010-10-08 2015-11-24 パナソニック株式会社 Posture estimation apparatus and posture estimation method
US9857868B2 (en) 2011-03-19 2018-01-02 The Board Of Trustees Of The Leland Stanford Junior University Method and system for ergonomic touch-free interface
US8840466B2 (en) 2011-04-25 2014-09-23 Aquifi, Inc. Method and system to create three-dimensional mapping in a two-dimensional game
JP5670255B2 (en) * 2011-05-27 2015-02-18 京セラ株式会社 Display device
JP6074170B2 (en) 2011-06-23 2017-02-01 インテル・コーポレーション Short range motion tracking system and method
US11048333B2 (en) 2011-06-23 2021-06-29 Intel Corporation System and method for close-range movement tracking
JP5864144B2 (en) 2011-06-28 2016-02-17 京セラ株式会社 Display device
US9292089B1 (en) * 2011-08-24 2016-03-22 Amazon Technologies, Inc. Gestural object selection
US9251409B2 (en) * 2011-10-18 2016-02-02 Nokia Technologies Oy Methods and apparatuses for gesture recognition
US9628843B2 (en) * 2011-11-21 2017-04-18 Microsoft Technology Licensing, Llc Methods for controlling electronic devices using gestures
US9292767B2 (en) 2012-01-05 2016-03-22 Microsoft Technology Licensing, Llc Decision tree computation in hardware utilizing a physically distinct integrated circuit with on-chip memory and a reordering of data to be grouped
US8782565B2 (en) * 2012-01-12 2014-07-15 Cisco Technology, Inc. System for selecting objects on display
US11493998B2 (en) 2012-01-17 2022-11-08 Ultrahaptics IP Two Limited Systems and methods for machine control
US8854433B1 (en) 2012-02-03 2014-10-07 Aquifi, Inc. Method and system enabling natural user interface gestures with an electronic system
US9734393B2 (en) * 2012-03-20 2017-08-15 Facebook, Inc. Gesture-based control system
US8933912B2 (en) * 2012-04-02 2015-01-13 Microsoft Corporation Touch sensitive user interface with three dimensional input sensor
US10477184B2 (en) * 2012-04-04 2019-11-12 Lifetouch Inc. Photography system with depth and position detection
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
US9747306B2 (en) * 2012-05-25 2017-08-29 Atheer, Inc. Method and apparatus for identifying input features for later recognition
US9111135B2 (en) * 2012-06-25 2015-08-18 Aquifi, Inc. Systems and methods for tracking human hands using parts based template matching using corresponding pixels in bounded regions of a sequence of frames that are a specified distance interval from a reference camera
US8934675B2 (en) 2012-06-25 2015-01-13 Aquifi, Inc. Systems and methods for tracking human hands by performing parts based template matching using images from multiple viewpoints
US20140007019A1 (en) * 2012-06-29 2014-01-02 Nokia Corporation Method and apparatus for related user inputs
US20140022171A1 (en) * 2012-07-19 2014-01-23 Omek Interactive, Ltd. System and method for controlling an external system using a remote device with a depth sensor
US8836768B1 (en) 2012-09-04 2014-09-16 Aquifi, Inc. Method and system enabling natural user interface gestures with user wearable glasses
US20140073383A1 (en) * 2012-09-12 2014-03-13 Industrial Technology Research Institute Method and system for motion comparison
US9658695B2 (en) * 2012-11-08 2017-05-23 Cuesta Technology Holdings, Llc Systems and methods for alternative control of touch-based devices
US9671874B2 (en) 2012-11-08 2017-06-06 Cuesta Technology Holdings, Llc Systems and methods for extensions to alternative control of touch-based devices
KR101704317B1 (en) * 2012-11-22 2017-02-07 후지쯔 가부시끼가이샤 Information processing apparatus, body-part determination program, and body-part determining method
US10126820B1 (en) * 2012-11-29 2018-11-13 Amazon Technologies, Inc. Open and closed hand detection
US9092665B2 (en) 2013-01-30 2015-07-28 Aquifi, Inc Systems and methods for initializing motion tracking of human hands
US9129155B2 (en) * 2013-01-30 2015-09-08 Aquifi, Inc. Systems and methods for initializing motion tracking of human hands using template matching within bounded regions determined using a depth map
JP6048189B2 (en) * 2013-02-08 2016-12-21 株式会社リコー Projection system, image generation program, information processing apparatus, and image generation method
US9201499B1 (en) * 2013-02-11 2015-12-01 Amazon Technologies, Inc. Object tracking in a 3-dimensional environment
US8994652B2 (en) * 2013-02-15 2015-03-31 Intel Corporation Model-based multi-hypothesis target tracker
US9052746B2 (en) 2013-02-15 2015-06-09 Microsoft Technology Licensing, Llc User center-of-mass and mass distribution extraction using depth images
US9275277B2 (en) * 2013-02-22 2016-03-01 Kaiser Foundation Hospitals Using a combination of 2D and 3D image data to determine hand features information
US20140245200A1 (en) * 2013-02-25 2014-08-28 Leap Motion, Inc. Display control with gesture-selectable control paradigms
US9135516B2 (en) 2013-03-08 2015-09-15 Microsoft Technology Licensing, Llc User body angle, curvature and average extremity positions extraction using depth images
US9092657B2 (en) 2013-03-13 2015-07-28 Microsoft Technology Licensing, Llc Depth image processing
US9142034B2 (en) 2013-03-14 2015-09-22 Microsoft Technology Licensing, Llc Center of mass state vector for analyzing user motion in 3D images
US9159140B2 (en) 2013-03-14 2015-10-13 Microsoft Technology Licensing, Llc Signal analysis for repetition detection and analysis
US9298266B2 (en) 2013-04-02 2016-03-29 Aquifi, Inc. Systems and methods for implementing three-dimensional (3D) gesture based graphical user interfaces (GUI) that incorporate gesture reactive interface objects
KR101436050B1 (en) * 2013-06-07 2014-09-02 한국과학기술연구원 Method of establishing database including hand shape depth images and method and device of recognizing hand shapes
US9144744B2 (en) 2013-06-10 2015-09-29 Microsoft Corporation Locating and orienting device in space
US9934451B2 (en) 2013-06-25 2018-04-03 Microsoft Technology Licensing, Llc Stereoscopic object detection leveraging assumed distance
US9208566B2 (en) * 2013-08-09 2015-12-08 Microsoft Technology Licensing, Llc Speckle sensing for motion tracking
KR102216124B1 (en) 2013-09-06 2021-02-16 삼성전자주식회사 Method and apparatus for processing images
US9405375B2 (en) * 2013-09-13 2016-08-02 Qualcomm Incorporated Translation and scale invariant features for gesture recognition
TWI499966B (en) 2013-10-08 2015-09-11 Univ Nat Taiwan Science Tech Interactive operation method of electronic apparatus
RU2013148582A (en) * 2013-10-30 2015-05-10 ЭлЭсАй Корпорейшн IMAGE PROCESSING PROCESSOR CONTAINING A GESTURE RECOGNITION SYSTEM WITH A COMPUTER-EFFECTIVE FIXED HAND POSITION RECOGNITION
US20150139487A1 (en) * 2013-11-21 2015-05-21 Lsi Corporation Image processor with static pose recognition module utilizing segmented region of interest
US9507417B2 (en) 2014-01-07 2016-11-29 Aquifi, Inc. Systems and methods for implementing head tracking based graphical user interfaces (GUI) that incorporate gesture reactive interface objects
US9619105B1 (en) 2014-01-30 2017-04-11 Aquifi, Inc. Systems and methods for gesture based interaction with viewpoint dependent user interfaces
JP6165650B2 (en) * 2014-02-14 2017-07-19 株式会社ソニー・インタラクティブエンタテインメント Information processing apparatus and information processing method
WO2015126392A1 (en) 2014-02-20 2015-08-27 Hewlett-Packard Development Company, L.P. Emulating a user performing spatial gestures
US9436872B2 (en) 2014-02-24 2016-09-06 Hong Kong Applied Science and Technology Research Institute Company Limited System and method for detecting and tracking multiple parts of an object
US9437002B2 (en) 2014-09-25 2016-09-06 Elwha Llc Systems and methods for a dual modality sensor system
US9739883B2 (en) 2014-05-16 2017-08-22 Elwha Llc Systems and methods for ultrasonic velocity and acceleration detection
US9618618B2 (en) 2014-03-10 2017-04-11 Elwha Llc Systems and methods for ultrasonic position and motion detection
RU2014113049A (en) * 2014-04-03 2015-10-10 ЭлЭсАй Корпорейшн IMAGE PROCESSOR CONTAINING A GESTURE RECOGNITION SYSTEM WITH OBJECT TRACKING ON THE BASIS OF COMPUTING SIGNS OF CIRCUITS FOR TWO OR MORE OBJECTS
US9424490B2 (en) 2014-06-27 2016-08-23 Microsoft Technology Licensing, Llc System and method for classifying pixels
US20160014395A1 (en) * 2014-07-10 2016-01-14 Arete Associates Data fusion processing to identify obscured objects
KR101515845B1 (en) 2014-08-07 2015-05-04 스타십벤딩머신 주식회사 Method and device for gesture recognition
US9811721B2 (en) 2014-08-15 2017-11-07 Apple Inc. Three-dimensional hand tracking using depth sequences
US10108325B2 (en) 2014-12-11 2018-10-23 Rdi Technologies, Inc. Method of analyzing, displaying, organizing and responding to vital signals
US10062411B2 (en) 2014-12-11 2018-08-28 Jeffrey R. Hay Apparatus and method for visualizing periodic motions in mechanical components
US10482670B2 (en) 2014-12-30 2019-11-19 Qingdao Goertek Technology Co., Ltd. Method for reproducing object in 3D scene and virtual reality head-mounted device
CN104571510B (en) * 2014-12-30 2018-05-04 青岛歌尔声学科技有限公司 A kind of system and method that gesture is inputted in 3D scenes
US9344615B1 (en) 2015-01-26 2016-05-17 International Business Machines Corporation Discriminating visual recognition program for digital cameras
US9424458B1 (en) * 2015-02-06 2016-08-23 Hoyos Labs Ip Ltd. Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
KR101683189B1 (en) * 2015-02-09 2016-12-06 선문대학교산학협력단 Paired-edge based hand detection method using depth image
JP6062123B1 (en) * 2015-04-20 2017-01-18 三菱電機株式会社 Information display device and information display method
US10254881B2 (en) 2015-06-29 2019-04-09 Qualcomm Incorporated Ultrasonic touch sensor-based virtual button
US10318798B2 (en) * 2015-07-10 2019-06-11 Booz Allen Hamilton Inc. Device and method for detecting non-visible content in a non-contact manner
KR101639066B1 (en) 2015-07-14 2016-07-13 한국과학기술연구원 Method and system for controlling virtual model formed in virtual space
US9995823B2 (en) 2015-07-31 2018-06-12 Elwha Llc Systems and methods for utilizing compressed sensing in an entertainment system
KR101745406B1 (en) * 2015-09-03 2017-06-12 한국과학기술연구원 Apparatus and method of hand gesture recognition based on depth image
US10120454B2 (en) * 2015-09-04 2018-11-06 Eyesight Mobile Technologies Ltd. Gesture recognition control device
US10048765B2 (en) 2015-09-25 2018-08-14 Apple Inc. Multi media computing or entertainment system for responding to user presence and activity
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
US10019072B2 (en) 2016-01-01 2018-07-10 International Business Machines Corporation Imagined grid fingertip input editor on wearable device
US10185400B2 (en) * 2016-01-11 2019-01-22 Antimatter Research, Inc. Gesture control device with fingertip identification
US11033205B2 (en) * 2016-02-12 2021-06-15 Tata Consultancy Services Limited System and method for analyzing gait and postural balance of a person
US11854308B1 (en) 2016-02-17 2023-12-26 Ultrahaptics IP Two Limited Hand initialization for machine learning based gesture recognition
US11841920B1 (en) 2016-02-17 2023-12-12 Ultrahaptics IP Two Limited Machine learning based gesture recognition
US11714880B1 (en) * 2016-02-17 2023-08-01 Ultrahaptics IP Two Limited Hand pose estimation for machine learning based gesture recognition
WO2017150129A1 (en) * 2016-03-04 2017-09-08 株式会社ソニー・インタラクティブエンタテインメント Control device
CN105903157B (en) * 2016-04-19 2018-08-10 深圳泰山体育科技股份有限公司 Electronic coach realization method and system
US10303255B2 (en) * 2016-05-31 2019-05-28 Atheer, Inc. Method and apparatus for unified free space pose input system navigation
CN108369643B (en) 2016-07-20 2022-05-13 杭州凌感科技有限公司 Method and system for 3D hand skeleton tracking
JP6318202B2 (en) * 2016-08-18 2018-04-25 株式会社カプコン Game program and game system
US9817511B1 (en) 2016-09-16 2017-11-14 International Business Machines Corporation Reaching any touch screen portion with one hand
US10572024B1 (en) * 2016-09-28 2020-02-25 Facebook Technologies, Llc Hand tracking using an ultrasound sensor on a head-mounted display
US20190369713A1 (en) * 2016-10-19 2019-12-05 Sony Corporation Display control apparatus, display control method, and program
WO2018140802A1 (en) * 2017-01-27 2018-08-02 The Johns Hopkins University Rehabilitation and training gaming system to promote cognitive-motor engagement description
JP6793255B2 (en) * 2017-03-20 2020-12-02 グーグル エルエルシー Stabilization of retained objects in virtual reality
US10627895B2 (en) * 2017-03-21 2020-04-21 Lenovo (Singapore) Pte Ltd Providing a virtual control
CN110520822B (en) 2017-04-27 2023-06-27 索尼互动娱乐股份有限公司 Control device, information processing system, control method, and program
CN107198878B (en) * 2017-05-18 2020-06-09 深圳市山弯科技有限公司 Method for realizing accurate positioning of gamepad double-rocker on screen
WO2019077652A1 (en) 2017-10-16 2019-04-25 株式会社ソニー・インタラクティブエンタテインメント Information processing system, controller device, and information processing device
US11014242B2 (en) * 2018-01-26 2021-05-25 Microsoft Technology Licensing, Llc Puppeteering in augmented reality
US10353579B1 (en) * 2018-03-28 2019-07-16 Disney Enterprises, Inc. Interpreting user touch gestures to generate explicit instructions
CN108762505B (en) * 2018-05-29 2020-01-24 腾讯科技(深圳)有限公司 Gesture-based virtual object control method and device, storage medium and equipment
US10635895B2 (en) 2018-06-27 2020-04-28 Facebook Technologies, Llc Gesture-based casting and manipulation of virtual content in artificial-reality environments
CN109271847B (en) * 2018-08-01 2023-04-07 创新先进技术有限公司 Abnormity detection method, device and equipment in unmanned settlement scene
KR102110760B1 (en) * 2018-08-07 2020-05-15 매트릭스테크 주식회사 Apparatus for processing 3 dimension modelling data based on multi thread and operating method thereof
US11423551B1 (en) 2018-10-17 2022-08-23 Rdi Technologies, Inc. Enhanced presentation methods for visualizing motion of physical structures and machinery
CN110139115B (en) * 2019-04-30 2020-06-09 广州虎牙信息科技有限公司 Method and device for controlling virtual image posture based on key points and electronic equipment
KR102319074B1 (en) * 2019-12-11 2021-11-02 주식회사 시공테크 Hanging simulator system with 3-axis movement and the method thereof
CN113096154B (en) * 2020-01-08 2023-02-21 浙江光珀智能科技有限公司 Target detection and tracking method and system based on inclined depth camera
US11373317B1 (en) 2020-01-24 2022-06-28 Rdi Technologies, Inc. Measuring the speed of rotation or reciprocation of a mechanical component using one or more cameras
KR102280412B1 (en) * 2020-05-21 2021-07-22 (주)투비소프트 Electronic terminal device that performs control command execution and feedback output corresponding to a user's hand gesture and operating method thereof
US11282213B1 (en) 2020-06-24 2022-03-22 Rdi Technologies, Inc. Enhanced analysis techniques using composite frequency spectrum data
US11475652B2 (en) 2020-06-30 2022-10-18 Samsung Electronics Co., Ltd. Automatic representation toggling based on depth camera field of view
US20220005215A1 (en) * 2020-07-01 2022-01-06 Samsung Electronics Co., Ltd. Efficient encoding of depth data across devices
CN112057866A (en) * 2020-09-14 2020-12-11 深圳市小元元科技有限公司 Simulation method conforming to acting force of human body joint
US11630556B2 (en) * 2020-09-16 2023-04-18 Kyndryl, Inc. Finger control of wearable devices
US11322182B1 (en) 2020-09-28 2022-05-03 Rdi Technologies, Inc. Enhanced visualization techniques using reconstructed time waveforms
US11800056B2 (en) 2021-02-11 2023-10-24 Logitech Europe S.A. Smart webcam system
US11800048B2 (en) 2021-02-24 2023-10-24 Logitech Europe S.A. Image generating system with background replacement or modification capabilities
CN113238650B (en) * 2021-04-15 2023-04-07 青岛小鸟看看科技有限公司 Gesture recognition and control method and device and virtual reality equipment
CN113058260B (en) * 2021-04-22 2024-02-02 杭州当贝网络科技有限公司 Method, system and storage medium for identifying motion of body feeling based on player image
JP7213396B1 (en) * 2021-08-30 2023-01-26 ソフトバンク株式会社 Electronics and programs
KR102599219B1 (en) * 2021-12-10 2023-11-07 주식회사 리안 System for controlling avatar using artificial intelligence hand position recognition
CN113936233A (en) * 2021-12-16 2022-01-14 北京亮亮视野科技有限公司 Method and device for identifying finger-designated target
US20240070992A1 (en) * 2022-08-26 2024-02-29 Snap Inc. Hand-tracking stabilization

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2107328C1 (en) * 1996-08-14 1998-03-20 Нурахмед Нурисламович Латыпов Method for tracing and displaying of position and orientation of user in three-dimensional space and device which implements said method
US5767842A (en) * 1992-02-07 1998-06-16 International Business Machines Corporation Method and device for optical input of commands or data
US20040193413A1 (en) * 2003-03-25 2004-09-30 Wilson Andrew D. Architecture for controlling a computer using hand gestures
US7042440B2 (en) * 1997-08-22 2006-05-09 Pryor Timothy R Man machine interfaces and applications
US20100302247A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Target digitization, extraction, and tracking

Family Cites Families (173)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (en) 1988-10-14 1990-08-07 David G Capper Control interface apparatus
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 (en) 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
JPH0519957A (en) * 1991-07-15 1993-01-29 Nippon Telegr & Teleph Corp <Ntt> Information inputting method
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
JPH06508788A (en) 1991-12-03 1994-10-06 フレンチ スポーテク コーポレイション Interactive video inspection 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 (en) 1992-07-10 1995-12-12 Walt Disney Co:The Method and equipment for provision of graphics enhanced to virtual world
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
IT1257294B (en) 1992-11-20 1996-01-12 DEVICE SUITABLE TO DETECT THE CONFIGURATION OF A PHYSIOLOGICAL-DISTAL UNIT, TO BE USED IN PARTICULAR AS AN ADVANCED INTERFACE FOR MACHINES AND CALCULATORS.
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 (en) 1993-03-26 1998-09-17 株式会社ナムコ Video game device and game input device
US5405152A (en) 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5454043A (en) 1993-07-30 1995-09-26 Mitsubishi Electric Research Laboratories, Inc. Dynamic and static hand gesture recognition through low-level image analysis
US5423554A (en) 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
US5980256A (en) 1993-10-29 1999-11-09 Carmein; David E. E. Virtual reality system with enhanced sensory apparatus
JP3419050B2 (en) 1993-11-19 2003-06-23 株式会社日立製作所 Input device
US5347306A (en) 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place
JP2552427B2 (en) 1993-12-28 1996-11-13 コナミ株式会社 Tv play system
US5577981A (en) 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US5580249A (en) 1994-02-14 1996-12-03 Sarcos Group Apparatus for simulating mobility of a human
US5597309A (en) 1994-03-28 1997-01-28 Riess; Thomas Method and apparatus for treatment of gait problems associated with parkinson's disease
US5385519A (en) 1994-04-19 1995-01-31 Hsu; Chi-Hsueh Running machine
US5524637A (en) 1994-06-29 1996-06-11 Erickson; Jon W. Interactive system for measuring physiological exertion
JPH0844490A (en) 1994-07-28 1996-02-16 Matsushita Electric Ind Co Ltd Interface device
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 (en) 1994-12-09 1996-06-21 Matsushita Electric Ind Co Ltd Method and system for detecting congestion degree
US5594469A (en) 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US5682229A (en) 1995-04-14 1997-10-28 Schwartz Electro-Optics, Inc. Laser range camera
US5913727A (en) 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
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
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
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
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
US6176782B1 (en) 1997-12-22 2001-01-23 Philips Electronics North America Corp. Motion-based command generation technology
US5933125A (en) 1995-11-27 1999-08-03 Cae Electronics, Ltd. Method and apparatus for reducing instability in the display of a virtual environment
US5641288A (en) 1996-01-11 1997-06-24 Zaenglein, Jr.; William G. Shooting simulating process and training device using a virtual reality display screen
AU3283497A (en) 1996-05-08 1997-11-26 Real Vision Corporation Real time simulation using position sensing
US6173066B1 (en) 1996-05-21 2001-01-09 Cybernet Systems Corporation Pose determination and tracking by matching 3D objects to a 2D sensor
US5989157A (en) 1996-08-06 1999-11-23 Walton; Charles A. Exercising system with electronic inertial game playing
AU3954997A (en) 1996-08-14 1998-03-06 Nurakhmed Nurislamovich Latypov Method for following and imaging a subject's three-dimensional position and orientation, method for presenting a virtual space to a subject, and systems for implementing said methods
JP3064928B2 (en) 1996-09-20 2000-07-12 日本電気株式会社 Subject extraction method
DE69626208T2 (en) 1996-12-20 2003-11-13 Hitachi Europ Ltd Method and system for recognizing hand gestures
US6009210A (en) 1997-03-05 1999-12-28 Digital Equipment Corporation Hands-free interface to a virtual reality environment using head tracking
US6100896A (en) 1997-03-24 2000-08-08 Mitsubishi Electric Information Technology Center America, Inc. System for designing graphical multi-participant environments
US5877803A (en) 1997-04-07 1999-03-02 Tritech Mircoelectronics International, Ltd. 3-D image detector
US6215898B1 (en) 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
JP3077745B2 (en) 1997-07-31 2000-08-14 日本電気株式会社 Data processing method and apparatus, information storage medium
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
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
US6130677A (en) 1997-10-15 2000-10-10 Electric Planet, Inc. Interactive computer vision system
WO1999019840A1 (en) 1997-10-15 1999-04-22 Electric Planet, Inc. A system and method for generating an animatable character
US6101289A (en) 1997-10-15 2000-08-08 Electric Planet, Inc. Method and apparatus for unencumbered capture of an object
AU1099899A (en) 1997-10-15 1999-05-03 Electric Planet, Inc. Method and apparatus for performing a clean background subtraction
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
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
JP2002516121A (en) 1998-03-03 2002-06-04 アリーナ, インコーポレイテッド System and method for tracking and evaluating exercise techniques in a multidimensional space
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
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6681031B2 (en) 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6801637B2 (en) 1999-08-10 2004-10-05 Cybernet Systems Corporation Optical body tracker
US7036094B1 (en) 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
US7121946B2 (en) 1998-08-10 2006-10-17 Cybernet Systems Corporation Real-time head tracking system for computer games and other applications
IL126284A (en) 1998-09-17 2002-12-01 Netmor Ltd System and method for three dimensional positioning and tracking
DE69936620T2 (en) 1998-09-28 2008-05-21 Matsushita Electric Industrial Co., Ltd., Kadoma 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
EP2026035A2 (en) 1998-12-16 2009-02-18 3DV Systems Ltd. 3D camera for distance measurements
US6570555B1 (en) 1998-12-30 2003-05-27 Fuji Xerox Co., Ltd. Method and apparatus for embodied conversational characters with multimodal input/output in an interface device
US6363160B1 (en) 1999-01-22 2002-03-26 Intel Corporation Interface using pattern recognition and tracking
US7003134B1 (en) 1999-03-08 2006-02-21 Vulcan Patents Llc Three dimensional object pose estimation which employs dense depth information
US6299308B1 (en) 1999-04-02 2001-10-09 Cybernet Systems Corporation Low-cost non-imaging eye tracker system for computer control
US6503195B1 (en) 1999-05-24 2003-01-07 University Of North Carolina At Chapel Hill Methods and systems for real-time structured light depth extraction and endoscope using real-time structured light depth extraction
US6476834B1 (en) 1999-05-28 2002-11-05 International Business Machines Corporation Dynamic creation of selectable items on surfaces
US6873723B1 (en) 1999-06-30 2005-03-29 Intel Corporation Segmenting three-dimensional video images using stereo
US6738066B1 (en) 1999-07-30 2004-05-18 Electric Plant, Inc. System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display
US7113918B1 (en) 1999-08-01 2006-09-26 Electric Planet, Inc. Method for video enabled electronic commerce
US7050606B2 (en) 1999-08-10 2006-05-23 Cybernet Systems Corporation Tracking and gesture recognition system particularly suited to vehicular control applications
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
US6624833B1 (en) * 2000-04-17 2003-09-23 Lucent Technologies Inc. Gesture-based input interface system with shadow detection
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
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US7058204B2 (en) 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
US7039676B1 (en) 2000-10-31 2006-05-02 International Business Machines Corporation Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session
US6539931B2 (en) 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
US7259747B2 (en) 2001-06-05 2007-08-21 Reactrix Systems, Inc. Interactive video display system
US8035612B2 (en) 2002-05-28 2011-10-11 Intellectual Ventures Holding 67 Llc Self-contained interactive video display system
JP3420221B2 (en) 2001-06-29 2003-06-23 株式会社コナミコンピュータエンタテインメント東京 GAME DEVICE AND PROGRAM
US7274800B2 (en) 2001-07-18 2007-09-25 Intel Corporation Dynamic gesture recognition from stereo sequences
US6937742B2 (en) 2001-09-28 2005-08-30 Bellsouth Intellectual Property Corporation Gesture activated home appliance
US7340077B2 (en) 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors
WO2003089277A1 (en) 2002-04-19 2003-10-30 Iee International Electronics & Engineering S.A. Safety device for a vehicle
US7170492B2 (en) 2002-05-28 2007-01-30 Reactrix Systems, Inc. Interactive video display system
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
US7489812B2 (en) 2002-06-07 2009-02-10 Dynamic Digital Depth Research Pty Ltd. Conversion and encoding techniques
US7576727B2 (en) 2002-12-13 2009-08-18 Matthew Bell Interactive directed light/sound system
JP4235729B2 (en) 2003-02-03 2009-03-11 国立大学法人静岡大学 Distance image sensor
EP1477924B1 (en) 2003-03-31 2007-05-02 HONDA MOTOR CO., Ltd. Gesture recognition apparatus, method and program
WO2004107266A1 (en) 2003-05-29 2004-12-09 Honda Motor Co., Ltd. Visual tracking using depth data
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
US7536032B2 (en) 2003-10-24 2009-05-19 Reactrix Systems, Inc. Method and system for processing captured image information in an interactive video display system
US7379563B2 (en) 2004-04-15 2008-05-27 Gesturetek, Inc. Tracking bimanual movements
US7308112B2 (en) 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
US7704135B2 (en) 2004-08-23 2010-04-27 Harrison Jr Shelton E Integrated game system, method, and device
KR20060070280A (en) 2004-12-20 2006-06-23 한국전자통신연구원 Apparatus and its method of user interface using hand gesture recognition
JP5080273B2 (en) 2005-01-07 2012-11-21 クアルコム,インコーポレイテッド Tilt sensor based on optical flow
JP2008537190A (en) 2005-01-07 2008-09-11 ジェスチャー テック,インコーポレイテッド Generation of three-dimensional image of object by irradiating with infrared pattern
US7853041B2 (en) 2005-01-07 2010-12-14 Gesturetek, Inc. Detecting and tracking objects in images
KR100960577B1 (en) 2005-02-08 2010-06-03 오블롱 인더스트리즈, 인크 System and method for gesture based control system
JP4686595B2 (en) 2005-03-17 2011-05-25 本田技研工業株式会社 Pose estimation based on critical point analysis
RU2007146172A (en) 2005-05-17 2009-06-27 Гестуретэк, Инк. (Us) ORIENTATION SIGNAL OUTPUT
ATE412882T1 (en) 2005-08-12 2008-11-15 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
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
JP2007134913A (en) * 2005-11-09 2007-05-31 Matsushita Electric Ind Co Ltd Method and device for selecting image
US7701439B2 (en) 2006-07-13 2010-04-20 Northrop Grumman Corporation Gesture recognition simulation system and method
JP5395323B2 (en) 2006-09-29 2014-01-22 ブレインビジョン株式会社 Solid-state image sensor
US7412077B2 (en) 2006-12-29 2008-08-12 Motorola, Inc. Apparatus and methods for head pose estimation and head gesture detection
US8144148B2 (en) 2007-02-08 2012-03-27 Edge 3 Technologies Llc Method and system for vision-based interaction in a virtual environment
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
TW200907764A (en) 2007-08-01 2009-02-16 Unique Instr Co Ltd Three-dimensional virtual input and simulation apparatus
US7852262B2 (en) 2007-08-16 2010-12-14 Cybernet Systems Corporation Wireless mobile indoor/outdoor tracking system
US7970176B2 (en) 2007-10-02 2011-06-28 Omek Interactive, Inc. Method and system for gesture classification
CN101254344B (en) 2008-04-18 2010-06-16 李刚 Game device of field orientation corresponding with display screen dot array in proportion and method
KR100931403B1 (en) * 2008-06-25 2009-12-11 한국과학기술연구원 Device and information controlling system on network using hand gestures
JP2010072840A (en) * 2008-09-17 2010-04-02 Denso Corp Image display method, image display device, and operation device using the same
US8379987B2 (en) * 2008-12-30 2013-02-19 Nokia Corporation Method, apparatus and computer program product for providing hand segmentation for gesture analysis
JP5177075B2 (en) 2009-02-12 2013-04-03 ソニー株式会社 Motion recognition device, motion recognition method, and program
US8744121B2 (en) * 2009-05-29 2014-06-03 Microsoft Corporation Device for identifying and tracking multiple humans over time
US20110025689A1 (en) 2009-07-29 2011-02-03 Microsoft Corporation Auto-Generating A Visual Representation
US8843857B2 (en) 2009-11-19 2014-09-23 Microsoft Corporation Distance scalable no touch computing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5767842A (en) * 1992-02-07 1998-06-16 International Business Machines Corporation Method and device for optical input of commands or data
RU2107328C1 (en) * 1996-08-14 1998-03-20 Нурахмед Нурисламович Латыпов Method for tracing and displaying of position and orientation of user in three-dimensional space and device which implements said method
US7042440B2 (en) * 1997-08-22 2006-05-09 Pryor Timothy R Man machine interfaces and applications
US20040193413A1 (en) * 2003-03-25 2004-09-30 Wilson Andrew D. Architecture for controlling a computer using hand gestures
US20100302247A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Target digitization, extraction, and tracking

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2662399C1 (en) * 2017-03-17 2018-07-25 Алексей Александрович Тарасов System and method for capturing movements and positions of human body and parts of human body
RU2774212C2 (en) * 2017-06-15 2022-06-16 Долби Интернэшнл Аб Method and system for processing audio content, method and system for processing multimedia content for playback

Also Published As

Publication number Publication date
EP2718900A4 (en) 2015-02-18
CA2837470C (en) 2019-09-03
US20120309532A1 (en) 2012-12-06
BR112013031118B1 (en) 2021-04-13
MX2013014393A (en) 2014-03-21
JP6021901B2 (en) 2016-11-09
AU2012268589B2 (en) 2016-12-15
BR112013031118A8 (en) 2018-02-06
KR101956325B1 (en) 2019-03-08
RU2013154102A (en) 2015-06-10
BR112013031118A2 (en) 2017-09-12
JP2014524070A (en) 2014-09-18
WO2012170349A2 (en) 2012-12-13
WO2012170349A3 (en) 2013-01-31
CA2837470A1 (en) 2012-12-13
EP2718900A2 (en) 2014-04-16
US8897491B2 (en) 2014-11-25
KR20140024421A (en) 2014-02-28

Similar Documents

Publication Publication Date Title
RU2605370C2 (en) System for recognition and tracking of fingers
US8929612B2 (en) System for recognizing an open or closed hand
AU2012268589A1 (en) System for finger recognition and tracking
US8660310B2 (en) Systems and methods for tracking a model
US8660303B2 (en) Detection of body and props
US8176442B2 (en) Living cursor control mechanics
US9522328B2 (en) Human tracking system
US20170278251A1 (en) Systems and methods for removing a background of an image
US8963829B2 (en) Methods and systems for determining and tracking extremities of a target
US8457353B2 (en) Gestures and gesture modifiers for manipulating a user-interface
US9182814B2 (en) Systems and methods for estimating a non-visible or occluded body part
CA2753051C (en) Virtual object manipulation
US20110221755A1 (en) Bionic motion
US20110109617A1 (en) Visualizing Depth
US20100302395A1 (en) Environment And/Or Target Segmentation
WO2010126841A2 (en) Altering a view perspective within a display environment
US20120311503A1 (en) Gesture to trigger application-pertinent information