РАСПОЗНАВАНИЕ ЛИЦ НА ОСНОВЕ ПРИМЕНЕНИЯ МЕТОДА ВИОЛЫ–ДЖОНСА, ВЕйВЛЕТ ПРЕОБРАЗОВАНИЯ И МЕТОДА ГЛАВНЫХ КОМПОНЕНТ
Авторы: Буй Тхи Тху Чанг, Фан Нгок Хоанг, Спицын Владимир Григорьевич
Описание: Описание алгоритма Виолы-Джонса
Источник: Известия Томского политехнического университета. Инжиниринг георесурсовб 2012
Аннотация На основе совместного применения метода Виолы–Джонса, вейвлет-преобразования и метода главных компонент предложен новыи алгоритм распознавания лиц на цифровых изображениях и видеопоследовательностях в режиме реального времени. Описан алгоритм и разработано программное обеспечение для распознавания лиц. Приведен пример работы и представлены результаты тестирования программы. Показано, что использование предложенного оригинального алгоритма дает возмож ность эффективного распознавания лиц на цифровых изображениях и видеопоследовательностях.
Ключевые слова: Распознавание лиц, метод Виолы–Джонса, метод главных компонент, вейвлетпреобразование.
Введение Распознавание лиц является одной из самых изученных задач в таких областях как цифровая об работка изображений, компьютерное зрение, био метрия, организация видеоконференций, создание интеллектуальных систем безопасности и контро ля доступа и т. п. Процесс распознавания лиц обычно состоит из двух этапов: поиск области лица на изображении, и сравнение найденного лица с лицами, находящимися в базе данных. В настоя щее время метод Виолы–Джонса [1] является са мым популярным методом для поиска области ли ца на изображении изза его высокой скорости и эффективности. Детектор лица Виолы–Джонса основан на основных идеях: интегральном пред ставлении изображения, методе построения клас сификатора на основе алгоритма адаптивного бу стинга (AdaBoost), и методе комбинирования клас сификаторов в каскадную структуру. Эти идеи по зволяют построить детектор лица, способный ра ботать в режиме реального времени. Метод глав ных компонент и вейвлетпреобразование исполь зуют для получения характеристик изображения. В задаче распознавания лиц они успешно приме няются для сравнения компонент, характеризую щих цветные изображения, с компонентами, опи сывающими неизвестные изображения.
Целью данной работы является создание ново го алгоритма, основанного на комбинации метода Виолы–Джонса, вейвлетпреобразования и метода главных компонент (МГК) для распознавания лиц на цифровых изображениях и видеопоследова тельностях в режиме реального времени.
1. Метод Виолы–Джонса Метод был разработан и представлен в 2001 г. Полом Виолой и Майклом Джонсом. Он до сих пор является эффективным методом для поиска объек тов на изображениях и видеопоследовательностях в режиме реального времени [1, 2]. Следует отметить, что этот детектор обладает крайне низкой вероят ностью ложного обнаружения лица. Метод хорошо работает и обнаруживает черты лица даже при на блюдении объекта под небольшим углом, примерно до 30°. При угле наклона больше 30° вероятность обнаружения лица резко падает. Указанная особен ность метода не позволяет в стандартной реализа ции детектировать лицо человека, повернутое под произвольным углом, что в значительной мере за трудняет или делает невозможным использование алгоритма в современных производственных систе мах с учетом их растущих потребностей.
1.1. Интегральное представление изображенийДля того, чтобы рассчитать яркость прямоу гольного участка изображения, используют инте гральное представление [3]. Такое представление используется часто и в других методах, например, в вейвлетпреобразованиях, Speeded up robust feature (SURF), фильтрах Хаара и многих разработанных алгоритмах. Интегральное представление позволя ет быстро рассчитывать суммарную яркость произ вольного прямоугольника на данном изображе нии, причем время расчета не зависит от площади прямоугольника.
Интегральное представление изображения представляет собой матрицу, совпадающую по раз мерам с исходным изображением. В каждом ее эл ементе хранится сумма интенсивностей всех пик селей, находящихся левее и выше данного элемен та. Элементы матрицы рассчитываются по следую щей формуле:
I(x,y)= i(x',y'), x' x,y' y
где I(x,y) – значение точки (x,y) интегрального изо бражения; i(x,y) – значение интенсивности исходного изображения. На основе применения интегрального представления изображения вычисление признаков одинакового вида, но с разными геометрическими параметрами, происходит за одинаковое время.
Каждый элемент матрицы I(x,y) представляет собой сумму пикселей в прямоугольнике от i(0,0) до i(x,y), т. е. значение каждого элемента I(x,y) рав но сумме значений всех пикселей левее и выше данного пикселя i(x,y). Расчет матрицы занимает линейное время, пропорциональное числу пиксе лей в изображении и его можно производить по следующей формуле:
I ( x , y ) = i ( x , y ) I ( x + 1, y + 1) + +I(x,y1)+I(x*1,y).
Интегральное представление имеет интересную особенность. По интегральной матрице можно очень быстро вычислить сумму пикселей произ вольного прямоугольника.
1.2. Хаарподобные характеристики С точки зрения необходимости использования достаточно простых алгоритмов получения приз наков, перспективным является использование Хаарподобных характеристик, представляющих собой результат сравнения яркостей в двух прямоу гольных областях изображения.
Предположим, что задано множество объектов A и множество допустимых ответов B. Пусть g:A?B называется решающей функцией. Решающая функция g должна допускать эффективную ком пьютерную реализацию, по этой причине ее? также называют алгоритмом. Признак (feature) f объекта a – отображение f:A?Df где Df – множество допу стимых значений признака. Вчастности, любой алгоритм g:A?B также можно рассматривать как признак. Если задан набор признаков f1,..., fn, то вектор x=(f1(a),...,fn(a)) называется признаковым описанием объекта a?A. Признаковые описания допустимо отождествлять с самими объектами. При этом множество A=Df1?...?Dfn называют приз наковым пространством [4].
В стандартном методе Виолы–Джонса исполь зуются прямоугольные признаки, рис. 1. Эти приз наки называются примитивами Хаара.
В расширенном методе Виолы–Джонса, пред ставленном в библиотеке OpenCV, используются дополнительные признаки (рис. 2). Вычисляемым значением такого признака будет:
F =U * V,
где U – сумма значений яркостей точек, закрывае мых светлой частью признака, а V – сумма значе ний яркостей точек, закрываемых темной частью признака. Для их вычисления используется поня тие интегрального изображения. Хаарподобные признаки описывают значение перепада яркости по оси X и Y изображения соответственно.
1.3. Метод построения классификатора на основе алгоритма бустинга Бустинг – комплекс методов, способствующих повышению точности аналитических моделей. Бу стинг (boosting) означает дословно «усиление» «сла бых» моделей [5] – это процедура последовательно го построения композиции алгоритмов машинного обучения, когда каждый следующий алгоритм стре мится компенсировать недостатки композиции всех предыдущих алгоритмов. Идея бустинга была пред ложена Робертом Шапиро (Schapire) в конце 90х гг. прошлого века [6], когда надо было найти решение вопроса о том, каким образом имея множество пло хих (незначительно отличающихся отслучайных) алгоритмов обучения, получить один хороший.
1.4. Метод комбинирования классификаторов в каскадную структуру Каскадная структура повышает скорость обна ружения, фокусируя свою работу на наиболее ин формативных областях изображения. Структура каскадного детектора приведена на рис. 3. Каскад состоит из слоев, которые пред ставляют собой классификаторы, обученные с по мощью процедуры бустинга.
2. Вейвлет преобразование Вейвлетпреобразование широко используется для анализа нестационарных процессов. Оно пока зало свою эффективность для решения широкого класса задач, связанных с обработкой изображе ния. Коэффициенты вейвлетпреобразования со держат информацию об анализируемом процессе и используемом вейвлете. Поэтому выбор анализи рующего вейвлета определяется тем, какую инфор мацию необходимо извлечь из процесса. Каждый вейвлет имеет характерные особенности вовре менной и частотной областях, поэтому иногда с помощью разных вейвлетов можно полнее вы явить и подчеркнуть те или иные свойства анали зируемого процесса.
В работах [7, 8] представлены разложение изо бражения и извлечение его признаков для класси фикации изображений самолетов на основе при менения вейвлетпреобразования Хаара и много слойной нейронной сети. В данной работе исполь зуются вейвлетпреобразования Хаара иДобеши для извлечения признаков изображения лиц. При меры применения вейвлетпреобразования Хаара и вейвлетпреобразования Добеши для извлечения признаков изображения лица представлены на рис. 4.
3. Метод главных компонент Метод главных компонент (Principal Component Analysis, PCA) – один из наиболее распространен ных методов для уменьшения размерности данных, потери наименьшего количества информации. Он заключается в линейном ортогональном преоб разовании входного вектора P размерности N в выходной вектор Q размерности M, M N. Компонен ты вектора Q являются некоррелированными, и общая дисперсия после преобразования остае?тся неизменной.
Главная идея МГК состоит в представлении изо бражений лиц людей в виде набора главных
компо нент изображений, называемых собственные лица
(Eigenfaces). Собственные лица
имеют полезное свойство, заключающееся в том, что изображение, соответствующее каждому такому
вектору имеет лицеподобную форму, рис. 5. Вычисление главных компонент сводится к вычислению
собственных векторов и собственных значений ковариационной матрицы, которая рассчитывается из
изображения. Сумма главных компонент, умноженных на соот ветствующие собственные вектора,
является рекон струкцией изображения, рис. 6.
Для каждого изображения лица вычисляются его главные компоненты. Обычно берется от 5 до 200 главных компонент. Остальные компоненты кодируют мелкие различия между лицами и шума ми. Процесс распознавания заключается в сравне нии главных компонент неизвестного изображе ния с компонентами всех известных изображений. При этом предполагается, что изображения лиц, соответствующих одному человеку, сгруппированы в кластеры в собственном пространстве. Из базы данных выбираются изображениякандидаты, имеющие наименьшее расстояние от входного (не известного) изображения [9].
4. Алгоритм распознавания лиц Целью данной работы является распознавание лиц с высокой скоростью. Для решения задачи распознавания лиц предложен алгоритм на основе применения метода Виолы–Джонса, вейвлетпре образования и метода главных компонент. Предложенный алгоритм состоит из двух процессов: сох ранения признаков известных лиц в базе данных и распознавания лиц.
Процесс сохранения признаков известных лиц происходит следующим образом:
Шаг 1 Преобразование изображения видео фрей ма в полутоновое изображение.
Шаг 2 Применение к полутоновому изображе нию метода Виолы–Джонса для поиска области лица.
Шаг 3 Уменьшение размера области лица до 64?64 пикселей.
Шаг 4 Применение к полученному на шаге 3 изображению вейвлетпреобразования для извлечения признаков лица (вейвлет коэффициентов).
Шаг 5 Сохранение извлеченных признаков в базе данных
В процессе распознавания неизвестного лица осуществляются шаги 1–4, затем на основе приме нения метода главных компонент происходит со кращение числа признаков и их сравнение с приз наками, хранящимися вбазе данных. Функцио нальная схема предложенного алгоритма предста влена на рис. 7.
5. Эксперименты Для распознавания лиц на изображениях и ви деопоследовательностях в реальном времени на языке объектноориентированного программиро вания C# (Visual studio 2010) с использованием би блиотеки OpenCV разработано программное обес печение.
5.1. Распознавание изображений лиц Целью исследования является поиск изображе ний лиц, которые соответствуют заданным тесто вым образам. Численные эксперименты выполне ны на основе базы изображений лиц [10]. Примеры изображений представлены на рис. 8.
База содержит 366 изображений лиц различных людей, по 20 изображений каждого лица. При фор мировании базы данных размер изображений и условия съемки были одинаковы. Применялся 24 битный формат JPEG. В базе [10] содержатся снимки людей мужского и женского пола, разных национальностей и возрастов. В ней отражены из менения внешности человека: различные приче ски, присутствие бороды и очков.
В процессе подготовки к экспериментам были созданы две обучающие выборки. Первая из них содержит 5 изображений каждого человека. Вторая – 10 изображе ний лиц каждого человека для обучения. Тестовая выборка со стоит из 20ти изображений лиц каждого человека. Используются два типа вейвлетпреобразования: Хаара и Доб еши. Результаты экспериментов показаны в та блице.
5.2. Распознавание лиц в видеопоследовательностях в режиме реального времени На этапе обучения каждый человек находится перед камерой, совершая поступательные и враща тельные движения головой. Программа записывает 10 различных изображений человека и сохраняет в базе данных с именем этого человека, рис. 9. Для проверки правильности работы программы этот процесс повторяется, и программа в реальном вре мени определяет – кто в данный момент находится перед видеокамерой. Скорость работы программы составляет 7–14 кадров/с.
Выводы
- Предложениописанновыйалгоритмнаоснове совместного применения метода Виолы–Джонса, вейвлетпреобразования и метода главных компонент для распознавания лиц на изображениях ивидеопоследовательностях врежиме реального времени.
- Разработана программа, реализующая предложенный алгоритм распознавания лиц на изображениях и видеопоследовательностях в режиме реального времени на языке объектно ориентированного программирования С#.
- Анализ результатов компьютерных эксперментов позволяет говорить об успешной работе созданного алгоритма и программы при распознавании лиц.
Список литературы
- Viola P., Jones M.J. Rapid object detection using a boosted cascade of simple features // IEEE Conf. on Computer Vision and Pattern Recognition. – Kauai, Hawaii, USA, 2001. – V. 1. – P. 511–518.
- Viola P., Jones M.J. Robust realtime face detection // International Journal of Computer Vision. – 2004. – V. 57. – No 2. – P. 137–154.
- Гонсалес P., Вудс Р. Цифровая обработка изображений. – М.: Техносфера, 2005. – 1072 с.
- Местецкий Л.М. Математические методы распознавания об разов.–М.: МГУ, ВМиК, 2002–2004. – С. 42–44.
- Sochman J., Matas J. AdaBoost with totally corrective updates for fast face detection // Center for Machine Perception, Czech Techni cal University, Prague. 2004. URL: http://cmp.felk.cvut.cz/ ~sochmj1/ (дата обращения: 10.02.2012).
- Freund Y., Schapire R.E. A Short Introduction to Boosting // Jour nal of Japanese Society for Artifical Intelligence – September 1999.–V.14.–No5.–P.771–780.
- Буй Тхи Тху Чанг, Спицын В.Г. Разложение цифровых изобра жений с помощью двумерного дискретного вейвлетпреобра зования и быстрого преобразования // Известия Томского по литехнического университета. – 2011. – Т. 318. – No5. – С. 73–76.
- Буй Тхи Тху Чанг, Фан Нгок Хоанг, Спицын В.Г. Алгоритмиче ское и программное обеспечение для классификации цифро вых изображений с помощью вейвлетпреобразования Хаара и нейронных сетей // Известия Томского политехнического университета. – 2011. – Т. 319. – No 5. – С. 103–106.
- Брилюк Д., Старовойтов В. Распознавание человека по изо бражению лица и нейросетевые методы. 2002. URL: http://daily.sec.ru/publication.cfm?pid=4425 (дата обращения: 10.02.2012).
- Spacek L. Description of the Collection of Facial Images. 2008. URL: http://cswww.essex.ac.uk/mv/allfaces/index.html (дата об ращения: 10.02.2012).