Применение математических моделей для распознавания динамических процессов в условиях ограниченных вычислительных ресурсов

Применение математических моделей для распознавания динамических процессов... УДК 004.93’12

А. В. Кайгородов

Применение математических моделей для распознавания динамических процессов в условиях ограниченных вычислительных ресурсов

A. V. Kaygorodov

Mathematical Models for Dynamic Processes Recognition with Limited Computational Resources

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

Введение. В ходе развития истории предлагались прототипы, начиная от языка интерпретации знаков (sign language interpretation) [1] и заканчивая общими принципами распознавания жестов. Использование Wii Remote и Nunchuk в игровой консоли от Nintendo позволило сделать консоль очень популярной, особенно в области спортивных игр.

Проведенный анализ популярных математических моделей распознавания динамических жестов: скрытых марковских моделей [2], нейронных сетей [3], байесовых сетей [4], показал, что оценки вычислительной сложности распознавания жестов с помощью этих моделей зависят от квадрата числа состояний (СММ), нейронов (нейросети) или вершин (байесовы сети), используемых для распознавания, умноженных на число символов наблюдаемой последовательности. Вследствие этого с ростом данных величин практическое использование для распознавания жестов в реальном времени указанных моделей из-за высоких затрат процессорного времени и памяти компьютера становится невозможным.

Основные этапы распознавания жестов Сегментация. Большинство систем распознавания жестов используют сегментацию, основанную на нажатии кнопки (button-based segmentation), которая означает, что пользователь должен указать начало и конец жеста нажатием кнопки. Однако более естественным всё же будет использование систем сегментации без нажатия кнопки [5]. Роль сегментации заключается в определении части этого потока данных, где начинает происходить жест. Для того чтобы решить эту проблему, необходимо определить

This article touches main problems of dynamic processes recognition, and also analyzes and adapts some of recognition methods for using in limited computing resources. Investigated mathematic models (support vector machine and hidden Markov model) were adapted for applying in gesture recognition by devices with accelerometer.

Key words: рattern recognition, gestures, machine

learning, support vector machine, hidden Markov model,

optimization.

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

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

Hk =у1

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

EMAHk = aHk +

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

Скрытая марковская модель. Скрытая марковская модель (СММ) — это инструмент статистического моделирования, который может быть применен для моделирования временных рядов с пространственной и временной изменчивостью. Как было упомянуто ранее, она часто используется для распознавания жестов, но также имеет многочисленные приложения в распознавании речи [5].

Скрытые модели Маркова являются статистическим методом, характеризующим наблюдаемые образцы дискретных данных. Однако прежде чем использовать этот метод, необходимо решить три основные проблемы: проблема оценки, проблема декодирования и задача обучения. Марковская цепь задается начальным распределением вероятностей р°(х) и вероятностями перехода Т(х"; х). Т(х"; х) — это распределение следующего элемента в цепи в зависимости от предыдущего; распределение на ^ + 1)-м шаге равно

р +1(х 0 = ^ Т (хх)рі (х)йх.

матрица вероятностей выхода, где

В = {Ь; (к)} -

Ь (к) — вероятность появления символа Ок, в состоянии ] [6]:

Ь, (к) = Р( X( = Ок

Бі = і), 1 < ) < N,

1< і < Т, 1< к < М.

= {р} — распределение начальных состояний, где

р = Р

Так как есть величины-вероятности, то они должны отвечать следующим требованиям:

EN \—>М , \_

маи = ^° Е *=А

В дальнейшем будет использоваться запись вида

Ф = (А, В, р).

Кроме того, следует отметить разницу между дискретными СММ и непрерывными в функциях вероятностей выхода. Первым делом требуется переопределить функцию плотности Ъ ) (х), которая теперь становится классификатором [2]. Использовав гаус-сиан, получим:

ъ

где х -моделируемый вектор; к — вектор математического ожидания, вектор ковариации Е к-

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

В дискретном случае Т(х’; х) — это матрица вероятностей переходов между состояниями р(х"=/|х=/) [6].

Скрытые модели Маркова представляют собой набор состояний, связанный переходами [5]. Каждое состояние характеризуется двумя наборами вероятностей: вероятностью перехода и дискретным распределением вероятности выхода или функция плотности вероятности, которая, учитывая состояние, определяет условную вероятность появления входного символа из конечного алфавита или непрерывного случайного вектора. Формально СММ определяется:

О = {о1, о2,...,оМ } — алфавит на выходе. Наблюдаемые символы соответствуют физическим выходным данным моделируемой системы, в нашем случае трехмерный вектор со значением ускорения.

П = {1,2,N } — множество состояний, представляющих последовательность. Эти состояния являются скрытыми и для многих практических приложений, которые часто являются некоторыми физическими значениями, связанными с состоянием модели;

А = {ач} — матрица вероятностей перехода, где а у — вероятность перехода из состояния / в состояние ], т. е.:

п = р+1 = ¡|5

х = [ х(, У (, У } Вектор математического ожидания

т = [тх, ту, т,

Матрица ковариации

Е=

Ух

2

уу

2

Определитель матрицы ковариации:

Е

= а а а

XX уу г

+ а а2 а2 + а2 а2 а2 -

: хууггх хг ух гу

Формула обратной матрицы ковариации:

Е-1=

Е

а„ а у, - а у а,.

Е

Проблема оценки. Проблема оценки в СММ заключается в следующем: дана наблюдаемая последовательность х = х1 х2 ...хТ и модель Ф = (А,В,р). Как эффективно вычислить Р(х|Ф) — вероятность появления наблюдаемой последовательности?

1

Предположим, что значение переменной а ({) определено следующим образом:

а

т. е. вероятность наблюдения части последовательности х1х2 ...х(, начиная с состояния /, в момент времени t, для модели Ф. Можно найти а( ({) методом математической индукции:

а1

Индуктивно:

Ь (х+1)>

Решение:

Е ,=Л (і)а

у N

Р(х|Ф) = Е І=1°Т (І).

16

В общем-то в этой ситуации достаточно рассмотреть процедуру «вперед» для решения данной проблемы. Процедура «назад» будет частично применяться в разрешении проблемы обучения [6].

Аналогично написанному выше получим, что

Д

т. е. вероятность наблюдения части последовательности х(+1 х(+2 ...хт, начиная с состояния /, в момент времени t, для модели Ф. Можно найти аналогично методом математической индукции:

/3Т = 1,0, 1 < і < N.

Индуктивно:

3,

Т-1 > ґ > 1, 1 < і < N.

Проблема декодирования. Дана наблюдаемая последовательность х = х1х2 ...хт и модель Ф = (А, В, р), как выбрать надлежащую последовательность состояний Q = 5^...8Т, которая лучшим образом объясняет наблюдения?

Для того чтобы найти лучшую последовательность состояний Q для наблюдаемой последовательности х, требуется определить величину [5]:

6, () = -

-Р^Б, ...Б{ = і,хх2 ...х,| Ф),

61() = ріЬі (х1), ф1(і) = 0,1 < і < N .

Индуктивно:

6, (ї) =

1 <і< N

6,-1((>аї 1 ьі(х,);

у ({) = агЕтах1<^ КД { Н ],

2 < £ < Т, 1< ) < N.

Решение:

Р* = Йт

Откуда следует, что последовательность:

б; = ^м*), т-1 >, > 1.

Проблема обучения. Пожалуй, самая сложная проблема СММ заключена в определении метода для подстройки параметров модели (А,В,р) и увеличения сходства вероятности наблюдения последовательности с моделью. Так как можно наблюдать только конкретные последовательности, нет единого способа определения параметров модели. Однако можно выбрать Ф = (А,В,р), чтобы локально максимизировать Р(х|Ф), используя итеративные методы [5, 6]. Одним из них является алгоритм Баума-Велша.

Прежде чем начать описывать процесс переопределения (итеративного обновления и улучшения) параметров СММ, следует объявить X (,]) — вероятность нахождения в состоянии / в момент времени ? и состоянии /, в следующий момент времени t + 1 для исходной и наблюдаемой модели:

X,(,і) = Р(Б, = і,Б,+1 = і\х, Ф). Можно записать, как:

а

а,

Е

^2 $—

т. е. фактически наибольшую вероятность на протяжении всего наблюдения, начинающегося в момент t и заканчивающегося состоянием /. Для получения последовательности состояний следует отслеживать аргумент, который максимален для предыдущего значения величины д. Для этого потребуется переменная у ({):

Также следует объявить у( () — вероятность нахождения в состоянии I в момент времени t наблюдаемой последовательности и модели. Для этого достаточно суммировать X (,]) по/:

EN

Анализируя (28), можно выявить вспомогательные свойства:

Е Т-1 У‘ () — ожидаемое количество переходов из состояния г.

Е Т—1 (,}) — ожидаемое количество переходов

из состояния I в состояние/.

Зная смысл этих значений, можно вывести формулы переопределения параметров СММ:

{(Т, g )},i = u.,П

aj =

bj ( к ) =

P = уДО •

E. л

E ¡l-1 у м ‘

Z T=Y (J ) т.к. X, = ok

Z hr,

yt( j, k )--

а

|_Z Na (J )Pt (J )J Z M=1 C JmN ( X,, , Z Jm )_

Z U

Z t=iy

Z T=1 Y

•

Метод опорных векторов. Основная идея метода опорных векторов (далее — МОВ) — перевод исходных векторов в пространство более высокой размерности и поиск разделяющей гиперплоскости с максимальным зазором в этом пространстве. Две параллельных гиперплоскости строятся по обеим сторонам гиперплоскости, разделяющей наши классы [7, 8]. Разделяющей гиперплоскостью будет гиперплоскость, максимизирующая расстояние до двух параллельных гиперплоскостей. Алгоритм работает в предположении, что чем больше разница или расстояние между этими параллельными гиперплоскостями, тем меньше будет средняя ошибка классификатора. Чтобы использовать МОВ, необходимо преобразовать матрицы вида 3 х к в вектор фиксированной длины. Эти статистические данные описывают направление и динамику жеста. Для того чтобы данные по всем измерениям были равны, требуется применить г-нормализацию.

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

Предположим, что есть два жеста 01, 02, которые требуется классифицировать. Заметим, что обучающая выборка с количеством элементов п выглядит [7]:

где Т е Rd представляет вектор состояний жестов (39) и [6]

{+1, т явля ется G1 -1, т явля ется G2

Возникает проблема оптимизации нескольких элементов:

w и=2 z n,j=1 gi g jaiaj k

При: Z n=1 g a = 0,

0 < a < C, i = 1, ..., n,

где at — множитель Лагранжа; K (т , Т ) — функция-ядро.

Тогда классифицирующая функция будет иметь вид:

f

h

где ai, b — оптимальное решение.

Однако распознавание жестов подразумевает распознавание более двух жестов. Для этого требуется реализация многоклассового МОВ. Допустимым решением здесь будет приведение проблемы многоклассового распознавания к ряду проблем бинарного распознавания. Здесь применимы два метода для построения многоклассового классификатора: один-про-тив-одного (one-versus-one) и один-против-всех (one-versus-all) [8].

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

Библиографический список

1. Vogler C., Metaxas D. A framework for recognizing the si-multaneous aspects of American sign language // Computer Vision and Image Understanding. — 2001. — Vol. 81, № 3.

2. Pylv A. N. Ainen T. Accelerometer based gesture recognition using continuous HMMs // Lecture Notes in Computer Science (IbPRIA 2005 Proceedings). — 2005.

3. Tuulari E., Ylisaukko-Oja A. SoapBox: A platform for ubiquitous computing research and applications // Lecture Notes in Computer Science. — 2002. — Vol. 2414.

Rett J., Dias J. Gesture Recognition Using a Marionette Model and Dynamic Bayesian Networks // Lecture notes in computer science. — 2006. — Vol. 4142.

4. Hoffman F. G., Heyer P., Hommel G. Velocity profile based recognition of dynamic gestures with discrete hidden Markov models // Gesture and Sign Language in Human-Com-puter Interaction. — 1997.

5. Jiahui Wu, Gang Pan, Daqing Zhang, Guande Qi and Shijian Li. Gesture Recognition with a 3-D Accelerometer. — Springer-Verla; Berlin Heidelberg, UIC 2009. — LNCS 5585.

6. Bartlett P., Shawe-Taylor J. Generalization performance of support vector machines and other pattern classifiers // Advances in Kernel Methods. — Cambridge, 1998.

7. Burges C. J.C. Geometry and invariance in kernel based methods // Advances in Kernel Methods / Ed. by B. Scholkopf, C. C. Burges, A. J. Smola. — MIT Press, 1999.

8. Alon J., Athistos V, Yuan Q. and Sclaroff S. Simultaneous Localization and Recognition of Dynamic Hand Gestures // Proceedings of WACV M0TI0N’05. — Breckenridge, 2005. — Vol. 2.

8. Ong C. W., Ranganath S., Venkatesh Y. V. Understanding gestures with systematic variations in movement dynamics // Pattern recognition. — 2006. — Vol. 39, № 9.