Алгоритм выделения рук в кадре видеофрагмента при распознавании жестовой речи
Суслов А.Ю., Филиппович Ю.Н.
Московский государственный технический университет им.Н.Э.Баумана subprogram@gmail.сот, у [email protected]
Аннотация. Одним из направлений инфо-когнитивных технологий является разработка жестомимических интерфейсов человеко-машинного взаимодействия, в рамках которого центральной задачей следует считать оптическое распознавание динамических жестов человека. Одним из важных этапов решения этой задачи является выделение рук в кадрах видеофрагментов. Критерием выделения может служить информация о цвете человеческой кожи. В статье рассматривается алгоритм выделении на изображении областей, имеющих цвет человеческой кожи и с наибольшей вероятностью соответствующих предплечьям. На вход алгоритма подаётся видеофрагмент, на котором запёчатлён человек, производящий определённый динамический жест. Выходными данными являются координаты и углы наклона предплечий во фронтальной плоскости на кадрах входного видеофрагмента. Производительность алгоритма не зависит от характера распознаваемого жеста, и показывает линейную зависимость от количества обработанных кадров. Проведенные эксперименты показали, что зависимость времени сегментации от разрешения кадра видеофрагмента является нелинейной кривой, имеющей логарифмический характер, и при наличии качественного входного потока с размером кадра 240x192 пикселей, можно говорить о его использовании в системах реального времени.
Ключевые слова: инфо-когнитивные технологии, жестомимический интерфейс, оптическое распознавание динамических жестов, системы автоматического сурдоперевода.
1 Введение
В настоящее время динамично развивается область инфо-когнитивных технологий, направленных на повышение интерактивности взаимодействия человека с виртуальной средой (ЗБ-визуализация, естественно-языковые интерфейсы, голосовое общение и т.д.). Одним из направлений в этой области является разработка жестомимических интерфейсов поддержки коммуникативного взаимодействия людей с ограниченными слуховыми и речевыми возможностями (инвалидов) как между собой, так и в ситуациях инклюзии в деятельность людей, не имеющих таких ограничений [Филиппович, 2013].
Важной задачей в вопросе включения людей с инвалидностью по слуху в профессиональную и социальную сферы является создание систем автоматического сурдоперевода, на основе технологии оптического
распознавания динамических жестов человека [Филиппович и Суслов, 2011].
Одним из этапов решения задачи распознавания динамических жестов, является процесс выделения рук человека на каждом кадре рассматриваемого видеофрагмента. Основная идея разработанного алгоритма заключается в выделении на изображении областей, имеющих цвет человеческой кожи и с наибольшей вероятностью соответствующих предплечьям человека. На вход алгоритма подаётся видеофрагмент, на котором запёчатлён человек, производящий определённый динамический жест. Выходными данными алгоритма являются координаты и углы наклона предплечий человека во фронтальной плоскости на каждом кадре входного видеофрагмента.
2 Требования к входным данным
Входные данные представляют собой видео-файл, содержащий изображение сцены, на которой человек производит один динамический жест. Фон сцены является статичным (неизменным), а человек стоит лицом к видеокамере. Размер изображения человека выбран таким образом, чтобы расстояние до края кадра примерно равнялось длине его вытянутой руки. Видеофрагменты, не удовлетворяющие данному ограничению, следует дополнительно обработать средствами видеоредактора.
Далее необходимо определиться каким образом будут выделяться руки в кадре. В известных технологиях распознавания жестов рук используется информация: цветных маркеров, цвете кожи, движений в кадре, форме жеста.
Требование на применение специальных цветных маркеров накладывает слишком большие ограничения на удобство использования разрабатываемой системы, поэтому оно не рассматривается.
Использование информации о движении в кадре оправдано до тех пор, пока фон сцены остаётся статичным. В дальнейшем, по мере развития разрабатываемой системы и приближения её к уровню практического применения, от этого ограничения придётся избавиться.
Критерием сегментации может служить информация о цвете человеческой кожи. Хотя такой способ имеет некоторые недостатки и накладывает определённые ограничения на содержание видеоизображения [ПепЬай й а1., 2003], тем не менее, при использовании предварительной настройки параметров, он даёт достаточно хорошие результаты. Заметим при этом, что отделить руки от лица, которое имеет тот же цвет, не составит большого труда, если сравнить их по форме и размерам.
Таким образом, приходим к тому, что требуемое видеоизображение должно быть цветным. При этом следует потребовать, чтобы в сцене, кроме лица и рук, отсутствовали предметы, имеющие цвет близкий к цвету
кожи человека, а длина рукавов одежды должна быть такой, чтобы закрывать плечи по локоть. При соблюдении данного ограничения особых требований к глубине цвета можно не предъявлять, тем более что в настоящее время очень трудно найти видеокамеры, используемая глубина цвета которых меньше 24 бит на пиксель.
Требования к размеру кадра выбираем из следующих соображений: с одной стороны очень низкое разрешение снижает точность распознавания, с другой - слишком высокое добавляет лишние детали и влияет на производительность системы. Остановимся на величинах размера кадра от 640x480 до 1024x768.
Часто, при использовании недорогих web-камер с CMOS матрицей при низком освещении на изображении появляются всевозможные шумы и помехи. Это обстоятельство может сильно сказаться на качестве распознавания. Поэтому включим в требования неизменность освещения и отсутствие каких-либо шумов.
Еще один значимый параметр - частота кадров. При высокой скорости жестикуляции и низкой частоте кадров жест получается рваным и его становится трудно распознать. Поэтому потребуем, чтобы этот параметр равнялся или был больше 24 кадров в секунду.
3 Выделение рук в кадре
Основная идея алгоритма заключается в выделении на изображении областей, имеющих цвет человеческой кожи и с наибольшей вероятностью соответствующих предплечьям человека. На рис. 1 представлена общая схема алгоритма в нотации UML.
Обозначения: lk(W,H) - к -й кадр видеопоследовательности, имеющий по горизонтали w, а по вертикали Я пикселей; Сху (1к) - цвет пикселя в цветовой модели RGB на кадре 1к в координатах (х, у); R{Cxy)-значение интенсивности красной составляющей цвета пикселя Сху в цветовой модели RGB; G(Cxy)- значение интенсивности зелёной составляющей цвета пикселя Сху в цветовой модели RGB; В(Сху) -значение интенсивности синей составляющей цвета пикселя Сху в цветовой модели RGB; Мк(1к) - бинаризованное изображение к -го кадра видеопоследовательности; С\у(Мк) - цвет пикселя на бинаризованном изображении Мк в координатах;
у) ParRl, ParR2, ParGx, ParG2, ParBx, ParB2, ParBal, ParE, ParD - параметры бинаризации, задаваемые в ходе предварительной настройки.
Последовательность реализации алгоритма:
Шаг 1. На первом шаге алгоритма происходит фильтрация кадра с помощью фильтра Гаусса.
Шаг 2. Полученное на предыдущем шаге изображение бинаризуется по следующим формулам [Frei & Chen, 1977]:
R'=
G'=-
B'=
С =
х,у
R(cxy), если ParRl < R{Cxy) < ParR2,
°> иначе;
G(Cx>y), если ParGl < G(Cxy) < ParG2
иначе\
В(СХ,У), если ParBl < В(Сху) < ParB2,
0, иначе\
1, если max(/?',G',ß')-min(7?',G',B') > ParBal и R(Cxy) > G(Cxy) и R(Cxy) > В(Сху),
О, иначе;
(1) (2)
(3)
(4)
Физический смысл данных формул состоит в следующем. В используемой цветовой модели, для представления каждой из компонент, традиционно используется один октет, значения которого обозначаются для удобства целыми числами от 0 до 255 включительно. Таким образом, всё цветовое пространство RGB можно представить в виде куба 255x255x255. Каждая из формул 1, 2 и 3 представляет собой пару плоскостей, перпендикулярных осям OR, OG и ОВ соответственно, которые отсекают от рассматриваемого куба часть объёма (рис. 2а).
Формула 4 «вырезает» из получившейся фигуры часть объёма, который занимает тело, образованное кубом с ребром ParBal, двигающимся из начала координат параллельно диагонали куба пространства RGB (рис. 26).
а) б)
Рис. 2. Фигура в цветовом пространстве RGB, образованная формулами:
а) 1 ... 3; б) 1 ...4
В результате произведённых на данном шаге действий, цветное изображение становится бинарным. На нём, белому цвету соответствуют цвета близкие к цвету кожи человека на цветном изображении (рис. За), а чёрному - все остальные цвета (рис. 36).
Шаг 3. Для устранения мелких шумов, к изображению Мк
применяются морфологические операции эрозии и наращивания:
Мк = сИШе(егос1е(М к, РагЕ), РагЭ) ^^
Таким образом, изображение Мк содержит замкнутые области, соответствующие рукам, лицу, и, возможно, другим объектам, имеющим цвет, похожий на цвет кожи человека (рис. 4а). Затем происходит устранение мелких шумов путем выполнения операций эрозии и наращивания (рис. 46).
а) б)
Рис. 3. Бинаризация исходного изображения: а) исходный кадр, б) бинаризованное изображение
Шаг 4. С изображения Мк удаляется область, соответствующая лицу человека на кадре 1к. Селекция данной области происходит следующим образом. Первоначально, в качестве возможного центра искомой области задаётся точка с координатами (ТУ/2, Я/4). Затем, при помощи метода градиентного спуска находится истинный центр данной области. После этого, в найденных координатах рисуется эллипс цветом фона (рис. 5).
б)
Рис. 4. Устранение мелких шумов: а) бинаризованный кадр, б) кадр после применения операций эрозии и наращивания
\
а) б)
Рис. 5. Удаление лица из кадра: а) исходный кадр, б) результирующий кадр Шаг 5. Для селекции на изображении Мк областей, соответствующих рукам человека на кадре, формируется набор гипотез G(Mk). Руки аппроксимируются эллипсами, поэтому каждая из гипотез представляет собой кортеж: Gi (coord, length, angle), где:
coord = (x, у) - координаты аппроксимирующего эллипса, length - длина большой оси аппроксимирующего эллипса,
angle - угол наклона большой оси аппроксимирующего эллипса. Для формирования гипотез применяется следующий итеративный алгоритм:
Шаг 5.1. G(Mk) = ®:
Шаг 5.2. Строится гистограмма hx:
(O+I ySpa-lH-l
¡=aSpix j=О
w
0;——1 Spix
Xc =
r Л
arg max{ hx(a)} + — ■Spix,
\
'J
(6) (7)
где: Бр1х - шаг гистограммы.
Результат построения гистограммы кх показан на рис. 6а. Шаг 5.3. Строится гистограмма к :
, 1
хгл—-—1
Е bi
Spix j=bspix
pix
(В)
Ус =
arg ma x{h (b)} +
. с
u pix>
(9)
Результат построения гистограммы hy показан на рис. 66.
Шаг 5.4. Если max{/i (¿)}>0, перейти к шагу 5.5, иначе перейти к
ь у
шагу 5.9.
Шаг 5.5. Через точку с координатами (хс,ус), находящуюся внутри замкнутой области Ob, проводится множество прямых L = {ZJ и выбирается та из них, длина которой внутри области Ob является наибольшей (рис. 7а):
Obnli={(xli,yli),(x2i,y2i)}, Z(litOX)e [0,180°),
(10) '
length( = yj(xh-x2i)2+(yh-y2i)2,
(П)
anglet = Z(lt, ОХ), n = argmaxilengtfy}. (12)
Далее вычисляются координаты центра замкнутой области (рис. 76). Шаг 5.6. Гипотеза G((xc,yc),lengthn,anglen) заносится в список гипотез G(Mk).
Шаг 5.7. На изображении Мк удаляются все пиксели, соответствующие аппроксимирующему эллипсу гипотезы G. Для этого, по аналогии с шагом 4, в координатах (хс,ус) рисуется эллипс цветом фона
(рис 8а, 86).
Шаг 5.8. Перейти к шагу 5.2.
Шаг 5.9. Сформировали список гипотез G(Mk).
Шаг 6. Из всех гипотез выбираются две, имеющие наибольшее значение величины length - это и есть искомые параметры аппроксимирующих эллипсов. Конкретное соответствие правой и левой руке находится путём сравнения значения координаты х. В результате, получили пару гипотез, соответствующих левой и правой руке на исходном кадре (рис. 9).
\
а)
б)
Рис. 7. Селекция замкнутой области наибольшей площади (а) и вычисление координат центра замкнутой области (б)
Рис. 8. Вычисление угла наклона аппроксимирующего эллипса для замкнутой области (а) и удаление обработанной замкнутой области с изображения (б)
Рис. 9. Результат работы алгоритма для левой руки
4. Исследование характеристик алгоритма
Для исследования временных характеристик алгоритма использовался набор видеофрагментов различной длительности. В результате был построен график, представленный на рис. 10.
Рис. 10. Время работы алгоритма сегментации жеста для видеофрагментов различной длительности
Как видно на графике рис. 10, время работы алгоритма не зависит от характера распознаваемого жеста, и показывает линейную зависимость от количества обработанных кадров.
Для сокращения времени работы алгоритма можно уменьшить размер кадров видеофрагмента. На рис. 11 представлен график зависимости времени, необходимого для сегментации жеста от коэффициента масштабирования.
Рис. 11. Зависимость времени работы алгоритма сегментации жеста от коэффициента масштабирования
Параметры исходного видеофрагмента, для которого построен данный график рис. 11 следующие: количество кадров — 102; частота кадров, Гц — 30; длительность, с — 3,4; ширина кадра, пикселей — 720; высота кадра, пикселей — 576.
5. Заключение
Разработанный алгоритм сегментации динамических жестов, основанный на использовании информации о цвете кожи человека, позволяет выделить на изображении области, имеющие цвет человеческой кожи с наибольшей вероятностью соответствующих предплечьям человека. В процессе реализации алгоритма для каждого видеоизображения жеста формируется набор признаков, состоящий из параметров конфигурации и положения рук в кадре. В итоге формируется формальный образ динамического жеста.
Характеризуя эффективность алгоритма, заметим, что длительность видеофрагмента равна 3,4 с, а время сегментации уже при коэффициенте масштабирования, равным 3, составило менее 3 секунд. Таким образом, при наличие качественного входного потока с размером кадра 240x192 пикселей, можно говорить о возможности работы системы в реальном времени.
4 Список литература
[Филиппович, 2013] Филиппович Ю.Н., Компьютерные средства поддержки коммуникативного взаимодействия людей с ограниченными слуховыми возможностями., Proceedings of 10th International Congress of the international society of applied Psycholinguistics "Challenges of information Society and applied psycholinguistics"., RUDN-Institute of Linguistics RAN-MIL, Москва, 2013, С. 254 - Русский.
[Филиппович и Суслов, 2011] Филиппович Ю.Н., Суслов А.Ю. Распознавание жестовых образов системы общения глухих // Научно-техническая международная молодежная конференция «Системы, методы, техника и технологии обработки медиаконтента». Сборник тезисов. Россия, Москва, МГУП им. Ивана Фёдорова, 25-27 октября 2011 г. С.108-109.
[Lienhart et al., 2003] Lienhart R., Kuranov A., Pisarevsky V. Empirical Analysis of Detection Cascades of Boosted Classifiers for Rapid Object Detection // Proc. of DAGM03.-Magdeburg, 2003.-P. 297-304.
[Frei & Chen, 1977] Frei W., Chen С. C. Fast boundary detection: a generalization and new algorithm/ЛЕЕЕ Trans. Comput.-1977.- Vol.26, №10.-P.988-998.