Разработка программной библиотеки распознавания паттернов двигательной активности в реальном времени
Автор: А.А. Канашкин
Источник: Статья из журнала Решетневские чтения
Т.2, 2015 г., стр. 177–178
Аннотация
Рассмотрена арихтектура программной библиотеки для распознавания жестов (паттернов) в реальном времени из видеопотока. Приводится пошаговый пример работы библиотеки. Предложены алгоритмы и комплект разработки, необходимые для реализации библиотеки. Подобная библиотека может применяться при создании механических систем для проведения работ в космосе.
Распознавание образов (объектов, сигналов, си- туаций, явлений или процессов) – это самая распро- страненная задача, которую человеку приходится ре- шать практически ежесекундно от первого до послед- него дня своего существования. Множество визуаль- ных образов в окружающем мире является наиболее объемным источником для человека.
Благодаря развитию технологий, перспектива обу- чить современные компьютеры распознаванию обра- зов становится реальностью. Это позволит человеку и компьютеру общаться на вполне естественном для человека языке образов и жестов.
Обучив машину распознаванию образов, возмож- но будет эмулировать бытовое общение между людь- ми. Сфера применения подобных технологий широка: начиная от систем, помогающих в ежедневных делах, заканчивая устройствами управления сложными сис- темами. Примером последнего может быть система, позволяющая космонавту, не выходя в открытый кос- мос, управлять механической рукой, работающей снаружи с инструментом.
В настоящее время подобные разработки ведутся такими корпорациями, как Microsoft (Handpose) [4], Intel (RealSense) [5] и многие другие разработчики.
Целью данной работы является разработка про- граммной библиотеки, способной считывать движе- ние руки пользователя и сопоставлять считанную ин- формацию с некоторым паттерном, который хранится в базе данных. Подобные системы необходимы при разработке программ с поддержкой человеко- машинных интерфейсов.
Необходимость этой работы обоснована тем, что разработчикам приходится сталкиваться с ограниче- ниями, накладываемыми поставщиками технологии и SDK, с необходимостью изучения особенностей их работы и использования. Предложена библиотека, спо- собная взять на себя задачу поддержки различных тех- нологий, а также предоставляющая инструменты для создания базы паттернов жестов для распознавания, необходимых конечному пользователю, в дополнение ко встроенным алгоритмам распознавания жестов.
Система в реальном времени получает данные с инфракрасного датчика, размещенного на расстоя- нии 0,4–0,8 м от пользователя, обычно, закрепленного на экране монитора или встроенного в панель ноутбу- ка. Полученные данные обрабатываются входным фильтром, преобразовываются в совместимый формат и направляются требуемому модулю.
Изначально данные с датчика при обработке каж- дого кадра представляют собой набор («отпечаток» – snapshot) трехмерных координат кончиков пяти паль- цев, центров ладони и кисти. На основе этих данных создается кинематическая модель руки: используя инверсную кинематику, строится и корректируется виртуальная моделей физической руки пользователя, в которой рассчитаны координаты остальных десяти точек (костей пальцев) [3].
После обработки кадра данные – координаты всех 17 костей – с виртуальной модели передаются распо- знавателю.
Распознаватель является совокупностью матема- тических алгоритмов, решающих задачу классификации набора данных. В его памяти хранится совокуп- ность пар «запись, класс»: запись – последователь- ность координат ключевых точек руки пользователя во времени, класс – уникальный идентификатор дан- ной последовательности (целое число, хеш-сумма, подсчитанная на этапе создания нового жеста). Алго- ритм во время своей работы принимает на входе об- работанный и приведенный к совместимому формату сигнал с инфракрасного датчика, относит данный сигнал к некоторому классу (либо ни к одному из них) и на выходе выдает следующий результат: класс жеста (0 в случае несоответствия ни одному из них) и степень соответствия.
В качестве распознавателя может использоваться алгоритм-классификатор, который:
- должен быть подвержен машинному обучению;
- способен обрабатывать матрицы со строками одинаковой размерности;
- способен обрабатывать матрицы различной длины.
Полученные с датчиков данные ни в коем случае не могут быть похожи друг на друга, даже если это два максимально идентичные друг другу движения. Алгоритм должен быть устойчив к колебаниям вход- ных данных в определенных диапазонах, обеспечивая при этом высокую точность распознавания. Добиться этого позволяет обучение алгоритма распознавателя на схожих примерах одного и того же движения, при- чем, чем больше будет повторений, тем выше будет точность.
В то же время, данные из видеопотока могут иметь различную длину: раньше/позже началась/закончи- лась запись, изменилась дискретность записи, доба- вились шумы и т. д.
В системе будут использоваться скрытые марков- ские модели (СММ/HMM) [1] и алгоритм Dynamic Time Warping (DTW) [2], так как они полностью соот- ветствуют данным требованиям. Планируется провес- ти исследование результатов работы алгоритмов с целью определения их поведения в различных ситуа- циях.
В качестве устройств ввода будет использоваться комплект Intel RealSense, оснащенный камерой глу- бины, способный записать в реальном времени, обра- ботать видеоизображения и создать в памяти компью- тера скелетную модель руки пользователя [3].
Разрабатываемая библиотека будет иметь возмож- ность переключения «на лету» между устройствами ввода, алгоритмами распознавания, их конфигура- циями и конкретными моделями распознавателей, обученных разными наборами данных.
Ссылки
- Wilson Andrew D., Bobick Aaron F. Hidden Markov Models for Modeling and Recognizing Gesture Under Variation. URL: http://research.microsoft.com/enus/um/people/awilson/publications/old/ijprai.pdf (accessed: 31.8.2015).
- Gillian Nicholas, Knapp R. Benjamin, O’Modhrain Sile. Recognition Of Multivariate Temporal Musical Gestures Using N-Dimensional Dynamic Time Warping. URL: http://www.nickgillian.com/papers/Gillian_NDDTW.pdf (accessed: 31.8.2015).
- Stan Melax, Leonid Keselman, Sterling Orsten Dynamics Based 3D Skeletal Hand Tracking // Graphics Interface Conference (29–31 May 2013, Regina, Saskatchewan, Canada). URL: http://lkeselman.com/wpcontent/uploads/2013/01/p63-melax.pdf (accessed: 8.31.2015).
- Microsoft Research Fully Articulated Hand Tracking. URL: http://research.microsoft.com/en-us/projects/handpose/ (accessed: 4.9.2015).
- Intel RealSense Overview. URL: http://www.intel.eu/content/www/eu/en/architecture-and-technology/realense-overview.html (accessed: 4.9.2015).