СИСТЕМА ДЛЯ РАСПОЗНАВАНИЯ И ОТСЛЕЖИВАНИЯ ПАЛЬЦЕВ

1. Способ формирования модели кисти руки пользователя, включающей в себя один или более пальцев, содержащий этапы, на которых:
(a) принимают данные позиции, представляющие позицию пользователя, взаимодействующего с датчиком, причем данные позиции включают в себя по меньшей мере одно из данных глубины и данных изображения, представляющих кисть руки пользователя; и
(b) анализируют данные позиции для идентификации кисти руки пользователя в данных позиции, причем этап (b) содержит этапы, на которых:
(b)(1) анализируют данные глубины из данных позиции, полученных на этапе (a), чтобы сегментировать данные позиции в данные кисти руки, и
(b)(2) извлекают набор дескрипторов признака посредством применения одного или более фильтров к данным изображения кисти руки, идентифицированной на этапе (b)(1), причем эти один или более фильтров анализируют данные изображения кисти руки по сравнению с данными изображения за пределами границы кисти руки, чтобы различить признаки кисти руки, включающие в себя форму и ориентацию кисти руки.
2. Способ по п.1, дополнительно содержащий этапы, на которых исполняют прикладную программу, принимающую команды через механизм считывания, и воздействуют на управляющее действие в прикладной программе на основе позиции кисти руки, идентифицированной на этапе (b).
3. Способ по п.1, в котором этап (b)(1) содержит этап, на котором анализируют средние точки, построенные из данных изображения, для определения местоположения наилучшего кандидата кисти руки.
4. Способ по п.1, в котором этап (b)(2) содержит этапы применения классификатора пикселей, содержащий этапы, на которых:
выбирают пиксели в пределах границы дескриптора формы кисти руки,
строят прямоугольник заранее определенного размера вокруг каждого пикселя, причем каждый прямоугольник строится в плоскости дескриптора формы,
определяют точки пересечения с каждым прямоугольником, в которых данные изображения переходят между точкой переднего плана и фоновой точкой, и
идентифицируют кисть руки и пальцы из анализа точек пересечения каждого прямоугольника для каждого исследуемого пикселя.
5. Способ по п.1, в котором этап (b)(2) содержит этапы применения фильтра анализа кривизны, содержащие этапы, на которых:
выбирают пиксели вдоль границы дескриптора формы кисти руки,
исследуют множество пикселей, окружающих выбранный пиксель, и присваивают выбранному пикселю значение, указывающее, какой окружающий пиксель также находится вдоль границы дескриптора формы,
преобразовывают значения в углы и контуры вокруг кисти руки, включающие в себя пики и впадины, и
определяют, какие из пиков представляют пальцы кисти руки.
6. Система для формирования модели кисти руки пользователя, включающей в себя один или более пальцев, при этом система включает в себя механизм считывания, функционально соединенный с вычислительным устройством, причем система содержит:
средство распознавания скелета для распознавания по меньшей мере части скелета пользователя из принятых данных, включающих в себя по меньшей мере одно из данных глубины и данных изображения;
средство сегментации изображения для сегментации одной или более областей тела в область, представляющую кисть руки пользователя; и
средство извлечения дескриптора для извлечения данных, представляющих кисть руки, включающую в себя один или более пальцев, и ориентацию кисти руки, при этом средство извлечения дескриптора применяет множество фильтров для анализа пикселей в области, представляющей кисть руки, причем каждый фильтр в этом множестве фильтров определяет позицию и ориентацию кисти руки, при этом средство извлечения дескриптора комбинирует результаты каждого фильтра для достижения наилучшей оценки позиции и ориентации кисти руки.
7. Система по п.6, в которой упомянутое множество фильтров средства извлечения дескриптора включает в себя средство классификатора для анализа кисти руки как контура относительно механизма считывания, при этом средство классификатора выбирает пиксели в пределах области, представляющей кисть руки пользователя, строит прямоугольник заранее определенного размера вокруг каждого пикселя, где каждый прямоугольник строится в плоскости контура, определяет точки пересечения с каждым прямоугольником, в которых данные изображения переходят между точкой переднего плана и фоновой точкой, и идентифицирует кисть руки и пальцы из анализа точек пересечения каждого прямоугольника для каждого исследуемого пикселя.
8. Система по п.7, в которой средство классификатора идентифицирует среднюю точку, представляющую кончик пальца, когда на прямоугольнике идентифицированы две точки пересечения, и расстояние между точками пересечения является слишком малым, чтобы представлять ладонь.
9. Система по п.8, в которой местоположение двух точек пересечения на одной и той же или на разных сторонах прямоугольника указывает ориентацию идентифицированного кончика пальца.
10. Машиночитаемый носитель, не состоящий из модулированного сигнала данных, при этом машиночитаемый носитель имеет машиноисполняемые команды для программирования процессора на выполнение способа формирования модели кисти руки пользователя, включающей в себя один или более пальцев, для естественного пользовательского интерфейса, при этом способ содержит этапы, на которых:
(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) движение пальцами как ножницам для управления ногами виртуального персонажа.