Обработка данных видеопоследовательности в режиме реального времени на основе иерархической временной сети

Научный вестник НГТУ. - 2012. - № 2

УДК 004.31

Обработка данных видеопоследовательности в режиме реального времени на основе иерархической временной сети*

Т.Т. НГУЕН, Ю.А. БОЛОТОВА, В.Г. СПИЦЫН

Представлена система распознавания жестов на видеопоследовательностях. Для обнаружения руки предложен модифицированный алгоритм Виолы-Джонса. Отслеживание руки на видеопоследовательности осуществляется на основе модифицированного метода CAMShift с анализом гистограмм в смешенном цветовом пространстве HSL и RGB. Для решения задачи распознавания жестов реализована сеть иерархической временной памяти. Результаты распознавания в среднем достигают 93,95 %.

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

ВВЕДЕНИЕ

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

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

Рис. 1. Алгоритм распознавания жестов на видеопоследовательности

* Получена 16 декабря 2011 г.

объекта для осуществления этапа распознавания. Предобработка включает в себя изменение размера изображения и выделение контура руки с помощью детектора краев Canny. После этого изображение подается на вход иерархической временной сети, где непосредственно проходит этап распознавания. Общая схема предложенной системы изображена на рис. 1.

1. ОБНАРУЖЕНИЕ РУКИ

Обнаружение руки на изображении является первоначальной задачей всех систем распознавания жестов. Существуют различные методы обнаружения. Все они могут быть сгруппированы в две основных категории: методы, основанные на анализе внешних признаков объекта (Vision-based approach), и методы на основе трехмерной модели руки (3-D hand model based approach) [1]. В первую категорию входят методы, в которых используются такие признаки, как цвет кожи [2-4], форма руки [5, 6], локальные признаки [7, 8], оптический поток [9, 10].

Методы на основе цвета кожи дают высокую скорость выполнения и могут работать в реальном времени, но результат их работы в большей степени зависит от изменения освещения и наличия близких по цвету к цвету кожи посторонних объектов. Методы, основанные на анализе формы руки и локальных признаков, также работают достаточно быстро, но на сложном фоне эти методы не осуществляют точное обнаружение. Оптический поток позволяет обнаружить только движущийся объекты. Методы на основе 3-Э-моделей обеспечивают большую степень свободы (можно обнаруживать и одновременно распознавать различные формы руки), но эти методы требуют огромного количества вычислений и большую базу данных для того, чтобы охватить все позы руки.

В настоящее время метод Виолы-Джонса с использованием признаков Хаара и каскадного AdaBoost классификатора [11] для обнаружения человеческих лиц считается одним из лучших алгоритмов для таких задач. Метод Виолы-Джонса был разработан для задачи обнаружения человеческих лиц на изображении. Главное преимущество этого метода состоит в его высокой скорости выполнения и точности обнаружения. В данной работе мы модифицируем детектор Виолы-Джонса с использованием нового набора признаков Хаара для обнаружения руки в видеопотоке в режиме реального времени. В традиционном методе Виолы-Джонса (и в модифицированном Lienhard и Maydt детекторе) применяется набор признаков, указанный на рис. 2, а. В данной работе мы применяем новый набор признаков, предложенный Kolsch M. и Turk M [12] (рис. 2, б).

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

Признаки края

ш нФФ

(а) (Ъ) (с) (d) Признаки линии

Признаки центра  ф

ПНПЭгЧ]

a б в

ЕШИ 0 I <*>#<*%

г

а

б

Рис. 2. Набор признаков Хаара: а - признаки, используемые в традиционной модели; б - признаки, используемые авторами статьи

Если интересуемый объект обнаружен, то детектор кулака отключится. В противном случае детектор кулака включится для обнаружения присутствия руки на кадре.

Для обучения первого детектора (каскадного классификатор AdaBoost) мы использовали 1300 позитивных изображений (изображения ладони человеческой руки) размером 20x20 пикселей и 1000 негативных изображений (без объекта). Для второго детектора - 1000 позитивных изображений и 1000 негативных изображений размером 24x24 пикселя. Части базы изображений для обучения указаны на рис. 3.

а б

Рис. 3. Примеры изображений для обучения детекторов: а - позитивные изображения; б - негативные изображения

2. ОТСЛЕЖИВАНИЕ ПОЛОЖЕНИЯ РУКИ В ВИДЕОПОТОКЕ

Методы отслеживания объектов на видеопоследовательностях могут быть разделены на три большие группы: слежение на основе точек (point tracking), слежение с использованием ядра (kernel tracking) и слежение за контуром (silhouette tracking) [13]. Из-за того что форма руки может резко изменяться на кадрах, слежения на основе точек и контуров не подходят для решения данной задачи. В данной работе мы применили метод трекинга на основе метода CAMShift с использованием цветовых признаков. Общая схема работы метода указана на рис. 4.

Как только произошел захват руки на кадре, ее положение и размер используются для инициализации поискового окна, содержащего ладонь. Вычисляются две гистограммы: HM -гистограмма внутри найденного окна, HI - гистограмма целого изображения. Брадски [14] предложил использовать H-компонент цветового пространства HSV для построения гистограммы. В данной работе цветовые пространства RGB и HSL используются для сравнивания эффективности алгоритма трекинга. Из двух выше построенных гистограмм вычислена «гистограмма вероятности цветов» (color probability histogram) по формуле [14]:

P = min

( HMt ^

1 Hl

Здесь Р^ - i-й компонент гистограммы вероятности цветов; HMi - компонент гистограммы модели; HIi - компонент гистограммы целого кадра.

Если заменить каждый пиксель входного изображения соответствующим значением Pi, получим «изображение вероятности» (probability image), представленное на рис. 5.

Задание начального поискового окна

\ /

Зада обрабо обл ние танной асти

Л

В модуль распознавания

Вычисление гистограмм

Построение изображения «вероятностей»

Центрирование поискового окна на центре масс

Определение центра масс внутри поискового окна

Рис. 4. Общая схема алгоритма трекинга

' Г, '

¡0,

а б

Рис. 5. Изображение вероятности: а - инициализация для алгоритма; б - вычисленное изображение вероятности

Для каждого последовательного входного кадра алгоритм повторно вычисляет «центр масс» в обработанной области вокруг предыдущего центра масс в изображении вероятности по формуле (1) и перемещает поисковое окно в это новое положение. Для того чтобы избежать «вечного» вычисления центра масс, алгоритм прекращает работу после заданной итерации, либо когда изменение центра масс оказывается меньше, чем определенный порог:

(

(, Ус ) =

м10 м,

01

Л

V м 00

м,

00

M оо = Ц I (x, y),

x y

мю =ЕЕ х1 (х, у),

х у

м 01 =ЕЕ у1 (х, у).

х у

Здесь (хс, ус) - координаты центра масс; I (х, у)- интенсивность пикселя (х, у) изображения вероятности; М00 , Мю , М01 - нулевой момент, первый момент по направлению х, первый момент по направлению у, соответственно.

Зная стабильный центр масс, можно вычислить размер текущего поискового окна (где находится отслеживаемый объект) по формулам [14]:

h =

(a + c) + V b2 + (a - c)2

2

w =

(a + c) -tJb2 + (a - c)2

2

M11 =ZZxyI(x,y), M20 =SZx2I(x, y), M02 =SZУ21 (x,У),

x y x y x y

M 20 M 00

b = 2

M11

m 00

cyc

c = M02 _ y2,

M00

где (хс, ус) - координаты центра масс; I(х, у) - интенсивность пикселя (х, у) изображения вероятности; h - высота поискового окна; м> - ширина поискового окна. Результат работы алгоритма слежения приведен на рис. 6.

Рис. 6. Результат работы алгоритма слежения

3. РАСПОЗНАВАНИЕ ОБРАЗОВ С ПОМОЩЬЮ ИЕРАРХИЧЕСКОМ ВРЕМЕННОЙ СЕТИ

a

x

— x

Перед тем как начать распознавание, найденные на предыдущем этапе изображения руки проходят предобработку. Сначала изображение переводится в оттенки серого, обрезается до наибольшего квадрата и уменьшается до размера 32*32 пикселя, после чего подается на анализ детектору краев Canny. Детектор Canny был выбран, так как показал лучшие результаты выделения границ на изображениях по сравнению с фильтрами Габора и детектором Собеля.

Для распознавания было взято три категории жестов, используемых в одноименной детской игре: «Камень, ножницы, бумага». Примеры предобработанных изображений с выделенными границами приведены на рис. 7.

щ fi  п ¡4 fjt  я

Ш  С, г: г г \ \ 1 / > t

С ЗЛ П 9 Г ш ч

Бумага Камень Ножницы

Рис. 7. Обнаруженные детектором Canny контуры руки

Для решения задачи распознавания образов используется модель иерархической временной памяти. Эта модель является относительно новым и перспективным направлением в области распознавания образов [15]. Процесс распознавания происходит в ней на основе анализа временных зависимостей, следовательно, модель подходит для работы с видеопоследовательностями. Кроме того, в ней анализируется иерархическое строение контуров изучаемых объектов. Анализ рис. 7 показывает, что контуры различных категорий распознаваемых объектов значительно различаются.

Построенная по данной модели сеть состоит из двух уровней. Нижний уровень состоит из решетки 8*8 узлов, верхний уровень - из одного узла. Входное изображение, размером 32*32 пикселя подается на вход сети. За каждым узлом нижнего уровня закреплена определенная часть входного изображения, с которой он получает на вход вектор значений, равный области 4*4 пикселя. Входной вектор для узла верхнего уровня формируется путем конкатенации выходных векторов всех узлов предыдущего уровня (рис. 8).

Такая конфигурация сети показала наилучшие результаты на задаче распознавания символов [16].

Сеть может работать в двух различных режимах: обучения и тестирования. Обработка и анализ данных происходят в узлах сети. На этапе обучения и тестирования на вход каждому узлу подается вектор. Узлы первого уровня получают вектор признаков определенной области

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

Обучение каждого узла происходит в два этапа. Каждый узел уровня 1 получает на вход патч 4*4 пикселя закрепленной за ним области исходного изображения (в данном случае граничные пиксели изображения), преобразуемый в одномерный вектор размерности 16. На первом этапе уникальные входные векторы признаков (пространственные центры) сохраняются в узле в неизменном виде. Чтобы избежать переполнения памяти, ограничивается максимальное число сохраняемых центров п и степень минимального различия центров ^ Таким образом, запоминается пространственное расположение пикселей на изображении (рис. 9).

Рис. 9. Сохранение в узле уникальных пространственных центров сь.. сп

После того как вся обучающая выборка была подана на вход сети и в узле были сформированы пространственные центры, начинается второй этап обучения узла: формирование временных групп.

Зрительное восприятие является динамическим процессом, при котором каждый раз на сетчатку глаза попадает смещенное относительно предыдущего изображение [17]. Из этого факта можно сделать предположение, что кадры, следующие друг за другом, являются составными частями одного объекта.

В одну временную группу g объединяются пространственные центры, часто следующие друг за другом на входе сети (рис. 10). Для этого во время формирования пространственных центров отслеживаются порядок и частота следования центров друг за другом. Помимо объединения пространственных центров во временные группы, на этом этапе осуществляется формирование матрицы Р(С^), столбцы которой соответствуют пространственным центрам, а строки - сформированным временным группам [18]. Если какой-либо из центров С1 не содержится в группе gj, то на пересечении соответствующего столбца и строки матрицы Р(с^) стоит «0», иначе этот элемент матрицы содержит относительную нормированную вероятность, рассчитываемую по формуле

РЫ*) = ^^ ,

I / (ск^]) ¿=1

где f(ci | gj) - частота появления центра ci во входном сигнале, при условии, что он входит в группу я,.

Рис. 10. Сформированные пространственные центры и временные группы в узле

Формирование матрицы Р(С| О) является заключительным этапом обучения узла. После того как все узлы текущего уровня были обучены, сеть снова переходит в режим тестирования.

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

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

Лу = е , у = 1..^,

где Бу - расстояние Хэмминга между входным вектором и у-м пространственным центром; с - минимальное расстояние между двумя векторами, представляющими один и тот же центр.

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

Для выбора временной группы полученный вектор умножается на матрицу РСО [18]:

N0

М ) =1 Р(сЛЯг ) У (с у ).

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

4. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ

Обучающая и тестовая выборки были созданы из видеопоследовательностей, снятых на камеру Logitech С210. Каждый кадр последовательности был переведен в оттенки серого, уменьшен до 32*32 пикселей, после чего с помощью детектора краев Canny были найдены границы руки. Обучающая выборка состояла из 1440 изображений, тестовая - из 1560 изображений. Результат распознавания жестов приведен в табл. 1.

Таблица 1

Результаты распознавания изображений по трем категориям

Тип выборки Кол-во изображений Время обучения Время распознавания Результат распознавания, % Средний % распознавания

Обучающая 1410 00:00:07 00:01:21 100 93,95 %

Тестовая 1560 00:01:29 87,9

Средняя скорость распознавания - 17 кадров в секунду. Результат распознавания на тестовой выборке - 100 %; на обучающей - 87,9 %.

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

Таблица 2а Таблица 2б

Обучающая выборка Тестовая выборка

Распознаны как / тип категории «0» «1» «2»

Камень (0) 342 0 0

Ножницы (1) 0 372 0

Бумага (2) 0 0 696

Распознаны как / тип категории «0» «1» «2»

Камень (0) 364 1 0

Ножницы (1) 14 389 0

Бумага (2) 154 20 618

Из табл. 2б можно заключить, что наибольшая ошибка возникла при распознавании «бумаги» как «камня». Это можно объяснить внешним относительным сходством этих двух категорий объектов. Однако не было ни одного случая, чтобы объекты, относящиеся к категории «камень», распознавались как «бумага». Возможно, ошибочные предположения сети возникают от того, что признаки, подающиеся на вход для обучения, выбраны не слишком удачно. В дальнейшем предполагается использовать другие признаки для подачи на вход сети.

ЗАКЛЮЧЕНИЕ

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

задаче распознавания жестов и показала хорошие результаты: средний процент распознавания достигает 93,95 % и скорость распознавания 17 кадров в секунду.

СПИСОК ЛИТЕРАТУРЫ

[1] Zhou H., Huang T. S. Tracking articulated hand motion with Eigen dynamics analysis // Proc. of the Intern. Conf. on computer vision, Nice (France), 2003. - V. 2. - P. 1102-1109.

[2] Wu Y., Huang T. S. Non-stationary color tracking for vision-based human computer interaction // IEEE Trans. Neural Networks, 2002. - V. 13. - № 4. - P. 948- 960.

[3] Manresa C., Varona J., Mas R., Perales F. J. Real time hand tracking and gesture recognition for human-computer interaction // Electron. Lett. Comput. Vision Image Anal, 2000. - P. 1-7.

[4] Mckenna S., Morrison K. A comparison of skin history and trajectory-based representation schemes for the recognition of user-specific gestures // Pattern recognition, 2004. - V. 37. - P. 999-1009.

[5] Chen F., Fu C., Huang C. Hand gesture recognition using a real-time tracking method and hidden Markov models // Image Vision Comput, 2003. - V. 21. - № 8. - P. 745-758.

[6] NG C. W., Ranganath S. Gesture recognition via pose classification // Proc. of the 15th Intern. conf. on pattern recognition, Barcelona (Spain), 2000. - V. 3. - P. 699-704.

[7] Oka K., Sato Y., Koike H. Real-time fingertip tracking and gesture recognition // Proc. IEEE. Comput. Graphics Appl, 2002. - V. 22. - № 6. - P. 64-71.

[8] Huang C., Jeng S. A model-based hand gesture recognition system // Machine Vision Appl., 2001. - V. 12. - № 5. -P. 243-258.

[9] Cutler R., Turk M. View-based interpretation of real-time optical flow for gesture recognition // Proc. of the 3rd IEEE conf. on face and gesture recognition, Nara (Japan), 1998. - P. 416-421.

[10] Lu S., Metaxas D., Samaras D., Oliensis J. Using multiple cues for hand tracking and model refinement // Proc. of the IEEE Conf. on computer vision and pattern recognition, 2003. - P. 443-450.

[11] Viola P., Jones M. Rapid object detection using a boosted cascade of simple features // IEEE Conf. on computer vision and pattern recognition, 2001. - P. 511-518.

[12] Kolsch M., Turk, M. Robust hand detection // Proc. Of the 6th IEEE Intern. Conf. on Automatic Face and Gesture Recognition, Seoul (Korea), May 2004. - P. 614-619.

[13] Alper Y., Omar J., Mubarak S. Object tracking: A Survey. ACM Computing Surveys (CSUR), 2006. - V. 38, Issue 4, Article № 13.

[14] Bradski G.R. Real time face and object tracking as a component of a perceptual user interface // Proceedings of the 4th IEEE Workshop on Applications of Computer Vision, New Jersey (USA), October 1998. - P. 214-219.

[15] George D., Jaros B. The HTM Learning Algorithms // numenta.com: сайт компании Нумента. 2006. URL: http://numenta.com/htm-overview/education/ Numenta_HTM_Learning_Algos.pdf (дата обращения: 14.02.2011).

[16] Болотова Ю.А., Спицын В.Г., Фомин А.Э. Анализ и оптимизация модели HTM для распознавания цифр // XVII Международный симпозиум «Оптика атмосферы и океана. Физика атмосферы»: Сборник трудов [Электронный ресурс]. Электрон. текстовые, граф. данные. - Томск: Изд-во ИОА СО РАН, 2011. - 1 электр. опт. диск CD-ROM.

[17] Физиология человека. Серия: учебная литература для студентов медицинских вузов / Под ред. В.М. Покровского, Г.Ф. Коротько. - Медицина, 2007. - 656 с.

[18] Болотова Ю.А., Спицын В.Г., Фомин А.Э. Применение модели «память - предсказание» для задачи распознавания образов // Проблемы информатики, спецвыпуск, 2011. - С. 129-135.

Нгуен Тоан Тханг, аспирант кафедры вычислительной техники института кибернетики Томского политехнического университета. Основное направление научных исследований - распознавания образов на видеопоследовательностях. Имеет более 10 публикаций. E-mail: : spvg@tpu.ru.

Болотова Юлия Александровна, аспирант кафедры вычислительной техники института кибернетики Томского политехнического университета. Основное направление научных исследований - распознавания символов, иерархически - временные модели. Имеет более 10 публикаций. E-mail: spvg@tpu.ru.

Спицын Владимир Григорьевич, доктор технических наук, профессор кафедры вычислительной техники института кибернетики Томского политехнического университета. Основное направление научных исследований - распространение волн в дискретных случайных средах; нейронные сети; генетические алгоритмы; обработка изображений; распознавание образов. Имеет более 200 публикаций. E-mail: spvg@tpu.ru.

T.T. Nguyen, Y.A. Bolotova, V.G. Spitsyn

Video sequence data processing in real time on the basis of a hierarchical temporary network

Real-time hand gesture recognition has found its importance in human-computer interaction. Many systems for realtime hand gesture recognition have been created using different approaches. This paper provides a new approach to build such a system using the state-of-art hierarchical-temporal dependencies. The expreriments have proved the effectiveness of the proposed method.

Key words: real-time hand gesture recognition, human-computer interaction, hierarchical-temporal dependencies, hand detection, hand tracking, pattern recognition.