Научная статья на тему 'Реконструкция параметрической модели и текстуры головы человека по набору изображений'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Федюков Максим, Посконин Андрей, Зорин Даниил

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

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

Текст научной работы на тему «Реконструкция параметрической модели и текстуры головы человека по набору изображений»

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

Максим Федюков, Андрей Посконин, Даниил Зорин Факультет вычислительной математики и кибернетики Московский государственный университет им. М. В. Ломоносова mfedyukov@graphics.cs.msu.ru, aposk@yandex.ru, jfaranime@gmail.com

Аннотация. В работе представлен обзор существующих методов моделирования головы человека, описывается разработанная система

реконструкции параметрической модели головы по набору фотографий.

Введение

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

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

Также методы моделирования можно классифицировать по типу выходных данных. В некоторых работах ими является облако точек [11]. Во многих работах реконструированная форма представляется в виде полигональной модели [5, 7, 8, 10].

/■~\ и и и и

Отдельной задачей, ставшей актуальной в последние годы с развитием многопользовательских виртуальных сред, является реконструкция модели,

с» с» с» с»

представляющей собой компактный набор параметров, описывающий морфологические характеристики головы человека.

Постановка задачи

Везде, где не оговорено обратное, будем понимать под полигональной моделью u вектор ^х,u2,...,uN), Vi = 1,...,N,ui еК3, состоящий из радиус-векторов вершин. Множество граней фиксировано, и потому не рассматривается с целью упрощения модели.

На отдельных же этапах, касающихся получения и работы с текстурой, будем рассматривать текстурированную полигональную модель ~ := (~1,~2,...,uN),

Vi = 1,...,N,~ е К5, ~ = (~ х,щ ,~ г,,п1у), и/,х,и/,у,ии2 — пространственные

координаты вершины, и ии, и г> — текстурные координаты вершины.

Под параметризованной полигональной моделью а будем подразумевать а := Ь + £р, где Ь = (Ь1,Ь2,...,Ьм) — базовая полигональная модель, задающая

координаты вершин по умолчанию, £ := ] (і = 1,2,...,N; у = 1,2,...,К; яіу є К3) —

матрица смещений, р := (р1,р2,...,рК) (у = 1,2,...,К;р є К,-1 < р < 1) — вектор

параметров модели, N — число вершин полигональной модели, К — число параметров.

Далее такую модель а для краткости будем называть просто параметрической моделью.

Первое преимущество параметрических моделей — их компактное представление при К < N. Например, в клиент-серверной архитектуре достаточно передать один раз базовую полигональную модель, а впоследствии передавать только набор К параметров при анимации модели или отправке на клиент нескольких моделей.

Рис. 4. Визуализация наборов векторов смещений, отвечающих за ширину носа

(слева) и размер ушей (справа)

Кроме того, матрица смещений S может быть подобрана таким образом, чтобы соответствовать морфологическим характеристикам головы человека, таким как расстояние между глазами, ширина рта или глубина ямочки подбородка (см., например, модель LAD [12], рис. 1). В таком случае, в зависимости от приложения, преимуществами параметрической полигональной модели могут являться простота ее редактирования неподготовленным пользователем, либо, например, возможность работы с ней на уровне возрастных, гендерных или этнотерриториальных морфологических характеристик человека. В дальнейшем мы будем рассматривать именно такие матрицы S, т. е., матрицы блочно-диагонального вида, где на одну вершину базовой модели b влияет не более одного параметра из набора Р.

Базовая полигональная модель b и матрица смещений S считаются фиксированными.

Решаемая задача заключается в разработке системы, определяющей значения всех параметров Р и текстуру по набору из 1—4 фотографий (анфас, в профиль слева, в профиль справа и сзади).

Предлагаемый метод

Базовая полигональная модель предварительно размечена. Универсальная разметка Т := (^, ¿2,..., ¿м) представляет собой набор векторов := (¿1,¿2,...,)

(Vi, j,е Ы,< N; i = 1,2,...,М; j = 1,2,...,Ц.; м — число векторов, ц — число элементов векторов, — число вершин полигональной модели), элементами которых

являются индексы ^ вершин базовой полигональной модели. Таким образом, вектор д = (Ч,д2,. .,ЧЦ), где VI, j,^ = Ь. ) задает ломаную, узлами которой являются

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

Разметка (ломаные) заданы для каждой проекции — анфас, в профиль слева, в профиль справа и сзади: Т1 (°), Т1 (°), тг (°) и ть (°), соответственно (см. рис. 2). Однако, в силу того, что работа с разметкой и ломаными на большинстве этапов происходит одинаково для каждой проекции, для упрощения записи, где это возможно, будем писать ^ и б, не уточняя индекс проекции.

Рис. 5. Разметка для фотографий анфас (серая) и в профиль справа (зеленая) Предобработка

Выделение черт лица

На каждой фотографии распознаются характерные точки лица, такие как уголки глаз или кончик носа.

На каждую фотографию проецируется соответствующий набор ломаных:

О = PQ, где Р : К3 ^ К2 — оператор ортогонального проецирования на

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

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

подачи системе на вход только фотографии анфас, в качестве О используются контуры, описывающие среднестатистическую модель головы [13, 14].

Подгонка фотографий

На данном этапе фотографии, как текстурированные прямоугольники, располагаются в Р, корректируются их положение, поворот и масштаб.

Полагаем, что плоскость Оху расположена горизонтально, ось У направлена на наблюдателя, ось х — вправо, ось 2 — вверх.

Сначала определяется положение фотографии анфас. Она располагается в плоскости 0x2 и поворачивается вдоль оси У таким образом, чтобы ось симметрии ломаных Ог на ней совпадала с осью 2.

Затем фотография в профиль располагается в плоскости 0У2 и ее положение, поворот, и масштаб определяются при помощи минимизации среднеквадратичного отклонения вершин, входящих одновременно как в набор ломаных для фотографии

анфас 0, так и в набор ломаных для фотографии анфас °.

Получение формы

Построение параметрической модели

На данном этапе положение узлов ломаных О считается фиксированным.

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

[15]). Здесь со'1; — узлы ломаных О = Р0, а так как ломаные 0 проходят по вершинам параметрической модели а(р), VI,у =ю)(р) (см. рис. 3).

Рис. 6. Ломаные О, описывающие контуры характерных черт лица (желтые), и О ’,

подбирамые на данном этапе (зеленые)

Однако, в таком решении есть следующая проблема. Матрица смещений £ может быть задана так, что множество всех возможных параметризованных полигональных моделей {а(р); р є Кк} содержится в множестве всех возможных базовых полигональных моделей {Ь = (Ь1,Ъ2,...,Ъы)| V/,Ьі є К3}, но не равно ему. Т. е., на вход могут быть поданы такие фотографии и, в свою очередь, по ним будут подобран

- 154 -

такой набор ломаных Q, что не найдется параметров, которые преобразуют базовую модель к требуемому виду.

Так как психофизический процесс распознавания лиц человеком состоит из нескольких этапов, обработка форм отдельных черт лица и обработка композиции всех черт происходят на разных этапах и вносят разный вклад в узнаваемость лиц [16, 17, 18], целесообразно а) разбить набор ломаных Q на группы Qm (m = 1,2,...,H ) таким образом, чтобы в каждой группе содержался либо контур только одной черты лица (для подбора ее формы), либо контуры одной черты и всего лица (для подбора положения этой черты); б) разбить набор параметров Р на H непересекающихся групп Рт таким образом, чтобы в каждой группе содержались параметры, описывающие либо форму, либо положение только одной черты лица:

Рт = (Plm , Plm +1v- Plm+1 -Д Vm = H, lm G N l1 = 1 lH+1 - 1 = K, lm < lm+1.

Таким образом, учитывая введенные ограничения на вид матрицы S, задача сводится к независимому поиску значений из наборов Pm, минимизирующих

функционалы Gm = zhm-11^° -oУ)2.

Минимизация осуществляется методом градиентного спуска.

Подгонка полигональной модели

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

Для решения этой проблемы создается текстурированная полигональная модель ~ — копия базовой текстурированной модели b . Затем ломаные на фотографиях Q проецируются оператором P-1 из R2 в R3 (получаемые ломаные будем обозначать Q): Vi, j,qj x =Ojx, qj y =Ojy, а значение z -компоненты восстанавливается из

исходной модели: qj z = qj z.

Подгонка полигональной модели С происходит итеративно. На каждой итерации

i вершины, принадлежащие одной черте лица (заданной универсальной разметкой T ),

перемещаются в соответствующие координаты Q: Vi, j, ~ = q j. Кроме того, на

О j

каждой итерации перемещаются вершины, лежащие в окрестности ^. Окрестность также находится итеративно. Каждой вершине модели ~ присваивается вес vk

(k = 1,.. ., N, N — число вершин полигональной модели). Изначально веса всех вершин

равны 0. На первой итерации веса вершин, принадлежащих текущей черте лица, ~

О

принимаются равными 1. На очередной итерации j перебираются все вершины модели с, соединенные ребрами с вершинами, участвовавшими в предыдущей

итерации, за исключением вершин ~ m |m^, не принадлежащих черте лица итерации i.

о

Веса перебираемых вершин вычисляются следующим образом:

= max(^2n exp(- ),v~ ), где а — коэффициент масштаба, X — нормировочный

коэффициент.

Генерация текстуры

Для генерации текстуры создается текстурированная полигональная модель ё .

В случае фотографии анфас, значения элементов ё задаются следующим образом: ёх = 0, ёу = си, = с„, ёи = Рсу, = Рсг, где Р — оператор ортогонального

проецирования. Полученная плоская полигональная модель визуализируется в текстуру (в данном случае, фронтальную).

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

Дополнительная обработка

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

Помимо них на данном этапе могут моделироваться дополнительные аксессуары, такие как очки, сережки, головные уборы и прочее.

Моделирование глаз

Модель каждого глаза, представляющая собой объединение двух сфер (глазное яблоко и зрачок) переносится и масштабируется в соответствии с положением

ломаной 0, описывающей контур данного глаза.

Усредненный цвет радужки глаза определяется по фотографии анфас. Затем в пространстве БЗЬ соответственно изменяется цвет радужки на предварительно подготовленной развертке фотографии глаза.

Моделирование ротовой полости

Рис. 7. Фрагменты текстуры, полученной с фотографий и предварительно подготовленной текстуры ротовой полости

Модели полости рта, а также языка и зубов, подгоняются аналогично моделям

глаз.

Текстура, полученная с фотографий, смешивается с предварительно полученной разверткой фотографий ротовой полости, включающей зубы и язык (см. рис. 4).

Рис. 8. Итоговая текстурированная модель

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

Список литературы

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

[1] Frederick I. Parke. Computer generated animation of faces. In ACM’72: Proceedings of the ACM annual conference, pages 451-457, New York, NY, USA, 1972. ACM.

[2] F.I. Parke. A model for human faces that allows speech synchronized animation. In

Proceedings of the 1st annual conference on Computer graphics and interactive techniques, pages 2-2. ACM New York, NY, USA, 1974.

[3] C. Xu, L. Quan, Y. Wang, T. Tan, and M. Lhuillier. Adaptive multi-resolution fitting and its application to realistic head modeling. In Proceedings of Geometric Modeling and Processing, 2004.

[4] Frank Hulsken, Christian Eckes, Roland Kuck, Jorg Unterberg, and Sophie J"org. Modeling and animating virtual humans for real-time applications. In The International Journal of Virtual Reality, 2007, 6(4):11-20, 2007.

[5] G. Galicia and A. Zakhor. Depth based recovery of human facial features from video sequences. In Image Processing, 1995. Proceedings., International Conference on, volume 2, 1995.

[6] R. Lengagne, P. Fua, and O. Monga. 3D stereo reconstruction of human faces driven by differential constraints. Image and Vision Computing, 18(4):337-343, 2000.

[7] R. Dovgard and R. Basri. Statistical symmetric shape from shading for 3D structure recovery of faces. Lecture Notes in Computer Science, pages 99-113, 2004.

[8] W.A.P. Smith and E.R. Hancock. A Model-Based Method for Face Shape Recovery. In Pattern Recognition and Image Analysis: Second Iberian Conference, IbPRIA, pages 268276. Springer, 2005.

[9] P. Fua. Regularized bundle-adjustment to model heads from image sequences without calibration data. International Journal of Computer Vision, 38(2):153-171, 2000.

[10] VG Zhislina, DV Ivanov, VF Kuriakin, VS Lempitskii, EM Martinova, KV Rodyushkin, TV Firsova, AA Khropov, and AV Shokurov. Creating and Animating Personalized Head Models from Digital Photographs and Video. Programming and Computer Software, 30(5):242-257, 2004.

[11] Y. Xu, C.S. Xu, Y.L. Tian, S.D. Ma, and M.L. Luo. 3D face image acquisition and reconstruction system. In IEEE Instrumentation and Measurement Technology Conference, 1998. IMTC/98. Conference Proceedings, volume 2, 1998.

[12] Agent appearance definition. http://lib.openmetaverse.org/wiki/AgentSetAppearance, as of 2009.

[13] Leslie G. Farkas. Anthropometry of the head and face in medicine. New York :

Elsevier, 1981.

[14] Leslie G. Farkas and Ian R. Munro. Anthropometric facial proportions in medicine, chapter Facial Proportions in Medical Illustration. Springfield: Charles C. Thomas, 1987.

[15] М. А. Федюков. Аппроксимация полигональной сетки головы человека с помощью параметризованной антропометрической модели. In Труды международной научной конференции студентов, аспирантов и молодых учёных «Ломоносов-2009», 2009.

[16] Minear, M. & Park, D.C. A lifespan database of adult facial stimuli. Behavior Research Methods, Instruments, & Computers. 36, 2004.

[17] A. Schwaninger, C.C. Carbon, and H. Leder. Expert face processing: Specialization and constraints. Development of face processing, pages 81-97, 2003.

[18] C. Wallraven, A. Schwaninger, and H.H. B'ulthoff. Learning from humans: computational modeling of face recognition. Network: Computation in Neural Systems, 16(4):401-418, 2005.

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