Санкт-Петербургский государственный университет
Программная инженерия
Кафедра Системного программирования
Петухов Дмитрий Сергеевич
Реконструкция трехмерной поверхности
лица на базе гладкой аппроксимированной
модели
Бакалаврская работа
Научный руководитель:
к. ф.-м. н., доцент Вахитов А. Т.
Рецензент:
Петров А. Г.
Санкт-Петербург
2016
SAINT-PETERSBURG STATE UNIVERSITY
Software Engineering
Department of Software Engineering
Petukhov Dmitrii
3D face shape reconstruction based on
smooth approximation model
Graduation Thesis
Scientific supervisor:
Associate professor Alexander Vahitov
Reviewer:
Alexander Petrov
Saint-Petersburg
2016
Оглавление
Введение
4
1. Обзор
1.1. Реконструкция лица по особым точкам . .
1.1.1. Фиксированный подход . . . . . . . .
1.1.2. Проблемы фиксированного подхода
1.1.3. Адаптивный подход . . . . . . . . . .
.
.
.
.
6
6
7
8
9
2. Описание решения
2.1. Постановка задачи . . . . . . . . . . . . . . . . . . . . . .
2.2. Алгоритм . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
12
12
3. Реализация
14
4. Эксперименты
4.1. Искусственные лица . . . . . . . . . . . . . . . . . . . . . .
4.2. Реальные лица . . . . . . . . . . . . . . . . . . . . . . . . .
16
18
19
Заключение
22
Список литературы
23
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Введение
В данной работе рассматривается задача реконструкции трёхмерной поверхности лица по единственной фотографии с использованием
морфированной модели BFM [1]. Результатом её решения является высокополигональная трёхмерная модель, максимально соответствующая
лицу реального человека. Существует масса примеров применения таких моделей на практике, начиная с использования их при анимации
лиц в фильмах [3, 22], заканчивая видеомэппингом (3D mapping) [17].
Однако для того, чтобы получать такие модели в обычной ситуации
необходимо дорогостоящее оборудование (лазерные сканеры, фотоаппараты, вспышки и прочее), квалифицированный персонал и специальное помещение. Далеко не все и не всегда располагают достаточными
для решения этой задачи ресурсами.
К счастью, с развитием методов оптимизации и компьютерного зрения стало возможным восстановление трёхмерной геометрии лица без
использования специализированной техники, а посредством анализа короткого фрагмента видео [23] или единственной фотографии [4]. Причиной этому стал сформулированный Бланцом и Веттером метод построения гладкой аппроксимированной модели лица (морфированной
модели) [4] на основе большого количества трёхмерных моделей мужских и женских лиц. Такая морфированная модель позволяет генерировать новые лица, как линейную комбинацию имеющихся, благодаря
чему, задача реконструкции сводится к поиску небольшого количества
необходимых коэффициентов.
Для повышения скорости реконструкции в большинстве случаев подгонка трёхмерной модели к изображению осуществлятся только по особым точкам, которые детектируются с помощью специальных алгоритмов [11], [16], [24]. Детекторы находят два типа точек: точки первого
типа имеют малую погрешность обнаружения вне зависимости от конкретного лица и ракурса съёмки, в то время как точки второго типа
детектируются не очень точно, что приводит к высоким ошибкам реконструкции при использовании их в алгоритмах восстановления модели
4
лица.
Уже предпринимались попытки к решению этой проблемы [12, 20],
однако эти подходы двухступенчатые и не предполагают оптимизации
единой функции стоимости.
Поэтому целью данной работы является разработка алгоритма реконструкции трёхмерной поверхности лица по единственной фотографии, устойчивого к поворотам головы, на основе оптимизации одной
функции стоимости.
В связи с этим были поставлены следующие задачи:
• реализовать алгоритм решения задачи;
• разработать среду для проведения тестирования работы алгоритма;
• провести тестирование работы алгоритма.
5
1. Обзор
1.1. Реконструкция лица по особым точкам
Ключевой составляющей всех рассматриваемых нами методов является использование трёхмерной морфированной (гладкой аппроксимированной) модели лица. По своей сути морфированная модель – это параметризация человеческого лица, предложенная Бланцом и Веттером[4]
для синтеза новых лиц.
Применение морфированной модели в задаче восстановления геометрии лица по фотографии позволяет переформулировать задачу в
терминах задачи оптимизации, – поиска необходимых коэффициентов
морфированной модели, минимизирующих заранее заданную функцию
энергии, чаще всего отражающую тем или иным способом разницу между проекцией модели и поданной на вход фотографей.
Лицо представляется как вектор, состоящий из 3P координат для P
вершин:
s = (x1 , y1 , z1 , . . . , xP , yP , zP )T ∈ R3P .
(1)
Чтобы получить новое лицо, достаточно задать M коэффициентов
α ∈ RM :
s = s̄ + Sdiag(σ)α .
(2)
Здесь s̄ – среднее лицо, хранящееся в морфированной модели, S ∈
R3P ×M – собственные вектора морфированной модели, которым соответствуют собственные числа σ ∈ RM .
Далее мы рассмотрим работы, в которых морфированная модель
подгоняется используя небольшой, постоянный для всех фотографий
набор точек. Эти точки называют особыми, ключевыми точками
лица, такие как точки в уголках и вокруг глаз, на линии губ, на контуре
лица и так далее. Существует целый набор специальных алгоритмов,
цель которых находить такие точки на изображении, однако они не
являются предметом нашего исследования.
6
1.1.1. Фиксированный подход
Использовать особые точки для реконструкции модели лица с помощью морфированной модели впервые предложили в работе [26]. Пользователю предлагалось вручную отметить точки на фотографии и соответсвующие вершины на моделе. Затем для нахождения оптимальных
коэффициентов лица максимизируется заранее заданая функция правдоподобия.
В статье [6] авторы задались целью автоматизировать процесс реконструкции с использованием особых точек, а так же сделать его как
можно более быстрым, подходящим к использованию в приложениях
реального времени. Эта цель была достигнута путём построения Active
Appearance Model (AAM) [5] под морфированную модель.
Значительно повысить качество реконструкции удалось авторам статьи [2] путём подсчёта и включения дисперсии для каждой из особых
точек на изображении в процесс минизации функции стоимости.
Тем не менее во всех этих работах считается, что нам известно F
особых точек на фотографии лица, F ≪ P . Координатами этих точек
r ∈ R2F определяются следующие параметры:
- параметры морфированной модели модели α;
- матрица проецирования Π;
- функция Φ, сопоставляющая особую точку точке 3D модели;
такие что в идеальной ситуации имеет место равенство:
r = ΠΦ(s) = ΠΦ(s̄ + Sdiag(σ)α) .
(3)
Для восстановления геометрии лица по особым точкам минизируют разницу между координатами особых точек лица на фотографии и
7
координатами спроецированных вершин 3D-модели:
α̂ = argminE(α)
α
= argmin∥ΠΦ(s̄ + Sdiag(σ)α) − r∥22 + η∥α∥22
α
= argmin∥ΠΦ(s̄) + ΠΦ(Sdiag(σ)α) − r∥22 + η∥α∥22
α
(4)
= argmin∥ΠΦ(Sdiag(σ)α) − (r − ΠΦ(s̄))∥22 + η∥α∥22
α
= argmin∥Qα − y∥22 + η∥α∥22 .
α
Здесь коэффициент η предотвращает проявление такого явления,
как переобучение модели – ситуации, когда модель лица идеально проецируется в особые точки, но ведёт себя совершенно непредсказуемо в
остальных местах.
1.1.2. Проблемы фиксированного подхода
Устанавливая в формуле (3) взаимно-однозначное соответствие Φ
между индексами морфированной модели и номерами особых точек,
мы ограничиваем применимость подхода в ситуациях, когда лицо на
фотографии изображенно под углом.
В самом деле, допустим мы указали, что особой точке номер N ,
находящейся на контуре лица, соответствует вершина на модели под
номер M . Тогда даже при малейших поворотах головы, вершина соответствующая индексу M перекрывается частью головы. Это разумеется
ведёт к снижению качества реконструкции в определенных случаях.
Более того в [20] заметили, что такие несоответствия характерны не
только при повороте лица, но и без него. Объясняется это тем, что в
отличие от особых точек, детектируемых ”внутри” лица, особые точки
на контуре не обладают настолько яркими, отличительными характеристиками. Это вновь вызывает колебания в их расположении от фотографии к фотографии даже на изображениях с лицами ”в фас”, что
также ведёт к снижению качества результатов работы.
8
1.1.3. Адаптивный подход
В адаптивном подходе, как и в фиксированном, всё, что известно об
объекте, для которого строится модель, это координаты особых точек.
Однако в этот раз, в виду проблем описанных в секции 1.1.2, исследователи так или иначе ”не доверяют” точкам на контуре лица.
В [12] авторы стараются автоматически определить и избавиться от
нестабильных точек на лице. Для этого, в первую очередь, определяется ракурс лица на фотографии, путём использования цилиндрической
модели лица, впервые предложенной [18] для определения направления
взгляда водителя. Затем на основе этой информации отбрасываются перекрытые частью лица точки и запускается процесс оптимизации.
Хотя в [8] рассматривается задача распознавания лиц, а не их реконструкции, в процессе определения положения головы, с целью получить
нормализованное изображение лица и сопоставить его с базой, они так
же, как и мы, заинтересованы в избегании использования нестабильных особых точек. Для этого они обучают несколько AAM при различных поворотах модели головы, а затем, в процессе сопоставления AAM
изображению, определяют среди них них те, которые больше всего соответствуют установленным критериям.
В [20] авторы поступают с особыми точками следующим образом: до
начала реконструкции для каждой особой точки на контуре лица вручную выбирается по 20 вершин на морфированной модели, образующих
цепочку к носу лица.
Затем, когда на вход алгоритму поступает набор координат особых точек, они разделяют их на множество стабильных и нестабильных (контурных), тем самым целевая функция E(α) из уравнения (4)
принимает вид:
[
]
[
]
2
Q
yнестабильные
нестабильные
E(α) =
α−
(5)
+ η∥α∥22 .
Qстабильные
yстабильные
2
Координаты нестабильных точек соединяются алгоритмом Брезенхэма [25], образуя пиксельный контур. Теперь во время оптимизации
9
за ошибку считается минимальное расстояние от проекции одной из заранее отмеченных вершин модели до пиксельного контура в то время,
как для стабильных точек функция энергии не изменилась:
∑
E(α) =
min∥Qi,нест. α − yj,нест. ∥22 + ∥Qст. α − yст. ∥22 + η∥α∥22 . (6)
i
j
Угол, под которым находится лицо, выражается матрицей поворота
камеры R и eё вектором переноса t (входят в матрицу проецирования
Π). Они могут быть известны заранее или приближены специальными
алгоритмами оценки ракурса: в условиях перспективной проекции это
алгоритмы, решающие задачу Perspective-n-Point [21, 13]. Кроме этого,
для определения параметров проецирования (в частности, ортографического) может быть использован Gold Standard алгоритм [9].
В любом случае, после того, как известен ракурс камеры, из каждого
набора в 20 точек выбирается та точка, в которой наилучшим образом
выполняется следующее свойство: нормаль к поверхности в этой точке
при проецировании на ось Z должна быть минимальна. Эта важная
часть алгоритма, которая позволяет адаптироваться к повороту головы.
Для оптимизации этой функции используется алгоритм ЛевенбергаМарквардта [15], на каждой итерации которого применяется итеративный алгоритм ближайшей точки (LM-ICP) [7]. То есть сначала при фиксированном коэффициенте морфированной модели α в качестве значения ошибки принимается расстояние до ближайшей точки на пиксельном контуре, и только потом обновляется параметр α.
Чтобы ускорить работу алгоритма в [20] вычисляют карту расстояний (distance map, distance transform) [14]. На этой карте в каждой
клетке указано кратчайшее расстояние до пиксельного контура, построенного ранее. Так как эти значения не зависят от параметра α, эту
карту достаточно посчитать один раз и использовать в дальнейшем.
Как следствие, функция энергии принимает следующий вид:
∑
E(α) =
∥D(Qi,нест. α)∥22 + ∥Qст. α − yст. ∥22 + η∥α∥22 ,
(7)
i
10
здесь функция D, используя посчитанную карту расстояний, возращает
минимальное расстояние между проекцией подходящих точек морфированной модели (при текущем коэффициенте α) и пиксельного контура.
11
2. Описание решения
2.1. Постановка задачи
Реконструкция трёхмерной поверхности лица будет производиться
в условиях ортографического проецирования. Также в процессе реконструкции необходимо восстановить положение лица, что эквивалентно нахождению матрицы поворота камеры R и вектора переноса t. За
основу для решения задачи взят алгоритм [20], описанный в разделе
1.1.3. Было решено внести следующие изменения: вместо того, чтобы
во время оптимизации выбирать конкретную точку из заранее сформированного множества, предлагается построить по этим точкам интерполирующий сплайн, параметризовать положение на нём и включить
этот параметр в процесс отимизации.
2.2. Алгоритм
В первую очередь, необходимо заранее отметить точки на модели. В
нашем случае следует сохранить информацию об этих точках таким образом, чтобы по ним можно было построить интерполирующий кубический сплайн. Мы не можем сохранять координаты этих точек, так как
они меняются в зависимости от текущего параметра морфированной
модели α. Также в большинстве случаев во время выделения этих точек, мы не будем всегда попадать конкретно в вершины модели, что не
позволяет нам просто сохранить индексы контрольных точек. Поэтому
было принято решение сохранять координаты ключевых точек сплайна
в барицентрических координатах треугольников, в которые они попадают, вместе с индексами вершин этих треугольков.
Перед началом оптимизации, как и в 1.1.3, необходимо из поданных
на вход особых точек выбрать те, которые относятся к контуру лица
и построить по ним пиксельный контур алгоритмом Брезенхэма, для
которого также вычисляется карта расстояний.
Начальное значение R установлено в единичную матрицу, t – нулевой вектор. Для начала оптимизации предлагается взять ”среднее”
12
Рис. 1:
Проведенный путь
Рис. 2: Последствие низкого значения параметра регуляризации η
лицо, то есть лицо полученное из морфированной модели с коэффициентом α равными нулю.
Далее необходимо построить путь на лице в виде интерполяционного кубическего сплайна по сохранённым ключевым точкам. Для этого
точки из барицентрических координат пересчитываются в евклидовых.
Положение на каждом таком сплайне, то есть пути на лице, параметризуется параметром pi . Начинать процесс оптимизации будем из средней
точки на пути.
Далее, для точек на путях мы имеем два ограничения: первое, при
проецировании они должны лежать на построенном пиксельном контуре; второе – нормаль n на контуре должна быть ортогональна вектору
(0, 0, 1):
n(α, R, t)T (0, 0, 1) = 0 .
(8)
Все эти параметры вместе с коэффициентами морфированного лица
α являются частью следующей функции энергии:
∑
E(α, R, t, p) = λ
∥D(Qpi ,нест. α)∥22 + γ∥Qст. α − yст. ∥22 + η∥α∥22 ,
(9)
i
значение этой функции мы минимизируем с помощью алгоритма Левеберга – Марквардта.
Таким образом для решения задачи предлагается алгоритм (1).
13
Алгоритм 1 Реконструкция модели лица по единственной фотографии
Вход:
1: Fs = {(x1 , y1 ), . . . , (xN , yN )} – стабильные особые точки
2: Fu = {(x1 , y1 ), . . . , (xM , yM )} – нестабильные особые точки
3: Ключевые точки в барицентрических координатах для каждого из
M путей на лице
4: Морфированная модель лица
Инициализация:
1: Вычислить пиксельный контур K по нестабильным точкам Fu алгоритмом Брезенхэма
2: α0 = 0 (”среднее” лицо)
3: Инициализировать R0 , t0 , p0
Оптимизация (Левенберг-Марквардт)
На каждой итерации:
1: Построить модель лица в текущей α
2: Для Fs вычислить ошибки перепроецирования
3: Построить сплайны для каждого из путей
4: Вычислить условие (8) на нормаль в точке pi
5: Вычислить расстояние от проекции точки pi до контура K
3. Реализация
Построение собственной морфированной трёхмерной модели – трудоёмкий процесс, требующий дорогостоящего оборудования и несколько сотен людей, которые согласились бы на сканирование и использование своих лиц. Поэтому мы решили использовать существующую, свободную для некоммерческого использования морфированную модель
BFM [1]. Количество вершин модели равняется 53490, что даёт 160470
полигонов. Для построения модели было просканировано 100 мужских
и 100 женских лиц людей, средний возраст которых составлял 24.97
лет. Для генерации лиц доступно 199 коэффициентов.
Среда для тестирования алгоритма оптимизации параметров морфированной модели лица была реализована на языке программирования Python. Для визуализации моделей была использована одна из реализаций OpenGL [19] для Python.
Всего было реализовано два алгоритма на языке программирования
14
Erralpha /1012
Среднее
1.03
Предложенный Медиана
0.79
Отклонение
0.81
Среднее
1.14
Фиксированный Медиана
0.89
Отклонение
0.88
Errrot
1.95
1.68
1.19
2.46
1.73
1.64
Errt
3453
2975
2390
4348
3551
2854
Таблица 1: Усредненные по всем углам ошибки для случайных лиц из
10 компонент
Erralpha /1012
Среднее
2.03
Предложенный Медиана
2
Отклонение
0.98
Среднее
1.95
Фиксированный Медиана
1.73
Отклонение
0.94
ErrR
9.5
6.16
9.29
10.07
8.86
6.66
Errt
15605
11136
14111
17021
15592
10927
Таблица 2: Усредненные по всем углам ошибки для случайных лиц из
199 компонент c оптимальными параметрами для 10 компонент
MATLAB: первый – подход с фиксированными ключевыми точками,
описанный в параграфе 1.1.1, функция энергии которого соответствует
уравнению (4), и второй – алгоритм, описанный в параграфе 2.2.
Для детекции особых точек на лицах используется алгоритм [10],
реализация которого доступна в С++ библиотеке DLib [11] с возможностью запуска из Python.
Точки, необходимые для построения сплайна, собирались следующим образом: сначала под удобным углом визуализировалось ”среднее”
лицо, затем в графическом редакторе на нём проводился путь (рис.
1). Длина этого пути должна быть такой, чтобы при дальнейшем тестировании всегда существовала точка на пути, которая попадала бы
на контур лица. Затем отмеченные пиксели проецировались обратно в
точки в координатах модели, находились объемлющие вершины треугольника, относительно их высчитывалось положение точки. В итоге
вся информация о пути сохраняется в отдельный файл.
15
Рис. 3: Общая схема проведения экспериментов
4. Эксперименты
Для сравнения результатов работы реализованных методов была зафиксирована следующая схема проведения экспериентов (рис. 3).
В начале устанавливаются параметры эксперимента, ими могут выступать: количество визуализируемых лиц N , дисперсия коэффициентов α, пределы поворота лица и другие. Затем, на втором шаге, генерируются N файлов эксперимента, в которых содержится вся необходимая информация для работы методов и их оценки. В конце концов,
на третьем шаге, на вход тестируемому методу последовательно подаются эти файлы. Метод выдаёт α′ , R′ и t′ , по которым затем считается
средние ошибки, формируется отчёт.
Для всех экспериментов ширина и высота выходных изображений
была установлена в значения 1200 и 900 соответственно.
В качестве метрик, по которым сравниваются результаты реконструкции лиц и восстановления положения камеры между алгоритмами, были использованы: ошибка между реконструированными и истинными значениями коэффициентов морфированной модели (10), ошибка
между реконструированными и истинными значениями вектора переноса (11) и матрицы поворота (12) (из-за ортогрфического проецирования только по осям X и Y), средний угол между нормалями в плоскостях реконструированной и истинной моделей (13), где N – количество
16
(a) Фиксированный подход
(b) Предложенный алгоритм
Рис. 4: Влияние коэффициента регуляризации на качество реконструкции (искусственные лица)
треугольников в моделях, а также пиксельная ошибка между сдетектированными особыми точками и соответствующими им спроецированными вершинами реконструированной модели (14), где M – количество
особых точек, Li – координаты особой точки i, Xi – спроецированная
c использованием реконструированных параметров положения камеры
вершина модели i:
Erralpha =
∑
σ 2 (αрек. –αист. )2 ,
Errt = ||tрек. − tист. || ,
k
k
ErrR = max acos(dot(Rрек.
, Rист.
))
k=1,2
Errnorm
(10)
(11)
180
,
π
(12)
N
1 ∑
180
=
acos(dot(ni,рек. , ni,ист. ))
,
N i=1
π
(13)
M
1 ∑
||Li –Xi,проекц. || .
=
M i=1
(14)
Errproj
17
4.1. Искусственные лица
Перед тем как тестировать работу алгоритмов на реальных лицах,
было проведено тестирование на искусственных лицах, то есть тех, которые были получены путём визуализации морфированной модели со
случайными коэффициентами.
Сначала была протестирована работа на лицах, полученных с использованием первых десяти параметров морфированной модели, так
как им соответствуют наибольшие собственные числа и, как следствие,
в них выражаются наибольшие изменения в генерируемых лицах. Использование небольшого количества параметров также ускорило процесс нахождения оптимальных параметров.
Опытным путём были найдены оптимальные параметры λ, γ, затем
оба алгоритма были запущены для оценки влияния параметра регуляризации η и нахождения его оптимального значения.
Как видно из рис. 4, в алгоритме с использованием только фиксированных особых точек при небольших значениях параметра η наблюдается сильное переобучение. Это выражается в том, что ошибка
перепроецирования Errproj держится на низком уровне (3-4 пикселя), в
то время как ошибка по альфе Erralpha наоборот крайне большая. Пример лица получаемого при такой η можно видеть на рис. (2). При постепенном увеличении η ошибка реконструкции уменьшается, достигая
оптимального значения (в райноне 10− 3, 10− 2), а затем вновь увеличивается вслед за ошибкой перепроецирования. Последнее связанно с тем,
что лицо приближается к среднему лицу. Для предложенного алгоритма ситуация аналогична в плане приближения к среднему лицу после
прохождения оптимальной точки.
После того, как для обоих алгоритмов были найдены оптимальные
параметры, было сгенерировано 20 случайных лиц с использованием 10
коэффициентов морфированной модели. Лица были визуализированы
под углами от -30 до 30 градусов с шагом в 10 градусов. Для них были
посчитаны средние значения ошибок по альфе для каждого из углов
(рис. 6), а так же общие средние ошибки по всем углам (таб. 1). В сред18
(a) Фиксированный подход
(b) Предложенный алгоритм
Рис. 5: Влияние коэффициента регуляризации на качество реконструкции (реальные лица)
нем предложенный алгоритм показывает лучшие результаты по всем
ошибкам.
Затем с теми же коэффициентами были запущены тесты на лицах, сгенерированных используя все 199 коэффициентов морфированной модели. Средние ошибки указаны в таблице (2), как видно в этот
раз предложенный алгоритм ведет себя хуже. Это означает, что оптимальные параметры регуляризации не сохраняются с увеличением
размерности альфы. Данный факт, был учитан при тестировании на
реальных лицах.
4.2. Реальные лица
Морфированная модель [1] предлагает 10 моделей лиц, которые не
участвовали в её построении. Для них неизвестны истинные значения
параметров α, поэтому для оценки качества реконструкции считается
ошибка по нормалям (13), а не по альфам.
Перед тем как тестировать алгоритмы под различными углами, провелась оценка влияния коэффициента регуляризации η на результат
реконструкции и найдено его оптимальное значение (рис. 5).
Используя найденные оптимальные значения η, оба алгоритма были запущены на реальных лицах, визуализированных под углами к ка19
Рис. 6: Средние ошибки для искусственных лиц (альфа размерности
10)
Среднее
Предложенный Медиана
Отклонение
Среднее
Фиксированный Медиана
Отклонение
Errnorm
10.70
10.52
1.98
13.11
12.28
3.80
ErrR
5.85
5.33
3.13
11.50
9.61
8.34
Errt
10156
8326
5662
20368
17162
14655
Таблица 3: Реконструкция на реальных лицах, используя все 199 компонент альфы
мере от -30 до 30 градусов с шагом 10, результаты вновь усреднены.
Как видно из таблицы (3), работа предложенного алгоритма в среднем показывает лучшие результаты по всем показателям. Из графиков
на рис. (7) видно, что предложенный алгоритм работает стабильнее и
устойчивее фиксированного подхода. Однако среднее значение Errnorm
предложеного алгоритма на реальных лицах равняется 10.7, что хуже,
чем в статье [20], где среднее значение Errnorm равняется 9.245.
20
(a)
(b)
(c)
Рис. 7: Средние ошибки параметров морфированной модели, поворота
и переноса в зависимости от поворота лица
21
Заключение
В результате работы были достигнуты все поставленные задачи:
• реализован адаптивный алгоритм реконструкции трёхмерной поверхности лица по единственной фотографии, устойчивый к поворотам головы на изображении;
• реализована среда для проведения тестирования работы алгоритмов реконструкции;
• протестирована работа алгоритма.
В качестве дальнейших действий предлагается расчитать якобиан
функции энергии и передать его в алгоритм Левенберга-Марквардта
для ускорения работы метода. Более того, это облегчит процесс тестирования и, как следствие, поможет найти возможно более оптимальные
параметры λ, γ, η. Также предлагается исследовать зависимость качества реконструкции лиц предложенным алгоритмом при использовании
других, возможно более стабильных детекторов особых точек. Не менее
важно пересмотреть процесс установки начальных значений R0, t0, p0.
22
Список литературы
[1] A 3D Face Model for Pose and Illumination Invariant Face
Recognition / IEEE. –– Genova, Italy, 2009.
[2] Aldrian Oswald, Smith William. A Linear Approach of 3D Face Shape
and Texture Recovery using a 3D Morphable Model // Proc. BMVC. ––
2010. –– P. 75.1–10.
[3] Blanz V. Basso C. Poggio T. Vetter T. Reanimating Faces in Images
and Video // Computer Graphics Forum. –– 2003.
[4] Blanz V. Vetter T. A morphable model for the synthesis of 3D faces. ––
1999.
[5] Cootes T. F., Edwards G. J., Taylor C. J. Active appearance models //
IEEE Transactions on Pattern Analysis and Machine Intelligence. ––
2001. –– Vol. 23, no. 6. –– P. 681–685.
[6] Faggian N., Paplinski A. P., Sherrah J. Active Appearance Models for
Automatic Fitting of 3D Morphable Models. –– 2006. –– P. 90–90.
[7] Fitzgibbon Andrew W. Robust Registration of 2D and 3D Point Sets. ––
2001.
[8] Fully automatic pose-invariant face recognition via 3D pose
normalization / A. Asthana, T. K. Marks, M. J. Jones et al. // 2011
International Conference on Computer Vision. –– 2011. –– P. 937–944.
[9] Hartley R. I., Zisserman A. Multiple View Geometry in Computer
Vision. –– Second edition. –– Cambridge University Press, ISBN:
0521540518, 2004.
[10] Kazemi V., Sullivan J. One millisecond face alignment with an
ensemble of regression trees // 2014 IEEE Conference on Computer
Vision and Pattern Recognition. –– 2014. –– June. –– P. 1867–1874.
23
[11] King Davis E. Dlib-ml: A Machine Learning Toolkit // Journal of
Machine Learning Research. –– 2009. –– Vol. 10. –– P. 1755–1758.
[12] Lee Youn Joo Lee Sung Joo et al. Single view-based 3D face
reconstruction robust to self-occlusion // EURASIP Journal on
Advances in Signal Processing. –– 2012. –– no. 1. –– P. 1–20.
[13] Lepetit V., F.Moreno-Noguer, P.Fua. EPnP: An Accurate O(n)
Solution to the PnP Problem // International Journal Computer
Vision. –– 2009. –– Vol. 81, no. 2.
[14] Meijster A., Roerdink J. B. T. M., Hesselink W. H. Mathematical
Morphology and its Applications to Image and Signal Processing / Ed.
by John Goutsias, Luc Vincent, Dan S. Bloomberg. –– Boston, MA :
Springer US, 2000. –– P. 331–340. –– ISBN: 978-0-306-47025-7. –– URL:
http://dx.doi.org/10.1007/0-306-47025-X_36.
[15] Moré Jorge J. Numerical Analysis: Proceedings of the Biennial
Conference Held at Dundee, June 28–July 1, 1977. –– Springer Berlin
Heidelberg, 1978. –– P. 105–116.
[16] Morency Louis-Philippe. 3D Constrained Local Model for Rigid and
Non-rigid Facial Tracking // Proceedings of the 2012 IEEE Conference
on Computer Vision and Pattern Recognition (CVPR). –– CVPR ’12. ––
2012. –– P. 2610–2617.
[17] N. Asai. Connected Colors. Real-Time Face Tracking and Projection
Mapping. ––
URL:
http://www.nobumichiasai.com/post/
138919644522/connected-colors-real-time-face-tracking
(online; accessed: 14.04.2016).
[18] Ohue K. Yamada Y. Uozumi S. Tokoro S. et al. Development of a New
Pre-crash Safety System. –– 2006.
[19] OpenGL. Cross-platform API for rendering 2D and 3D vector
graphics. –– URL: www.opengl.org (online; accessed: 01.02.2016).
24
[20] Qu C. Monari E. Schuchert T. Beyerer J. Adaptive Contour Fitting
for Pose-Invariant 3D Face Shape Reconstruction. –– 2015.
[21] Revisiting the PnP Problem: A Fast, General and Optimal Solution /
Y. Zheng, Y. Kuang, S. Sugimoto et al. // 2013 IEEE International
Conference on Computer Vision. –– 2013. –– Dec. –– P. 2344–2351.
[22] TechRadar. The making of Avatar. –– URL: http://www.techradar.
com/news/video/the-making-of-avatar-658031 (online; accessed:
01.03.2016).
[23] Thies J. Zollhöfer M. Stamminger M. Theobalt C. Nießner M.
Face2Face: Real-time Face Capture and Reenactment of RGB
Videos // Proc. Computer Vision and Pattern Recognition (CVPR),
IEEE. –– 2016.
[24] Wang N. Gao X. Tao D. Li X. Facial Feature Point Detection: A
Comprehensive Survey. –– 2014.
[25] Wikipedia. Bresenham’s line algorithm. ––
URL: https:
//en.wikipedia.org/wiki/Bresenham’s_line_algorithm (online;
accessed: 01.04.2016).
[26] A statistical method for robust 3D surface reconstruction from sparse
data / V. Blanz, A. Mehl, T. Vetter, H. P. Seidel. –– 2004. –– P. 293–300.
25
Отзывы:
Авторизуйтесь, чтобы оставить отзыв