Содержание к диссертации
Введение
Глава 1. Методы распознавания жестов руки в системах человеко-машинного взаимодействия 12
1.1. Задача распознавания жестов руки 12
1.2. Анализ существующих методов распознавания жестов руки на основе анализа внешних признаков жеста 15
1.2.1. Распознавание позиции и ориентации с помощью моментов изображения 15
1.2.2. Распознавание движений на основе анализа разностей изображений (MEI) 17
1.2.3. Распознавание конфигурации на основе анализа гистограмм направлений 18
1.2.4. Распознавание конфигурации и позиции с применением цветных перчаток 19
1.2.5. Распознавание конфигурации и позиции на основе анализа контура изображения руки 21
1.2.6. Распознавание позиции и конфигурации руки методом случайных лесов 22
1.2.7. Распознавание жестов руки с применением искусственных нейронных сетей 24
1.2.8. Распознавание жестов руки с применением скрытых моделей Маркова 25
1.3. Анализ существующих методов распознавания жестов руки на основе анализа трехмерной модели руки 27
1.3.1. Распознавание жестов как задача оптимизации 28
1.3.2. Распознавание жестов на основе ограниченного количества проекций модели руки 30
1.4. Ручная азбука и язык глухонемых 31
1.5. Основные выводы 32
Глава 2. Исследование и разработка методов распознавания жестов руки в дальностных изображениях человека 36
2.1. Характеристики дальностных изображений 36
2.2. Основные определения 40
2.3. Извлечение изображения руки 41
2.3.1. Вычисление позиции произвольной точки ладони руки в дальностном изображении 42
2.3.2. Извлечение изображения руки по позиции ладони 45
2.4. Распознавание позиций кончиков пальцев и точек соединения пальцев с ладонью руки 47
2.5. Распознавание конфигурации руки 54
2.5.1. Скелетизация изображения руки посредством планарного представления дальностного изображения 55
2.5.2. Скелетизация изображения руки посредством пространственного представления дальностного изображения 63
2.5.3. Построение трехмерного скелета дальностного изображения 65
2.5.4. Сравнение трехмерных скелетов руки 67
2.6. Основные выводы 74
Глава 3. Разработка методов бесконтактного управления компьютером и распознавания ручных азбук глухонемых 77
3.1. Человеко-машинное взаимодействие с помощью жестов пальца руки 77
3.2. Человеко-машинное взаимодействие в трехмерном пространстве посредством нескольких пальцев руки 81
3.3. Распознавание жестов глухонемых 85
3.3.1. Распознавание ручной азбуки ASL 85
3.3.2. Распознавание ручной азбуки РРА 89
3.4. Человеко-машинное взаимодействие посредством динамических жестов руки 97
3.4.1. Бесконтактное рисование посредством динамических жестов руки 97
3.4.2. Управление графическим интерфейсом пользователя посредством заранее определенных жестов руки 99
3.5. Оценка качества распознавания предложенных методов 102
3.6. Основные выводы 105
Заключение 106
Литература 108
- Распознавание позиции и ориентации с помощью моментов изображения
- Анализ существующих методов распознавания жестов руки на основе анализа трехмерной модели руки
- Вычисление позиции произвольной точки ладони руки в дальностном изображении
- Бесконтактное рисование посредством динамических жестов руки
Введение к работе
Актуальность исследования. Создание естественных, легких в управлении человеко-машинных интерфейсов для различных приложений является актуальной научной задачей. В настоящее время проводится довольно много исследований по созданию методов распознавания образов, позволяющих бесконтактно взаимодействовать с компьютером посредством жестов рук. К ним можно отнести работы ряда ученых: Алфимцев А.Н., 2008; Оикономидис И. (Oikonomidis L), 2011; Шаои Ч. (Shaowei С), 2011; Марака М. (Maraqa М.), 2012; Пижу Н. (Pugeault N.), 2011; Шотон Д. (Shotton J.), 2011; Ван Р.У. (Wang R.Y.), 2009; Сана A. (Sanna А.), 2012 и др. На основе разработанных методов созданы немногочисленные практические приложения, наиболее значимые из которых:
-
программные библиотеки Kinect SDK (Microsoft), OpenNI/NITE (PrimeSense), PMD SDK и SoftKinetic IISU для распознавания ключевых точек тела человека посредством применения трехмерных сенсоров;
-
сенсоры компаний LeapMotion, SoftKinetic для распознавания ключевых точек руки человека;
-
компьютерные приложения Flutter, PointGrab HGRS, XTR3D, EyeSight PC для управления компьютером посредством простых жестов рук. Несмотря на отдельные успехи, качество разработанных алгоритмов
распознавания жестов рук и пальцев, как динамических, так и статических, с использованием цветных видеокамер и трехмерных сенсоров все еще остается недостаточным для построения практических систем человеко-машинного взаимодействия. Главными недостатками существующих методов являются чувствительность к изменениям освещения, потребность обучения системы для каждого оператора, невысокое качество распознавания жестов и небольшая скорость распознавания.
Таким образом, актуальной является задача создания новых моделей, методов и алгоритмов распознавания жестов руки, которые могут быть использованы для создания систем бесконтактного человеко-машинного взаимодействия.
Цель диссертационной работы. Целью диссертационной работы является исследование и разработка методов распознавания статических и динамических жестов руки, которые могут быть использованы для бесконтактного взаимодействия человека с компьютером. Средством достижения цели служит решение следующих основных задач:
Анализ существующих методов отслеживания и распознавания жестов руки, а также бесконтактного человеко-машинного взаимодействия;
Исследование и разработка методов описания, извлечения и распознавания конфигураций руки;
Разработка новых методов распознавания позиций кончиков пальцев на основе анализа дальностного изображения руки для управления компьютерными системами;
Разработка методов распознавания динамических жестов руки на основе анализа траектории движения ладони;
Разработка методов распознавания символов распространенных ручных азбук в режиме реального времени.
На защиту выносятся следующие новые научные результаты:
1. Метод извлечения изображения руки из дальностного изображения
человека на основе анализа связанности точек изображения в трехмерном
пространстве, со сложностью 0{п), где п - количество точек исходного
изображения.
-
Метод распознавания позиции кончиков пальцев и точек соединения пальцев с ладонью руки на основе анализа контура изображения руки, со сложностью 0{п), где п - количество точек изображения руки.
-
Метод скелетизации дальностного изображения, основанный на непрерывном скелетном представлении бинарного изображения, поиске граничных точек фигуры и создании диаграммы Вороного для этих точек.
-
Метод распознавания статических и динамических жестов рук и пальцев руки ручных азбук глухонемых.
Научная новизна. Научная новизна заключается в построении новых методов и алгоритмов, обеспечивающих решение задач распознавания статических и динамических жестов руки по дальностным изображениям человека, создании на их основе естественных человеко-машинных интерфейсов.
1. Предложен новый метод скелетизации дальностного изображения,
обеспечивающий, по сравнению с алгоритмами вычисления двумерного
скелета, построение более информативного графа и меньшую
вычислительную сложность относительно алгоритмов вычисления
трехмерного криволинейного скелета, оцениваемую как (9(7? log и), где п
- число вершин многоугольника аппроксимирующего контур фигуры.
-
Предложена новая мера оценки расстояния между двумя трехмерными скелетами, для которой выполняются все аксиомы метрики, за исключением неравенства треугольника.
-
Разработан и исследован метод распознавания конфигураций руки на основе предложенной меры с обучением по одному прецеденту, который отличается от известных методов высокой надежностью и низкой
вычислительной сложностью - 0{п + wm ), где п - количество точек в
кадре видеоряда, w- число эталонных жестов, т - максимальное количество вершин многоугольника аппроксимирующего контур фигуры руки.
-
Исследован и разработан метод поиска ключевых точек руки по дальностным изображениям на основе анализа контура фигуры руки, позволяющий в реальном времени распознавать позиции кончиков пальцев и точек соединения пальцев с ладонью руки, независимо от количества и направления пальцев.
-
Исследованы и разработаны новые методы распознавания статических и динамических жестов Русской ручной азбуки (РРА) и Американской ручной азбуки (ASL- American Sign Language).
Методы исследования. В работе используются методы теории графов, вычислительной геометрии, математического анализа, теории распознавания образов. Работа несет теоретико-экспериментальный характер. Все разработанные методы реализованы в виде компьютерных программ, большинство из которых опубликованы во всемирной сети в свободном доступе.
Обоснованность и достоверность результатов. Полученные в диссертации результаты обоснованы использованием строгих и апробированных математических методов алгебры матриц, компьютерной графики. Достоверность подтверждается вычислительным экспериментом и имитационным моделированием, проведенным с использованием реальных исходных данных, а также путём сопоставления результатов, полученных в процессе работы над диссертацией, с доступными в открытой печати результатами.
Теоретическая значимость. Теоретическая значимость работы состоит в разработке методов и алгоритмов извлечения и распознавания жестов руки, обеспечивающих лучшее на сегодняшний день качество человеко-машинного взаимодействия.
Практическая значимость. На основе разработанных методов созданы программные приложения, позволяющие управлять курсором компьютера посредством жестов пальца, взаимодействовать с компьютером посредством нескольких пальцев руки, переводить жесты глухонемых в текстовый вид, управлять компьютером с помощью заранее назначенных динамических жестов руки. Разработанные алгоритмы сравнения объектов могут быть использованы для распознавания различных целевых объектов по дальностным изображениям в реальном времени.
Апробация работы. Результаты работы докладывались и обсуждались на следующих научных конференциях и семинарах:
XII международная научно-практическая конференция «Фундаментальные и прикладные исследования, разработка и применение высоких технологий в промышленности» (Санкт-Петербург, 2011 год);
2-ая всероссийская конференция молодых ученых с международным участием «Теория и практика системного анализа» (г. Рыбинск, 16-19 май 2012);
Международная молодежная конференция «Информационные системы и технологии» (г. Москва, 5-6 сентября, 2012);
9-ая Международная конференция «Интеллектуализация обработки информации» (Республка Черногория, г. Будва,. 16-22 сентября 2012);
Научная сессия НИЯУ МИФИ-2013 (г. Москва, 2013 год);
Информационно-телекоммуникационные технологии и математическое моделирование высокотехнологичных систем (г. Москва, 2013 год);
XVII ежегодная молодежная научно-практическая конференция SIT-2013 «Наукоемкие информационные технологии» (Переславль-Залесский, апрель 2013 г.);
16-ая Всероссийская конференция «Математические методы распознавания образов 2013» (Казань, октябрь 2013 г.);
23я Международная Конференция по Компьютерной Графике и Зрению ГрафиКон'2013 (Владивосток, сентябрь 2013 г.);
10-ая Международная научно-техническая конференция «Интерактивные системы: проблемы человеко-компьютерного взаимодействия / ИС-2013» (Ульяновск, сентябрь 2013 г.).
Публикации. Основные результаты диссертационной работы изложены в 12 печатных работах, в том числе три статьи опубликованы в рецензируемых изданиях, рекомендованных ВАК РФ [1-3], пять статей в трудах международных и всероссийских научных конференций [4,5,6,7,8], четыре работы в виде тезисов докладов [9,10,11,12].
Структура и объем работы. Диссертационная работа состоит из оглавления, введения, трех глав, заключения и списка литературы. Содержание работы изложено на 117 страницах. Список литературы включает 93 наименований. Текст работы иллюстрируется 50 рисунками и 10 таблицами. Содержание работы
Распознавание позиции и ориентации с помощью моментов изображения
Человеко-машинное взаимодействие (Human-computer interaction - HCI) – это междисциплинарное научное направление, изучающее взаимодействие между людьми и машинами. Предметом HCI является изучение, планирование и разработка методов взаимодействия человека с машиной, где в роли машины может выступать персональный компьютер, компьютерная система больших масштабов, система управления процессами и т.д. [13]. Под взаимодействием понимается любая коммуникация между человеком и машиной. Одним из методов HCI, получившим широкое распространение в последние годы, является взаимодействие, основанное на жестах человека [14, 15, 16].
Жесты – это различные телодвижения, являющиеся невербальным способом передачи информации. Движение пальцев, рук, головы, плеч, мимика лица: все перечисленные являются жестами. С помощью жестов человек может передать самостоятельную информационную единицу, дополнить словесный ряд, передать чувства и пр. Обычно жесты подразделяются на статические (воспринимаемые одномоментно) и динамические (воспринимаемые в некоторый период времени) жесты, имеющие определенную интерпретацию в ручных азбуках и бесконтактных человеко-машинных интерфейсах. В HCI жесты используются для передачи информации в компьютер, который в последующем может использоваться для идентификации человека, управления компьютером, летательным аппаратом, игровым аватаром и т.д. Рассмотрим основные понятия, которые будут встречаться в данной главе.
В задачах распознавания образов и обработки цифровых изображений часто применяется функция интенсивности вида f (x, y), зависящая от целочисленных координат x и y принадлежащих так называемой растровой решетке W2 [17]. Пара (x, y) задает позицию точки изображения в системе координат OXY, началом которой является левый верхний угол решетки. Функция f(x,y) обычно задает яркость, освещенность, насыщенность, степень поглощения и другие спектральные характеристики в точке (х,у).
Пусть заданы пространственная точка М с координатами (x,y,z) и ее ортогональная проекция т с координатами (х,у) на плоскость наблюдения z = 0. Под дальностным изображением будем понимать цифровое изображение d(x,y), в каждой точке (х,у) которого d(x,y) принимает неотрицательные целые значения, равные величине расстояния от точки М до точки т. Дальностное изображение всегда можно преобразовать во множество (облако) точек {(x,y,d(x,y))} в трехмерном пространстве, являющееся моделью наблюдаемого объекта. Под конфигурацией руки будем понимать установленное положение пальцев и кисти руки.
В литературе задачу распознавания жестов руки трактуют по-разному, как, например, вычисление позиции ладони, плеч и кончиков пальцев руки, идентификацию конфигурации и траектории движения руки и т.д. В настоящей работе под задачей распознавания жестов руки будем понимать следующие три подзадачи: 1. Распознавание позиций ладони и кончиков пальцев руки в трехмерном пространстве; 2. Распознавание статического жеста руки по эталонным конфигурациям; 3. Распознавание динамических жестов по траектории движения ладони руки.
Система распознавания жестов руки - это совокупность компьютерных технологий и математических алгоритмов, которая позволяет решать задачу распознавания определенной группы жестов руки. Распознавание жестов можно применять в таких областях деятельности человека, как например: 1. Управление компьютером и бытовыми приборами a. В компьютерном приложении каждой конфигурации руки сопоставляется определенная команда. Человек показывает жест, система распознает конфигурацию руки и отправляет соответствующую команду в компьютер.
b. Позиция ладони сопоставляется с позицией курсора мыши на экране. Движения руки приводят к движениям курсора. Команды нажатия кнопок мышки сопоставляются с разными конфигурациями руки.
c. Распознанные позиции кончиков пальцев руки могут быть использованы для управления компьютером или бытовым приборам одновременно несколькими пальцами руки.
2. Создание естественных человеко-машинных интерфейсов для глухонемых
a. Систему распознавания жестов можно применить для ввода текста в компьютер с помощью жестов руки, что для глухонемых людей проще и естественнее, чем ввод текста с помощью клавиатуры компьютера.
b. Систему распознавания жестов можно применить для создания приложений онлайн связи, когда пропускная способность сети мала и видеосвязь невозможна. Имея распознанные жесты руки на одном конце сети, можно показать анимацию этих же жестов, на другом конце передавая по сети только характеристики показанных жестов.
3. Манипуляция трехмерными моделями объектов
На сегодняшний день, для работы с трехмерными моделями обычно используют компьютерную мышь, которая не очень удобна для этой задачи. Имея трехмерные координаты руки и кончиков пальцев руки, можно создать систему HCI, которая позволит управлять моделями по всем направлениям трехмерного пространства.
Анализ существующих методов распознавания жестов руки на основе анализа трехмерной модели руки
Данная технология используется в компьютерном зрении для распознавания детальной трехмерной конфигурации руки при наличии на входе одного или нескольких изображений жеста. Под детальной конфигурацией понимается позиция и ориентация ладони и ключевых точек пальцев руки в трехмерном пространстве. На рисунке 1.8.а изображена анатомия руки человека, где DOF означает степен свободы движения (англ. degrees of freedom). При построении трехмерной модели руки, обычно создаются точки артикуляции, которые моделируют суставы руки человека. В зависимости от конкретной задачи точки артикуляции и их степени свободы движения могут совпадать или являться подмножеством суставов руки и их степенями свободы движения.
Особенностью методов распознавания жестов на основе модели является сравнение проекций трехмерной модели руки с входными изображениями. По входному двумерному изображению руки, на основе разных гипотез модель руки приводится в определенную конфигурацию. Трехмерная модель руки проецируется на плоскость, тем самым, получается двумерное изображение, которое сравнивается с входным изображением. Если расстояние между изображениями меньше заданного порога, то жест распознан, в противном случае конфигурация модели руки меняется и заново сравнивается с входным изображением. Гипотезы, используемые в данных системах разные, но в большинстве случаев предполагается, что конфигурация руки в каждом кадре видеоряда совпадает или незначительно отличается от найденной конфигурации руки в предыдущем кадре. Главным недостатком этих методов является потребность в больших временных ресурсах. Например, в работе [47] распознавание жеста в одном кадре требует 15 секунд выполнения, в работе [48] – 92.5 миллисекунд, в работе [49] – 33 миллисекунд, в работе [50] – 66 миллисекунды при использовании ресурсов графического процессора. Во многих работах вводятся ограничения на количество точек артикуляции и разрешаемые движения трехмерной модели руки.
Распознавание жестов как задача оптимизации
В работе [50] задача распознавания жестов руки приводится к задаче оптимизации поиска параметров, задающих конфигурацию модели руки и минимизирующих расстояние между входным изображением жеста и изображением проекции модели руки. Модель руки строится из совокупности эллиптического цилиндра, сфер и конусов, которые имеют 26 степеней свободы движения и 27 параметров, задающих конфигурацию руки (рис. 1.9.d).
В качестве устройства ввода информации о жестах руки используется сенсор Kinect [37], позволяющий получать цветное и дальностное изображения человека со скоростью 30 кадров в секунду. В полученном цветном изображении удаляются все фоновые точки. Оставшиеся точки группируются, создавая связанные компоненты, из которых в качестве изображения руки выбирается компонента, имеющая максимальные размеры. Используя позицию руки в цветном изображении, получают пару дескрипторов входного жеста 0 = (ps,od), где os - цветное изображение руки, а od- дальностное (рис. 1.9.c).
Предполагается, что в каждом кадре видеоряда конфигурация руки совпадает или незначительно отличается от конфигурации руки, распознанном в предыдущем кадре. Для каждого кадра видеоряда по предыдущей конфигурации руки h и калибровке камеры С, создается проекция модели руки в виде дальностного изображения rd(h,C). Расстояние между входным изображением 0 = (os,od) и конфигурацией руки h оценивается функцией
В приведенных формулах А. является фактором нормализации, г (h,C) бинарное изображение, пиксель которого принимает значение 1, если значение соответствующей точки в изображениях od и rd отличается не больше, чем заданный порог dm. X,dmdM - являются константами, а функция kcQi) используется для увеличения расстояния, если конфигурация руки не является кинематически правдоподобной. Оптимальная конфигурация руки h для минимизации функции Е(h,0) определяется посредством метода роя частиц. В работе приводится скорость распознавания 15 кадров в секунду, при использовании ресурсов графического процессора.
Вычисление позиции произвольной точки ладони руки в дальностном изображении
Одним из существенных ограничений существующих методов HCI [13] является необходимость прикосновения к сенсорам или физическим устройствам для управления компьютером. Для преодоления этого ограничения предлагается метод бесконтактного управления компьютером на основе распознавания жестов пальца руки.
В результате изучения графических интерфейсов, которыми снабжено большинство персональных компьютеров, в качестве базовых элементов управления были выбраны следующие действия: 1) «Движение» по четырем направлениям плоскости, 2) «Щелчок», «нажатие» и «отпускание» в данной точке плоскости. «Движение» – это перемещение курсора мыши; «щелчок», «нажатие» и «отпускание» – соответствующие действия левой кнопкой мыши. Для каждого базового элемента управления был выбран соответствующий жест пальца, не требующий от человека особой тренировки (рис. 3.1), причем «щелчок» – это последовательность жестов «нажатия» и «отпускания». Схема разработанного метода приведена на рисунке 3.2.
Для распознавания жестов, показанных на рис. 3.1, используется Декартова левая система координат. Начало координат совпадает с верхним левым углом дальностного изображения. Произвольная точка ладони руки ищется посредством показа начального жеста [38]. Изображение руки выделяется посредством анализа r0 -связанности точек дальностного изображения (см. раздел 2.3.2). В качестве точки кончика пальца руки выбирается точка руки, имеющая минимальную ординату. Этот выбор обоснован тем, что во всех выбранных жестах (рис. 3.1) кончик пальца руки имеет наименьшую ординату относительно других точек руки.
Для вычисления центра ладони используется бинарное представление дальностного изображения руки. За центр ладони принимается центр окружности вписанной в фигуру руки и имеющей максимальный радиус. Вычисляется эта позиция в один проход посредством карт расстояний (см. раздел 2.5.1) (рис. 3.3.a).
Неровности контура и поверхности изображения руки приводят к появлению шума в распознанной позиции кончика пальца руки. На величину шума влияют также выбранные жесты руки соответствующие «нажатию» и «отпусканию», при выполнении которых, необходимо, чтобы курсор мыши не менял свою позицию до завершения жеста, хотя позиция кончика пальца во время выполнения жеста может меняться. Для этого выполним «сглаживание» координат распознанной позиции кончика пальца руки.
Для перевода жестов пальца в базовые элементы управления выбран графический интерфейс настольных компьютеров, используемый в операционных системах Microsoft. Для управления курсором мыши посредством жестов, приведенных на изображении 3.1.а, достаточно преобразовать координаты кончика пальца в координаты курсора мыши в каждом кадре видеоряда. Допустим, разрешение дальностного изображения составляет XlxYl, а разрешение экрана пользователя - Х2 х Y2. Если точка кончика пальца имеет координаты (х ,у ), то курсор мышки получает координаты (х\ у"), где х" = Х2-хЧХъ у" = Y2-y /Yl.
Для перевода жестов, приведенных на рисунке 3.1.Ь, в базовые элементы управления, кроме позиции кончика пальца используется позиция центра ладони. Обозначим через (х0,у0) позицию кончика пальца и (xh,yh) - позицию центра ладони в видеокадре d(x,y). Заранее фиксируются два значения dl и d2 причем dx d2. Если для данного видеокадра выполняется условие d(xh,yh)-d(xQ,y0) d2, то жест переводится в команду «нажатие», если d(xh,yh)-d(x0,y0) dl- в команду «отпускание». Если интервал времени между указанными последовательными командами меньше заданного фиксированного времени Т0, то эти команды переводятся в команду «щелчок».
На основе описанного метода человеко-машинного взаимодействия реализована компьютерная программа, которая позволяет выполнять стандартные функции мыши компьютера простыми жестами пальца руки. Программа также дает возможность ввода текста посредством жестов руки, реализуя принцип виртуальной клавиатуры. Интерфейс разработанной программы показан на рисунке 3.3.Ь. Видео-демонстрацию программы можно найти в [85]. Скорость работы программы ограничивается скоростью выбранного сенсора – 30 кадров в секунду.
Человеко-машинное взаимодействие в трехмерном пространстве посредством нескольких пальцев руки Интерактивная технология multiouch interaction (MT) позволяет пользователю путем прикосновений управлять графическим интерфейсом одновременно несколькими пальцами руки [86]. Предложенный в настоящей работе метод поддерживает MT взаимодействие в трехмерном пространстве посредством бесконтактных жестов руки и пальцев руки. Поддерживаемые жесты показаны на рисунке 3.4Поддерживаемые жесты: «щелчок», «сдвиг вправо», «сдвиг влево», «уменьшение масштаба», «увеличение масштаба», «вращение». Как правило, методы MT-взаимодействия состоят из двух частей – серверной части и клиента. Серверная часть распознает жесты и отправляет распознанную информацию клиенту. На клиентской части, полученная информация используется для управления графическим интерфейсом пользователя. Архитектура разработанного алгоритмического и программного обеспечения приведена на рисунке 3.5.
На серверной части поиск позиции произвольной точки ладони руки осуществляется посредством показа начального жеста. Распознавание и отслеживание позиций кончиков пальцев руки выполняется посредством
Для передачи сообщений между сервером и клиентом используется основанный на формате OSC (Open Sound Control format) открытый протокол TUIO [87], удовлетворяющий требованиям настольных пользовательских интерфейсов. После вычисления позиций и меток точек кончиков пальцев руки для кадра видеоряда сервер отправляет полученную информацию клиенту. Отправляемые сообщения имеют следующий формат:
Бесконтактное рисование посредством динамических жестов руки
Более детальный анализ показывает, что в методе работы [42], используемом для распознавания динамических жестов языка ASL, требуется чтобы на сцене не находились предметы, имеющие цвет кожи человека. В тестовой выборке рассматриваются только предложения, состоящие из четырех слов, что упрощает задачу классификатора жестов. Несоблюдение данного правила приводит к значительному уменьшению полноты распознавания. Отметим также, что метод [44] применим только в случаях, когда позиция человека строго фиксирована, требует настройки специальных сенсоров и трех видео камер. По качеству распознавания предложенный в диссертации метод сопоставим с методом работы [54] но превосходит его из-за нечувствительности к изменениям освещения и относительно высокой скорости. Самое высокое качество распознавания достигнуто в работе [56], что объясняется ограниченностью тестовой выборки. Для тестирования здесь отобраны десять динамических жестов, из которых одна половина выполняется двумя руками, а другая – одной рукой. Тестирование предложенного в диссертации метода на этой же выборке не выявило ни одной ошибки.
Основные выводы
1. Предложен метод HCI и реализованы алгоритмы, позволяющие управлять курсором мыши компьютера посредством жестов пальца руки. Поддерживаемые управляющие команды – движение пальца по четырем направлениям плоскости, команда нажатия, отпускания и щелчок в данной точке плоскости.
2. Предложен и реализован метод человеко-машинного взаимодействия, позволяющий управлять трехмерными моделями объектов посредством жестов пальцев руки. В поддерживаемые команды управления входят уменьшение и увеличение масштаба, вращение и т.д.
3. Разработан и реализован метод, позволяющий распознавать жесты пальцев и руки, используемые в ручных азбуках глухонемых РРА и ASL. Точность и полнота распознавания конфигураций руки в обоих случаях составила больше 80 процентов, в случае, когда для каждого эталонного жеста в базе данных хранится только один скелет.
4. Предложен метод нахождения коартикуляций при непрерывном показе жестов русской ручной азбуки.
5. Разработан метод распознавания основных динамических жестов руки. Полнота и точность распознавания 12 жестов превышают 85 процентов.
В диссертационной работе решена задача распознавания статических и динамических жестов руки, которые могут быть использованы для бесконтактного взаимодействия человека с компьютером. Актуальность задачи обусловлена ее практической значимостью, большим количеством проводимых исследований в этой области, и тем, что качество известных алгоритмов распознавания жестов рук и пальцев, как динамических, так и статических, с использованием цветных видеокамер и трехмерных сенсоров все еще остается недостаточным для построения практических систем человеко-машинного взаимодействия. Получены следующие основные результаты:
1. Выполнена необходимая формализация, разработан и исследован комплекс методов и алгоритмов для предварительной и специальной обработки дальностных изображений, в том числе:
1) однопроходный алгоритм извлечения изображения руки из дальностного изображения по известной позиции ладони со сложностью O(n), где n - количество точек исходного изображения;
2) метод вычисления позиций кончиков пальцев и точек соединения пальцев с ладонью руки, на основе анализа контура фигуры руки со сложностью O(n), где n - количество точек изображения руки;
3) метод скелетизации дальностного изображения со сложностью O(nlogn), позволяющий в реальном времени вычислить трехмерный скелет фигуры, который представляет собой плоский граф, где n - число вершин многоугольника аппроксимирующего контуры фигуры в дальностном изображении;
4) метод сравнения трехмерных скелетов, включающий нормализацию скелета; развертку скелета; вычисление меры различия скелетов со сложностью O(m2), где m- максимальное количество ребер сравниваемых скелетов.
2. Сформулированы и доказаны необходимые теоремы и утверждения, в том числе доказано, что: 1) множество точек {(x,y)d(x,y) 0}, полученных алгоритмом извлечения изображения руки, является единственной дискретной фигурой в извлеченном дальностном изображении;
2) при преобразовании извлеченного дальностного изображения руки в бинарное изображение, множество черных точек полученных в бинарном изображении является дискретной фигурой и совпадает с дискретной фигурой руки в дальностном изображении;
3) для предложенной меры оценки расстояния между двумя скелетами выполняются все аксиомы метрики за исключением неравенства треугольника.
3. Разработаны алгоритмы распознавания ручных азбук глухонемых РРА и ASL. Точность и полнота распознавания конфигураций руки в обоих случаях составила больше 80%.
4. Разработаны методы распознавания динамических жестов руки и поиска коартикуляций жестов при непрерывном показе жестов русской ручной азбуки за время, оцениваемое как 0(n + wm2+k), посредством анализа ключевых характеристик последних к дальностных изображений руки, где п-количество точек в кадре видеоряда, m - максимальное количество вершин многоугольника аппроксимирующего контур фигуры руки, w - количество эталонных конфигураций. Качество и полнота распознавания превышают 85%.
5. Разработан метод и реализована программная система бесконтактного человеко-машинного взаимодействия, позволяющая в реальном времени управлять курсором мыши компьютера посредством жестов пальца руки, управлять трехмерными моделями объектов посредством нескольких пальцев руки.