Современные информационные технологии / 1. Вычислительная техника и программирование

Сапа Т.Ж., Жамбаева А.К.

Костанайский государственный университет им. А. Байтурсынова, Казахстан

Распознавание отдельных жестов рук человека с применением сенсора Kinect

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

Задача распознавание жеста руки касается двух сложных проблем: обнаружение руки и распознавания жеста, а именно: как надежно обнаружить руку и, как эффективно и точно определить жест руки.

На сегодняшний день распознаванием жестов рук занимаются огромное количество разработчиков, в том числе и с использованием датчика Kinect, который работает надежно в неконтролируемых условиях и нечувствителен изменению руки и искажениям. Такая популярность обеспечена тем что данный  проект включен в один из самых больших open source проектов для роботики - ROS. 

Таким образом, распознавание жестов рук и пальцев является на сегодняшний день актуальной научной задачей. В настоящее время проводится довольно много исследований по созданию методов распознавания образов, позволяющих бесконтактно взаимодействовать с компьютером посредством жестов рук. К ним можно отнести работы ряда ученых: Алфимцев А.Н., 2008; Шаои Ч. (Shaowei C.), 2011; Марака М. (Maraqa M.), 2012; Пижу Н. (Pugeault N.), 2011; Шотон Д. (Shotton J.), 2011; Ван Р.У. (Wang R.Y.), 2009; Сана А. (Sanna A.), 2012 и др. На основе разработанных методов созданы немногочисленные практические приложения, наиболее значимые из которых:

1) программные библиотеки Kinect SDK (Microsoft), OpenNI/NITE (PrimeSense), PMD SDK и SoftKinetic IISU для распознавания ключевых точек тела человека посредством применения трехмерных сенсоров;

2) сенсоры компаний LeapMotion, SoftKinetic для распознавания ключевых точек руки человека;

3) компьютерные приложения Flutter, PointGrab HGRS, XTR3D, EyeSight PC для управления компьютером посредством простых жестов рук.

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

Появление сенсора Kinect в 2010 году, первой камеры глубины доступной широкой аудитории, открыло широкие возможности для создания систем распознавания жестов, что чрезвычайно повысило актуальность задачи распознавания жестов с использованием камеры глубины [1]. А разработанное для Kinect программное обеспечение выполняет определения положений основных суставов тела человека [2].Однако в нем отсутствует механизм распознавания динамических жестов, более того данное программное обеспечение является закрытым, и для воспроизведения лежащего в его основе метода требуется большая база данных всевозможных поз человека для обучения классификатора.

Алгоритм, созданный специалистами исследовательского департамента Microsoft в Кембридже и команды Xbox Incubation, основан на анализе изображений, сделанных видеокамерой устройства. Согласно этому алгоритму Kinect изучает, насколько определённые свойства присущи тому или иному пикселу (например, его приблизительное местоположение), после чего с помощью разветвлённого дерева решений классифицирует его. Инфракрасные сенсоры позволяют определить глубину точек. В итоге каждый пиксел на изображении связывается с соответствующим «кусочком» реального тела. После того как пиксельный силуэт сформирован, определяется расположение суставов и «собирается» 3D-скелет. Сенсор запускает этот алгоритм 200 раз в секунду.

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

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

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

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

В статье коллектива авторов Zhou Ren, Jingjing Meng, Junsong Yuan, Zhengyou Zhang Robust Hand Gesture Recognition with Kinect Sensor предложена система, которая использует для обнаружения руки как карту глубины, так и цветное изображение, полученное с сенсора Kinect. Данная модель по словам авторов обеспечивает устойчивость к загромождённому фону, однако распознавания жестов, даже с датчиком Kinect, по-прежнему является очень сложной проблемой. Вся сложность заключается в том, что датчик хорошо работает для отслеживания больших объектов, например, человеческого тела, но обнаружить и точно сегментировать небольшой объект из изображения при таком разрешении, например, человеческая рука, которая занимает очень небольшую часть изображения весьма сложно. Многие разработчики утверждают, что при существующих алгоритмах четкость распознавания снижается при увеличении расстояния между объектом и сенсором Kinect [3]. 

Список литературы

1.        Kinect для Windows //  Официальный сайт http://www.xbox.com URL: http://support.xbox.com/ru-RU/browse/xbox-on-other-devices/kinect-for-windows.

2.        ChaLearn Gesture Dataset (CGD2011), ChaLearn, California, 2011. URL: http: //gesture. chalearn. org.

3.        Zhou Ren, Jingjing Meng, Junsong Yuan, Zhengyou Zhang. Robust Hand Gesture Recognition with Kinect Sensor //  URL: http://eeeweba.ntu.edu.sg/computervision/Research%20Papers/2011/Robust%20Hand%20Gesture%20Recognition%20with%20Kinect%20Sensor.pdf