Задача восстановления формы объекта по закраске (shape from shading)
Авторы:
Владимир Вежневец
В данной статье кратко описывается общая постановка задачи
восстановления формы объекта по закраске (shape from shading).
Подробнее рассматривается конкретное приложение - восстановление
профиля человека по фронтальной фотографии.
Цель - восстановление трехмерной формы объекта по его закраске.
Под закраской объекта будем понимать плавное изменение
яркости между точками объекта. Именно плавное, поскольку резкое
изменения яркости соответствует либо границе объекта, либо тени от
другого объекта - подобные изменения яркости мы здесь
рассматривать не будем.
Что позволяет надеяться получить информацию о форме объекта по его
закраске? Во-первых, человек способен оценить трехмерную форму
объекта по тому, как тот отражает свет. Взглянув на изображение на
рисунке 1, человек "чувствует" глубину по тому
как изменяется яркость объекта. Во вторых, можно сформулировать
задачу восстановления формы объекта по яркости точек его
изображения, как задачу обратную задаче визуализации (rendering).
При визуализации искусственных сцен яркость точки поверхности
объекта зависит от ряда вполне определенных факторов и вычисляется
по некоторой математической модели. Почему бы не попытаться решить
обратную задачу?
Figure 2: Иллюстрация к модели отражения Ламберта.
Расписав скалярное произведение стоящее в правой части, и приняв
(без ограничения общности) вектора представимыми в виде
= (p, q, 1), = (ps, qs, 1)
можно выписать эту формулу следующим образом:
Изображение объекта и его карты глубины, визуализированного по
указанной модели представлено на рисунке 1
При визуализации, неизвестным в уравнении (2)
является только левая часть, при восстановлении формы по закраске
- наоборот. Получается, что по известным яркостям E(x,y) во всех
точках объекта нам требуется узнать нормали к поверхности
(в каждой точке), альбедо поверхности
ρ(x, y) (в каждой точке), направление на источника света
(в каждой точке), и интенсивность
источника I0. Ясно, что неизвестных в такой постановке задачи
гораздо больше, чем уравнений.
Для того, чтобы приблизить задачу к решаемому виду, делаются, в
частности, следующие упрощения:
Освещение предполагается параллельным, что делает направление
на источник света = (ps, qs, 1) одинаковым для всех точек поверхности;
Альбедо поверхности ρ(x, y) = ρ' предполагается постоянным для всех точек поверхности;
В результате мы получаем систему уравнений по числу точек
изображения:
Где α = ρ' * I0, a i=1..n
пробегает все точки изображения.
Осталось найти коэффициент α, пару (pi, qi) для
каждой точки изображения, определяющую нормаль поверхности в этой
точке и направление на источник света (ps, qs, 1). Несмотря на большое
количество упрощений, допущенных при приведении задачи к решаемому
виду (простая модель отражения, один параллельный источник света,
однородная поверхность), такая постановка задачи тем не менее
имеет практическую ценность - она применяется например в
астрономии, при расчете формы планет по изображениям
[2].
Существует множество различных методов решения поставленной
задачи, заинтересованным читателей предлагаем почитать статьи и
образовательные материалы по теме [4],
[3], [7] и посетить раздел нашей
библиотеки, посвященный shape from shading [5]
Мы же остановимся на интересном частном случае.
2 Восстановление линии профиля по фронтальной фотографии
Опишем еще один случай применения shape from shading для
восстановления глубины по изображению. Рассмотрим задачу
восстановления линии профиля человека по фронтальной фотографии с
применением техники восстановления глубины по закраске.
Рассмотрим следующую постановку задачи:
Человек фотографируется в полутемном помещении (с малым уровнем рассеянного света)
фотоаппаратом со вспышкой.
Изображение лица находится вблизи точки оптического центра камеры, нет значительных
смещений в сторону одного из краев.
При таких условиях можно рассмотреть задачу восстановления глубины
линии профиля по фронтальному снимку со следующими дальнейшими
упрощениями:
Положение лица и антропометрических точек лица считается
известным (как получить такую информацию см. [6]).
Ориентация лица в плоскости изображения считается строго
вертикальной (имея информацию об антропометрических точках этого
легко добиться).
Освещение полагается параллельным и фронтальным -
= (0, 0, 1).
Модель отражения кожи полагается
Ламбертовской (2) - свет отражается во все стороны
равномерно.
Нормаль к поверхности лица вдоль линии
профиля полагается лежащей в плоскости, перпендикулярной плоскости
изображения = (0, qi, 1).
Альбедо кожи и губ считаем известным
(его можно определить по изображению) и постоянным.
Без ограничения общности положим координату x, соответствующей
линии профиля на изображении равной нулю. В такой постановке,
формулу (3) можно переписать как:
Где j=1..m - пробегает точки лежащие на линии
профиля лица. Таким образом получается m уравнений, связывающих
яркости и ориентацию поверхности точек линии профиля. Следует
отметить, что того, чтобы по нормалям к поверхности восстановить
глубину, требуется произвести операцию интегрирования, поскольку
глубину точки z(yj) и нормаль (0, qj, 1) связывает следующее
соотношение:
Для того, чтобы избежать проведения операции интегрирования,
получить результат устойчивый к шуму и случайным выбросам яркости,
сформулируем задачу восстановления глубины, как задачу
оптимизации. Линию профиля представим в виде набора кубических
многочленов zk(y), обладающих непрерывностью C1
в точках стыка:
Figure 3: Набор кривых верхней части профиля.
Такой моделью нельзя представить весь профиль - в области низа
носа у ряда людей образуется разрыв глубины. Однако можно
представить непрерывную часть - от лба до низа носа и от рта до
шеи. Нормаль в каждой точке линии профиля, согласно
(5), вычисляется следующим образом:
Требуется минимизировать разницу реального изображения и
синтезированного исходя из формы линии профиля и принятой модели
отражения и освещения:
Указанную функцию можно минимизировать различными способами. Мы
остановились на генетическом алгоритме - дифференциальной эволюции
[1]. Остается лишь одна сложность - поскольку в формуле расчета
яркости точки используется квадрат производной, восстановить форму
линии профиля удается с точностью до знака (каждой из кривых) и
абсолютной точки смещения. К счастью, знак производной каждой из
кривых можно предсказать по априорным знаниям о форме профиля
человека.
3 Примеры восстановления
Рис. 4: Исходные фронтальные фотографии.
Рис. 5: Сравнение профильных фотографий и фрагментов
восстановленной линии профиля.
4 Заключение
В данной статье была кратко описана общая теория и одна из
решаемых постановок задачи восстановления формы объекта по
закраске - восстановления профиля человека по фронтальной
фотографии. Исследования выполнялись в ходе проекта по
автоматическому моделированию головы человека по фотографиям
совместно с Институтом Передовых Технологий Самсунг.
Заинтересовавшимся читателям предлагается ознакомится с
литературой, приведенной в конце статьи.
Vezhnevets V., Soldatov S., Degtiareva A., and Park I.-K,
"Automatic extraction of frontal facial features for 3-d face
modeling,"
In Proc. Sixth Asian Conference on Computer Vision, 2004.
Комментарии
Отправить комментарий