8-800-700-35-17
пн-пт 09.00 - 18.00 (МСК)
Array
(
    [0] => Array
        (
            [value] => 167
        )

    [1] => Array
        (
            [value] => 166
        )

    [2] => Array
        (
            [value] => 173
        )

    [3] => Array
        (
            [value] => 174
        )

    [4] => Array
        (
            [value] => 306
        )

    [5] => Array
        (
            [value] => 694
        )

    [6] => Array
        (
            [value] => 456
        )

    [7] => Array
        (
            [value] => 842
        )

)

Воспроизведение по закраске формы объекта

ВОСПРОИЗВЕДЕНИЕ ПО ЗАКРАСКЕ ФОРМЫ ОБЪЕКТА

Воспроизведение по закраске трёхмерной формы

Задача – воспроизведение по закраске объекта его 3D формы. Закраской объекта называется плавное изменение яркости точек объекта. Резкое изменение яркости представляет собой границу объекта или же тень от другого объекта.

Как информация о закраске объекта влияет на определение его формы? Человек может понять, как выглядит объект, в зависимости от того, как тот отражает падающий на него свет. Посмотрев на рисунок 1, человек сможет оценить глубину изображения благодаря изменению его яркости. Так же воспроизведение трехмерной формы объекта по его закраске, можно рассматривать как задачу обратную задаче рендеринга. Яркость точек объекта при рендеринге искусственной сцены зависит от определённых значений и рассчитывается по математически формулам.

Рис.1 "Ламбертовский объект с картой глубины"

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

  • Источники света, их характеристики и положение в пространстве;
  • Свойства самой поверхности, которые влияют на отражение света от неё;
  • Положение участка поверхности, который соответствует пространственному расположению данной точки;
  • Местонахождение наблюдателя и направление его взгляда

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

 (1)

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

Рис.2 "Графическое изображение к модели отражения Ламберта"

Распишем скалярное произведение, стоящее в правой части уравнения, а вектора представим в виде  = (p, q, 1), = (ps, qs, 1). Тогда формула (1) будет выглядеть:  (2)

При рендеринге, неизвестным в уравнение будет только яркость точки объекта, а при воспроизведение формы трёхмерного объекта неизвестными будут: нормали к поверхности в каждой точке, коэффициент отражения поверхности в каждой точке, интенсивность источника света и направление на источник света в каждой точке. Таким образом, при восстановлении формы объекта по его закраске, неизвестных будет значительно больше, чем уравнений.

Для решения поставленной задачи используют упрощения:

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

Таким образом, мы имеем систему уравнений по числу точек изображения, где коэффициент &alpha = &rho' * I0, a i=1..n.

 (3)

Теперь нужно найти коэффициент a, pi и qi для каждой точки, определяющую нормаль к поверхности и направление на источник света. Существует много методов решения данной задачи, мы рассмотри метод восстановления линии профиля по фронтальной фотографии.

Задача воспроизведение профиля линии по фронтальной фотографии

Пусть перед нами поставлена следующая задача:

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

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

  1. pасположение лица и его антропометрические точки нам известны;
  2. лицо в плоскости снимка расположено вертикально;
  3. источник освещение находится в фронтальной плоскости и является параллельным;
  4. отражение света одинаково во всех направлениях (модель Ламберта);
  5. считается, что нормаль к поверхности лица вдоль линии профиля, ортогональна плоскости снимка;
  6. коэффициент отражения кожи и губ постоянен и известен.

Приравняем к нулю координату х, соответствующей линии профиля на снимке. Теперь формула (3) примет вид:

 (4)

Где j =1..m , проходит все точки, находящиеся на линии профиля лица. Тогда мы имеем m уравнений, которые связывают яркость и положение поверхности точек линии профиля. Для того, чтобы по нормалям воспроизвести глубину, нужно применить интегрирование.

 (5)

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

(6), (7)

Рис.3 "Кривые вехней части профиля"

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

  • Ото лба до носа.
  • Ото рта до шеи.

Тогда нормаль в каждой точки линии профиля с использованием формулы (5) можно вычислить:

 (8)

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

 (9)

Данную функцию можно уменьшить разными методами. Мы возьмём метод дифференциальной эволюции. Теперь только нужно воспроизвести форму линии профиля с точностью до знака и абсолютной точки смещения.

Источник: http://cgm.computergraphics.ru

 

22.10.2015