ISSN 0236-235X (P)
ISSN 2311-2735 (E)
1

16 Марта 2024

Система распознавания жестов


Нюнькин К.М. () -
Ключевое слово:
Ключевое слово:


     

В работе рассматриваются вопросы, связанные с построением системы распознавания жестов для управления мобильными роботами.

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

Обнаружение на изображении участков, имеющих цвет кожи

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

При обнаружении на изображении областей, имеющих цвет кожи, наряду с обычным RGB представлением цвета, то есть интенсивностями красной, зеленой и синей составляющей цвета, используется представление, основанное на цветности – HSL представление (hue – цвет или оттенок, saturation – насыщенность, luminosity – яркость):

 (1)

где

Цветовое пространство RGB имеет то преимущество, что его компоненты для компьютера первичны, и их использование обеспечивает наибольшую скорость обработки. Компоненты обычно нормируются на их сумму [4,5]. Из компонент этого пространства наиболее популярны красная и зеленая. Иногда вместо самих компонент используются цветоразности [5].

Цветовое пространство HSL больше подходит для анализа цвета, поскольку его компоненты прямо связаны с цветом. Однако его использование ограничивается необходимостью выполнения вычислений арктангенса и квадратного корня (1), что требует определенных временных затрат. Но в последнее время в связи с ростом быстродействия компьютеров оно применяется все чаще [6].

Наиболее часто цвет используется при локализации головы человека в последовательности кадров [4-6], поскольку определение цвета точки можно выполнить быстро. С другой стороны, при обработке видеопоследовательности известно положение, форма и размер головы на предыдущем кадре, и за промежуток времени между кадрами эти параметры не могут сильно измениться, что существенно облегчает задачу.

В ряде случаев лицо занимает существенную часть изображения [4,6], а фон полагается контрастным [6]. Только в работах [4,5] явно указывается, что фон может быть произвольным.

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

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

Ненадежность цветового канала требует выполнения начальной калибровки цветового пространства [4] и периодической ее корректировки [4,5].

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

1.  Цвет кожи у разных людей (даже одной расы) варьируется в довольно широких пределах.

2.  Цвет кожи зависит от условий освещения.

3.  Перед выполнением обнаружения лица этим методом необходимо выполнять калибровку цветового пространства.

4.  Чаще всего при обнаружении лица канал цвета используется совместно с другими: движением, градиентом яркости, анализом окружения.

Обнаружение на изображении рук человека

Подпись: Рис. 1. Гистограммы распределения насыщенности: а) все изображения, б) изображения, не содержащие на-сыщенных цветов, в) изображения с объектами, имеющими насыщенные цветаДля исследования цветовых характеристик областей лица и рук человека была разработана специальная компьютерная программа, позволяющая вводить цветные изображения, получаемые подключенной к компьютеру веб-камерой, а также из уже существующих файлов. Программа рассчитывала компоненты различных представлений цвета (RGB, HSL, YIQ) и позволяла выделять на изображении участки, соответствующие различным критериям, составленным из этих компонентов.

Эксперименты, проведенные с использованием указанной программы, показали, что

-   значения цвета (H) кожи человека могут лежать в диапазоне от 4 до 40;

-   значения насыщенности (S) кожи человека могут лежать в диапазоне от 30 до 90;

-   цвет кожи у разных людей варьируется в довольно широких пределах;

-   цвет кожи даже одного человека зависит от условий освещения;

-   получаемый на изображении цвет кожи человека зависит от настроек камеры, которые зачастую выполняются автоматически и не контролируются;

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

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

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

Параметры для классификации криволинейных фигур

Подпись: Рис. 2. Несоответствие центра тяжести геометрическому центру фигуры: Ж – центр тяжести всей фигуры, О – только внутренней по-ловиныФигуры большинства жестов, обозначающих подаваемые роботам команды, могут быть представлены в виде определенных последовательностей прямолинейных участков, однако фигуры некоторых из них существенно криволинейны. Так, жесты, соответствующие командам "манипулятор направо" и "манипулятор налево", представляют собой дуги, близкие к полуокружностям, и не всегда могут быть обнаружены при анализе прямолинейных участков. А основные варианты жестов, соответствующих командам сжатия и разжатия манипулятора (захвата), представляют собой спирали, для обнаружения и анализа которых разбиения на прямолинейные участки явно недостаточно. Отсюда следует необходимость анализа криволинейных движений.

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

                                         (2)

где (xi, yi) – координаты точек кривой; (xc, yc) – положение центра полярной системы координат.

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

,            ,

где (xi, yi) – координаты точек кривой; N – их количество. Однако возможны ситуации, когда центр тяжести не соответствует геометрическому центру фигуры. В частности, это относится к спиралям с малым числом оборотов. Так, в примере, приведенном на рисунке 2, центр тяжести фигуры (показанный звездочкой) лежит вне внутренней части спирали.

Неправильное определение центра полярных координат приведет к тому, что зависимость r(j), которая у спирали имеет довольно характерный вид, сильно исказится. Положение можно исправить, вычислив центр тяжести не всей спирали, а только внутренней ее половины. На рисунке 2 положение такого центра тяжести показано кружком. Оно действительно близко к геометрическому центру спирали.

После того как найдено положение геометрического центра фигуры, можно перейти в полярные координаты и анализировать, является ли данная фигура спиралью, окружностью, эллипсом или не относится ни к одному из этих типов кривых. Для такого анализа можно использовать зависимость радиуса точек кривой, представленной в полярных координатах, от угла r(j). Вид этой зависимости позволяет эффективно распознавать спирали и определять, скручивающаяся это спираль или раскручивающаяся.

Выполним линейную аппроксимацию зависимости r(j) методом наименьших квадратов:

r(j) = a*j + b.                                                      (3)

Абсолютная величина наклона (a) позволит судить о том, спираль это или окружность, а направление наклона – скручивается спираль или раскручивается. Абсолютная величина наклона зависимости r(j) зависит от размеров фигуры, поэтому ее следует нормировать на характерный размер фигуры, например, на среднее значение радиуса.

Следующий параметр – полное изменение угла вдоль кривой, Dj. Следует подробнее рассмотреть определение этого параметра. Углы всех точек кривой, рассчитанные по формуле (2), лежат в диапазоне . В то же время для спирали величина этого параметра заведомо должна превышать один оборот, то есть 2p. Таким образом, его нельзя получить простым вычитанием угла первой точки из угла последней. Предполагая, что изменение угла между последовательными точками меньше p, то есть половины оборота, следует суммировать эти изменения вдоль кривой. Естественно, при этом необходимо следить за переходами текущего значения угла через грани- цу ±p.

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

Таблица 1

Параметры для классификации  криволинейных фигур

Параметр

Описание

У окружности

У спирали

NumStrL

Количество прямолинейных участков

Не очень мало

Велико

Sm

Отношение средних радиусов в дальней и ближней половинах кривой

Близко к единице

Значительно

Dj

Полное изменение угла вдоль кривой

Порядка 2p.

Знак определяет направление обхода

Заметно больше 2p.

Знак определяет направление обхода

a/Rср.

Относительный наклон линейной зависимости r(j) (2)

Близок к 0

Существенен.

Его знак определяет характер спирали

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

Распознавание спиралей

Для оценки того, каким образом можно использовать указанные в таблице 1 параметры для определения, является ли данная фигура спиралью, были проведены эксперименты, в ходе которых в компьютер вводились фигуры различных жестов и рассчитывались указанные параметры. Затем оценивались распределения каждого из параметров отдельно для различных фигур. Всего было обработано 140 жестов, имеющих форму спиралей и 117 произвольных жестов. Результаты этих экспериментов, приведенные на рисун- ках 3-6, в целом подтверждают ожидаемые закономерности (табл. 1).

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

Как показано на рисунке 3, количество прямолинейных участков у спиралей выше, чем у остальных жестов. Это дает возможность отделять спирали, устанавливая порог по этому параметру равным 5-7 участкам.

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

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

Подпись: Рис. 6. Распределения относительного коэффициента наклона r(j)Подпись: Рис. 5. Распределения полного изменения углаПодпись: Рис. 4. Распределения отношения средних радиусовРаспределения относительного коэффициента наклона r(j) приведены на рисунке 6. У произвольных жестов частота встречаемости относительного коэффициента наклона r(j) максимальна вблизи нуля и уменьшается с ростом a/Rср. У спиралей же имеется явно выраженный диапазон от 0.1–0.14 до 0.22–0.26, в котором лежат все значения относительного коэффициента наклона r(j). Таким образом, если величина a/Rср. лежит вне этого диапазона, следует считать, что данная кривая не является спиралью.

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

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

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

Таблица 2

Параметры для определения спиралей

Параметр

Описание

Пороги

NumStrL

Количество прямолинейных участков

≥ 5–7

Sm

Отношение средних радиусов в дальней и ближней половинах кривой

≤–1.2

≥+1.2

Dj

Полное изменение угла вдоль кривой

>2π

a/Rср.

Отношение коэффициента наклона r(j) к среднему радиусу

0.1–0.14 ≤ a/Rср≤ 0.22–0.26

Список литературы

1.  Gupta D. Computer Gesture Recognition: Using the Constellation Method. // Caltech Undergraduate Research Journal, 2001, vol.1, N1. - pp.26-31.

2.  Bretzner L., LaptevI., Lindeberg T. Hand Gesture Recognition using Multi-Scale Colour Features, Hierarchical Models and Particle Filtering. // Proc. of the 5th Int. Conf. on Automatic Face and Gesture Recognition, 2002.

3.  McKenna S., Gong S. Gesture Recognition for Visually Mediated Interaction using Probabilistic Event Trajectories. // Proc. of BMVC'98, 14-17 September 1998, Southampton, England.

4.  Graf H.P., Cosatto E., Gibbon D., Kocheisen M., Petajan E. Multi-Modal System for Locating Heads and Faces. - AT&T Lab Technical Report 95.5.1, 1996.

5.  Vezhnevets V. Face and facial feature tracking for natural Human-Computer Interface. // GraphiCon-2002.

6.  Визильтер Ю.В., Желтов С.Ю., Ососков М.В. Система распознавания и визуализации характерных черт человеческого лица в реальном времени на персональной ЭВМ с использованием web-камеры. // GraphiCon-2002.

7.  Rao R.R., Mersereau R.M. On Merging Hidden Markov Models with Deformable Templates. // Proc. of IEEE Int. Conf. on Image Processing. - Washington D.C., 1995, v3. -p.556-559.



http://swsys.ru/index.php?id=605&lang=.&page=article


Perhaps, you might be interested in the following articles of similar topics: