Algorithm of hand gesture recognition based on skeleton model of hand


Cite item

Full Text

Abstract

The task of hand gesture recognition in the context of image is considered in this article. Hand segmentation method, based on analysis color skin in the YCrCb color model is used. Following terms are defined: “Topological skeleton of polygonal figure”, “radial function of topological skeleton”, “maximum empty circle”. Gestures recognition method based on the topological skeleton analysis and extraction essential for recognition features is offered. Center palm term is introduced and its calculation method based on the topological skeleton is offered. Moreover this article describes fingers origin and finger-tips coordinates calculation method based on the topological skeleton and its radial function value.

Full Text

В области машинного зрения одной из перспективных задач является задача распознавания жестов рук. О важности данной задачи говорит большое количество работ в данной области [1-5]. Практическое применение технологии распознавания жестов рук включает в себя приложения виртуальной реальности, распознавания языка глухонемых, человеко машинного взаимодействия и др. Задачу распознавания жестов можно разделить на два этапа: локализация кисти руки и распознавание образа жеста. Оба этапа являются сложными и трудоемкими задачами. В большинстве случаев жесты классифицируют на два типа: статические и динамические. Под статическим жестом понимается состояние ладони в определенный момент времени. Статические жесты иногда называют позами, их распознавание происходит на статическом изображении. Динамические жесты являются последовательностью статических жестов, и распознавание их происходит на видеопоследовательности. В данной статье рассматривается задача распознавания жестов кисти руки по статическому изображению. Для решения поставленной задачи в статье предлагается использовать метод сегментации, основанный на цветовой модели кожи, и метод распознавания, основанный на анализе формы кисти руки и выделении признаков, классифицирующих образ жеста. Анализ формы выполняется на основе непрерывного скелета. Скелет ладони позволяет анализировать направление жеста в пространстве, определить состояние пальцев (разжаты или сжаты в кулак). Инвариантные признаки являются дескрипторами формы ладони, позволяющими в быстрой степени производить поиск схожих жестов по имеющейся базе данных эталонных жестов. Предлагаемый алгоритм работает с силуэтом кисти руки, не учитывая текстуру ладони, 62 Математика, механика, информатика что позволяет распознавать жесты людей различных рас и работать с изображениями низкого качества, полученными с веб-камер или в условиях слабой освещенности. Сегментация по цвету кожи [6-8] представляет собой преобразование .RGB-изображения в другое цветовое пространство, в котором различные цвета кожи расположены близко друг к другу. Чем ближе цвета кожи лежат друг к другу, тем качественнее будет проведена сегментация. Лучшим для сегментации кожи является пространство YCrCb [6]. Переход в пространство YCrCb из пространства RGB осуществляется следующим способом: f Y f 0,299 0,587 0,114 > f R ' Cr = -0,169 -0,331 0,500 G l Cb ) ч 0,500 -0,419 -0,081) lB J где Y - яркостная компонента; Cr и Cb - хроматические компоненты. Уравнения линий, определяющих границы цвета кожи, представлены ниже: 220 - Cb Cr <-; 6 Cr < 4 Q - Cb); (2) Cr > 0,5Q - Cb), где Qi, Q2, Q3 и Q4 являются вспомогательными переменными, которые вычисляются по формулам 256 - Y 256 - Y Y > 128, Qi =-2 +-; Q2 =-20--; Q3 = 6; Q4 =-8; 16 16 (3) Y Y w Y < 128, Q1 = 6 ;Q2 = 12; Q3 = 2 +-; Q4 =-16 + -. I 32 16 В большинстве случаев после бинаризации на изображении образуются помехи в виде бинарного шума. Уменьшить их влияние можно путем применения к бинарному изображению морфологических операций «расширение» и «сужение». Данный метод сегментации находит области, имеющие цвет, схожий с цветом кожи. Его хорошо применять для локализации рук, лиц и т. д. Однако есть вероятность появления нежелательных объектов (стены, одежда и т. п.), имеющих подобный цвет. Результат работы данного алгоритма представлен на рис. 1. На основе бинарного изображения, полученного на этапе сегментации, можно построить скелет руки. Для определения скелета используется понятие максимального пустого круга. Определение 1. Для многоугольной фигуры F максимальным пустым кругом будем называть всякий круг B, полностью содержащийся внутри фигуры F, такой, что любой другой круг B', содержащийся внутри фигуры F, не содержит в себе B [1]. Используя понятие максимального пустого круга, определим скелет следующим образом. Cr > -2(Cb + 24); Cr >-4(Cb + 32); ■ Cr >-(Cb +17); Cr > 25(Cb + Q1); .Cr > Q3; Определение 2. Скелетом многоугольной фигуры F является множество центров ее максимальных пустых кругов. На скелете определена радиальная функция R(x, y), ставящая в соответствие каждой точке скелета (x, y) значение радиуса максимального пустого круга с центром в этой точке. Геометрически скелет многоугольной фигуры представляет собой граф, состоящий из вершин - точек на плоскости и ребер - линий, соединяющих некоторые пары вершин. Причем ребром этого графа может являться либо отрезок, либо дуга параболы [1]. Степень любой вершины в таком графе будет равна 1, 2 или 3. Существующие эффективные алгоритмы [1; 2] позволяют выполнять построение скелета за время O (N log N), где N - число вершин в многоугольнике. Построение скелета плоской фигуры подробно описано в статье [2]. В связи с тем, что скорость построения скелета напрямую зависит от количества углов многоугольной фигуры, для ускорения построения скелета можно применить аппроксимацию этой фигуры. Суть алгоритмов аппроксимации заключается в том, чтобы по заданной многоугольной фигуре получить другую фигуру с меньшим числом вершин. Наиболее популярным и быстрым в исполнении является алгоритм Дугласа-Пекера. Данный алгоритм с указанной точностью позволяет аппроксимировать ломаную или многоугольную фигуру. Алгоритм можно представить в виде нескольких шагов: Шаг 1. Вычисляется максимальное расстояние между вершинами исходной фигуры. Эти вершины помечаем как M и N. Шаг 2. Исходная фигура разбивается на две ломаные так, что первая и последняя вершина для каждой ломаной будет лежать на M и N. Шаг 3. Для каждой ломаной вычисляется максимальное расстояние от отрезка MN до вершины ломаной. Данное расстояние помечаем H, а вершину K. Шаг 4. Если H меньше или равно заданной точности E, то из текущей ломаной удаляем все вершины, лежащие между Ми N. Иначе для ломаных M...K и K... N повторяются аналогичные действия с шага 2 по шаг 4. На рис. 2 представлена демонстрация алгоритма Дугласа-Пекера и скелеты исходного и аппроксимированного изображения. Внешне исходное и аппроксимированное изображения практически идентичны. Однако контур исходного изображения имеет 74 вершины, а аппроксимированного - 25 вершин, при этом точность аппроксимации 2 пикселя. После построения скелета обычно выполняется его дополнительная обработка, называемая стрижкой [1], с целью удаления малозначимых и шумовых ветвей. Демонстрация процесса построения скелета представлена на рис. 3. Скелет ладони позволяет анализировать направление жеста в пространстве и определить состояние пальцев. Ключевыми точками скелета ладони будем 63 Вестник СибГАУ. № 2(54). 2014 называть точки начала и конца пальца и точку центра кисти руки. Каждый палец может принимать два условных состояния: сжатый в кулак или разжатый. Все ветви скелета, соответствующие пальцу, оканчиваются вершиной степени 1. Ветвь пальца можно разделить на две части: палец и пясть. Для классификации ветвей пальцев используется набор эвристических правил: 1. Ветвь пальца лежит на графе между вершинами со степенями 1 и 3. 2. Радиальная функция ветви на вершине степени 1 увеличивается более чем в 2,5 по сравнению с вершиной степени 3. 3. Радиальная функция начинает резко расти, т. е. частные производные R’ больше заданного порога (экспериментально было получено число 0,5). Первая точка на ветви, где производная радиальной функции превышает заданный порог, является точкой конца пальца. Центром ладони будем считать точку, лежащую на скелете ладони, радиальная функция которой принимает максимальное значение. На рис. 4 демонстрируется результат вычисления ключевых точек на изображении. Для распознавания простого, ограниченного набора жестов достаточно составить набор эвристических правил, основанных на следующих данных: количество пальцев, их длина, количество циклов в графе и их габариты. В более сложных случаях набора эвристических правил мало и для распознавания жестов применяются дескрипторы формы кисти руки, состоящие из определенных инвариантных признаков. Дескриптором кисти руки является вектор признаков, позволяющих с определенной точностью определить состояние руки. Дескриптор кисти руки должен быть инвариантен к масштабированию и вращению. Составляющие признаки дескриптора вычисляются из силуэта кисти руки, полученного на этапе сегментации и из его скелета. а б в Рис. 1. Результат сегментации изображения: а - исходное изображение; б - отсегментированное бинарное изображение; в - отсегментированное изображение а б в г Рис. 2. Скелеты исходного и аппроксимированного изображения: а - исходное изображение; б - скелет исходного изображения; в - аппроксимированное изображение; г - скелет аппроксимированного изображения 64 Математика, механика, информатика а б в Рис. 3. Процесс построения скелета: а - исходное изображение; б - скелет исходного изображения; в - скелет после стрижки а б Рис. 4. Определение ключевых точек: а - скелет исходного изображения; б - скелет и ключевые точки на нем На основе скелета и его ключевых точек определяется набор параметров: 1. Длина пальцев (длина ветки от начала до конца пальца). 2. Средняя толщина пальцев (среднее значение радиальной функции на ветке скелета, принадлежащей пальцу). 3. Направление пальцев (вектор, начало которого является концом пальца, а конец - началом пальца). 4. Длина циклов скелета. Распознавание жестов представляет собой поиск наиболее схожих жестов в базе данных. Тип жеста в базе данных, параметры которого наиболее близки с распознаваемым жестом, будет являться результатом распознавания. В некоторых случаях два разных жеста могут иметь схожий скелет, поэтому для более точного распознавания предлагается использовать моменты Hu [9]. Моменты Hu инвариантны к масштабированию и вращению и являются хорошим дескриптором для распознавания жестов. Для вычисления моментов Hu необходимо вычислить дискретные, центральные и нормализованные моменты. Дискретные моменты вычисляются на основании силуэта руки, полученного на этапе сегментации. На данном этапе изображение представляет собой двумерную функцию интенсивно - 65 Вестник СибГАУ. № 2(54). 2014 сти I(x, y), где ненулевые значения пикселей принадлежат кисти руки. Дискретные моменты порядка (p + q) вычисляются по формуле (4), где M и N являются шириной и высотой изображения соответственно: M-1N-1 pq Z Z xpyqI (x, y ). x=0 y=0 (4) Центральные моменты инвариантны к перемещению. Моменты порядка (p + q) вычисляются на основе дискретных моментов по формуле (5), где x и y являются центром тяжести отсегментированного изображения: M-1N-1 Ц pq = Z Z(x - x ) (y - y ) 1 (x, y), x=0 y=0 (5) x = mw/ m00 y = m01/m00 h b Y (6) (7) Точка с координатой (x,y) является центром масс изображения. Нормализованные моменты являются инвариантными к масштабированию и вычисляются по формуле (6), где у = 1 + (p + q) / 2: Семь значений моментов Hu ф1-ф7 вычисляются по формулам (7). Моменты Hu инвариантны к вращению и масштабированию: ф1 = п20 - п02; ф2 = (п20 - п02 ) + 4Л21; 2 2 ф3 = (п30 - 3п12 ) +(3іІ21 - п02 ) ; ф4 = (п30 + п12 )2 +(п21 + п03 )2 ; ф5 = (30 - 3ll12 ) (1130 + n12 ) \ (30 + п12 )2 - 3 (п21 + п03)2 ] + +(3Л21 -п03)(п21 + п03)[3(30 + п12)2 -(п21 + п03)2]; ф6 = (п20 -п02)\(Л30 + п12) -(п21 + п03) ] + + 4п11 (п30 + п12 ) (п21 + п03 ); ф7 = (3іІ21 - п03) (п30 + п12 )[(п30 + п12)2 - 3(п21 + п03)2 ]--(Л30 -3іІ12)(1l21 + n03)[3(n30 + n12) -(n21 + n03) ]. Для проведения исследований был разработан программный продукт, позволяющий локализовать кисть руки методом цветовой сегментации и распознавать жесты на основе скелетной модели руки. В таблице приведены результаты истинного и ложного распознавания жестов рук на основе модели непрерывного скелета, на основе аппроксимированного скелета и на основе аппроксимированного скелета + моментов Hu. Изображения тестировались на компьютере с процессором Intel(R) Core(TM) i5 750 2.67 GHz. При тестировании использовалась база динамических жестов соревнования ChaLearn Gesture Challenge [3]. Данная база состоит из набора независимых пакетов. Каждый из пакетов содержит по 10 обучающих жестов и 30-40 контрольных видео по несколько жестов в каждом. Все изображения были размером 230^240 пикселей. Оценка методов распознавания жестов рук № Непрерывный скелет Аппроксимированный скелет Аппроксимированный скелет + моменты Hu Истина, % Ложь, % Время, мс Истина, % Ложь, % Время, мс Истина, % Ложь, % Время, мс “0” 53,5 32,5 6,8 59,4 26,6 7,2 87,1 5 10,5 “1” 60,8 28,1 7 66,6 21,5 7,4 92,9 3,3 9,2 “2” 53,7 28,9 6,3 59,2 23,9 6,6 86,7 3,1 8,6 “3” 57,7 33,8 6,9 64,5 28,3 7,4 93,2 7,7 10,4 “4” 58,8 28,6 4,1 64,3 21,8 4,6 90,4 2,3 7,7 “5” 58,7 31,5 4,7 65,4 24,9 5 93,5 3,9 8 “6” 60,4 30,3 6 66,4 23,9 6,5 93,3 6,6 9,3 “7” 53,6 31,8 5 58,9 25,6 5,6 87,9 4,3 7,2 “8” 56,4 33,8 5,9 63,1 28,6 6,4 87,9 8 8,7 “9” 53 30 3,7 59,2 25 4,1 87,8 6,8 6,2
×

About the authors

Alexander Vladimirovich Nosov

Siberian State Aerospace University named after academician M.F. Reshetnev

Email: alexander@nosov.org
postgraduate student

References

  1. Местецкий Л.М. Непрерывная морфология бинарных изображений: фигуры, скелеты, циркуляры. М.: Физматлит, 2009.
  2. Местецкий Л.М., Рейер И. Непрерывное скелетное представление изображения с контролируемой точностью // International Conference Graphicon. M., 2003. С. 51-54.
  3. ChaLearn Gesture Dataset (CGD2011). ChaLearn, California, 2011 [Электронный ресурс]. URL: http://gesture.chalearn.org.
  4. Gudmundsson S.A. [et al.] Model-Based Hand Gesture Tracking in ToF Image Sequences // 6th Intern. Conf. on Articulated motion and deformable objects (AMDO), 2010. Р. 118-127.
  5. Suryanarayan P., Subramanian A., Mandalapu D. Dynamic Hand Pose Recognnition Using Depth Data // 20th Intern. Conf. on Pattern Recognition (ICPR), 2010. Р. 3105-3108.
  6. Phung S. L., Bouzerdoum A., Chai D. Skin Segmentation Using Color Pixel Classification: Analysis and Comparison // IEEE Trans. Pattern Anal. Mach. Intell. 2005. Vol. 27. Р. 148-154.
  7. Siddharth J., Gaurav S., Face detection // EE368: Digital Image Processing. 2003. Р. 101-112.
  8. Зотин А.Г., Носов А.В., Бузаев Д.В. Анализ пригодности методов сегментации для локализации объектов на основе цветовых и структурных признаков // Вестник СибГАУ. 2012. Вып. 1(41). С. 23-28.
  9. Hu MK. Visual Pattern Recognition by Moment Invariant. IRE Trans. Info. 1962. Theory 8 (2). Р. 179-187.

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2014 Nosov A.V.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies