Система для распознавания и отслеживания пальцев - RU2605370C2

Код документа: RU2605370C2

Чертежи

Показать все 19 чертежа(ей)

Описание

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

В прошлом вычислительные прикладные программы, такие как компьютерные игры и мультимедийные прикладные программы, использовали контроллеры, пульты дистанционного управления, клавиатуры, мыши и т.п., чтобы позволить пользователям управлять игровыми персонажами или другими аспектами прикладной программы. Позже компьютерные игры и мультимедийные прикладные программы начали использовать камеры и программные механизмы распознавания жестов, чтобы обеспечить естественный пользовательский интерфейс ("NUI"). С помощью естественного пользовательского интерфейса первичные данные суставов и пользовательские жесты обнаруживаются, интерпретируются и используются для управления игровыми персонажами или другими аспектами прикладной программы.

Одной из проблем системы естественного пользовательского интерфейса является различение человека в поле зрения датчика изображения и корректная идентификация расположения его частей тела, в том числе кистей рук и пальцев, в поле зрения. Известны программы для отслеживания рук, ног, головы и туловища. Однако, учитывая тонкие детали и большое разнообразие позиций кистей рук пользователя, традиционные системы не в состоянии удовлетворительно распознавать и отслеживать тело пользователя, включая позиции пальцев и кистей рук.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Здесь раскрыты системы и способы распознавания и отслеживания скелетных суставов пользователя, в том числе позиций кисти руки и пальцев, с помощью системы естественного пользовательского интерфейса. В примерах отслеживание позиций кисти руки и пальцев может использоваться системами естественного пользовательского интерфейса для инициирования событий, таких как выбор, вступление в контакт или захват и перетаскивание объектов на экране. Посредством настоящей технологии для распознавания и отслеживания позиций и движений кистей рук может быть обеспечена возможность для множества других жестов, управляющих действий и применений. Посредством определения состояния кисти руки и пальцев пользователя интерактивность пользователя с системой естественного пользовательского интерфейса может быть увеличена и пользователю могут быть представлены более простые и более интуитивные интерфейсы.

В одном примере настоящее раскрытие имеет отношение к способу формирования модели кисти руки пользователя, включающей в себя один или более пальцев, для естественного пользовательского интерфейса, содержащему этапы, на которых: (a) принимают данные изображения пользователя, взаимодействующего с естественным пользовательским интерфейсом; и (b) анализируют данные изображения для идентификации руки в данных изображения, упомянутый этап (b) содержит этапы, на которых: (b)(1) анализируют данные глубины из данных изображения, полученных на упомянутом этапе (a), для сегментации данных изображения в данные кисти руки, и (b)(2) извлекают дескриптор формы посредством применения одного или более фильтров к данным изображения кисти руки, идентифицированным на упомянутом этапе (b)(1), причем эти один или более фильтров анализируют данные изображения кисти руки по сравнению с данными изображения за пределами границы кисти руки для различения формы и ориентации кисти руки.

В дополнительном примере настоящее раскрытие имеет отношение к системе для формирования модели кисти руки пользователя, включающей в себя один или более пальцев, для естественного пользовательского интерфейса, содержащей: средство распознавания скелета для распознавания скелета пользователя из принятых данных изображения; средство сегментации изображения для сегментации одной или более областей тела в область, представляющую кисть руки пользователя; и средство извлечения дескриптора для извлечения данных, представляющих кисть руки, включающей в себя один или более пальцев, и ориентацию кисти руки, при этом средство извлечения дескриптора применяет множество фильтров для анализа пикселей в области, представляющей кисть руки, причем каждый фильтр во множестве фильтров определяет позицию и ориентацию кисти руки, при этом средство извлечения дескриптора комбинирует результаты каждого фильтра для достижения наилучшей оценки позиции и ориентации кисти руки.

В другом примере настоящее раскрытие имеет отношение к машиночитаемому носителю, не состоящему из модулированного сигнала данных, причем машиночитаемый носитель имеет машиноисполняемые команды для программирования процессора на выполнение способа формирования модели кисти руки пользователя, включающей в себя один или более пальцев, для естественного пользовательского интерфейса, содержащего этапы, на которых: (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) движение пальцами как ножницами для управления ногами виртуального персонажа.

Это описание сущности изобретения дано для того, чтобы в упрощенной форме представить подборки концепций, которые далее описаны в подробном описании. Это описание сущности изобретения не предназначено для выявления ключевых признаков или основных признаков заявленного изобретения, а также не предназначено для использования в качестве средства определения объема заявленного изобретения. Кроме того, заявленное изобретение не ограничено реализациями, которые устраняют какие-либо или все недостатки, отмеченные в любой части этого раскрытия.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фигура 1A показывает иллюстративный вариант осуществления системы распознавания, анализа и отслеживания цели.

Фигура 1B показывает дополнительный иллюстративный вариант осуществления системы распознавания, анализа и отслеживания цели.

Фигура 1C показывает еще один дополнительный иллюстративный вариант осуществления системы распознавания, анализа и отслеживания цели.

Фигура 2 показывает иллюстративный вариант осуществления устройства захвата, которое может использоваться в системе распознавания, анализа и отслеживания цели.

Фигура 3 показывает иллюстративную модель тела, используемую для представления человеческой цели.

Фигура 4 показывает, по существу, вид спереди иллюстративной скелетной модели, используемой для представления человеческой цели.

Фигура 5 показывает вид сбоку иллюстративной скелетной модели, используемой для представления человеческой цели.

Фигура 6 показывает блок-схему последовательности операций конвейера для отслеживания цели в соответствии с вариантом осуществления настоящей технологии.

Фигура 7 показывает иллюстративный способ определения состояния кисти руки пользователя в соответствии с вариантом осуществления настоящего раскрытия.

Фигура 8 - блок-схема последовательности операций средства сегментации изображения в соответствии с вариантом осуществления настоящего раскрытия.

Фигура 9 - блок-схема последовательности операций фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.

Фигура 10 - дерево решений фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.

Фигуры 11A и 11B иллюстрируют идентификацию кончика пальца с использованием фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.

Фигура 12 иллюстрирует идентификацию пальца с использованием фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.

Фигура 13 иллюстрирует секцию кисти руки, идентифицированную с использованием фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.

Фигура 14 иллюстрирует идентификацию кисти руки и пальца с использованием фильтра классификации пикселей в соответствии с вариантом осуществления настоящего раскрытия.

Фигура 15 - блок-схема последовательности операций фильтра анализа кривизны в соответствии с вариантом осуществления настоящего раскрытия.

Фигура 16 иллюстрирует идентификацию кисти руки и пальца с использованием фильтра анализа кривизны в соответствии с вариантом осуществления настоящего раскрытия.

Фигура 17 иллюстрирует анализ открытой и закрытой кисти руки с использованием фильтра гистограммы глубины в соответствии с вариантом осуществления настоящего раскрытия.

Фигура 18 - блок-схема последовательности операций фильтра супервизора для классификации позиции кисти рук на основе фильтров кисти руки.

Фигура 19A показывает иллюстративный вариант осуществления вычислительной среды, которая может использоваться для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели.

Фигура 19B иллюстрирует другой иллюстративный вариант осуществления вычислительной среды, которая может использоваться для интерпретации одного или более жестов в системе распознавания, анализа и отслеживания цели.

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

Теперь со ссылкой на фиг. 1A-19B будут описаны варианты осуществления настоящей технологии, которые в общем имеют отношение к конвейеру для формирования компьютерной модели целевого пользователя, включающей в себя модель кистей рук и пальцев пользователя, захваченной датчиком изображения в системе естественного пользовательского интерфейса (NUI). Компьютерная модель может формироваться один раз для каждого кадра захваченных данных изображения и представляет наилучшую оценку позиции, в том числе позы, пользователя во время захваченного кадра. Сформированная модель кистей рук для каждого кадра может использоваться игровой или другой прикладной программой для определения таких моментов, как пользовательские жесты и управляющие действия. Модель кистей рук также может быть возвращена в конвейер, чтобы помочь в будущих определениях модели.

Как показано на фиг. 1A-2, аппаратные средства для реализации настоящей технологии включают в себя систему 10 распознавания, анализа и отслеживания цели, которая может использоваться для распознавания, анализа и/или отслеживания человеческой цели, такой как пользователь 18. Варианты осуществления системы 10 распознавания, анализа и отслеживания цели включают в себя вычислительную среду 12 для исполнения игровой или другой прикладной программы. Вычислительная среда 12 может включать в себя аппаратные компоненты и/или программные компоненты, с тем чтобы вычислительная среда 12 могла использоваться для исполнения прикладных программ, такие как игровые и неигровые прикладные программы. В одном варианте осуществления вычислительная среда 12 может включать в себя процессор, такой как стандартизированный процессор, специализированный процессор, микропроцессор и т.п., который может исполнять команды, сохраненные на читаемом с помощью процессора устройстве хранения данных, для выполнения описанных здесь процессов.

Система 10 дополнительно включает в себя устройство 20 захвата для захвата данных изображения и звука, имеющих отношение к одному или более пользователям и/или объектам, обнаруженным устройством захвата. В вариантах осуществления устройство 20 захвата может использоваться для захвата информации, имеющей отношение к движениям тела и кистей рук и/или жестов и речи одного или более пользователей, которая принимается вычислительной средой и используется для аспектов воспроизведения, взаимодействия и/или управления в игровой или другой прикладной программы. Примеры вычислительной среды 12 и устройство 20 захвата более подробно разъяснены ниже.

Варианты осуществления системы 10 распознавания, анализа и отслеживания цели могут быть соединены с аудиовизуальным (A/V) устройством 16, имеющим дисплей 14. Устройство 16, например, может представлять собой телевизор, телефоном, монитором для компьютера, телевизор высокой четкости (HDTV) и т.п., которые могут обеспечить пользователю визуальную и звуковую информацию игры или прикладной программы. Например, вычислительная среда 12 может включать в себя видеоадаптер, такой как видеокарта, и/или звуковой адаптер, такой как звуковая карта, которые могут обеспечить звуковые/визуальные сигналы, соответствующие игре или другой прикладной программе. Аудиовизуальное устройство 16 может принимать звуковые/визуальные сигналы от вычислительной среды 12 и может затем выводить 18 пользователю визуальную и/или звуковую информацию игры или прикладной программы, соответствующую звуковым/визуальным сигналам. В соответствии с одним вариантом осуществления аудиовизуальное устройство 16 может быть соединено с вычислительной средой 12, например, через кабель S-Video, коаксиальный кабель, кабель HDMI, кабель DVI, кабель VGA, кабель компонентного видео и т.п.

В вариантах осуществления вычислительная среда 12, аудиовизуальное устройство 16 и устройство 20 захвата могут взаимодействовать для воспроизведения видеообраза или экранного персонажа 19 на дисплее 14. Например, фиг.1A показывает пользователя 18, играющего в прикладную программу футбола. Движения пользователя отслеживаются и используются для анимации движения видеообраза 19. В вариантах осуществления видеообраз 19 подражает движениям пользователя 18 в пространстве реального мира таким образом, чтобы пользователь 18 мог выполнять движения и жесты, которые управляют движениями и действиями видеообраза 19 на дисплее 14.

Как объяснено выше, программы оценки движения, такие как системы отображения скелета, могут испытывать недостаток возможностей обнаруживать тонкие жесты пользователя, такие как, например, движение кисти руки пользователя. Например, пользователь может хотеть взаимодействовать с системой 10 естественного пользовательского интерфейса посредством просмотра путем прокрутки и управления пользовательским интерфейсом 21 с помощью своей кисти руки, как показано на фиг.1B. Пользователь может в качестве альтернативы попытаться выполнять различные жесты, например, посредством открывания и/или закрывания своей кисти руки, как показано номерами 23 и 25 на фиг.1C.

В соответствии с этим, описанные здесь ниже системы и способы направлены на определение состояния кисти руки пользователя. Например, действие закрывания и открывания кисти руки может использоваться такими системами для инициирующих событий, таких как выбор, вступление в контакт или захват и перетаскивание объектов, например, объекта 27 (фиг.1C) на экране. Эти действия иначе могут соответствовать нажатию кнопки при использовании контроллера. Такое усовершенствованное взаимодействие без контроллеров может использоваться в качестве альтернативы подходам, основанным на взмахе и парении кисти руки, которое может быть не интуитивным или затруднительным. Посредством настоящей технологии для распознавания и отслеживания движений кистей рук может быть обеспечена возможность для множества других жестов, управляющих действий и применений, некоторые из которых описаны с дополнительными подробностями ниже. Посредством определения состояния кисти руки пользователя, как описано ниже, может быть увеличена интерактивность пользователя с системой, и пользователю могут быть представлены более простые и более интуитивные интерфейсы.

Фиг. 1A-1B включают в себя статические фоновые объекты 23, такие как пол, стул и растение. Они являются объектами в пределах поля зрения (FOV), захваченного устройством 20 захвата, но не изменяются от кадра к кадру. В дополнение к показанным полу, стулу и растению статические объекты могут представлять собой любые объекты, захваченные камерами изображения в устройстве 20 захвата. Дополнительные статические объекты в сцене могут включать в себя любые стены, потолок, окна, двери, стенные украшения и т.д.

Подходящие примеры системы 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 года.

Фиг.2 показывает иллюстративный вариант осуществления устройства 20 захвата, которое может использоваться в системе 10 распознавания, анализа и отслеживания цели. В иллюстративном варианте осуществления устройство 20 захвата может быть выполнено с возможностью захватывать видеоинформацию, имеющую изображение глубины, которое может включать в себя значения глубины, через любую подходящую методику, в том числе, например, время прохождения, структурированное освещение, стереоскопическое изображение и т.п. В соответствии с одним вариантом осуществления устройство 20 захвата может организовать расчетную информацию глубины по “Z-уровням”, или уровням, которые могут быть перпендикулярными по отношению к оси Z, простирающейся из глубины камеры вдоль ее линии обзора. Оси X и Y могут быть определены как перпендикулярные по отношению к оси Z. Ось Y может представлять собой вертикаль, и ось X может представлять собой горизонталь. Вместе эти оси X, Y и Z определяют трехмерное пространство реального мира, захватываемое устройством 20 захвата.

Как показано на фиг.2, устройство 20 захвата может включать в себя компонент 22 камеры изображения. В соответствии с иллюстративным вариантом осуществления компонент 22 камеры изображения может представлять собой камеру глубины, которая может захватывать изображение глубины сцены. Изображение глубины может включать в себя двухмерную (2D) область пикселей захваченной сцены, где каждый пиксель в двухмерной области пикселей может представлять значение глубины, такое как длина или расстояние, например, в сантиметрах, миллиметрах и т.п. объекта в захваченной сцене от камеры.

Как показано на фиг.2, в соответствии с иллюстративным вариантом осуществления компонент 22 камеры изображения может включать в себя компонент 24 инфракрасного (IR) света, трехмерную (3D) камеру 26 и камеру 28 RGB, которые могут использоваться для захвата изображения глубины сцены. Например, при анализе времени прохождения компонент 24 инфракрасного света из устройства 20 захвата может испускать инфракрасный свет на сцену и может затем использовать датчики (не показаны) для обнаружения обратно рассеянного света от поверхности одной или более целей и объектов в сцене с использованием, например, трехмерной камеры 26 и/или камеры 28 RGB.

В некоторых вариантах осуществления импульсный инфракрасный свет может использоваться таким образом, чтобы время между исходящим световым импульсом и соответствующим входящим световым импульсом могло быть измерено и использовано для определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах в сцене. Дополнительно, в других иллюстративных вариантах осуществления фаза исходящей световой волны может сравниваться с фазой входящей световой волны, для определения фазового сдвига. Фазовый сдвиг может затем использоваться для определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах.

В соответствии с другим иллюстративным вариантом осуществления анализ времени прохождения может использоваться для косвенного определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах посредством анализа интенсивности отраженного пучка света в течение времени через различные методики, в том числе, например, формирование изображений с помощью прерывистых световых импульсов.

В другом иллюстративном варианте осуществления устройство 20 захвата может использовать структурированный свет для захвата информации глубины. При таком анализе структурированный свет (то есть, свет, визуально воспроизводимый с известным рисунком, таким как сетчатый рисунок или рисунок в полоску) может быть спроецирован на сцену, например, через компонент 24 инфракрасного света. После столкновения с поверхностью одной или более целей или объектов в сцене в ответ рисунок может деформироваться. Такая деформация рисунка может быть захвачена, например, трехмерной камерой 26 и/или камерой 28 RGB и затем может быть проанализирована для определения физического расстояния от устройства 20 захвата до конкретного местоположения на целях или объектах.

В соответствии с другим вариантом осуществления устройство 20 захвата может включать в себя две или более физически разделенные камеры, которые могут обозревать сцену с различных углов, для получения стереоскопических визуальных данных, которые могут быть проанализированы для формирования информации глубины. В другом иллюстративном варианте осуществления устройство 20 захвата может использовать данные облака точек и методики оцифровки цели для обнаружения признаков пользователя. Другие системы датчиков могут использоваться в дополнительных вариантах осуществления, такие как, например, ультразвуковая система, способная обнаруживать оси x, y и z.

Устройство захвата 20 может дополнительно включать в себя микрофон 30. Микрофон 30 может включать в себя датчик, который может принимать и преобразовывать звук в электрический сигнал. В соответствии с одним вариантом осуществления микрофон 30 может использоваться для уменьшения обратной связи между устройством 20 захвата и вычислительной средой 12 в системе 10 распознавания, анализа и отслеживания цели. Дополнительно, микрофон 30 может использоваться для приема аудиосигналов, которые также могут быть обеспечены пользователем для управления прикладными программами, такими как игровые прикладные программы, неигровые прикладные программы и т.п., которые могут исполняться вычислительной средой 12.

В иллюстративном варианте осуществления устройство 20 захвата может дополнительно включать в себя процессор 32, который может находиться в функциональной связи с компонентом 22 камеры изображения. Процессор 32 может включать в себя стандартизированный процессор, специализированный процессор, микропроцессор и т.п., которые могут исполнять команды, которые могут включать в себя команды для получения изображения глубины, определения, может ли подходящая цель быть включена в изображение глубины, преобразования подходящей цели в скелетное представление или модель цели или исполнения какой-либо другой подходящей команды.

Устройство 20 захвата может дополнительно включать в себя компонент 34 памяти, который может хранить команды, которые могут быть исполнены процессором 32, изображения или кадры изображений, захваченные трехмерной камерой или камерой RGB, или любую другую подходящую информацию, изображения и т.п. В соответствии с иллюстративным вариантом осуществления компонент 34 памяти может включать в себя оперативное запоминающее устройство (ОЗУ; RAM), постоянное запоминающее устройство (ПЗУ; ROM), кэш, флэш-память, жесткий диск или любой другой подходящий компонент хранения. Как показано на фиг.2, в одном варианте осуществления компонент 34 памяти может являться отдельным компонентом, связанным с компонентом 22 камеры изображения и процессором 32. В соответствии с другим вариантом осуществления компонент 34 памяти может быть интегрирован в процессор 32 и/или компонент 22 камеры изображения.

Как показано на фиг.2, устройство 20 захвата может находиться в связи с вычислительной средой 12 через линию 36 связи. Линия 36 связи может представлять собой проводное соединение, в том числе, например, соединение USB, соединением Firewire, кабельное соединение Ethernet и т.п. и/или беспроводным соединением, таким как беспроводная связь стандарта 802.11b, g, a или n. В соответствии с одним вариантом осуществления вычислительная среда 12 может обеспечить часы для устройства 20 захвата, которые могут использоваться, например, для определения, когда следует захватить сцену, через линию 36 связи.

Дополнительно устройство 20 захвата может обеспечивать информацию глубины и изображения, захваченные, например, трехмерной камерой 26 и/или камерой 28 RGB. При помощи этих устройств частичная скелетная модель может быть разработана в соответствии с настоящей технологией, и полученные в результате данные предоставляются вычислительной среде 12 через линию 36 связи.

Вычислительная среда 12 может также включать в себя средство 190 распознавания жестов для распознавания жестов, как разъяснено ниже. В соответствии с настоящей системой вычислительная среда 12 также может включать в себя средство 192 распознавания скелета, средство 194 сегментации изображения, средство 196 извлечения дескриптора и средство 198 классификатора. Каждое из этих средств программного обеспечения более подробно описан ниже.

Фиг.3 показывает неограничивающее визуальное представление иллюстративной модели 70 тела, сформированной средством 192 распознавания скелета. Модель 70 тела представляет собой машинное представление смоделированной цели (например, пользователя 18 на фиг.1A и 1B). Модель тела может включать в себя одну или более структур данных, которые включают в себя набор переменных, которые все вместе определяют смоделированную цель на языке игры или другой прикладной программы/операционной системы.

Модель цели может быть сконфигурирована по-разному без отступления от контекста этого раскрытия. В некоторых примерах модель может включать в себя одну или более структур данных, которые представляют цель как трехмерную модель, содержащую жесткие и/или деформируемые формы или части тела. Каждая часть тела может быть охарактеризована как математический примитив, примеры которого включают в себя, но без ограничения, сферы, анизотропически масштабированные сферы, цилиндры, анизотропные цилиндры, гладкие цилиндры, параллелепипеды, скошенные параллелепипеды, призмы и т.п.

Например, модель 70 тела по фиг.3 включает в себя части bp1-bp14 тела, каждая из которых представляет отдельную часть смоделированной цели. Каждая часть тела представляет собой трехмерную форму. Например, часть bp3 является прямоугольной призмой, которая представляет левую руку смоделированной цели, и часть bp5 является восьмиугольной призмой, которая представляет левое плечо смоделированной цели. Модель 70 тела является иллюстративной в этом смысле, что модель тела может содержать любое количество частей тела, каждая из которых может являться любым понимаемым машиной представлением соответствующей части смоделированной цели.

Модель, включающая в себя две или более частей тела, также может включать в себя один или более суставов. Каждый сустав может дать возможность одной или более частям тела двигаться относительно одной или более других частей тела. Например, модель, представляющая человеческую цель, может включать в себя множество жестких и/или деформируемых частей тела, причем некоторые части тела могут представлять соответствующую анатомическую часть тела человеческой цели. Кроме того, каждая часть тела модели может содержать один или более структурных элементов (то есть, “костей” или скелетных частей), и суставы расположены на пересечении смежных костей. Следует понимать, что некоторые кости могут соответствовать анатомическим костям в человеческой цели, и/или некоторые кости могут не иметь соответствующих анатомических костей в человеческой цели.

Кости и суставы могут все вместе составить скелетную модель, которая может являться составляющим элементом модели тела. В некоторых вариантах осуществления скелетная модель может использоваться вместо другого типа модели, такой как модель 70 на фиг. 3. Скелетная модель может включать в себя один или более скелетных элементов для каждой части тела и сустава между смежными скелетными элементами. Иллюстративная скелетная модель 80 и иллюстративная скелетная модель 82 показаны на фиг.4 и 5, соответственно. Фиг.4 показывает скелетную модель 80, обозреваемую спереди, с суставами j1-j33. Фиг.5 показывает скелетную модель 82, обозреваемую сбоку, также с суставами j1-j33. Скелетная модель может включать в себя больше или меньше суставов без отступления от сущности этого раскрытия. Дополнительные варианты осуществления настоящей системы, разъясненные в дальнейшем, работают с использованием скелетной модели, имеющей 31 сустав.

Описанные выше модели частей тела и скелетные модели не ограничивают примеры типов моделей, которые могут использоваться в качестве машинных представлений смоделированной цели. Другие модели также находятся в объеме этого раскрытия. Например, некоторые модели могут включать в себя многоугольные сетки, участки, неоднородные рациональные B-сплайны, поверхности подразделения или другие поверхности высокого порядка. Модель может также включать в себя поверхностные текстуры и/или другую информацию для более точного представления одежды, волос и/или других аспектов смоделированной цели. Модель может дополнительно включать в себя информацию, имеющую отношение к текущей позе, к одной или более прошлым позам и/или к физике модели. Следует понимать, что множество различных моделей, которые могут быть изложены, является совместимым с описанной здесь системой распознавания, анализа и отслеживания цели.

Известны программные конвейеры для формирования скелетных моделей одного или более пользователей в пределах области зрения устройства 20 захвата. Одна такая система раскрыта, например, в заявке на патент США № 12/876418, названной “Система для быстрого вероятностного скелетного отслеживания”, поданная 7 сентября 2010 года, которая включена в настоящий документ по ссылке во всей своей полноте. При определенных условиях, например, когда пользователь находится достаточно близко к устройству 20 захвата, и по меньшей мере одна из кистей руки пользователя отличима от другого фонового шума, программный конвейер дополнительно может быть в состоянии сформировать модели кисти руки и/или пальцев одного или более пользователей в пределах поля зрения.

Фиг.6 является блок-схемой последовательности операций программного конвейера для распознавания и отслеживания кисти руки и/или пальцев пользователя. На этапе 200 конвейер принимает изображение глубины от устройства 20 захвата. Изображение глубины секции пользователя проиллюстрировано на фиг.7 под номером 302. Каждый пиксель в изображении глубины включает в себя информацию глубины, например, как проиллюстрировано на фиг.7 с помощью полутонового градиента. Например, в позиции 302 левая кисть руки пользователя находится ближе к устройству 20 захвата, как обозначено более темной областью левой кисти руки. Устройство захвата или камера глубины захватывают изображения пользователя в наблюдаемой сцене. Как описано ниже, изображение глубины пользователя может использоваться для определения информации о расстоянии областей пользователя, информации о масштабе пользователя, кривизны и скелетной информации пользователя.

На этапе 204 средство 192 распознавания скелета из состава конвейера оценивает скелетную модель пользователя, как описано выше, для получения виртуального скелета из изображения глубины, полученного на этапе 200. Например, на фиг.7, виртуальный скелет 304 показан как оцененный на основе изображения глубины, показанного в позиции 302 пользователя.

На этапе 208 конвейер сегментирует кисть руки или кисти рук пользователя через средство 194 сегментации изображения конвейера. В некоторых примерах средство 194 сегментации изображения может дополнительно сегментировать одну или более областей тела в дополнение к кистям руки. Сегментация кисти руки пользователя включает в себя идентификацию области изображения глубины, соответствующей кисти руки, причем идентификация по меньшей мере частично основана на информации скелета, полученной на этапе 204. Фиг.7 иллюстрирует пример сегментации изображения глубины пользователя на различные области 306 на основе оцененного скелете 304, как обозначено по-разному затененными областями. Фиг.7 показывает локализованную область 308 кисти руки, соответствующую поднятой правой кисти руки пользователя.

Кисти руки или области тела могут быть сегментированы или локализованы множеством способов, и это может быть основано на выбранных суставах, идентифицированных по описанной выше оценке скелета. В качестве одного примера, обнаружение и локализация кисти руки в изображении глубины могут быть основаны на оцененных суставах запястья и/или кончиков кисти руки из оцененного скелета. Например, в некоторых вариантах осуществления сегментация кисти руки в изображении глубины может быть выполнена с использованием топографического поиска изображения глубины вокруг суставов кисти руки, с определением местоположения около локальных экстремумов в изображении глубины как кандидатов на кончики пальцев. Средство 194 сегментации изображения затем сегментирует остальную часть кисти руки, принимая во внимание масштабный коэффициент размера тела, определенный из оцененного скелета, а также разрывы глубины для идентификации границ.

В качестве другого примера, для идентификации областей изображения глубины, соответствующих кистям руки пользователя, может использоваться подход заливки. В подходе заливки изображение глубины может отыскиваться от начальной точки и в начальном направлении, например, начальная точка может представлять собой сустав запястья, и начальное направление может представлять собой направление от локтя до сустава запястья. Соседние пиксели в изображении глубины могут итерационно оцениваться на основе проекции на начальное направление в качестве способа предоставления предпочтения точкам, перемещающимся от локтя и к кончику кисти руки, в то время как ограничения постоянства глубины, такие как разрывы глубины, могут использоваться для идентификации границы или экстремальных значений кистей рук пользователя в изображении глубины. В некоторых примерах могут использоваться пороговые значения расстояния для ограничения поиска по карте глубины как в положительном, так и в отрицательном направлениях относительно начального направления на основе фиксированных значений, или, например, может использоваться масштаб на основе оцененного размера пользователя.

В качестве еще одного примера, ограничивающая сфера или другая подходящая ограничивающая форма, расположенная на основе скелетных суставов (например, запястья или суставов кончика кисти руки), могут использоваться для включения всех пикселей в изображении глубины вплоть до разрыва глубины. Например, по ограничивающей сфере можно двигать окно, чтобы идентифицировать разрывы глубины, которые могут использоваться для установления границы области кисти руки изображения глубины.

Способ ограничивающей формы также может использоваться для размещения ограничивающей формы вокруг центра ладони, который может быть итеративно идентифицирован. Один пример такого итеративного способа ограничения раскрыт в презентации Дэвида Тафта (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, которая включена в настоящий документ по ссылке во всей полноте.

В общем, такой способ включает в себя несколько итеративных проходов для отбрасывания пикселей из модели. В каждом проходе способ отбрасывает пиксели вне сферы или другой формы с центром на кисти руки. Затем способ отбрасывает пиксели, слишком далекие от кончика кисти руки (вдоль вектора руки). Затем способ выполняет этап обнаружения границы для обнаружения края руки и удаления несвязных островков. Иллюстративные этапы такого способа показаны в блок-схеме последовательности операций на фиг.8. На этапе 224 ограничивающая форма формируется вокруг центра кисти руки, заданной посредством данных сустава руки из средства 192 распознавания скелета. Ограничивающая форма является достаточно большой, чтобы охватить всю кисть руки, и является трехмерной. На этапе 226 отбрасываются пиксели вне ограничивающей формы.

Может случиться, что кисть руки пользователя находится близко к его телу или ко второй кисти руки пользователя на изображении глубины, и данные от этих других секций тела будут первоначально включены в сегментированное изображение. Маркировка соединенных компонентов может быть выполнена для маркировки разных средних точек в сегментированном изображении. Средняя точка, которая наиболее вероятно является кистью руки, выбирается на основе ее размера и местоположении сустава кисти руки. Не выбранные средние точки могут быть отброшены. На этапе 230 также могут быть отброшены пиксели, которые находятся слишком далеко от кончика кисти руки вдоль вектора от присоединенной руки.

Скелетные данные от средства 192 распознавания скелета могут иметь помехи, таким образом, данные для кисти руки далее корректируются для идентификации центра кисти руки. Это может быть сделано посредством выполнения итерации по изображению и измерения расстояния от каждого пикселя до края контура кисти руки. Средство 194 сегментации изображения может тогда выполнить поиск нагруженного среднего для выяснения максимального/минимального расстояния. Таким образом, на этапе 232 для каждого пикселя в сегментированном изображении кисти руки идентифицируется максимальное расстояние вдоль осей x и y до края контура кисти руки и минимальное расстояние вдоль осей x и y до края контура руки. Расстояние до края берется в качестве весового коэффициента, и затем берется нагруженное среднее минимальных определенных расстояний по всем измеренным пикселям для выяснения вероятного центра положения кисти руки в пределах изображения (этап 234). С использованием нового центра процесс может быть многократно повторен, пока изменение центра ладони от предыдущей итерации не будет находиться в пределах некоторого допуска.

В некоторых подходах может быть выполнена сегментация кистей рук, когда пользователь поднимает кисть руки от туловища, над туловищем или перед туловищем. Таким образом, идентификация областей кистей рук в изображении глубины может быть менее неоднозначной, поскольку области кистей рук можно отличить от тела более легко. Изображения кистей рук являются особенно четкими, когда кисть руки пользователя ориентирована ладонью к устройству 20 захвата, и в такой точке признаки кисти руки могут быть обнаружены как контур. Признаки могут иметь помехи, но имеющая контур кисть руки позволяет делать некоторые обоснованные решения о том, что кисть руки делает, например, на основе обнаружения промежутков между пальцами и наблюдением общей формы кисти руки и их отображения с использованием множества разных подходов. Обнаружение этих промежутков и других признаков позволяет распознавать конкретные пальцы и общее направление, куда этот палец указывает.

Следует понимать, что иллюстративные описанные выше примеры сегментации кисти руки представлены с целью примера и не предназначены для ограничения объема этого раскрытия. Вообще, любые способы сегментации части кисти руки или тела могут использоваться по отдельности или в комбинации друг с другом и/или с одним из описанных выше иллюстративных способов.

В продолжение описания конвейера на фиг.7, этап 210 включает в себя извлечение дескриптора формы для области, например, области изображения глубины, соответствующей кисти руки, как идентифицировано на этапе 208. Дескриптор формы на этапе 210 извлекается посредством механизма 196 извлечения дескриптора и может представлять собой любое подходящее представление области кисти руки, которое используется для классификации области кисти руки. В некоторых вариантах осуществления дескриптор формы может быть вектором или набором чисел, используемым для кодификации или описания формы области кисти руки.

Средство 196 извлечения дескриптора может использовать любое множество фильтров на этапе 210 для извлечения дескриптора формы. Один фильтр может упоминаться как классификатор пикселей, который теперь будет описан со ссылкой на блок-схему последовательности операций на фиг. 9, дерево решений на фиг.10 и иллюстрации на фиг. 11-14. На этапе 240 выбирается пиксель на переднем плане сегментированного изображения. Это пиксели, которые, как по меньшей мере номинально полагают, являются частью кисти руки пользователя. Прямоугольник предопределенного размера берется вокруг выбранного пикселя с выбранным пикселем в центре. В вариантах осуществления размер прямоугольника может быть выбран в 1,5 раза больше ширины нормализованного пальца. "Нормализованный палец" представляет собой палец пользователя, который был скорректирован до нормализованного размера на основе размера скелетной модели и обнаруженного расстояния от пользователя до устройства 20 захвата. Следующие этапы выполняются последовательно для каждого пикселя, который, как номинально полагают, является частью кисти руки.

На этапе 242 фильтр классификатора пикселей определяет, сколько краев прямоугольника пересечено. Пересечением является место, где изображение переходит с переднего плана (над кистью руки) на фон (не над кистью руки). Например, фиг.11A показывает палец 276, выбранный пиксель 278 на пальце и описанный выше прямоугольник 280 вокруг пикселя в радиусе r. Прямоугольник пересекается в двух точках вдоль одного края; в точках 281a и 281b. Точки 281a, 281b являются местами, где изображение переходит с переднего плана (пальца) на фон. Все пиксели 278, имеющие две точки пересечения с краями своих соответствующих прямоугольников 280, считаются кончиками пальца (или частью сустава или руки, как объяснено ниже) в целях определения средних точек кистей рук, как объяснено ниже.

На этапе 246 фильтр классификатора пикселей определяет, находятся ли пересечения на одних и тех же или на разных краях. Как можно видеть на фиг.11B, палец может пересекать прямоугольник 280 вдоль двух смежных краев, а не вдоль одного и того же края. Эта информация будет использоваться для определения направления, в котором указывает палец, как объяснено ниже.

В противоположность кончику пальца, пиксель, который пересекает свой прямоугольник 280 в четырех точках, будут считаться пальцем в целях определения средних точек кистей рук, как объяснено ниже. Например, фиг.12 показывает пример, в котором выбранный пиксель 278 является достаточно удаленным от кончика пальца и имеет четыре точки пересечения 281a, 281b, 281c и 281d с прямоугольником 280.

На этапе 242 блок-схемы последовательности операций на фиг.9 и в позиции 264 дерева решений на фиг.10 фильтр классификатора пикселей проверяет, сколько краев прямоугольника 280 пересечено. Если края не пересечены, предполагается, что выбранный пиксель находится в пределах ладони пользователя в позиции 265. Таким образом, поскольку размер прямоугольника 280 выбран таким образом, чтобы были пересечены по меньшей мере два края, если пиксель находится на пальце или кончике пальца, если пиксель находится на кисти руки, и края не пересечены, то предполагается, что пиксель лежит на ладони. Если два края пересечены, фильтр идет в позицию 266, чтобы проверить, являются ли углы непересеченных краев заполненными (кисть руки) или пустыми (фон), как объяснено ниже. Если в позиции 267 пересечены четыре края, это считается пальцем, как объяснено выше. Если в позиции 268 края прямоугольника 280 пересечены шесть раз, это считается недопустимым считыванием и отбрасывается (этап 250).

Снова в позиции 266, где пересечены два края, это может быть кончик пальца, но это также может быть пространство между двумя смежными пальцами. Фильтр классификатора пикселей поэтому проверяет углы непересеченных краев (этап 248). Когда углы непересеченных краев являются заполненными, это означает, что прямоугольник находится под кистью руки в этих углах, и точки пересечения определяют впадину между смежными пальцами. Наоборот, когда углы непересеченных краев являются пустыми (как показано на иллюстрации, соответствующей позиции 266), это означает, что в этих углах прямоугольник находится на фоновых пикселях, и точки пересечения определяют часть кисти руки.

Если углы являются пустыми, фильтра классификатора пикселей в позиции 269 проверяет, является ли расстояние между точками пересечения, называемое длиной хорды, меньше максимальной ширины пальца (этап 252). Таким образом, там, где имеется две точки пересечения, это может быть кончик пальца, как показано на фиг.11A. Однако пиксель также может являться частью руки или частью кисти руки, например, суставом, как показано на фиг.13. Если это так, длина 282 хорды может быть больше максимальной ширины пальца. Если это так, считается, что пиксель 278, на предмет которого исследуется прямоугольник 280, находится на руке или суставе в позиции 271 (фиг.10).

В дополнение к идентификации кончика пальца или пальца пересечение с двумя точками или пересечение с четырьмя точками также могут раскрыть направление, в котором указывает кончик пальца/палец. Например, на фиг.11A имелось два пересечения с менее чем максимальной шириной пальца, таким образом, было определено, что пиксель 278 находится на кончике пальца. Однако, учитывая такое пересечение, можно сделать выводы о направлении, в котором указывает кончик пальца. То же самое может быть сказано для пальца, показанного на фиг.12. Фиг.11A показывает палец 276, указывающий прямо вверх. Но кончик 276 пальца может указывать также в других восходящих направлениях. Информация от других точек около точки 278 на кончике 276 пальца может использоваться для дополнительных выводов о направлении.

Фиг.11B показывает пересечение с двумя точками, которое обеспечивает дополнительные выводы о направлении, в котором указывает палец/кончик пальца. Таким образом, направление может быть выведено из отношения расстояний до совместного угла. Иначе говоря, длина хорды между точками 281a и 281b определяет гипотенузу треугольника, также включающего в себя стороны между точками 281a, 281b и совместный угол. Можно сделать вывод, что палец указывает в направлении, перпендикулярном по отношении к гипотенузе.

Может случиться, что кисть руки удерживается с двумя пальцами вместе, с тремя пальцами вместе или четырьмя пальцами вместе. Таким образом, после того, как описанные выше этапы пройдены с использованием прямоугольника 280 для каждого пикселя в кисти руки, процесс может быть повторен с использованием прямоугольника 280, который немного больше максимальной ширины двух пальцев вместе, и затем повторен снова с использованием прямоугольника 280, который немного больше максимальной ширины трех пальцев вместе, и т.д.

Как только данные фильтра классификатора пикселей собраны, фильтр классификатора пикселей затем пытается создать модель кисти руки из данных на этапе 258 (фиг.9). Имеются маленькие идентифицированные области, или средние точки, такие как, например, иллюстративные области, которые являются кончиком пальца, и область, которая является ладонью, и идея о центре ладони из этапа сегментации кисти руки. Средство 198 классификатора затем исследует средние точки пальца, не классифицированные как кончики пальцев, но, вследствие того, что они пересеклись в четырех точках, классифицированные как пальцы. Ориентация направления также была идентифицирована для областей пальца и кончика пальца. Если средняя точка пальца выровнена со средней точкой кончика пальца, и они находятся в корректном относительном расположении друг относительно друга, алгоритм соединяет эти средние точки как принадлежащие одному и тому же пальцу.

Затем ориентация области пальца используется для проекции туда, где находится сустав этого пальца, на основе размера скелета и величины пальца. Размер, позиция и ориентации любых идентифицированных впадин между пальцами также могут использоваться для подтверждения определенной модели кисти руки. Затем спроецированная позиция сустава соединяется с ладонью. После завершения средство классификатора пикселей определяет скелетную модель 284 кисти руки, два примера которой показаны на фиг.14. Модель, которую можно назвать "уменьшенная скелетная модель кисти руки отслеживает сегменты кисти руки, относящиеся к кончикам пальцев, суставы соединяют кисть руки и пальцы и центральную кость к ладони", включает в себя средние точки кончиков пальцев, соединенные со средними точками пальца, соединенными со средними точками сустава, соединенными со средней точкой ладони. Данные относительно известной геометрии и возможных позиций кисти руки из известной позиции руки также могут использоваться для проверки или оспаривания определенных позиций кончика пальца, пальца, сустава и/или позиций средних точек ладони, а также для отбрасывания данных центральных точек, которые могут быть определены как не являющиеся частью кисти руки.

Описанное выше создаст модель кисти руки, даже если одна или более секций кисти руки будут отсутствовать в модели. Например, палец мог быть закрыт или находиться слишком близко к телу пользователя или другой кисти руки, которая должна быть обнаружена. Или у пользователя может отсутствовать палец. Фильтр классификации пикселей создаст модель кисти руки с использованием положений пальцев и кисти руки, которые он обнаруживает.

Другой фильтр, который может быть выполнен в дополнение или вместо фильтра классификации пикселей, может упоминаться как фильтр анализа кривизны. Этот фильтр сосредоточен на кривизне вдоль границ сегментированного контура кисти руки, чтобы определить пики и впадины в попытке дифференцировать пальцы. Как показано в блок-схеме последовательности операций на фиг.15, на этапе 286, начиная с первого пикселя, восемь окружающих пикселей исследуются для определения, какой пиксель является следующим на кисти руки. Таким образом каждому пикселю присваивается значение от 0 до 7, характеризующее связность между этим пикселем и следующим. Цепочка этих чисел строится вокруг контура кисти руки, которая дает границы кисти руки. Эти значения могут быть преобразованы в углы и контуры вокруг кисти руки на этапе 288 для обеспечения графика контура и пиков кисти руки, такого как показан на фиг.16. Эти этапы формирования контуров и пиков кисти руки описаны, например, в статье Ф. Леймэри (F. Leymarie), М.Д. Левин (M.D. Levine), названной "Curvature morphology ", Computer Vision and Robotics Laboratory, McGill University, Montreal, Quebec, Canada, 1988, которая включена в настоящий документ по ссылке во всей полноте.

Пики вокруг контура кисти руки идентифицируются на этапе 289, и каждый анализируется относительно различных признаков пика. Пик может быть определен стартовой точкой, пиком и конечной точкой. Эти три точки могут образовать треугольник, как объяснено ниже. Различные признаки пика, которые могут быть исследованы, включают в себя, например:

ширину пика;

максимальную высоту данного пика;

среднюю высоту отсчетов кривизны в пределах пика;

соотношение формы пика (максимальная высота/средняя высота);

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

расстояние от кисти руки до пика;

направление от локтя до кисти руки (x, y и z);

векторное произведение направления пика и направления руки (насколько мал угол между направлением руки и направлением пика); и

векторное произведение вектора между стартовой точкой пика и максимальной точкой и вектора между максимальной точкой и конечной точкой.

Эта информация может быть пропущена через различные методики машинного обучения на этапе 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, обе из которых включены в настоящий документ по ссылке во всей полноте. В вариантах осуществления данные с помехами могут быть сглажены с использованием скрытой Марковской модели для поддержания состояния кистей рук и фильтрации шума.

Описанные выше фильтры могут упоминаться, как фильтры контура, поскольку они исследуют данные, относящиеся к контуру кисти руки. Дополнительный фильтр, который может быть использован, является фильтром гистограммы и упоминается как фильтр глубины, поскольку он использует данные глубины для построения модели кисти руки. Этот фильтр может использоваться в дополнение или вместо описанных выше фильтров и может быть особенно полезен, когда кисть руки пользователя указывает в направлении устройства 20 захвата изображения.

В фильтре гистограммы может быть создана гистограмма расстояний в области кисти руки. Например, такая гистограмма может включать в себя пятнадцать интервалов, где каждый интервал включает в себя количество точек в области кисти руки, расстояние которых в направлении оси z (глубина) от самой близкой точки к камере находится в пределах некоторого диапазона расстояния, соответствующего этому интервалу. Например, первый интервал в такой гистограмме может включать в себя количество точек в области кисти руки, расстояние которых до средней точки кисти руки находится между 0 и 0,40 см, второй интервал включает в себя количество точек в области кисти руки, расстояние которых до средней точки кисти руки находится между 0,40 и 0,80 см, и т.д. Таким образом, может быть создан вектор для кодификации формы кисти руки. Такие векторы затем могут быть нормализованы, например, на основе оцененного размера тела.

В другом иллюстративном подходе гистограмма может быть создана на основе расстояний и/или углов от точек в области кисти руки до сустава, сегмента кости или плоскости ладони из оцененного скелета пользователя, например, локтевого сустава, сустава запястья и т.д. Фиг.17 иллюстрирует два графика, показывающими гистограммы, определенные для закрытой кисти руки и открытой кисти руки.

Следует понимать, что примеры фильтра дескрипторов формы являются иллюстративными по природе и не предназначены для ограничения объема этого раскрытия. Вообще, любые подходящие дескрипторы формы для области кисти руки могут использоваться по отдельности или в комбинации друг с другом и/или одним из описанных выше иллюстративных способов. Например, дескрипторы формы, такие как описанные выше гистограммы или векторы, могут сочетаться и комбинироваться, объединяться и/или соединяться в большие по размеру векторы и т.д. Это может дать возможность идентификации новых шаблонов, которые не могли быть идентифицированы при их изолированном рассмотрении. Эти фильтры могут быть наращены посредством использования хронологических данных кадров, которые могут указать, например, отклоняется ли идентифицированный палец слишком далеко от этого пальца, идентифицированного в предыдущем кадре.

Фиг.18 показывает фильтр супервизора для объединения результатов различных описанных выше фильтров. Например, фильтр классификатора пикселей может использоваться для получения модели кисти руки и пальцев. Кроме того, классификатор пикселей, фильтр анализа кривизны, фильтр гистограммы глубины и, возможно, другие фильтры кисти руки, не показанные на фиг.19, могут быть обработаны, как описано выше, и далее обработаны, например, посредством фильтрации временной согласованности (например, низкочастотным фильтром) и методики сглаживания для получения позиций кисти руки и пальцев. Как упомянуто выше, контур, используемый в различных описанных здесь фильтрах, может быть масштабирован, чтобы он был инвариантен относительно размеров кисти руки и расстояния от датчика посредством знания расстояния от пользователя до камеры и размера кисти руки, выведенного из ее проанализированного скелета.

В дополнение к открытому или закрытому состояниям кисти руки настоящая технология может использоваться для идентификации конкретной ориентации пальцев, например, указания в конкретном направлении одним или более пальцами. Технология также может использоваться для идентификации различных положений кистей рук, ориентированных под различными углами в пределах декартова пространства с осями x, y, z.

В вариантах осуществления различные этапы фильтрации постклассификации могут использоваться для увеличения точности оценок позиции кисти руки и пальцев на этапе 216 (фиг.6). Например, этап фильтрации временной согласованности может быть применен к предсказанным позициям кисти руки и пальцев между последовательными кадрами изображения глубины для сглаживания предсказания и уменьшения временного дрожания, например, из-за случайных движений рук, помех в датчике или случайных ошибок классификации. Таким образом, может быть оценено множество позиций кисти руки и пальцев на основе множества изображений глубины от устройства захвата или датчика, и может быть выполнена временная фильтрация множества оценок для оценки позиций кисти руки и пальцев.

На этапе 220 конвейер, показанный на фиг.6, может выдать ответ в каждом кадре на основе оцененного состояния кисти руки. Например, на консоль вычислительной системы, такой как консоль 12 вычислительной системы 10, может быть выдана команда. В качестве другого примера, ответ может быть выдан на дисплейное устройство, такое как дисплейное устройство 16. Таким образом, оцененные движения пользователя, в том числе оцененные состояния кистей рук, могут быть преобразованы в команды для консоли 12 системы 10, с тем чтобы пользователь мог взаимодействовать с системой, как описано выше. Кроме того, описанные выше способ и процессы могут быть реализованы для определения оценок состояний любой части тела пользователя, например, рта, глаз и т.д. Например, положение части тела пользователя может быть оценено с использованием описанных выше способов.

Настоящая технология обеспечивает возможность для большого разнообразия взаимодействий с системой естественного пользовательского интерфейса, как, например, показано на фиг.1A-1C. Имеется широкий диапазон естественных взаимодействий, которые основаны на движениях кисти руки и пальцев или комбинируют как крупные движения тела, так и мелкие манипуляции кистями рук, которые желательны для создания новых распознанных жестов, большей интерактивности и захватывающих игр. Эти применения и взаимодействия включают в себя, но без ограничения, следующее:

Обеспечение позиций курсора с высокой точностью - посредством точного распознавания и отслеживания указывающего пальца пользователя система естественного пользовательского интерфейса может точно определить, куда пользователь указывает на экране в отношении позиционирования курсора (фиг.1B).

Нацеливание пальцев - в общем случае, точное распознавание и отслеживание пальца или пальцев пользователя может использоваться в любом множестве способов улучшения управления и взаимодействия с системой естественного пользовательского интерфейса и игровыми или другими прикладными программами, работающими с системой естественного пользовательского интерфейса. Распознавание различных конфигураций кистей рук может использоваться в качестве распознанных жестов, например, таких как, но без ограничения, счет на пальцах, палец вверх, палец вниз, знак "все в порядке", знак "рога" (указательный палец и мизинец вверх), знак "шака" ("hang loose"), знак "живи долго и процветай" из сериала Star Trek®, единственный поднятый палец и другие. Каждый из них может использоваться для управления взаимодействием пользовательского интерфейса.

Виртуальные кнопки (с осязаемой обратной связью) - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам использовать множество виртуальных кнопок, дополнительно улучшающих восприятие естественного пользовательского интерфейса.

Управление большим пальцем - посредством восприятия ориентации и надежного обнаружения большого пальца руки кисть руки может действовать как контроллер - ориентация большого пальца управляет ориентацией контроллера, прижимание большого пальца к кисти руки распознается как нажатие кнопки.

Зажим для выбора - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам использовать движение зажима между большим и другим пальцем для воздействия на некоторую функцию управления или метрику прикладной программы.

Одно или несколько направлений пальцев - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам использовать относительные позиции пальцев как управляющую метрику или выполнять некоторую другую метрику прикладной программы.

Письмо, рисование, лепка - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам интерпретировать пользователя, держащего перо или кисть, и то, как им образом это перо или кисть движутся при движении отдельных пальцев. Распознавание таких движений дает пользователю возможность формировать буквы, рукописный текст, "лепить" и/или рисовать изображения.

Печатание - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам выполнять движения печати, которые интерпретируются системой естественного пользовательского интерфейса или прикладной программой как нажатия клавиш на виртуальной клавиатуре для ввода символа и слова на экране или обеспечить управляющую или прикладную информацию системе естественного пользовательского интерфейса или прикладной программе.

Отслеживание вращений кистями рук - точное распознавание и отслеживание отдельных пальцев позволяет прикладным программам точно идентифицировать вращение кистями рук.

Управление куклой - отображение скелета пальцев на систему управления кукольной анимации. В качестве альтернативы, отображение скелета пальцев может использоваться для непосредственного управления виртуальным объектом в такой же форме, в какой управляется физическая марионетка на физической веревке.

Вращение круглой рукоятки или открывание кодового замка - точное распознавание и отслеживание отдельных пальцев позволяет пользователю выбирать и вращать виртуальную круглую рукоятку или открывать виртуальный кодовый замок. Такой кодовый замок может использоваться для обеспечения или запрещения доступа для защиты сетевых или сохраненных ресурсов.

Стрельба из оружия - использование обнаружения пальцев и кисти руки в качестве контроллера оружия - указательный палец определяет цель, и большой палец нажимает кнопку для выстрела.

Жест щелчка - обнаружение и использование жеста щелчка пальцами в воздухе для виртуального взаимодействия.

Жест открытой ладони - использование открытой ладони для отображения изображения карты, означающее модальное изменение между точкой зрения первого лица и третьего лица. Указательный палец может использоваться на открытой ладони (подобно мыши или пальцу на сенсорном экране) для прокрутки и перемещения через виртуальное пространство.

Управление ногами - использование указательного и среднего пальцев (с обращенной вниз кистью руки) для управления ногами персонажа с изображением бега, прыжков или ударов. Этот жест может быть объединен с жестом открытой ладони, чтобы обозначить модальное изменение между взаимодействиями всего тела и пользовательским интерфейсом или навигацией. Например, в сюжетной игре с активными действиями игрок может использовать управление всем телом для участия в боевых действиях, затем использовать жест открытой ладони, чтобы переключиться на изображение карты, и использовать указательный и средний пальцы для изображения бега по местности.

Предусматриваются другие взаимодействия пальцев и кистей рук.

Фиг.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 включается.

Графический процессор (GPU) 608 и видео-кодер/видео-кодек (кодер/декодер) 614 образуют конвейер обработки видеоинформации для высокоскоростной обработки графики с высоким разрешением. Данные переносятся от графического процессора 608 на видео-кодер/видео-кодек 614 через шину. Конвейер обработки видеоинформации выдает данные на аудио/видео (A/V) порт 640 для передачи на телевизор или другой дисплей. Контроллер 610 памяти соединен с графическим процессором 608 для обеспечения доступа процессора к памяти 612 различных типов, такой как, но без ограничения, оперативное запоминающее устройство (ОЗУ; 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, кабельный модем и т.п.

Системная память 643 обеспечена для хранения данных прикладных программ, которые загружаются во время процесса загрузки. Обеспечен дисковод 644, который может содержать дисковод DVD/CD дисков, накопитель на жестком диске или другой дисковод для сменных носителей и т.д. Дисковод 644 может быть внутренним или внешним по отношению к мультимедийной консоли 600. Посредством мультимедийной консоли 600 через дисковод 644 можно получить доступ к данным прикладной программы для исполнения, воспроизведения и т.д. Дисковод 644 соединен с контроллером 620 ввода-вывода через шину, такую как шина интерфейса Serial ATA или другое высокоскоростное соединение (например, соединение стандарта IEEE 1394).

Контроллер 622 управления системой обеспечивает множество служебных функций, связанных с гарантией доступности мультимедийной консоли 600. Блок 623 обработки аудиоинформации и аудио-кодек 632 образуют соответствующий конвейер обработки аудиоинформации с высокой точностью и обработкой стерео. Звуковые данные переносятся между блоком 623 обработки аудиоинформации и аудио-кодеком 632 через линию связи. Конвейер обработки аудиоинформации выдает данные на порту 640 A/V для воспроизведения посредством внешнего аудиопроигрывателя или устройства, имеющего возможности воспроизведения звука.

Подсистема 630 ввода-вывода передней панели поддерживает функциональные возможности кнопки 650 включения питания и кнопки 652 выброса, а также любые светодиоды (LED) или другие индикаторы, представленные на внешней поверхности мультимедийной консоли 600. Системный модуль 636 источника питания обеспечивает электропитание компонентам мультимедийной консоли 600. Вентилятор 638 охлаждает схемы в пределах мультимедийной консоли 600.

Центральный процессор 601, графический процессор 608, контроллер 610 памяти и различные другие компоненты в пределах мультимедийной консоли 600 связаны между собой через одну или более шин, в том числе последовательные и параллельные шины, шину памяти, шину периферийных устройств и процессорную или локальную шину с использованием любой из множества шинных архитектур. В качестве примера такая архитектура может включать в себя шину соединения периферийных устройств (стандарт PCI), шину стандарта PCI-Express и т.д.

Когда мультимедийная консоль 600 включается, данные прикладной программы могут быть загружены из системной памяти 643 в память 612 и/или кэши 602, 604 и исполнены на центральном процессоре 601. Прикладная программа может предоставить графический пользовательский интерфейс, который обеспечивает единообразный пользовательский интерфейс при навигации по информационному содержанию различных видов, доступному на мультимедийной консоли 600. При работе прикладные программы и/или другое информационное содержание, содержащиеся в дисководе 644, могут быть запущены или воспроизведены с дисковода 644 для обеспечения дополнительных функциональных возможностей мультимедийной консоли 600.

Мультимедийную консоль 600 можно использовать как автономную систему посредством простого соединения системы с телевизором или другим дисплеем. В этом автономном режиме мультимедийная консоль 600 позволяет одному или более пользователям взаимодействовать с системой, смотреть кино или слушать музыку. Однако при интеграции широкополосной связи, доступной через сетевой интерфейс 624 или адаптер 648 беспроводной связи, мультимедийную консоль 600 также можно использовать в качестве компонента большего сетевого сообщества.

Когда мультимедийная консоль 600 включается, установленное количество аппаратных ресурсов резервируется для системного использования операционной системой мультимедийной консоли. Эти ресурсы могут включать в себя резервирование памяти (например, 16 МБ), циклы центрального процессора и графического процессора (например, 5%), ширину сетевой полосы пропускания (например, 8 КБ) и т.д. Поскольку эти ресурсы резервируются во время загрузки системы, зарезервированные ресурсы не существуют с точки зрения прикладной программы.

В частности, резервирование памяти предпочтительно является достаточно большим, чтобы содержать ядро запуска, параллельные системные прикладные программы и драйверы. Резервирование центрального процессора является предпочтительно постоянным, поэтому если зарезервированная загрузка центрального процессора не используется системными прикладными программами, неактивный поток будет потреблять любые неиспользованные циклы.

Что касается резервирования графического процессора, простые сообщения, сформированные системными прикладными программами (например, всплывающие окна), воспроизводятся посредством использования прерывания графического процессора, чтобы запланировать код для реализации всплывающего окна в оверлей. Объем памяти, требуемый для оверлея, зависит от размера области оверлея, и оверлей предпочтительно масштабируется в зависимости от разрешающей способности экрана. Когда параллельной системной прикладной программой используется полный пользовательский интерфейс, предпочтительно использовать разрешающую способность, независимую от разрешающей способности прикладной программы. Делитель частоты может использоваться для установления этой разрешающую способность таким образом, чтобы избавиться от необходимости изменять частоту и вызывать ресинхронизацию телевизионного сигнала.

После того, как мультимедийная консоль 600 загружена и системные ресурсы зарезервированы, исполняются параллельные системные прикладные программы для обеспечения системных функциональных возможностей. Системные функциональные возможности инкапсулированы во множестве системных прикладных программ, которые исполняются в зарезервированных системных ресурсах, описанных выше. Ядро операционной системы идентифицирует потоки, которые представляют собой системные потоки прикладных программ и потоки игровых прикладных программ. Системные прикладные программы предпочтительно планируются для выполнения на центральном процессоре 601 в предопределенные моменты времени и интервалы для обеспечения согласованного отображения системных ресурсов прикладной программе. Планирование должно минимизировать разрушение кэша для игровой прикладной программы, работающей на консоли.

Когда параллельной системной прикладной программе требуется аудиоинформация, обработка аудиоинформации планируется асинхронно с игровой прикладной программой из-за чувствительности по времени. Диспетчер прикладных программ мультимедийной консоли (описанный ниже) управляет уровнем аудиоинформации игровой прикладной программы (например, заглушает, ослабляет), когда системные прикладные программы являются активными.

Устройства ввода данных (например, контроллеры 642(1) и 642(2)) совместно используются игровыми прикладными программами и системными прикладными программами. Устройства ввода данных не являются зарезервированными ресурсами, но должны переключаться между системными прикладными программами и игровой прикладной программой таким образом, чтобы каждая из них будет иметь фокус ввода устройства. Диспетчер прикладных программ предпочтительно управляет переключением входного потока, не зная о том, какой информацией располагает игровая прикладная программа, и драйвер поддерживает информацию состояния относительно переключения фокуса ввода. Камеры 26, 28 и устройство 20 захвата могут определять дополнительные устройства ввода данных для консоли 600.

Фиг.19B иллюстрирует другой иллюстративный вариант воплощения вычислительной среды 720, которая может представлять собой вычислительную среду 12, показанную на фиг. 1A-2, используемую для интерпретации одного или более положений и движений в системе распознавания, анализа и отслеживания цели. Среда 720 вычислительной системы является только одним примером подходящей вычислительной среды и не предназначена для введения какого-либо ограничения относительно объема или функциональных возможностей раскрываемой сущности изобретения. Никто не должен интерпретировать вычислительную среду 720 как имеющую какую-либо зависимость или требования, относящиеся к любому одному компоненту или комбинации компонентов, показанных в иллюстративной среде 720. В некоторых вариантах воплощения различные изображенные вычислительные элементы могут включать в себя схему, выполненную в возможностью реализовывать конкретные аспекты настоящего раскрытия. Например, термин "схема", используемый в раскрытии, может включать в себя специализированные аппаратные компоненты, выполненные с возможностью выполнять функцию (функции) посредством встроенного программного обеспечения или переключателей. В других приведенных в качестве примера вариантах воплощения термин "схема" может включать в себя процессор общего назначения, память и т.д., выполненные посредством программных команд, которые воплощают логическую схему, действующую для выполнения функции (функций). В иллюстративных вариантах воплощения, когда схема включает в себя комбинацию аппаратных средств и программного обеспечения, разработчик может написать исходный код, воплощающий логическую схему, и исходный код может быть скомпилирован в машиночитаемый код, который может быть обработан посредством процессора общего назначения. Поскольку специалист может понять, что область техники развилась до такого состояния, когда имеется мало различий между аппаратными средствами, программным обеспечением или комбинацией аппаратных средств/программного обеспечения, выбор между аппаратными средствами и программным обеспечением для совершения заданных функций представляет собой выбор конфигурации, оставленный разработчику. Более определенно, специалист в области техники может понять, что программный процесс может быть преобразован в эквивалентную аппаратную структуру, и аппаратная структура сама может быть преобразована в эквивалентный программный процесс. Таким образом, выбор между аппаратной реализацией и программной реализацией представляет собой выбор конфигурации и оставлен конструктору.

На фиг.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.

Компьютер 741 также может включать в себя другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных. Только в качестве примера фиг.19B иллюстрирует накопитель 738 на жестких дисках, который считывает или записывает на несменный энергонезависимый магнитный носитель, магнитный дисковод 739, который считывает или записывает на сменный энергонезависимый магнитный диск 754, и оптический дисковод 740, который считывает или записывает на сменный энергонезависимый оптический диск 753, такой как постоянное запоминающее устройство на компакт-диске (CD ROM) или другой оптический носитель. Другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут использоваться в иллюстративной среде, включают в себя, но без ограничения, кассеты магнитной ленты, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, полупроводниковое ОЗУ, полупроводниковое ПЗУ и т.п. Накопитель 738 на жестких дисках обычно соединен с системной шиной 721 через интерфейс несменной памяти, такой как интерфейс 734, и магнитный дисковод 739 и оптический дисковод 740 обычно соединяются с системной шиной 721 посредством интерфейса сменной памяти, такого как интерфейс 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 периферийных устройств вывода.

Компьютер 741 может работать в сетевом окружении, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 746. Удаленный компьютер 746 может являться персональным компьютером, сервером, маршрутизатором, сетевым персональным компьютером, одноранговым устройством или другим общим сетевым узлом и обычно включает в себя многие или все элементы, описанные выше относительно компьютера 741, хотя на фиг.19B было проиллюстрировано только устройство 747 памяти. Логические соединения, изображенные на фиг.19B, включают в себя локальную сеть 745 и глобальную сеть 749, но также могут включать в себя другие сети. Такие сетевые среды являются обычным явлением в офисах, в компьютерных сетях масштаба предприятия, в интрасетях и в Интернете.

При использовании в среде локальной сети компьютер 741 соединен с локальной сетью 745 через сетевой интерфейс или адаптер 737. При использовании в среде глобальной сети компьютер 741 обычно включает в себя модем 750 или другое средство для установления связи по глобальной сети 749, такой как Интернет. Модем 750, который может быть внутренним или внешним, может быть соединен с системной шиной 721 через интерфейс 736 пользовательского ввода или другой соответствующий механизм. В сетевом окружении программные модули, изображенные относительно компьютера 741, или их части могут храниться в удаленном запоминающем устройстве. В качестве примера, но не ограничения, фиг.19B иллюстрирует удаленные прикладные программы 748 как находящиеся в устройстве 747 памяти. Следует понимать, что показанные сетевые соединения являются иллюстративными, и могут быть использованы другие средства установления линии связи между компьютерами.

Предшествующее подробное описание системы согласно изобретению было представлено в целях иллюстрации и описания. Не предполагается, что оно является исчерпывающим или ограничивает систему согласно изобретению точной раскрытой формой. Много модификаций и изменений возможны в свете описанной выше идеи. Описанные варианты осуществления были выбраны для наилучшего объяснения принципов системы согласно изобретению и ее практического применения, чтобы тем самым обеспечить возможность для специалистов в данной области техники наилучшим образом использовать систему, отвечающую изобретению, в различных вариантах осуществления и с различными модификациями, подходящих для конкретного рассматриваемого использования. Подразумевается, что объем изобретения определяется приложенной формулой изобретения.

Реферат

Изобретение относится к области формирования компьютерной модели целевого пользователя, включающей в себя модель кистей руки и пальцев пользователя, захваченной посредством датчика изображения в системе естественного пользовательского интерфейса. Технический результат заключается в повышении точности распознания и отслеживания тела пользователя, включая позиции пальцев и кистей рук. Технический результат достигается за счет формирования модели кисти руки пользователя, включающей в себя один или более пальцев, посредством извлечения дескриптора для извлечения данных кисти руки. 2 н. и 15 з.п. ф-лы, 23 ил.

Формула

1. Способ формирования модели кисти руки пользователя, включающей в себя один или более пальцев, содержащий этапы, на которых:
(a) принимают данные позиции, представляющие позицию пользователя, взаимодействующего с датчиком, причем данные позиции включают в себя по меньшей мере одно из данных глубины и данных изображения, представляющих кисть руки пользователя; и
(b) анализируют данные позиции для идентификации кисти руки пользователя в данных позиции, причем этап (b) содержит этапы, на которых:
(b)(1) анализируют данные глубины из данных позиции, полученных на этапе (а), чтобы сегментировать данные позиции в данные кисти руки, и
(b)(2) извлекают набор дескрипторов признака посредством применения одного или более фильтров к данным изображения кисти руки, идентифицированной на этапе (b)(1), причем эти один или более фильтров анализируют данные изображения кисти руки по сравнению с данными изображения за пределами границы кисти руки, чтобы различить признаки кисти руки, включающие в себя форму и ориентацию кисти руки.
2. Способ по п. 1, дополнительно содержащий этапы, на которых исполняют прикладную программу, принимающую команды через механизм считывания, и воздействуют на управляющее действие в прикладной программе на основе позиции кисти руки, идентифицированной на этапе (b).
3. Способ по п. 1, дополнительно содержащий этапы, на которых исполняют игровую прикладную программу, принимающую команды через механизм считывания, и воздействуют на действие в игровой прикладной программе на основе позиции кисти руки, идентифицированной на этапе (b).
4. Способ по п. 1, в котором этап (b)(1) содержит этап, на котором анализируют средние точки, построенные из данных изображения, для определения местоположения наилучшего возможного варианта кисти руки.
5. Способ по п. 4, в котором этап (b)(1) содержит этап, на котором анализируют наилучший возможный вариант кисти руки, чтобы определить наилучший возможный вариант центра кисти руки.
6. Способ по п. 1, в котором этап (b)(2) содержит этапы применения классификатора пикселей, содержащий этапы, на которых:
выбирают пиксели в пределах границы дескриптора формы кисти руки,
строят прямоугольник заранее определенного размера вокруг каждого пикселя, причем каждый прямоугольник строится в плоскости дескриптора формы,
определяют точки пересечения с каждым прямоугольником, в которых данные изображения переходят между точкой переднего плана и фоновой точкой, и
идентифицируют кисть руки и пальцы из анализа точек пересечения каждого прямоугольника для каждого исследуемого пикселя.
7. Способ по п. 1, в котором этап (b)(2) содержит этапы применения фильтра анализа кривизны, содержащий этапы, на которых:
выбирают пиксели вдоль границы дескриптора формы кисти руки,
исследуют множество пикселей, окружающих выбранный пиксель, и присваивают выбранному пикселю значение, указывающее, какой окружающий пиксель также находится вдоль границы дескриптора формы,
преобразовывают значения в углы и контуры вокруг кисти руки, включающие в себя пики и впадины, и
определяют, какие из пиков представляют пальцы кисти руки.
8. Способ по п. 1, в котором этап (b)(2) содержит этапы применения фильтра гистограммы, содержащий этапы, на которых строят гистограмму расстояний между множеством точек в дескрипторе формы и устройством, захватывающим данные изображения.
9. Система для формирования модели кисти руки пользователя, включающей в себя один или более пальцев, при этом система включает в себя механизм считывания, функционально соединенный с вычислительным устройством, причем система содержит:
средство распознавания скелета для распознавания по меньшей мере части скелета пользователя из принятых данных, включающих в себя по меньшей мере одно из данных глубины и данных изображения;
средство сегментации изображения для сегментации одной или более областей тела в область, представляющую кисть руки пользователя; и
средство извлечения дескриптора для извлечения данных, представляющих кисть руки, включающую в себя один или более пальцев, и ориентацию кисти руки, при этом средство извлечения дескриптора применяет множество фильтров для анализа пикселей в области, представляющей кисть руки, причем каждый фильтр в этом множестве фильтров определяет позицию и ориентацию кисти руки, при этом средство извлечения дескриптора комбинирует результаты каждого фильтра для достижения наилучшей оценки позиции и ориентации кисти руки.
10. Система по п. 9, в которой упомянутое множество фильтров средства извлечения дескриптора включает в себя один или более фильтров, оптимизированных идентифицировать позицию и ориентацию кисти руки как контур относительно устройства, захватывающего принимаемые данные.
11. Система по п. 9, в которой упомянутое множество фильтров средства извлечения дескриптора включает в себя один или более фильтров, оптимизированных для идентификации позиции и ориентации кисти руки, когда она указывает по направлению к или от устройства, захватывающего принимаемые данные.
12. Система по п. 9, в которой упомянутое множество фильтров средства извлечения дескриптора включает в себя средство классификатора для анализа кисти руки как контура относительно механизма считывания, при этом средство классификатора выбирает пиксели в пределах области, представляющей кисть руки пользователя, строит прямоугольник заранее определенного размера вокруг каждого пикселя, где каждый прямоугольник строится в плоскости контура, определяет точки пересечения с каждым прямоугольником, в которых данные изображения переходят между точкой переднего плана и фоновой точкой, и идентифицирует кисть руки и пальцы из анализа точек пересечения каждого прямоугольника для каждого исследуемого пикселя.
13. Система по п. 12, в которой средство классификатора идентифицирует среднюю точку, представляющую кончик пальца, когда на прямоугольнике идентифицированы две точки пересечения и расстояние между точками пересечения является слишком малым, чтобы представлять ладонь.
14. Система по п. 13, в которой местоположение двух точек пересечения на одной и той же или на разных сторонах прямоугольника указывает ориентацию идентифицированного кончика пальца.
15. Система по п. 12, в которой средство классификатора идентифицирует среднюю точку, представляющую палец, когда на прямоугольнике идентифицированы четыре точки пересечения.
16. Система по п. 12, в которой средство классификатора идентифицирует среднюю точку, представляющую ладонь руки, когда на прямоугольнике идентифицированы две точки пересечения и расстояние между точками пересечения является слишком большим, чтобы представлять кончик пальца.
17. Система по п. 12, в которой упомянутый прямоугольник, построенный вокруг конкретного пикселя, представляет собой первый прямоугольник первого размера, при этом средство классификатора дополнительно строит вокруг этого конкретного пикселя второй прямоугольник второго размера, большего чем первый размер, для обнаружения условия, при котором пальцы руки находятся вместе друг с другом.

Патенты аналоги

Авторы

Патентообладатели

Заявители

СПК: A63F13/213 A63F13/428 A63F13/44 A63F13/812 A63F2300/1087 A63F2300/6045 A63F2300/6607 A63F2300/6615 G06F3/01 G06T7/20

Публикация: 2016-12-20

Дата подачи заявки: 2012-06-04

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам