Задача восстановления формы объекта по закраске (shape from shading)

Авторы: 
Владимир Вежневец
В данной статье кратко описывается общая постановка задачи восстановления формы объекта по закраске (shape from shading). Подробнее рассматривается конкретное приложение - восстановление профиля человека по фронтальной фотографии.

Содержание

  1. Задача восстановление 3D формы по закраске
  2. Восстановление линии профиля по фронтальной фотографии
  3. Примеры восстановления
  4. Заключение

Задача восстановление 3D формы по закраске

Цель - восстановление трехмерной формы объекта по его закраске. Под закраской объекта будем понимать плавное изменение яркости между точками объекта. Именно плавное, поскольку резкое изменения яркости соответствует либо границе объекта, либо тени от другого объекта - подобные изменения яркости мы здесь рассматривать не будем.

Что позволяет надеяться получить информацию о форме объекта по его закраске? Во-первых, человек способен оценить трехмерную форму объекта по тому, как тот отражает свет. Взглянув на изображение на рисунке 1, человек "чувствует" глубину по тому как изменяется яркость объекта. Во вторых, можно сформулировать задачу восстановления формы объекта по яркости точек его изображения, как задачу обратную задаче визуализации (rendering). При визуализации искусственных сцен яркость точки поверхности объекта зависит от ряда вполне определенных факторов и вычисляется по некоторой математической модели. Почему бы не попытаться решить обратную задачу?


Среди факторов, влияющих на яркость точки поверхности объекта можно выделить основные:

Простейшей моделью взаимодействия света с поверхность является модель Ламберта, соответствующая "матовым" объектам, отражающим свет во всех направлениях одинаково. В таком случае можно выписать зависимость яркости точки объекта E(x, y) при наличии одного источника света следующей формулой:

Где I0 - интенсивность источника света, ρ(x, y) - альбедо (коэффициент отражения) поверхности, - единичная нормаль к поверхности в точке (x, y), - направление на источник света (см. рис 1).

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 для восстановления глубины по изображению. Рассмотрим задачу восстановления линии профиля человека по фронтальной фотографии с применением техники восстановления глубины по закраске.

Рассмотрим следующую постановку задачи:

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

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

  1. Положение лица и антропометрических точек лица считается известным (как получить такую информацию см. [6]).
  2. Ориентация лица в плоскости изображения считается строго вертикальной (имея информацию об антропометрических точках этого легко добиться).
  3. Освещение полагается параллельным и фронтальным - = (0, 0, 1).
  4. Модель отражения кожи полагается Ламбертовской (2) - свет отражается во все стороны равномерно.
  5. Нормаль к поверхности лица вдоль линии профиля полагается лежащей в плоскости, перпендикулярной плоскости изображения
    = (0, qi, 1).
  6. Альбедо кожи и губ считаем известным (его можно определить по изображению) и постоянным.

Без ограничения общности положим координату x, соответствующей линии профиля на изображении равной нулю. В такой постановке, формулу (3) можно переписать как:

Где j=1..m - пробегает точки лежащие на линии профиля лица. Таким образом получается m уравнений, связывающих яркости и ориентацию поверхности точек линии профиля. Следует отметить, что того, чтобы по нормалям к поверхности восстановить глубину, требуется произвести операцию интегрирования, поскольку глубину точки z(yj) и нормаль (0, qj, 1) связывает следующее соотношение:

Для того, чтобы избежать проведения операции интегрирования, получить результат устойчивый к шуму и случайным выбросам яркости, сформулируем задачу восстановления глубины, как задачу оптимизации. Линию профиля представим в виде набора кубических многочленов zk(y), обладающих непрерывностью C1 в точках стыка:


Figure 3: Набор кривых верхней части профиля.

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

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

Указанную функцию можно минимизировать различными способами. Мы остановились на генетическом алгоритме - дифференциальной эволюции [1]. Остается лишь одна сложность - поскольку в формуле расчета яркости точки используется квадрат производной, восстановить форму линии профиля удается с точностью до знака (каждой из кривых) и абсолютной точки смещения. К счастью, знак производной каждой из кривых можно предсказать по априорным знаниям о форме профиля человека.

3  Примеры восстановления

  
Рис. 4: Исходные фронтальные фотографии.

Рис. 5: Сравнение профильных фотографий и фрагментов восстановленной линии профиля.

4  Заключение

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

Литература

[1]
Differential evolution homepage, http://www.icsi.berkeley.edu/~storn/code.html.
[2]
Mark J. Carlotto, "Shape from shading," http://www.newfrontiersinscience.com/martianenigmas/Articles/SFS/sfs.html, 1996.
[3]
Robert B. Fisher. "Cvonline: Surface: Shape from shading," http://www.dai.ed.ac.uk/cgi-bin/rbf/CVONLINE/entries.pl?TAG445, 2002.
[4]
Jose R.A. Torreao, "3d shape estimation in computer vision," Revista Controle & Automacao, 10(02), 1999.
[5]
"Shape from shading," Цифровая библиотека лаборатории компьютерной графики и мультимедиа при факультете ВМиК МГУ, http://library.graphicon.ru:8080/catalog/18, 2004.
[6]
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.
[7]
R. Zhang, P. S. Tsai, J. E. Cryer, and M. Shah, "Shape from shading: A survey," IEEE Trans. on PAMI, 21(8), 1999.
Дополнительная информация
Ссылка: 
Владимир Вежневец. Задача восстановления формы объекта по закраске (shape from shading). Компьютерная графика и мультимедиа. Выпуск №2(1)/2004. http://cgm.computergraphics.ru/content/view/59
Выпуск: 
Выпуск №2(1)/2004

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Тест предназначен для отсеивания спама
Fill in the blank