Система для распознавания и отслеживания пальцев
Иллюстрации
Показать всеИзобретение относится к области формирования компьютерной модели целевого пользователя, включающей в себя модель кистей руки и пальцев пользователя, захваченной посредством датчика изображения в системе естественного пользовательского интерфейса. Технический результат заключается в повышении точности распознания и отслеживания тела пользователя, включая позиции пальцев и кистей рук. Технический результат достигается за счет формирования модели кисти руки пользователя, включающей в себя один или более пальцев, посредством извлечения дескриптора для извлечения данных кисти руки. 2 н. и 15 з.п. ф-лы, 23 ил.
Реферат
УРОВЕНЬ ТЕХНИКИ
В прошлом вычислительные прикладные программы, такие как компьютерные игры и мультимедийные прикладные программы, использовали контроллеры, пульты дистанционного управления, клавиатуры, мыши и т.п., чтобы позволить пользователям управлять игровыми персонажами или другими аспектами прикладной программы. Позже компьютерные игры и мультимедийные прикладные программы начали использовать камеры и программные механизмы распознавания жестов, чтобы обеспечить естественный пользовательский интерфейс ("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 сегментации изображения затем сегментирует остальную часть кисти руки, принимая во внимание масштабный коэффициент размера тела, определенный из оцененного скелета, а также разрывы глубины для идентификации границ.
В качестве другого примера, для идентификации областей изображения глубины, соответствующих кистям руки пользователя, может использоваться подход заливки. В подходе заливки изображение глубины может отыскиваться от начальной точки и в начальном направлении, например, начальная точка может представлять собой сустав запястья, и начальное направление может представлять собой направление от локтя до сустава запястья. Соседние пиксели в изображении глубины могут итерационно оцениваться на основе проекции на начальное направление в качестве способа предоставления предпочтения точкам, перемещающимся от локтя и к кончику кисти руки, в то время как ограничения постоянства глубины, такие как разрывы глубины, могут использоваться для идентификации границы или экстремальных значений кистей рук пользователя в изображении глубины. В некоторых примерах могут использоваться пороговые значения расстояния для ограничения поиска по карте глубины как в положительном, так и в отрицательном направлениях относительно начального направления на основе фиксированных значений, или, например, может использоваться масштаб на основе оцененного размера пользователя.
В качестве еще одного примера, ограничивающая сфера или другая подходящая ограничивающая форма, расположенная на основе скелетных суставов (например, запястья или суставов кончика кисти руки), могут использоваться для включения всех пикселей в изображении глубины вплоть до разрыва глубины. Например, по ограничивающей сфере можно двигать окно, чтобы идентифицировать разрывы глубины, которые могут использоваться для установления границы области кисти руки изображения глубины.
Способ ограничивающей формы также может использоваться для размещения ограничивающей формы вокруг центра ладони, который может быть итеративно идентифицирован. Один пример такого итеративного способа ограничения р