Научная статья на тему 'Каскадный детектор характерных признаков для распознавания пользователя в информационной системе'

Каскадный детектор характерных признаков для распознавания пользователя в информационной системе Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
759
77
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПОЗНАВАНИЕ ОБРАЗОВ / КОМПЬЮТЕРНОЕ ЗРЕНИЕ / ХАРАКТЕРНЫЕ ПРИЗНАКИ / ЧЕЛОВЕКОМАШИННЫЙ ИНТЕРФЕЙС

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Алфимцев А. Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Алфимцев А. Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Каскадный детектор характерных признаков для распознавания пользователя в информационной системе»

УДК 004.8

А. Н. Алфимцев

КАСКАДНЫЙ ДЕТЕКТОР ХАРАКТЕРНЫХ ПРИЗНАКОВ ДЛЯ РАСПОЗНАВАНИЯ ПОЛЬЗОВАТЕЛЯ В ИНФОРМАЦИОННОЙ СИСТЕМЕ

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

Ключевые слова: распознавание образов, компьютерное зрение, характерные признаки, человекомашинный интерфейс.

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

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

В последнее время популярными алгоритмами распознавания изображения стали алгоритмы, основанные на характерных признаках Хаара [3]. В этих алгоритмах используется каскадное объединение классификаторов. Каждый из классификаторов распознает наличие какого-либо одного характерного признака после успешного распознавания другого признака предыдущим в каскаде классификатором. Если распознавание всеми классификаторами каскада проходит успешно, то изображение считается распознанным. Если распознавание хотя бы одним классификатором каскада оказалось неудачным, то изображение считается не распознанным.

Каскадные классификаторы, используемые для распознавания изображения, называют также каскадными детекторами. Они позволяют достигать высокой скорости и точности нахождения объекта. Так, при обнаружении лица точность алгоритма составила 95 % [4]. Для захвата кисти человека (как статического жеста) алгоритм использовали в работе [5]. На изображении захватывались три жеста: раскрытая ладонь, жест «Viva», жест «Ok». Базовый набор характерных признаков Хаара расширен одним признаком «сплошной прямоугольник». Каскадный детектор, состоящий из 13 слоев показал точность распознавания 94,74 %. Преимущества и недостатки захвата кисти, повернутой под разными углами к объективу камеры, с помощью характерных признаков Хаара [6]. Точность распознавания 18-слойного каскадного детектора не превысила 84 %. Даже на простом фоне 12-слойный детектор обнаруживал кисть с коэффициентом ложных совпадений, превышающем 2,1 и точностью 90 % [7].

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

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

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

Пусть объект на цифровом изображении, представляющем собой дискретный двумерный массив значений пикселей I [х, у], ищется с помощью некоторого окна поиска размером Ж х Н пикселей, тогда характерный признак Хаара £ прямоугольная область в этом окне поиска, задаваемая кортежем (х, у, м, к, а), где х, у — координата левого нижнего угла прямоугольника в окне поиска; м>, к — соответственно ширина и высота прямоугольника в пикселях; а — угол наклона вертикальной оси прямоугольника относительно горизонтальной оси изображения, причем 0 < х, х + м < Ж, 0 < у, у + к < Н, х, у > 0, м, к > 0 и а е {0°, 45°}. Размеры окна поиска Ж х Н и характерных признаков м х к обычно выбирают из следующих соотношений 1 / 2; 1 / 3; 1 / 4 или 2 / 1; 3 / 1; 4 / 1. Кроме того, каждый характерный признак Хаара разбит на два или три белых и черных прямоугольника. Данные признаки заимствовали свою структуру и название из вейвлетного базиса Хаара.

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

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

Чтобы выполнить классификацию для каждого характерного признака Хаара £/, определяют простой классификатор к^х):

hj (x) =

^ >

1, если / (x) 0, в остальных случаях,

где f(x) — характерный признак Хаара, найденный в окне поиска x, размером W х H пикселей, dj — значение порога, выбираемого экспериментально.

Например, для распознавания изображения кисти может быть обучен один классификатор h(x) с одним характерным признаком fx): выбраны размеры окна поиска W х H, характерного признака w х h и вид характерного признака; в окне поиска найдены координаты признака, значение которого меньше некоторого заданного порога.

Таким образом, характерные признаки Хаара фиксируют перепады светлых и темных частей объекта. На практике, чтобы избежать ошибки классификации, обычно используют все признаки из расширенного набора признаков. Вместо простых классификаторов hj(x) применяют каскадные детекторы, сформированные на основе сильных классификаторов F, автоматически обученных с помощью алгоритма обучения AdaBoost [8].

Структура программной системы. На рисунке приведена схема функционирования программной системы распознавания пользователя. Система работает на персональном компьютере Pentium 4/2,6 ГГц/1,5 Гб/MS Windows XP с использованием видеокамеры. Для захвата изображения используются видеокамеры низкого качества (web-камеры) разрешением 320 х 240, 8 бит, 15 кадр ./с. Блок датчиков через равные интервалы времени измеряет параметры внешней среды. В данном случае в систему поступает изображение от видеокамеры : (15 кадр./с). Кадр изображения представляет собой двумерное изображение в формате bitmap.

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

Схема функционирования системы

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

Рассматриваемый каскадный детектор содержит три параллельных каскада. Каскады, состоящие из пятнадцати слоев, предназначены для распознавания правой и левой кистей человека (число слоев каскада выбрано экспериментально). Каскад, состоящий из двадцати

восьми слоев, предназначен для нахождения на изображении лица человека. Этот каскад разработан и обучен по аналогии с методикой, предложенной в [3]. На выходе система на изображении отмечает маркерами положение головы (СН), правой (RH) и левой (ЬН) кистей. Затем обработанное изображение выводится на экран монитора компьютера. Таким образом, применение каскадного детектора к обработке каждого г-го кадра обеспечивает нахождение в видеопотоке головы (Г) и обеих кистей человека (К) в реальном времени.

Для обучения с помощью алгоритма АёаЪоо81 использовались как изображения, содержащие кисти человека, — позитивные образцы, так и изображения, содержащие обычный фон, — негативные образцы, т. е. такие изображения, на которых не присутствовали кисти. В данном случае под кистью понимается раскрытая ладонь, фронтально повернутая к объективу камеры. Размерность позитивных изображений составляет 15 х 30 пикселей, такую же размерность имеет немасштабированное сканирующее окно поиска. При анализе изображения окно поиска изменяет не только свое положение, но и свои размеры. Лицо (кисть) может находиться в разных местах на изображении, а также иметь различный размер в зависимости от расстояния до объектива камеры. При сканировании окно поиска по изображению передвигается дискретно на определенное количество пикселей. Когда изображение отсканировано в текущем масштабе, происходит переход на другой масштаб характерных признаков и процедура поиска повторяется. Коэффициент масштабирования выбран экспериментально и равен 1,2.

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

Цель проведенных экспериментов — определение числа слоев каскадного детектора, точности и устойчивости работы системы. Схема эксперимента: на вход системы подавались кадры видеопотока, захваченного камерой в реальном времени. Система находила кисти и лицо пользователя в каждом кадре и отмечала маркером их положение на изображении. Процесс определения числа слоев каскадного детектора ограничивался единственным требованием: уменьшение ошибки первого и второго рода. В ходе экспериментов подтверждены высокая точность (94,13 %) и надежность (0,14 %) работы системы в реальном времени.

Для распознавания пользователя информационной системы применялся каскадный детектор характерных признаков. Предложенная программная система распознавания содержала несколько параллельных каскадных детекторов, использующих характерные признаки Хаара. Система работает на персональном компьютере с использованием web-камеры разрешением 320 х 240, 8 бит, 15 кадр/с. Эмпирически определено оптимальное число слоев детекторов. Система обучена на изображениях при различных коэффициентах естественной освещенности и мощности освещения, что позволило в ходе экспериментов подтвердить ее высокую точность, устойчивость и скорость работы. В дальнейшем планируется расширить набор характерных признаков Хаара диагональными и угловыми признаками, использовать для распознавания дополнительные признаки, основанные на анализе цвета и формы объекта.

СПИСОК ЛИТЕРАТУРЫ

1. Девятков В. В., Алфимцев А. Н. Распознавание манипулятивных жестов // Вестник МГТУ им. Н.Э.Баумана Сер. Приборостроение. - 2007. - № 3. -С. 56-75.

2. Triesch J., Malsburg C. V. D. A Gesture Interface for Human-Robot Interaction // Proc. of 3th IEEE Intl. Conf. on Automatic Face and Gesture Recognition. 1998. Р. 546-551.

3. Viola P., Jones M. Rapid Object Detection using a Boosted Cascade of Simple Features // Proc. of Conf. on Comp. Vision and Patt. Recog. - Kauai, 2001. - Vol. 1. -P. 511-518.

4. Якименко Ю. И., Дзюба В. Г. Алгоритм автоматического захвата лиц // URL. http://visa.net.ua/content/maket010.pdf. 2005. - 13 с.

6. Barczak A. L. C., Dadgostar F. Real-time hand tracking using a set of cooperative classifiers based on Haar-like features // Research Letters in the Information and Mathematical Sciences. 2005. - Vol. 7. - Р. 29-42.

7. Chen Q. Hand Detection with a Cascade of Boosted Classifiers Using Haar-like Features // Discover Lab - University of Ottawa. 2006. 15 p.

8. S c h a p i r e R. E. Boosting the margin: A new explanation for the effectiveness of voting methods // Annals of Statistics. 1998. - Vol. 26, № 5. - Р. 1651-1686.

Статья поступила в редакцию 19.10.2011

i Надоели баннеры? Вы всегда можете отключить рекламу.