Программные средства для распознавания жестов руки

Бесплатный доступ

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

Распознавание жестов, выделение признаков, позиционное расстояние, системы с обучением

Короткий адрес: https://sciup.org/142186025

IDR: 142186025

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

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

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

Рис. 1. Определение локального признака

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

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

Как отмечено в [1], фундаментальным способом оконтуривания является 2-мерное преобразование Фурье, которое позволяет выделить низкочастотную составляющую спектра для ее последующего удаления. Затем, в результате применения обратного преобразования Фурье, восстановленный исходный объект принимает вид контура, так как участкам плавного изменения яркости соответствует низкочастотная часть спектра, удаленная после прямого преобразования. Однако такой подход требует больших вычислительных ресурсов, объем которых имеет порядок 0(N 4 ), N х N — это размер изображения. Очевидно, что такая вычислительная нагрузка велика для работы с видеоклипами в реальном масштабе времени.

Другие фундаментальные способы оконтуривания связаны с использованием локальных операторов, рассмотренных в [2]. В этом случае объем вычислительной нагрузки пропорционален 0(N 2 ) х 0(М 2 ), где М х М — это размер локального окна, сканирующего весь кадр. Недостаток этого подхода состоит в том, что контуры неподвижных объектов также будут выделены, а представляющая их информация поступит для обработки в последующие модули системы. Таким образом, неподвижные объекты сцены будут обрабатываться многократно, в то время как их можно вообще не обрабатывать. Действительно, рука, принимающая форму определенного жеста, проходит через ряд промежуточных положений и, следовательно, достаточно рассматривать только динамику ее движения. Кроме того, есть возможность избавиться от сомножителя 0(М 2 ), если рассматривать только точки изображения без их локальных окрестностей. С учетом вышесказанного в работе выбрана стратегия анализа пар изображений, результатом которого является разностное изображение. При этом если объект неподвижен, то разностное изображение не существует, так как оно представлено в этом случае пустым множеством точек. Разностное изображение формируется путем поточечного сравнения двух кадров и использования порога яркости Т . Если разность яркостей двух точек с одинаковыми координатами (ж, у) меньше заданного порога, то в разностном изображении будет отсутствовать точка с координатами (ж, у). Разностное изображение представляется неупорядоченным списком выделенных точек, то есть списком координат (ж і і ), (ж 2 , У 2 ),-. .,(ж р р ), длина которого меняется в зависимости от степени различия сравниваемых изображений.

Второй этап выделения признаков начинается с прореживания разностного списка. При прореживании в списке оставляется только каждая к-я точка (например к = 10). Второй этап заканчивается определением угловой ориентации контурных точек по отношению к каждой точкe списка. Для этого каждая точка списка окружается квадратной локальной рамкой. Точки рамки перенумеровываются от 0 до L 1, где L — это число точек в рамке. Если рамка пресекает контур объекта в точке а, то признак описывается значением а. Если рамка пресекает контур объекта в точках а и Ь, то признак описывается значениями (а, Ь) и т.д.

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

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

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

Первая задача, то есть задача распознавания признаков, сводится к следующей задаче поиска ближайшего соседа. Пусть Ғ п , п Е N , — это конечный набор конечных множеств.

Для заданного конечного множества U требуется найти множество т такое, что

D (F m ,U )= min D(F n ,U).

neN

Здесь D(F m , U ) — это расстояние между множествами F m и U .

Каждое множество F n , а также множество U — это множества чисел { a i , a 2 ,..., а р } , значения которых равны локальным ориентациям контурных точек относительно центральной точки локальной рамки. Поскольку множества { a i , 0 2 ,... ,а р } могут иметь разное число элементов, то рассматриваемая задача не сводится к сравнению Р -мерных векторов, а требует сравнения множеств переменной длины. Для этого используется метод позиционного расстояния, предложенный в [1–2].

Поскольку максимальное число угловых ориентаций, представляющих локальный признак, равно L, то каждое множество F n можно взаимнооднозначно представить бинарной последовательностью, содержащей L разрядов. Так если L = 8, то набор чисел 0, 4 и 6 представляет последовательность 001010001. В общем случае нормализованное позиционное расстояние между двумя множествами имеет вид

£ &(a n XOR b n-k )

DP (А,В) = П v<            ,                       (1)

> , (anORbn-k) n где |fe| < R, R < L и n = 1, 2,... ,L.

Так если А = 1000110000100100001 и В = 0100001001000010010, то позиционное расстояние между А и В равно нулю DP (А, В) = 0 при R = 2. Это означает, что смешение позиций точек внутри радиуса R не влияет на позиционное расстояние между последовательностями.

Нормированное позиционное расстояние изменяется в интервале от 0 до 1. Если расстояние р между неизвестным входным признаком и ближайшим признаком из базы данных, содержащих на текущий момент N признаков, превышает порог T i , то неизвестный признак получает имя N + 1 и заносится в базу данных. Создаваемое новое имя по существу является именем нового класса, к которому будут отнесены все признаки, являющиеся соседями (с точностью до порога T i ) признака, занесенного в базу данных. Если р T i , то входной признак идентифицируется именем его ближайшего соседа. Таким образом, база признаков, вначале пустая, постоянно расширяется.

Задача распознавания отдельных контуров по совокупности описывающих их признаков ставится следующим образом. Входной информацией служит набор имен признаков, описывающих текущий контур. Если признак повторяется в контуре I несколько раз, то число повторений игнорируется. Обозначая контур, подлежащий идентификации через U , а число контуров в базе контуров на текущий момент через С , мы приходим к необходимости минимизации следующего выражения:

DT(I, U)^ min, lec где расстояние

^ (in XOR un)

DT (I, U )= n                                        (2)

) , (т OR un) n вычисляется путем представления множеств I и U в виде бинарных последовательностей, аналогично тому, как это делалось при решении первой задачи. Как и при решении первой задачи, если расстояние р между неизвестным входным описанием контура и ближайшим контуром из базы данных, содержащих на текущий момент С контуров, превышает порог T2, то неизвестный контур получает имя С +1 и заносится в базу данных. Создаваемое новое имя будет именем нового класса, к которому будут отнесены все контуры, являющиеся соседями (с точностью до порога T2) контура, занесенного в базу данных.

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

DTW(V, U) ^ min, где

52 min(a n ,b n )

DTW ( V,B )    ^ max(a n ,b n )’                          (3)

n

V пробегает имена клипов-кандидатов, U — это имя идентифицируемого клипа, а коэффициенты a n , bn — это веса элементом аппроксимирующих множеств.

Перед началом обучения фиксируются внешние классы клипов, число которых равно числу жестов, подлежащих распознаванию. Однако при выбранном значении порога 3-го уровня T 3 < 1 меньше единицы, число внутренних классов, то есть классов, автоматически создаваемых системой на третьем уровне, может превышать число внешних классов третьего уровня. Таким образом, несколько внешних классов могут соответствовать одному внутреннему классу, что учитывается с помощью функции соответствия f : внешний класс = f (внутренний класс). Замечу, что на 1-м и 2-м уровнях внешние классы отсутствуют.

Список литературы Программные средства для распознавания жестов руки

  • Михайлов А.М. Распознавание образов с помощью их индексирования//Автоматика и телемеханика. -2012. -Вып. 4. -С. 151-161
  • Дуда Р., Харт П. Распознавание образов и анализ сцен. -М.: Мир, 1976
Статья научная