Комбинированный метод детектирования лиц на статических изображениях с применением смеси гауссовых распределений и каскадов Хаара

УДК 519.6

Вестник СПбГУ. Сер. 10, 2013, вып. 4

Д. М. Тимошенко

КОМБИНИРОВАННЫЙ МЕТОД ДЕТЕКТИРОВАНИЯ ЛИЦ НА СТАТИЧЕСКИХ ИЗОБРАЖЕНИЯХ С ПРИМЕНЕНИЕМ СМЕСИ ГАУССОВЫХ РАСПРЕДЕЛЕНИЙ И КАСКАДОВ ХААРА

Введение. В последнее время вместе с развитием социальных сетей и сервисов обмена фотоснимками актуализировалась задача идентификации личности по изображению лица. Подобная задача возникает, например, при проектировании дополнительного фильтра для поиска друзей и знаменитостей или функции сортировки фотографий с автоматической отметкой участников. Модуль детектирования лиц на статических изображениях является неотъемлемой частью системы идентификации личности по фотографии. Качество детектора в значительной степени оказывает влияние на результаты работы последующих алгоритмов идентификации. В настоящей статье описывается комбинированный подход к детектированию лиц на основе метода Виолы-Джонса и смеси гауссовых распределений (СГР).

Под детектированием лиц понимается нахождение на пиксельной матрице областей, содержащих основные элементы лица. В рамках данной работы под границами лица будем подразумевать прямоугольную область изображения с вписанным овалом лица, исключая области шеи, ключиц и прическу [1]. Наилучшие показатели при распознавании лиц достигаются для идеального положения анфас [2], но на практике это довольно редкий случай. Здесь для изображения лица будем считать приемлемыми отклонения положения головы на ±20° во всех плоскостях от положения анфас. Профильные изображения лиц не рассматриваются. Также для детекторов будем допускать погрешность пересечения выделенной прямоугольной области и действительного овала лица не более чем на 15% от площади последнего.

Метод Виолы—Джонса. Одним из самых популярных алгоритмов детектирования лиц является метод Виолы-Джонса [3, 4]. Алгоритм заключается в следующем:

1. В качестве признаков изображения используются функции, подобные вейвлетам Хаара (рис. 1). Каждой функции соответствует «слабый» классификатор Н

2. В процессе обучения системы из всех возможных признаков выбираются наиболее подходящие для классификации. Выбор осуществляется с помощью алгоритма AdaBoost. Таким способом формируется набор наилучших «слабых» классификаторов, образующих один «сильный» классификатор.

Тимошенко Денис Максимович - аспирант, 199034, Санкт-Петербургский государственный университет; e-mail: timoshenko.d.m@gmail.com.

© Д. М. Тимошенко, 2013

если p • f (x) < p • 0;

иначе.

Рис. 1. Некоторые из вейвлетов Хаара

3. Строится вырожденное дерево решений, называемое каскадом (рис. 2). Каждый уровень каскада состоит из «сильного» классификатора, обученного с помощью ЛёаВооБ1 на ошибках предыдущего уровня. На практике результатом работы метода Виолы-Джонса является набор квадратных областей, содержащих изображения лиц или шумовые фрагменты в случае ошибки метода. Задача последующих алгоритмов заключается в фильтрации этих результатов от шумов.

Нг )- Лицо

Не лицо Не лицо Не лицо

Рис. 2. Каскад Виолы-Джонса

Двухмерное косинусное преобразование. Существует множество подходов к вычислению признаков, характеризующих исходное изображение: анализ главных компонент [5], пространственные гистограммы [6], выделение контуров и границ [7], вейвлеты Хаара [3] и Габора [8], спектральные признаки [9] и т. д. При выборе метода расчета признаков учитывались следующие характеристики: устойчивость к условиям освещения и цифровому сжатию, вычислительная сложность. Помимо прочего, важным фактором являлся объем выборки признаков, т. е. количество однотипных признаков, выделяемых на одном статическом изображении.

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

отдельных областей изображения. Поэтому предлагается использовать ДКП-2 блочно, с окном фиксированного размера и постоянной величиной сдвига (рис. 3), как в алгоритме JPEG [10]. Формула ДКП-2 для окна со стороной в 8 пикселей выглядит следующим образом:

EV Ï \ l^^fr \ (2x + l)un (2У + F(u, v) = -C(u)C(v) f(x, y) cos-—-cos-—- ,

\ж=0y=0 J

C( 0) = ^=, C(x) = l, x^O.

Смеси гауссовых распределений. Предполагается, что распределение каждого коэффициента ДКП-2 является нормальным, поскольку они подвержены влиянию огромного числа случайных факторов. Так как для классификации изображений извлекается несколько десятков коэффициентов косинусного преобразования, то нормальное распределение, описывающее данные в совокупности, будет многомерным. В качестве генеративного метода, моделирующего характеристики наблюдаемого объекта и среды наблюдения, хорошо зарекомендовали себя СГР. Модель СГР может быть записана следующим образом:

к

P(X \в ) = Yj aiNormx [¡г, Яг],

i=i

Normx =-б"-г ехР(-тт (х ~ Mi)T (X ~ №))>

(27г)т 2

здесь X - ^-мерный вектор случайных величин, ¡г - вектор математического ожидания, Яг - ковариационная матрица, аг - нормированные веса смеси, вг = [аг,^г, Яг] -параметры СГР, K - количество гауссоид.

Для построения СГР используется классический EM-алгоритм, максимизирующий правдоподобие модели при заданных обучающих данных [11]. На ^-шаге вычисляется ожидаемое значение функции правдоподобия, при этом скрытые переменные рассматриваются как наблюдаемые:

_ afcNormx^ [/xfc, Sfc]

Ink ^^K

Ек=1 а , ^ ]

На М-шаге рассчитывается оценка максимального правдоподобия, таким образом увеличивается ожидаемое правдоподобие, вычисляемое на ^-шаге. Производится переоценка вектора параметров, используя текущее значение вектора скрытых переменных:

1 1

Мй = дГ УлпкХп,

п=1

11

^к = "ТТ" ^^ (Х„ — 'рк) (Хп — рк) ,

Nk 1

n=1

N

N

N = !ик,

и=1

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

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

Пусть с помощью итеративного алгоритма получены параметры двух моделей СГР: в\ - модель лица, обученная на изображениях лиц, в2 - модель шума, обученная на прочих изображениях, не содержащих лица. Тогда для случайной выборки данных X можно определить постериорную вероятность класса в г, используя байесовское правило:

Р{в = в1\х)- Р{Х\в = в1)Р{в1) _ Р

Р (X \в = вх )Р (вг) + Р (X \в = в2 )Р (в2) р (X \в = вх) + Р (X \в = в2)'

Априорные вероятности считаются равными и взаимно сокращаются [13].

Комбинированный метод. Алгоритм Виолы-Джонса вычислительно проще и обеспечивает достаточно высокий процент обнаружения лиц. Однако результаты тестирования алгоритма на различных базах показывают, что с ростом надежности детектирования значительно увеличивается ошибка второго рода. В данной работе предлагается применить комбинированный алгоритм, в котором СГР выступает в качестве фильтра результатов каскада классификаторов Хаара (рис. 4). Из всех возможных

Изображение-^

Лица Шумы

Рис. 4- Схема комбинированного метода

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

Оценка эффективности детектора. Обычно для оценки надежности применяют две характеристики: вероятность правильного обнаружения, дающая представление о количестве верно выделенных образцов, и ошибка ложного принятия, характеризующая объем принятых за лица шумов. Они при подсчете на различных статистических данных зависят от порога, устанавливаемого для принятия решения. Поскольку нами проводились эксперименты с СГР-системами, отличающимися параметрами обучения, то для их оценки было решено использовать третью характеристику, не зависящую от порога: равновероятностную ошибку (Equal Error Rate, EER) - точку, в которой пересекаются графики ошибок первого и второго рода.

Численный эксперимент. Тренировочная база составлялась из нескольких свободно распространяемых баз, таких как FERET, Georgia Technology face database, ORL database [14] и собственной выборки, собранной из социальных сетей вручную. На базе обучения прогонялся алгоритм Виолы-Джонса, сохраняя найденные изображения лиц в отдельные файлы. Затем результаты разделялись вручную на два множества: правильно обнаруженные лица и шумы. На каждом из множеств обучалась соответствующая СГР-модель. Всего для обучения было отобрано более 20 тыс. изображений.

Тестовая база состояла из 1243 изображений известных личностей, выбранных из открытой для общего использования базы FDDB [15]. Тестирование системы производилось в три этапа.

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

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

Наконец, объединялись ошибки классификаторов: Виолы-Джонса и наилучшего СГР-классификатора.

Как и в работе [17], предлагающей использование СГР и ДКП-2 для решения задачи идентификации, были зафиксированы сторона окна косинусного преобразования (8 пикселей) и его сдвиг (4 пикселя). Помимо этого, равносторонние области изображения, поступающие с блока Виолы-Джонса, пропорционально масштабировались к фиксированному размеру посредством бикубической интерполяции. Чтобы снизить количество операций масштабирования, размер был подобран как наиболее вероятный и делимый без остатка на величину сдвига. С помощью анализа ручной разметки фотографий из социальных сетей был установлен размер в 96 х 96 пикселей. Такие параметры позволяли получить с каждого изображения по 484 вектора размерности 64.

Таблица 1. Результаты тестирования различных СГР-систем

№ Fnum Gnum EER, % № Fnum Gnum EER, %

1 3 4 27.54 7 21 32 9.91

2 6 8 20.49 8 28 32 12.28

3 10 8 15.26 9 21 64 9.39

4 15 16 10.57 10 21 128 9.18

5 21 16 11.26 11 21 256 8.81

6 15 32 11.07 12 21 512 8.6

В табл. 1 приведена часть результатов проведенных экспериментов с серией СГР-систем. Каждый классификатор серии характеризуется количеством используемых признаков (Кит) и числом гауссоид в смеси (Опит). Как можно заметить, увеличение числа признаков приводит к уменьшению ЕЕИ, только до определенного момента, после которого ошибка снова растет, причем такой локальный минимум ошибки зависит от числа гауссоид. Также видно, что рост числа гауссоид вызывает снижение ЕЕИ, однако эта тенденция ограничена. В работе [17] для задачи распознавания лиц такая величина составляет 1024 гауссоиды. Результаты работы двух алгоритмов на тестовой базе: Виолы-Джонса и комбинированного иллюстрирует табл. 2. Алгоритм Виолы-Джонса позволяет обнаружить почти все лица, но количество ложных срабатываний при этом составляет практически половину от всех результатов. В комбинированном

Показатель Алгоритм

Виолы—Джонса комбинированный

Найденные лица, % 99.3 90.7

Ложные фрагменты, % 46.7 8.6

Производительность (Мпк/с), % 0.9 0.3

подходе СГР позволяет сократить более чем в 5 раз количество ошибок второго рода, при этом обнаруживаются 9 из 10 лиц. Производительность замерялась на процессоре Intel Core i5 2320 в один поток. Приложение, написанное на языке Java с применением нативных библиотек, подключаемых через интерфейс JNI, не использовало дополнительных средств оптимизации вычислений.

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

Литература

1. Liao Y. M., Lin J. C., Han C. C. Why Recognition in a Statistics-based Face Recognition System Should be based on the Pure Face Portion: a Probabilistic Decision-based Proof // Pattern Recognition. 2001. Vol. 34, N 5. P. 1393-1403.

2. Lucey S., Sanderson C. Synthesized GMM Free-parts Based Face Representation for Pose Mismatch Reduction in Face Verification: tech. report. Pittsburgh: Electrical and Computer Engineering, 2004. 8 p.

3. Viola P., Jones M.J. Robust Real-Time Face Detection // Intern. J. of Computer Vision. 2004. Vol. 57, N 2. P. 137-154.

4. Viola P., Jones M. J. Robust Real-Time Object Detection: tech. report CRL-2001-1. Cambridge, 2001. 30 p.

5. El-Bakry H. M. New Fast Principal Component Analysis for Face Detection. Mansoura: Faculty of Computer Science and Information Systems, Mansoura University, 2006. 7 p.

6. Zhang H., Zhao D. Spatial Histogram Features for Face Detection in Color Images // Lecture Notes in Computer Science. 2005. Vol. 3331. P. 377-384.

7. Canny J. A computational approach to edge detection // IEEE Transactions on Pattern Analysis and Machine Intelligence. 1986. P. 679-698.

8. Vinay K. B. Face Recognition Using Gabor Wavelet Transform // Signals Systems and Computers. 2006. P. 593-597.

9. Waring C.A., Liu X. Face Detection Using Spectral Histograms and SVMs, Systems, Man, and Cybernetics. Pt B: Cybernetics // IEEE Transactions. 2005. Vol. 35, N 3. P. 467-476.

10. Eickeler S., Rigoll G., MUller S. Recognition of JPEG Compressed Face Images Based on Statistical Methods // Image and Vision Computing. 2000. Vol. 18, N 4. P. 279-287.

11. Dempster A. P., Laird N. M., Rubin D. B. Maximum Likelihood from Incomplete Data via the EM Algorithm // J. of the Royal Statistical Society. Ser. B (Methodological). 1977. Vol. 39, N 1. P. 1-38.

12. Hartigan J. A., Wong M. A. Algorithm AS 136: A K-Means Clustering Algorithm // J. of the Royal Statistical Society. Ser. C (Applied Statistics). 1979. Vol. 28, N 1. P. 100-108.

13. Prince Simon J. D. Computer vision - models, learning and inference // URL: http://www.computer visionmodels.com/.

14. Описание баз различных исследовательских групп // URL: http://www.ecse.rpi.edu/~cvrl/ database/other_Face_Databases.htm.

15. Описание базы FDDB // URL: http://vis-www.cs.umass.edu/fddb/.

16. Сайт проекта OpenCV // URL: http://opencv.willowgarage.com/wiki/.

17. Wallace R., McLaren M., McCool C., Marcel S. Cross-pollination of normalisation techniques from speaker to face authentication using Gaussian mixture model // IEEE Transactions on Information Forensics and Security. 2012. Vol. 7, N 2. P. 553-562.

Статья рекомендована к печати проф. Л. А. Петросяном. Статья поступила в редакцию 30 мая 2013 г.