АЛГОРИТМ ГЕНЕРАЦИИ ТРЕХМЕРНОГО МАКЕТА ЛИЦА ПО ФОТОГРАФИИ
Шлянников А.В.
Казанский государственный университет
Аннотация
В данной работе предложен метод построения трехмерного макета лица на основе одной входной фотографии. Алгоритм основывается на выделении контрольных точек и характерных особенностей на представленном изображении и переносе их на макет. Для получения характерных особенностей фотографии применяется специальное wavelet-преобразова-ние, выделяющее наиболее информативные признаки. Полученный макет может быть использован в дальнейшем в задачах визуализации и распознавания образов.
Ключевые слова: распознавание изображений, 3D-моделирование лиц, wavelet-обработка.
Введение
Задача построения трехмерных макетов лица в настоящее время широко востребована в задачах визуализации трехмерных объектов и в системах распознавания и контроля доступа, поэтому ей посвящено большое количество работ. Однако решенной данную проблему считать нельзя.
Известно несколько подходов к решению поставленной задачи. Наиболее точными являются методы, при которых макет лица строится при помощи специального оборудования. В работе [1] предложен алгоритм обработки информации, полученной с лазерного сканера, для построения макетов и идентификации лиц. Данный подход дает наибольшую эффективность в решении проблемы, однако сужает область применения за счет необходимости использования специального оборудования.
В данной работе применяется подход, основанный на обработке только одного монокулярного изображения, что уменьшает идентичность макета и реального лица на фотографии, но позволяет расширить область применения алгоритма.
В более ранних исследованиях [2] предложен метод идентификации лиц по характерным признакам, присутствующим на лице. В текущей работе этот метод был использован для выделения характерных признаков лица на фотографии и построения макета по этим признакам.
Задача формально описывается следующим образом: дается некоторое изображение лица и требуется построить приближенную пространственную фигуру, отражающую лицо на фотографии. На формат входного изображения накладываются следующие ограничения: фотография содержит только одно лицо и должна быть сделана в анфас. Результатом работы алгоритма является набор точек/полигонов в пространстве, представляющий собой модель лица на фотографии, это и есть решение задачи.
1. Описание алгоритма
Алгоритм решения задачи строится по итеративному принципу. В качестве исходной итерации выбирается некоторый усредненный макет головы человека, и производится пошаговое его улучшение. На каждом шаге процесса итеративной модификации выполняются следующие действия:
1. Генерируется изображение макета, который затем используется для сравнения с входным изображением.
2. На входной фотографии и на сгенерированном изображении макета в автоматическом режиме выделяются контрольные точки, содержащие данные о точном положении лица на фотографии, его общей форме и о точных координатах конкретных черт лица на фотографии.
3. Используя координаты контрольных точек, производится аппроксимация конкретных регионов на обоих изображениях с помощью шаблонов, находящихся в специальном словаре.
4. Полученные данные аппроксимации используются для определения отличий характерных черт лица на строящемся макете и на входной фотографии.
5. Производится модификация строящегося макета с устранением выделенных отличий от входной фотографии.
2. Выделение контрольных точек на изображении
Для выделения контрольных точек на изображении был использован алгоритм Active Shape Model в реализации Stasm library [3]. Результатом работы данной реализации алгоритма является упорядоченный набор из 68 точек, выделяемый в автоматическом режиме на фотографии лица (рис. 1). Каждая точка соответствует конкретной позиции на лице (углы рта, глаз, центр носа и т. д.).
Однако, несмотря на точность выделения позиций на лице процедурой Stasm, только этих данных недостаточно, чтобы сформировать достаточно полное формальное описание лица. Поэтому в данной работе контрольные точки, определяемые с помощью Stasm, используются только для позиционирования характерных черт лица на фотографии.
3. Описание областей изображения с помощью двумерного wavelet-преобразования
Для описания каждой характерной черты на выделенных регионах изображения используется неортогональное wavelet-преобразование на основе шаблонов специального вида, предложенное в работе [4].
Рис. 1. Пример работы алгоритма Л8Ы
В качестве базисных функций преобразования используются изображения колоколообразной формы, для построения которых применяются матрицы ранга 1 (рис. 2). Использование неортогонального базиса в данном случае позволяет применить технику вычисления на основе быстрого преобразования Фурье для ускорения обработки.
Рис. 2. Базисные функции неортогонального м>аувШ-преобразования
При обработке изображение интерпретируется как поверхность в трехмерном пространстве, которая затем аппроксимируется суммой из фиксированного количества поверхностей колоколообразной формы. Алгоритм также допускает выбор параметров аппроксимирующих поверхностей, таких, как вытянутость вдоль одной из осей координат и поворот на произвольный угол. Так как при аппроксимации каждой характерной черты в процессе алгоритма уже известен ее тип, то это позволяет зафиксировать параметры шаблонов, с помощью которых
можно достичь наиболее точного приближения (например, при обработке рта и бровей на фотографии выбираются семейства шаблонов, вытянутых по горизонтали).
Рис. 3. Пример аппроксимации всего лица на фотографии
4. Процедура сравнения характерных регионов
Выделенные на исходной и на сгенерированной фотографиях контрольные точки группируются по характерным чертам лица (глаза, рот, нос и т. д.), в результате чего каждая группа контрольных точек ограничивает соответствующую область на фотографии. Области аппроксимируются описанным выше способом с применением неортогонального шауеМ-преобразования, и производится попарное сравнение данных аппроксимации на обеих фотографиях. Целью процедуры сравнения является выявление параметров отличий соответствующих черт лица на фотографиях для последующей модификации строящейся модели с устранением этих отличий.
Разработанная процедура сравнения позволяет определять следующие отличия характерных областей на фотографии:
1. Поворот одной области относительно другой.
2. Смещение одной области относительно другой по обеим осям координат.
3. Растяжение по обеим осям координат.
Определение поворота изображения
Метод определения угла поворота одного изображения относительно другого состоит в использовании преобразования Фурье, выраженного в полярных координатах. Представим данные аппроксимации как множество точек на плоскости и положим f (х], у) - коэффициент интенсивности, (х], у ) - координаты центра } -й аппроксимирующей поверхности. Введем функцию ¥ (а, Ь) - дискретное преобразование Фурье от данного множества векторов.
В работе [2] показано, что если ¥ '(г, ф) - преобразование Фурье в полярных координатах для повернутого изображения, а ¥ (г, ф) - для исходного, то имеет место соотношение:
Е '(г, ф) = Е (г, ф-а). (1)
Но данное соотношение имеет место только в том случае, если все точки множества были повернуты на одну и ту же величину. В реальном же случае такое предположение может и не выполняться (например, если человек на фотографии наклонил голову). Поэтому для определения таких искажений использовался следующий метод.
Фиксируется дискретный набор значений
гк, к = 1,...,К: г0 = 0, гк = ^2,
где 5 - максимум из высоты и ширины изображения; ф;, I = 1,...,Ь : ф0 = 0, фк = 2р , и вычисляется значение функции Е(гк,ф7) по всем к = 1,...,К и I = 1,...,Ь для обоих сравниваемых изображений. Обозначим полученные матрицы Ык1 = |Е (гк, ф7)| - для первого изображения и Ы"к1 = |Е'(гк,ф;)| - для второго. Далее
построчно подсчитывается корреляция между векторами-строками обеих матриц. Значениями итогового вектора корреляции считается среднее значение корреляции в столбце. Затем находится наибольшее значение корреляции в полученном векторе: пусть согг(у) = тах(согг(I)). В силу соотноше-
I=1,...,Ь
ния (1) считается, что второе изображение получено из первого поворотом на угол фу.
Определение смещения и растяжения характерных областей
После определения возможного поворота одной области относительно другой вычисляется их взаимное смещение и растяжение по следующему принципу.
Координаты центров шаблонов в аппроксимациях соответствующих областей фиксируются как множества точек на плоскости. Первоначально для обоих множеств точек находится их центр как центр медиан. Для каждого множества вычисляется сред-неквадратическое отклонение точек от центра. Второе множество преобразуется растяжением относительно вычисленного центра таким образом, чтобы значения отклонений у обоих множеств были равны.
Второе множество перемещается таким образом, чтобы его центр медиан совпал с центром первого. Находится первоначальное значение некоторой метрики, означающей расстояние между сравниваемыми множествами точек. Далее множество точек второй области растягивается или сжимается на зафиксированную малую величину и снова вычисляется метрика. Если полученное значение меньше предыдущего, то преобразование второго изображения сохраняется и вычисленное значение метрики становится текущим. Затем осуществляется сдвиг всех точек второго множества на малую величину и вычисляется метрика. Аналогично, если значение метрики меньше предыдущего, то преобразование и значение метрики сохраняются. Подобный процесс продолжается до тех пор, пока данные преобразова-
ния позволяют улучшить (т.е. уменьшить) значение метрики или пока не будет достигнут критерий остановки по числу итераций.
В качестве метрики на множествах была выбрана метрика Хаусдорфа.
Также, аппроксимация изображения проводилась в несколько этапов. Возможные значения размеров шаблонов упорядочивались по уменьшению размера. На каждом этапе выбиралось одно значение размера шаблонов из зафиксированного порядка, и каждый последующий этап выполнялся по изображению с вычтенным значением аппроксимации на предыдущем этапе. Такой подход повышает информативность аппроксимации за счет того, что сначала убираются наиболее яркие крупные области на изображении, соответствующие наиболее освещенным участкам, а затем, с помощью более мелких шаблонов, определяется положение характерных деталей.
Рис.5. Аппроксимация крупными шаблонами
Рис. 6. Аппроксимация мелких деталей
5. Выбор оптимального изменения модели
на шаге работы алгоритма Для построения трехмерной модели головы был использован программный пакет Басевеп.
Каждая модель, как набор полигонов, однозначно определяется в пакете Басевеп набором параметров (биометрических признаков) построения. Однако модификация этих параметров имеет следующую особенность: при изменении некоторого параметра модели р ( I ):=р ( I )+с все остальные параметры также изменяются на некоторую величину: р (у ):=р (у )+с (у ). Например, при увеличении параметра «расстояние между зрачками» параметры расстояний между концами бровей также увеличиваются. Такая особенность гарантирует корректность строящейся модели при любом изменении параметров.
Поэтому выбор оптимального изменения модели на каждой итерации выполняется по следующему принципу:
1. Для каждого параметра модели р ( /' ) находится его оптимальное изменение р*( / ) через сопос-
тавление с найденными отличиями характерных областей на изображении. При этом фиксируется вектор изменения остальных параметров:
P'( i ) = p'( i,j), j
2. Составляется вектор оптимальных изменений всех параметров по отдельности:
P* = p*(i), I = 1,...n.
3. Вычисляется расстояние между каждым из векторов P'(i), i = 1,...n и вектором P*. Векторы упорядочиваются по возрастанию расстояния.
4. К модели применяется к изменений параметров, соответствующих первым упорядоченным к векторам P'( i ), i = 1,... n.
В результате данного принципа выбора изменяемого параметра будет произведена модификация, которая приведёт к улучшению соответствия максимального числа параметров модели.
6. Перенос текстуры с исходного изображения на макет Перенос текстуры с исходной фотографии на макет выполнялся по следующим принципам.
1. Фиксируется шаблон развертки текстуры для нанесения на трехмерный макет.
2. На шаблоне развертки производится позиционирование контрольных точек, соответствующих выделяемым по алгоритму Active Shape Model.
3. На входной фотографии производится выделение контрольных точек по алгоритму Active Shape Model.
4. По наборам позиций контрольных точек формируются наборы четырехугольных регионов на развертке и на фотографии.
5. Производится попиксельный перенос текстуры с каждого региона на фотографии на соответствующий ему регион на развертке.
6. К шаблону развертки применяется сглаживающий фильтр.
7. Результаты
Ниже представлены результаты тестирования: приведены изображения макета, построенного по фотографии, представленной на рис. 8.
Как видно из построенных моделей, алгоритм не учитывает детали изображения, расположенные выше уровня бровей. Этот факт обусловлен тем, что пошаговая модификация усредненного макета ведется с использованием контрольных точек ASM, которые, в свою очередь, также не располагаются выше указанной линии. Однако этот факт приемлем в силу предполагаемой области применения разработанного алгоритма: при распознавании лиц по фотографиям детали лица, находящиеся выше уровня бровей (прическа, головной убор), легко поддаются сильным изменениям и потому могут быть проигнорированы.
Рис.8. Исходная фотография
- Vv
J
_
Рис.9. Полученная развертка текстуры
Рис. 7. Шаблон развертки текстуры Рис. 10. Построенный трехмерный макет
с размеченными регионами
Литература
1. Kakadiaris. 1, Three-Dimensional Face Recognition in the Presence of Facial Expressions:An Annotated Deformable Model Approach. / I. Kakadiaris, G. Passalis, G. Toderici, M. Murtuza, Yu. Lu, N. Karampatziakis, T. Theoharis // IEEE Transactions on Pattern Analysis and Machine Intelligence. -2007. - Vol. 29, N 4. - P. 640-649. - ISSN 0162-8828.
2. Столов Е.Л., Шлянников А.В. Распознавание лиц на фотографии путем анализа характерных областей // Ученые записки Казанского Государственного Университета.
- 2007. - Т. 149, № 2. - С. 138-145. - ISSN 1815-6088.
3. Milborrow, S., Nicolls, F., Locating Facial Features with an Extended Active Shape Model // Lecture Notes in Computer Science. - 2008. - Vol. 5305. - P. 504-513. -ISSN 1611-3349.
4. Столов Е.Л. Параллельный алгоритм для отыскания водяных знаков в изображении // Вестник Казанского государственного технического университета. - 2006.
- № 3. - С. 37-42.
5. J. Yang, D. Zhang, A. F. Frangi, and J.Y. Yang. Two-Dimensional PCA: A New Approach to Appearance-Based Face Representation and Recognition // IEEE Trans pattern analysis and machine intelligence. - 2004. - Vol. 26, N 1. - P. 131-137. - ISSN: 0162-8828.
6. J.K. Sing, D.K. Basu, M. Nasipuri, M. Kundu. Face recognition using point symmetry distance-based RBF network // Applied Soft Computing. - 2007. - Vol. 7. - P. 58-70.
- ISSN: 1568-4946.
References
1. Kakadiaris, L, Three-Dimensional Face Recognition in the Presence of Facial Expressions:An Annotated Deformable Model Approach. / I. Kakadiaris, G. Passalis, G. Toderici, M. Murtuza, Yu. Lu, N. Karampatziakis, T. Theoharis // IEEE Transactions on Pattern Analysis and Machine Intelligence. - 2007. - Vol. 29, N 4. - P. 640-649. -ISSN 0162-8828.
2. Stolov Y.L., Shlyannikov A.V. Face recognition on photograph by characteristic region analysis // Scientific Letters of Kazan State University. - 2007. - T. 149, № 2. -C. 138-145. - ISSN 1815-6088. - (In Russian).
3. Milborrow, S., Nicolls, F., Locating Facial Features with an Extended Active Shape Model // Lecture Notes in Computer Science. - 2008. - Vol. 5305. - P. 504-513. -ISSN 1611-3349.
4. Stolov Y.L. Parallel algorithm for locating watermarks on image // Letters of Kazan State Technical University. -2006. - № 3. - C. 37-42. - (In Russian).
5. J. Yang, D. Zhang, A. F. Frangi, and J.Y. Yang. Two-Dimensional PCA: A New Approach to Appearance-Based Face Representation and Recognition // IEEE Trans pattern analysis and machine intelligence. - 2004. - Vol. 26, N 1. - P. 131-137. - ISSN: 0162-8828.
6. J.K. Sing, D.K. Basu, M. Nasipuri, M. Kundu. Face recognition using point symmetry distance-based RBF network // Applied Soft Computing. - 2007. - Vol. 7. - P. 58-70. - ISSN: 1568-4946.
ALGORITHM FOR GENERATION OF 3D FACE MODEL BY A PHOTOGRAPH
A. V. Shlyannikov Kazan State University
Abstract
The paper suggests a method for generating a 3D face model by a single input image. Algorithm is based on extracting the control points and characteristics features from input image and applying them to a model. A special wavelet transform is used to extract the most informative features from face photograph. Generated model can be used in face recognition systems or for visualization.
Key words: face recognition, 3D face models, wavelet processing.
Сведения об авторе
Шлянников Александр Валериевич, 1985 года рождения. В 2007 году закончил с отличием факультет ВМК Казанского государственного университета по специальности «Прикладная математика и информатика». В 2007 году поступил в аспирантуру факультета ВМК КГУ на специальность «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей». В качестве темы кандидатской диссертации была выбрана работа по разработке системы распознавания личностей по фотографиям на основе метода трехмерного моделирования лиц. E-mail: [email protected] .
Alexander Valerievich Shlyannikov (b. 1985) graduated with honours (2007) from the Kazan State University, Computer Science Department, majoring in Applied Mathematics and Informatics. In 2007 entered the postgraduate studies of Computer Science Department of Kazan State University on speciality "Mathematical and software of computers, systems and computer networks". Candidate of human identity recognition system using the 3D face modeling algorithm was chosen. E-mail: [email protected] .
Поступила в редакцию 5 апреля 2010 г.