Магистр ДонНТУ Потопахин Алексей Александрович
Потопахин Алексей АлександровичФакультет компьютерных наук и технологийКафедра искусственного интеллекта и системного анализаСпециальность Технологии программного обеспечения интеллектуальных системИсследование и разработка метода управления трехмерной сценой с помощью динамических жестовНаучный руководитель: доц. Ручкин Константин Анатольевич

Реферат по теме выпускной работы

Внимание! Данный реферат относится к еще не завершенной работе. Примерная дата завершения: Июнь 2018 г. Обращайтесь к автору после указанной даты для получения окончательного варианта.

Содержание
Введение1. Актуальность темы2. Цель и задачи исследования, планируемые результаты3. Современное состояние проблемы3.1 Анализ и сравнение существующих методов распознавания динамических жестов3.2 Анализ и сравнение реализованных программных средств распознавания динамических жестов4. Разработка языка жестов управления трехмерной сценой5. Анализ и описание метода движения роя частиц для распознавания динамических жестовВыводыСписок источников
Введение

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

1. Актуальность темы

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

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

2. Цель и задачи исследования, планируемые результаты

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

Для достижения поставленной цели, необходимо выполнить следующие задачи:

3. Современное состояние проблемы

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

Для захвата жестов человека могут использоваться различные устройства, например, ультразвуковые локаторы, кинематические датчики, системы структурированной подсветки и т.д. Но наиболее распространенным для получения данных о жестах пользователя является видеокамера и устройства подобные трехмерному сенсору Kinect от Microsoft, который помимо цветной видеокамеры, также состоит из двух сенсоров глубины. Применение двух и более видео-датчиков позволяет запечатлеть дополнительную информацию о трехмерном объекте (отверстия, невидимые с другой камеры, форма боковых проекций, и др.) [1]. Рассмотрим известные работы и методы, посвященные распознаванию жестов руки человека на основе анализа внешних признаков жеста.

3.1 Анализ и сравнение существующих методов распознавания динамических жестов

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

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

Алгоритм CAMShift комбинирует алгоритм отслеживания объекта Mean Shift, который основан на карте вероятности цвета кожи, с адаптивным шагом изменения размера области отслеживания. Так как алгоритм CAMShift способен отслеживать лица на основе вероятности цвета кожи, то он может применяться для отслеживания руки.

Преимуществами данного алгоритма являются: низкие требования к вычислительным ресурсам, гибкие настройки точности позиционирования, возможность работы в различных условиях освещенности. Также дополнительным преимуществом алгоритма является возможность работы в условиях частичного перекрытия отслеживаемого объекта. Указанные выше свойства алгоритма обусловлены использованием модели объекта, построенной на основе гистограммы яркости и цвета, а также использованием процедуры Mean Shift для точного позиционирования положения объекта [3].

3.2 Анализ и сравнение реализованных программных средств распознавания динамических жестов

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

Gesture Recognition Toolkit (GRT) представляет собой кроссплатформенную библиотеку, которая реализована на C++ с открытым исходным кодом, разработанную для того, чтобы выполнять распознавание жестов. Акцент сделан на простоту использования, в то же время поддерживается гибкость и настраиваемость. Инструментарий обладает широким спектром алгоритмов классификаций и регрессии, имеет обширную поддержку для построения систем реального времени. Библиотека включает в себя алгоритмы обработки сигналов, извлечения признаков и автоматическое распознавание жестов [4].

XKin – платформа с открытым исходным кодом для Kinect, обеспечивающая более естественную и интуитивно понятную коммуникацию между человеком и компьютером. Программный пакет состоит из полезных инструментов для обучения системы для работы с жестами. Проект XKin полностью реализован на C с открытым исходным кодом и позволяет выполнять распознавание в режиме реального времени как статические позиции рук, так и динамические жесты [5].

HandVu – это программный комплекс для распознавания жестов и управление графическим пользовательским интерфейсом на основе компьютерного зрения. При использовании практически любой цветной камеры и достаточной вычислительной мощности это программное обеспечение может предоставить возможность управлять компьютерным интерфейсом. HandVu обнаруживает руку, а затем отслеживает ее и распознает ключевые позиции – все в реальном времени и без необходимости калибровки камеры. Результаты распознавания жестов доступны по технологии клиент-сервер в настраиваемом формате и в виде пакетов OSC [6].

Сравнение приведенных и наиболее популярных программных средств представлено на рис. 3.1. Таблица показывает основные реализованные алгоритмы, которые используют библиотеки, а также внешние зависимости и устройства ввода.

Рисунок 3.1 – Сравнение программных средств

Библиотеки, реализованные на C и C++ менее затратны по вычислительной сложности, чем библиотеки на Java (Java-ML) или Python, однако являются сложными для настройки и требуют дополнительную калибровку устройств ввода. Однако главным преимуществом является работа в режиме реального времени и простые, недорогие технические средства.

4. Разработка языка жестов управления трехмерной сценой

Жесты – это различные телодвижения, являющиеся невербальным способом передачи информации. Движение пальцев, рук, головы, плеч, мимика лица: все перечисленные являются жестами. С помощью жестов человек может передать самостоятельную информационную единицу, дополнить словесный ряд, передать чувства и пр. Обычно жесты подразделяются на статические (воспринимаемые одномоментно) и динамические (воспринимаемые в некоторый период времени) жесты, имеющие определенную интерпретацию в ручных азбуках и бесконтактных человеко-машинных интерфейсах [7].

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

Рассмотрим некоторые типы жестов для управления трехмерной сценой. Разрабатываемая система захватывает кисть руки в разогнутом состоянии и отслеживает перемещение руки в пространстве (рис. 4.1): влево (1), вправо (2), вверх (3), вниз (4). Жест определяется положением ладони относительно видео устройства.

Рисунок 4.1 – Язык жестов для управления трехмерной сценой

При разработке системы необходимо учитывать позицию руки для захвата и начала отслеживания движения в пространстве, а также продолжительность времени движения руки для определения жеста. Также необходимо пропускать произвольные движения рук человека, которые не относятся к заданным жестам.

В таблице 4.1 приведены трехмерные преобразования над объектом на сцене в зависимости от жеста. Преобразования указаны в правой системе координат.

Таблица 4.1 – Управление объектом на трехмерной сцене
ЖестСцена
ВлевоПоворот объекта вокруг оси OY на отрицательный градус
ВправоПоворот объекта вокруг оси OY на положительный градус
ВверхПоворот объекта вокруг оси OX на отрицательный градус
ВнизПоворот объекта вокруг оси OX на положительный градус

Движение руки влево, вправо – поворот сцены вокруг координатной оси OY, а вверх, вниз – вокруг оси OX. В качестве примера приводится поворот Земного шара, (рис. 4.2) который расположен на трехмерной сцене вокруг оси OY на отрицательный угол поворота жестом влево.

Рисунок 4.2 – Пример управления жестом трехмерной сценой
Размер: 90.3Кб; Кадров: 5; Повторов: не ограничено; Задержка: 1 сек.

Также при разработке необходимо учитывать аппаратные возможности видеоустройства и быстродействие вычислительной системы. Сложность алгоритмов не всегда позволяет выполнить действие за доли секунды и требуют определенного времени, которое зависит от разрешения изображения, от качества съемки и других параметров [8].

5. Анализ и описание метода движения роя частиц для распознавания динамических жестов

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

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

Расстояние от начала до конца траектории жеста рассчитывается при помощи Эвклидового расстояния по следующей формуле:

где P0 – точка начальной позиции руки, а Pn – точка из траектории жеста. Каждая точка представлена набором координат в двухмерном пространстве P(t) = [x(t), y(t)].

Затем траектория жеста преобразуется в сегменты ориентации движения:

где θ(t) = atan2(∆y(t), ∆x(t)). В итоге жест представлен в следующем виде: [θ, Ep].

Распознавание жестов с использованием метода движения роя частиц выполняется следующим образом:

  1. Инициализация частиц в пространстве поиска (шаблоны):

    где Xij представляет j-ую позицию i-ой частицы (L – количество частиц) в i-ом шаблоне, а Pbest – это лучшая позиция среди i-ых частиц.

  2. Оценка фитнес-функции частиц. Для каждого сегмента ориентации движения θt рассчитывается совпадающая оценка, а значение фитнес-функции вычисляется следующим образом:

    где γ = -1 когда θij ≠ θt и Pbest ≠ 0, γ = 1 когда θij = θt.

  3. Лучшая позиция обновляется только тогда, когда текущее значение фитнес-функции больше, чем предыдущее:

    Каждая частица перемещается локально в сторону более вероятного положения в пространстве поиска:

  4. Вычисление подмножества возможного решения:

    где βi – пороговое значение для i-ой категории жеста.

  5. Категория i0 распознаваемого жеста определена следующим образом:

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

Выводы

В работе рассмотрены и проанализированы существующие методы и программные средства для распознавания жестов человека. Также выделены преимущества и недостатки методов.

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

Для распознавания сложных жестов рук необходимо использовать специализированные устройства ввода, а также проводить настройку и обучение программных средств. Но для динамических жестов, где важно только знать траекторию движения руки (влево, вправо, вверх, вниз) достаточно использовать не сложные математические алгоритмы. Актуальной является задача создания новых моделей, методов и алгоритмов распознавания жестов руки, которые могут быть использованы для создания систем бесконтактного человеко-машинного взаимодействия.

Также в проведенной работе выполнена разработка языка жестов для управления трехмерной сценой. Проведен анализ требований к жестам и системе распознавания.

Таким образом, метод движения роя частиц может с правильно подобранной и настроенной модификацией может применяться для задачи распознавания динамических жестов, где необходима максимальная точность и эффективность распознавания.