10. Левенштейн В.И. Двоичные коды с исправлением выпадений, вставок и замещений символов // Доклады Академии наук СССР. - 1963. - № 4. - С. 845-848.
11. Lucas S., Reynolds T. Learning Finite State Transducers: Evolution versus Heuristic State Merging // IEEE Transactions on Evolutionary Computation. - 2007, June. - V. 11. - Is. 3. - Р. 308-325.
Егоров Кирилл Викторович - Санкт-Петербургский государственный университет информационных
технологий, механики и оптики, магистр прикладной математики и информатики, [email protected] Царев Федор Николаевич - Санкт-Петербургский государственный университет информационных
технологий, механики и оптики, аспирант, [email protected] Шалыто Анатолий Абрамович Санкт-Петербургский государственный университет информационных
технологий, механики и оптики, доктор технических наук, профессор, зав. кафедрой, [email protected]
УДК 004.021
АЛГОРИТМ ВОССТАНОВЛЕНИЯ ТРЕХМЕРНОЙ МОДЕЛИ ЛИЦА
ПО ФОТОГРАФИИ А.В. Шлянников
Предложен метод построения трехмерной модели лица на основе одной входной фотографии. Алгоритм основывается на выделении контрольных точек и характерных особенностей на представленном изображении и переносе их на модель. Для получения характерных особенностей фотографии применяется специальное wavelet-преобразование, выделяющее наиболее информативные признаки. Полученная модель может быть использована в дальнейшем в задачах визуализации и распознавания образов.
Ключевые слова: распознавание лица, 3Б-моделирование, wavelet-обработка.
Введение
Задача построения трехмерных моделей лица в настоящее время широко востребована в задачах визуализации трехмерных объектов и в системах распознавания и контроля доступа, поэтому ей посвящено большое количество работ. Однако решенной данную проблему считать нельзя.
Известно несколько подходов для решения поставленной задачи. Наиболее точными являются методы, при которых модель лица строится при помощи специального оборудования. В работе [1] предложен алгоритм обработки информации, полученной с лазерного сканера, для построения моделей и идентификации лиц. Данный подход дает наибольшую эффективность в решении проблемы, однако сужает область применения за счет необходимости использования специального оборудования.
В данной работе применяется подход, основанный на обработке только одного монокулярного изображения, что уменьшает идентичность модели и реального лица на фотографии, но позволяет расширить область применения алгоритма.
В работе [2] предложен метод идентификации лиц по характерным признакам, присутствующим на лице. В текущей работе этот метод был использован для выделения характерных признаков лица на фотографии и построения модели по этим признакам.
Задача формально описывается следующим образом: дается некоторое изображение лица, и требуется построить приближенную пространственную фигуру, отражающую лицо на фотографии. На формат входного изображения накладываются следующие ограничения: фотография содержит только одно лицо и должна быть сделана в анфас. Результатом работы алгоритма является набор точек/полигонов в пространстве, представляющий собой модель лица на фотографии, что и является решением задачи.
Описание алгоритма
Алгоритм решения задачи строится по итеративному принципу. В качестве исходной итерации выбирается некоторая усредненная модель головы человека, и производится пошаговое ее улучшение. На каждом шаге процесса итеративной модификации выполняются следующие действия.
1. Генерируется изображение модели, которое затем используется для сравнения с входным изображением.
2. На входной фотографии и на сгенерированном изображении модели в автоматическом режиме выделяются контрольные точки, содержащие данные о точном положении лица на фотографии, его общей форме и о точных координатах конкретных черт лица на фотографии.
3. Используя координаты контрольных точек, производится аппроксимация конкретных регионов на обоих изображениях с помощью шаблонов, находящихся в специальном словаре.
4. Полученные данные аппроксимации используются для определения отличий характерных черт лица на строящейся модели и на входной фотографии.
5. Производится модификация строящейся модели с устранением выделенных отличий от входной фотографии.
Для выделения контрольных точек на изображении был использован алгоритм Active Shape Model (ASM) в реализации Stasm library [3]. Результатом работы данной реализации алгоритма является упорядоченный набор из 68 точек, выделяемый в автоматическом режиме на фотографии лица. Каждая точка соответствует конкретной позиции на лице (углы рта, глаз, центр носа и т.д.) (рис. 1).
Однако, несмотря на точность выделения позиций на лице процедурой Stasm, только этих данных недостаточно, чтобы сформировать достаточно полное формальное описание лица. Поэтому в данной работе контрольные точки, определяемые с помощью Stasm, используются только для позиционирования характерных черт лица на фотографии.
Для описания каждой характерной черты на выделенных регионах изображения используется неортогональное wavelet-преобразование на основе шаблонов специального вида, предложенное в работе [4]. В качестве базисных функций преобразования используются изображения колоколообразной формы, для построения которых используются матрицы ранга 1. Использование неортогонального базиса в данном случае позволяет применить технику вычисления на основе быстрого преобразования Фурье для ускорения обработки (рис. 2).
Выделение контрольных точек на изображении
Рис. 1. Пример работы алгоритма ASM
Описание областей изображения с помощью двумерного wavelet-преобразования
1
При обработке изображение интерпретируется как поверхность в трехмерном пространстве, которая затем аппроксимируется суммой из фиксированного количества поверхностей колоколообразной формы. Алгоритм также допускает параметры аппроксимирующих поверхностей, такие, как вытянутость вдоль одной из осей координат и поворот на произвольный угол. Так как при аппроксимации каждой характерной черты в процессе алгоритма уже известен ее тип, то это позволяет зафиксировать параметры шаблонов, с помощью которых можно достичь наиболее точного приближения (например, при обработке рта и бровей на фотографии выбираются семейства шаблонов, вытянутых по горизонтали) (рис. 3).
Рис. 3. Пример аппроксимации всего лица на фотографии
Процедура сравнения характерных регионов
Выделенные на исходной фотографии и на сгенерированной контрольные точки группируются по характерным чертам лица (глаза, рот, нос и т.д.), в результате чего каждая группа контрольных точек ограничивает соответствующую область на фотографии. Области аппроксимируются описанным выше способом с применением неортогонального wavelet-преобразования, и производится попарное сравнение данных аппроксимации на обеих фотографиях. Целью процедуры сравнения является выявление параметров отличий соответствующих черт лица на фотографиях для последующей модификации строящейся модели с устранением этих отличий.
Разработанная процедура сравнения позволяет определять следующие отличия характерных областей на фотографии:
1. поворот одной области относительно другой;
2. смещение одной области относительно другой по обеим осям координат;
3. растяжение по обеим осям координат.
Определение поворота изображения. Метод определения угла поворота одного изображения относительно другого состоит в использовании преобразования Фурье, выраженного в полярных координатах. Представим данные аппроксимации как множества точек на плоскости и положим /(Xj, у]-) -
коэффициент интенсивности, (Xj, у]-) - координаты центра ] -й аппроксимирующей поверхности. Введем функцию Е(а, Ь) - дискретное преобразование Фурье от данного множества векторов.
В работе [2] показано, что если Е '(г, ф) - преобразование Фурье в полярных координатах для повернутого изображения, а Е (г, ф) - для исходного, то имеет место соотношение:
Е '(г, ф) = Е (г, ф-а). (1)
Но данное соотношение имеет место только в том случае, если все точки множества были повернуты на одну и ту же величину. В реальном же случае такое предположение может и не выполняться (например, если человек на фотографии наклонил голову). Поэтому для определения таких искажений использовался следующий метод.
Фиксируется дискретный набор значений гк, к = 1,..., К : г0 = 0, гк = —, где 5 - максимум из высоты
и ширины изображения; ф/, / = 1,...,Ь : фо = 0, фк = 2л и вычисляется значение функции Е(гк,ф/) по
всем к = 1,...,К и / = 1,...,Ь для обоих сравниваемых изображений. Обозначим полученные матрицы
Мк/ = Е(гк, ф/ )| - для первого изображения и М'к,/ = |Е'(гк,ф/)| - для второго. Далее построчно подсчи-
тывается корреляция между векторами-строками обеих матриц. Значениями итогового вектора корреляции считается среднее значение корреляции в столбце. Затем находится наибольшее значение корреляции в полученном векторе: пусть оогг(}) = тах(согг(/)). В силу соотношения (1) считается, что второе
/=1,..., Ь
изображение получено из первого поворотом на угол ф ^.
Определение смещения и растяжения характерных областей. После определения возможного поворота одной области относительно другой, вычисляется их взаимное смещение и растяжение по следующему принципу.
Координаты центров шаблонов в аппроксимациях соответствующих областей фиксируются как множества точек на плоскости. Первоначально для обоих множеств точек находится их центр как центр медиан. Для каждого множества вычисляется среднеквадратическое отклонение точек от центра. Второе множество преобразуется растяжением относительно вычисленного центра таким образом, чтобы значения отклонений у обоих множеств были равны.
Второе множество перемещается таким образом, чтобы его центр медиан совпал с центром первого. Находится первоначальное значение некоторой метрики, означающей расстояние между сравниваемыми множествами точек. Далее множество точек второй области растягивается или сжимается на зафиксированную малую величину и снова вычисляется метрика. Если полученное значение меньше предыдущего, то преобразование второго изображения сохраняется, и вычисленное значение метрики становится текущим. Затем осуществляется сдвиг всех точек второго множества на малую величину и вычисляется метрика. Аналогично, если значение метрики меньше предыдущего, то преобразование и значение метрики сохраняются. Подобный процесс продолжается до тех пор, пока данные преобразования позволяют улучшить (т.е. уменьшить) значение метрики или пока не будет достигнут критерий остановки по числу итераций.
В качестве такой метрики была выбрана метрика Хаусдорфа: если A, B - два множества точек, соответствующие первой и второй областям, то для каждой точки a е A находится расстояние от a до B , а затем подсчитывается A(B) = sup d (a, B). После этого множества меняются местами и подсчитывается
A
аналогичная величина. Метрикой считается значение d(A, B) = max(A(B), B(A)).
Аппроксимация изображения проводилась в несколько этапов. Возможные значения размеров шаблонов упорядочивались по уменьшению размера. На каждом этапе выбиралось одно значение размера шаблонов из зафиксированного порядка, и каждый последующий этап выполнялся по изображению с вычтенным значением аппроксимации на предыдущем этапе. Такой подход повышает информативность аппроксимации за счет того, что сначала убираются наиболее яркие крупные области на изображении, соответствующие наиболее освещенным участкам, а затем, с помощью более мелких шаблонов, определяется положение характерных деталей (рис. 4, 5).
Рис. 4. Область на фотографии
а б
Рис. 5. Варианты аппроксимации: а - аппроксимация крупными шаблонами; б - аппроксимация мелких деталей
Выбор оптимального изменения модели на шаге работы алгоритма
Для построения трехмерной модели головы был использован программный пакет Баеевеп.
Каждая модель как набор полигонов однозначно определяется в пакете Раеевеп набором параметров (биометрических признаков) построения. Однако модификация этих параметров имеет следующую особенность: при изменении некоторого параметра модели р(/):=р(/)+с, все остальные параметры также изменяются на некоторую величину: р(/):=р(/)+с(/). Например, при увеличении параметра «расстояние между зрачками», параметры расстояний между концами бровей также увеличиваются. Такая особенность гарантирует корректность строящейся модели при любом изменении параметров.
Поэтому выбор оптимального изменения модели на каждой итерации выполняется по следующему принципу.
1. Для каждого параметра модели р(г) находится его оптимальное изменение р*(0 через сопоставление с найденными отличиями характерных областей на изображении. При этом фиксируется вектор изменения остальных параметров: Р'(1) = р'(г), ] = 1,...п.
2. Составляется вектор оптимальных изменений всех параметров по отдельности: P* = p*(i), г = 1,...п.
3. Вычисляется расстояние между каждым из векторов Р'(0, г =1,...п и вектором Р*. Векторы упорядочиваются по возрастанию расстояния.
4. К модели применяется к изменений параметров, соответствующих первым упорядоченным к векторам Р'(0, г =1,...п.
В результате данного принципа выбора изменяемого параметра, будет произведена модификация, приводящая к улучшению соответствия максимального числа параметров модели.
Результаты
На рис. 6 представлены результаты тестирования: приведены тестовые изображения лиц и построенные по ним модели.
Рис. 6. Тестирование работы алгоритма
Как видно из построенных моделей, алгоритм не учитывает детали изображения, расположенные выше уровня бровей. Этот факт обусловлен тем, что пошаговая модификация усредненной модели ведется с использованием контрольных точек ASM, которые, в свою очередь, также не располагаются выше указанной линии. Однако этот факт приемлем в силу предполагаемой области применения разработанного алгоритма: при распознавании лиц по фотографиям, детали лица, находящиеся выше уровня бровей (прическа, головной убор) легко поддаются сильным изменениям и потому могут быть проигнорированы.
Литература
1. Kakadiaris I. 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. Karampatzi-akis, T. Theoharis // IEEE Transactions on Pattern Analysis and Machine Intelligence. - 2007. - V. 29. -№ 4. - P. 640-649.
2. Столов Е.Л., Шлянников А.В. Распознавание лиц на фотографии путем анализа характерных областей // Ученые записки Казанского Государственного Университета. - 2007. - Т. 149. - № 2. - С. 138145.
3. Milborrow S., Nicolls F. Locating Facial Features with an Extended Active Shape Model // Lecture Notes in Computer Science. - 2008. - V. 5305. - P. 504-513.
4. Столов Е.Л. Параллельный алгоритм для отыскания водяных знаков в изображении // Вестник Казанского государственного технического университета. - 2006. - № 3. - С. 37-42.
Шлянников Александр Валериевич - Казанский государственный университет, аспирант,