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

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

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

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

УДК 004.946

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

М.А. Федюков

(Московский государственный университет им. М.В. Ломоносова, [email protected])

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

Ключевые слова: машинное зрение, ЗБ-реконструкция, синтетическая гибкая модель, генетический алгоритм, метод Нелдера-Мида, тонколистовой сплайн, активная модель формы.

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

Отдельной задачей, ставшей актуальной с развитием систем виртуальной реальности, является реконструкция гибких моделей [1], описывающих форму головы компактным набором параметров. Широко используемыми гибкими моделями являются активные модели формы [2], активные модели внешнего вида [3], морфируемые модели [4], однако все они получены из реальных статистических данных (БД фотографий лиц, БД трехмерных отсканированных моделей лиц). В данной работе рассматривается подход, основанный на синтетических гибких моделях головы. Положительной стороной таких моделей является четкое соответствие морфологическим характеристикам головы человека, таким как расстояние между глазами, пухлость губ или глубина ямочки на подбородке LAD [5]. Как следствие, в зависимости от приложения преимуществами могут являться простота ее редактирования неподготовленным пользователем, возможность работы с ней на уровне возрастных, гендерных или этнотерриториальных морфологических характеристик.

Другим преимуществом таких моделей является их компактное представление: в клиент-серверной архитектуре достаточно передать гибкую модель один раз, а впоследствии передавать только набор ее параметров, что ускоряет отправ-

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

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

Формализуем общепринятое понятие полигональной модели. Полигональная модель - четверка Л = (у, ^ п, Е), где V 6 Е" - вектор вершин (пространственных координат), уг- 6 Е3; t 6 Е" - вектор текстурных координат, ^ 6 Е2; п 6 Е" - вектор нормалей, п; 6 Е3; Е = (е) 6 Е3х* - матрица полигонов (треугольников), ец 6 И , 1 < е;ц < ". Параметрическая модель - Ж (Л0, 5", 0 ) = у0 + +5"0Г, где Л0 - базовая полигональная модель, задающая координаты вершин по умолчанию,

S= (s„)6

r>n*k

- матрица смещений, Sj 6

0 6 К* - вектор параметров модели, 9 ; 6 Е, —1 < 9 ; < 1 . Решаемая задача заключается в разработке алгоритма, определяющего значения всех параметров 0 и текстуру по набору из 1-4 фотографий (анфас, в профиль слева, в профиль справа и сзади). Базовая полигональная модель предварительно размечена. Универсальная разметка и = (и], и2, . . ., ит) представляет собой набор векторов и; = (и], и'2, . . ., и'ь ) , элементами которых являются индексы Ц вершин базовой полигональной модели. Таким образом, вектор V; = (V], v2, . . ., VI.) , где V = V;, задает ломаную, узлами которой являются вершины базовой полигональной модели. Каждая ломаная описывает одну характерную черту лица человека, такую как контур глаза, носа, или всей головы. Разметка (и соответствующие ломаные) задана для каждой проекции - анфас, в профиль слева, в профиль справа и сзади. Однако в силу того, что работа с разметкой (и ломаными) на большинстве этапов происходит одинаково для каждой проекции, для упрощения записи, где это возможно, будем писать и и V, не уточняя используемую проекцию.

3.

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

После нахождения антропометрических точек на каждую фотографию проецируется соответствующий набор ломаных: ц = Ту, где Т : Е3 — Е2 -оператор ортогонального проецирования на координатную плоскость. Узлы спроецированных ломаных, соответствующие найденным характерным точкам, перемещаются в подходящие им координаты. По ним вычисляется матрица аффинного преобразования, с помощью которой перемещаются все остальные узлы каждой ломаной. После этого дополнительно скорректировать положение узлов спроецированных ломаных можно вручную. В дальнейшем, не ограничивая общности, будем полагать, что на вход системе подаются две фотографии: анфас и в профиль справа. Работа системы с тремя или четырьмя фотографиями производится аналогично работе с двумя. В случае же подачи системе на вход только фотографии анфас в качестве используются контуры, описывающие среднестатистическую модель головы.

Регистрация фотографий. На данном этапе фотографии как текстурированные прямоугольники располагаются в Е3, корректируются их положение, поворот и масштаб. Полагаем, что плоскость расположена горизонтально, ось направлена на наблюдателя, ось - вправо, ось -вверх. Сначала определяется положение фотографии анфас. Она располагается в плоскости хОг и поворачивается вдоль оси таким образом, чтобы ось симметрии ломаных цанфас на ней совпадала с осью 7. Затем фотография в профиль располагается в плоскости уОг, и ее положение, поворот и масштаб определяются при помощи минимизации среднеквадратичного отклонения вершин, входя-

щих одновременно как в набор ломаных для фотографии анфас Уанфас, так и в набор ломаных для фотографии в профиль У^^ь.

Построение параметрической модели. На этом шаге положение узлов ломаных считается фиксированным. Целью является подгонка проекций ломаных, задаваемых параметрической моделью, к ломаным, полученным на предыдущем этапе, то есть нахождение значений параметров 0, минимизирующих невязку между ломаными. Набор ломаных разбит на групп таким образом, чтобы в первой группе содержались контуры всего лица и минимальный набор характерных точек всех черт лица, а в остальных Л — 1 группах содержался контур только одной черты лица. На каждом этапе минимизируется функционал невязки Ф* = 5 1 Р ( Ц:.р:), где р ( ц},р}) - евклидово

расстояние между вершинами фиксированных ломаных ц (соответствующих антропометрическим точкам, найденным на предыдущем этапе) и вершинами итерируемых ломаных р. (0 ) . Минимизация осуществляется грубо/точным алгоритмом: для выполнения грубого этапа используется генетический алгоритм, позволяющий оптимизировать большой набор параметров и избежать попадания в ближайший локальный минимум, точные этапы подгонки отдельных черт лица осуществляются с помощью метода Нелдера-Мида.

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

может быть недостаточно точной для генерации текстуры по ней. Для решения этой проблемы создается полигональная модель С - копия базовой модели . Затем ломаные на фотографиях проецируются оператором из 2 в 3 (получаемые ломаные обозначим V): = ц'ж, = = ц' , а значение г-компоненты восстанавливается из исходной модели: . Подгонка полигональной модели С происходит итеративно. На каждой итерации вершины, принадлежащие одной черте лица (заданной разметкой ), перемещаются в соответствующие координаты V: уС] =

V]. Кроме того, на каждой итерации перемещаются вершины, лежащие в окрестности . Окрестность

также находится итеративно. Каждой вершине модели присваивается вес . Изначально вес каждой из вершин равен 0. На первой итерации вес каждой вершины, принадлежащей текущей черте лица, уС] принимается равным 1. На очередной итерации перебираются все вершины модели

С, соединенные ребрами с вершинами, участвовавшими в предыдущей итерации, за исключени-

Тс

ем вершин vui

не принадлежащих черте лица

итерации i. Вес перебираемых вершин вычисляется следующим образом: wfce : = max (v|/ (г, сг), wfce) ,

vj vj

где | (г, с) = (г/с) 21 og (г/ с) - тонколистовой сплайн, обеспечивающий гладкий вид функции интерполяции; - расстояние между перебираемой и фиксированной вершинами; - масштабный коэффициент, характеризующий жесткость сплайна.

Генерация текстуры. Для генерации текстуры создается полигональная модель . В случае фотографии анфас значения элементов задаются следующим образом: vf x = 0 , vfy = t^ x, v®z = t£y, tPx = PvC; y, fP y = PvC; z, где vf ЕГ - компоненты вектора пространственных координат (вершин) модели С; tf Е I" - компоненты вектора текстурных координат модели ; - оператор ортогонального проецирования. Полученная плоская полигональная модель визуализируется в текстуру (в данном случае фронтальную) с помощью растеризации полигонов на графическом процессоре. Аналогично генерируется текстура по фотографии в профиль. Для использования на этапе смешивания текстур генерируется карта нормалей модели С. Значения в каждой точке маски смешивания вычисляются как косинус угла между осью и нормалью в данной точке.

В заключение необходимо отметить, что тестирование алгоритма производилось на открытой базе фотографий лиц CVL Face Database, содержащей цветные фотографии анфас и в профиль лиц разных рас и национальностей в возрасте от 18 до 94 лет. Было проведено сравнение предложенного алгоритма с двумя другими алгоритмами моделирования синтетических параметрических моделей, доведенными до уровня коммерческой реализации и позволяющими, таким образом, проведение сравнения на произвольном наборе фотографий: AvMaker, разработанный американской компанией CyberExtruder Inc., работающий с мо-

делью LAD [5], и FaceGen, разработанный канадской компанией Singular Inversions Inc., работающий с собственной синтетической гибкой моделью. Сравнение проведено методом субъективного тестирования, для чего было выбрано 20 пар фотографий, по каждой паре построены модели предложенным методом, а также в системах AvMaker и FaceGen. Для проведения эксперимента был разработан специальный интерфейс, на каждом этапе которого участнику демонстрировалась сначала случайно выбранная пара фотографий с предложением запомнить лицо, затем, на следующем экране - выстроенные в случайном порядке снимки экрана с текстурированными моделями, построенными тремя сравниваемыми алгоритмами, с возможностью поставить каждой модели оценку от 1 до 10. Семнадцати участникам-добровольцам в возрасте от 16 до 48 лет было предложено оценить 20 наборов построенных моделей. Коэффициент согласия между участниками эксперимента рассчитывался как каппа Флайсса, значение которого составило к = 0,843, что является почти идеальным согласием по Лэндису-Коху. Усредненная оценка AvMaker составила 0,541, FaceGen - 0,769, предложенного метода - 0,908, что демонстрирует его значительное превосходство над существующими.

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

Литература

1. Cristinacce D. and Cootes T. Automatic feature localisation with constrained local models. Pattern Recognition, 2008.

2. Cootes T. Deformable object modelling and matching. Asian Conference on Computer Vision. Queenstown, New Zealand. 2011.

3. Gao X. [et al.]. A review of active appearance models. IEEE Transactions on Systems, Man, and Cybernetics. Prague, Czech Republic. 2010.

4. Paysan P. [et al.]. A 3D face model for pose and illumination invariant face recognition. IEEE International Conference on Advanced Video and Signal Based Surveillance. Genova, Italy. 2009.

5. Agent appearance definition. URL: http://lib.openmetaver-se.org/wiki/AgentSetAppearance (дата обращения: 18.06.2011).

Создание сайтов и систем на основе интернет-технологий

• Концепция

• Разработка

• Поддержка

• Хостинг

• Продвижение

НИИ «Центрпрограммсистем», г. Тверь, пр-т 50 лет Октября, д. 3а

Телефоны: (4822) 44-32-44, 39-91-82 Сайт: www.cps.tver.ru

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