Моделирование эффектов

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 11.07.2016
Размер файла 7,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МОДЕЛИРОВАНИЕ ЭФФЕКТОВ

Оглавление

Введение

1. Теоретическая часть

1.1 Основные определения

1.2 Моделирование эффектов освещения

2. Метод трассировки лучей

2.1 Пересечение луча с поверхностью

2.2 Отражение луча от поверхности

2.3 Преломление луча на поверхности

2.4 Прямая трассировка лучей

2.5 Обратная трассировка лучей

3. Лучевые методы построения оптических эффектов

4. Тени

5. Методы вставки синтетических объектов в фотографии

5.1 Image-based Content Creation

5.2 Single-view 3D Modeling

5.3 Bridging Traditional and Image-based Graphics with Global Illumination and High Dynamic Range Photography

5.4 Rendering Synthetic Objects into Legacy Photographs

6. Практическая часть

6.1 Постановка задачи

6.2 Инструмент рендеринга

6.3 Базовый алгоритм

6.4 Полуавтоматический метод

7. Полуавтоматический метод с моделированием материалов

8. RSOLP based алгоритм

9. Сравнение

9.1 Скорость рендеринга

9.2 Сравнение с эталоном

9.3 Метрика "индекс структурного сходства"

Выводы

Заключение

Список литературы

Приложение

Введение

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

Создание таких изображений является актуальной задачей. Такие изображения широко используются в киноиндустрии, создании игр. Последнее время широкое применения такие изображения получили в рекламной индустрии. Фотореалистичные изображения используются для того, чтобы более ярко показать клиенту товар, выгодно подчеркнув все его достоинства Фото-реалистичные изображения // Центр инженерных услуг "Модельер" URL: http://www.model-r.ru/fotorealistichnye-izobrazheniya-render (дата обращения: 01.06.2015).. Последнее время широкое применения фотореаличтичные изображения получили в дизайне жилых помещений. Клиент выбирает мебель по картинке и чем она ярче и реалистичнее, тем проще привлечь покупателя. Кроме того, заказчик не может представить, как тот или иной предмет мебели или декора впишется в его интерьер. Технология фотореалистичных изображений позваляет решить эту задачу путем вставки предмета мебели в интерьер заказчика Создание фотореалистичного изображения мебели и интерьера // Издательство SM URL: http://3dsmax.sdelaimebel.com/ (дата обращения: 01.06.2015)..

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

Методы работы с освещением - краеугольный камень качественного фотореалистичного изображения. Данная работа сфокусирована на этом аспекте создания фотографий с синтетическими объектами.

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

Для достижения поставленной цели необходимо решить ряд задач:

· Изучить базовые понятия аналитической геометрии и оптики в задаче моделирования эффектов освещения;

· Решить базовые задачи в системе MathCad;

· Изучить существующие методы вставки синтетических объектов в реальные фотографии;

· Разработать полуавтоматический метод создания фотореалистичных изображений;

· Разработать метрики для сравнения и сравнить созданный метод с существующими.

1. Теоретическая часть

1.1 Основные определения

Свет -- в физической оптике электромагнитное излучение, воспринимаемое человеческим глазом.

Источник света -- любой объект, излучающий электромагнитную энергию в видимой области спектра. По своей природе подразделяются на искусственные и естественные.

Естественные источники света -- это природные материальные объекты и явления, основным или вторичным свойством которых является способность испускать видимый свет.

В отличие от естественных источников света, искусственные источники света являются продуктом производства человека. К естественным или природным источникам света, прежде всего, относят:

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

Искусственные источники света -- технические устройства различной конструкции и с различными способами преобразования энергии, основным назначением которых является получение светового излучения (как видимого, так и с различной длиной волны, например, инфракрасного).

Сцена -- совокупность объектов и окружающего их интерьера.

Приемник - глаз наблюдателя, приемник светового излучения.

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

Оптико-механические свойства материалов - прозрачность, цвет, шероховатость, отражательная способность поверхности.

Тень -- пространственное оптическое явление. Тень выражается зрительно уловимым силуэтом, возникающим на произвольной поверхности благодаря присутствию объекта (тела или вещества; например, в газообразном или жидком состоянии) между ней и источником света. Контурами своими тень в той или иной степени, и с учётом ряда условий, повторяет контуры этой преграды света. На тень влияют:

· состояние среды прохождения света;

· интенсивность луча света;

· угол падения луча света;

· цветовые характеристики луча света;

· направленность луча света;

· удалённость источника света от объекта и поверхности;

· фактурный характер объекта;

· отражательная способность объекта;

· прозрачность объекта;

· форма объекта.

От этих и других характеристик может изменяться:

· острота и жёсткость контуров тени;

· степень контраста тени с поверхностью;

· глубина затемнения и окраски силуэта тени (от еле уловимого, бледно-серого или тусклоцветного -- до насыщенно тёмного цветного, и бархатно-чёрного).

Плоскость Плоскость (геометрия) // Википедия. [2014--2014]. Дата обновления: 19.09.2014. URL: http://ru.wikipedia.org/?oldid=65643247 (дата обращения: 01.05.2015). -- это поверхность, образованная кинематическим движением образующей по направляющей (прямой).

Общее (полное, неявное уравнение плоскости (НФ)):

где A, B, C, D - постоянные, причем A, B, C одновременно не равны нулю.

Уравнение плоскости в отрезках:

где

- отрезки, отсекаемые плоскостью на осях Ox, Oy, Oz.

Параметрическая функция плоскости (ПФ) , заданной точкой и направлениями линейно независимых векторов V и W имеет следующий вид:

Нормаль -- это прямая, ортогональная (перпендикулярная) касательному пространству (касательной прямой к кривой, касательной плоскости к поверхности и т. д.).

Рендеринг (англ. rendering -- "визуализация") -- термин в компьютерной графике, обозначающий процесс получения изображения по модели с помощью компьютерной программы.

1.2 Моделирование эффектов освещения

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

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

Для моделирования распространения света часто используется метод трассировки лучей. Метод описывает моделирование процесса распространения световых лучей от момента их испускания источниками до взаимодействия с объектами сцены и попадания в приемник. Остановимся на этом методе более подробно.

2. Метод трассировки лучей

Основная идея метода заключается в повторении на ЭВМ всех геометрических преобразований, которые бы совершил световой луч на пути источник - объект - приемник (глаз наблюдателя). Действительных лучей бесконечно много, но в процессе моделирования ограничиваются трассировкой выборочных лучей, достаточных для достижения реалистичности изображения сцены. Например, для изображения полностью видимого отрезка достаточно проведения двух лучей через его концевые точки.

Ключевая задача метода трассировки лучей -- определение освещенности произвольной точки поверхности и части световой энергии, содержащейся в отраженном и преломленном лучах. Освещенность создается:

· Первичной энергией источников света;

· Вторичной энергией лучей, отраженных от других объектов сцены.

Существование и интенсивность вторичной энергии определяется оптико-механическими свойствами материалов.

Для каждого луча решается задача пересечения с объектами сцены. Луч (при прямолинейном распространении) может вести себя двумя способами:

· Проходить мимо всех объектов и покидать пространство сцены;

· Пересекать первый встретившийся на его пути объект.

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

Факторы формирования соотношения поглощенной, отраженной и преломленной энергий луча:

· Физико-механические свойства материала;

· Оптические свойства материала;

· Ориентация объекта в пространстве;

· Спектральный состав луча и т.д.

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

Поглощение энергии происходит также при распространении луча в не абсолютно прозрачной среде. Таким образом, через определенное число столкновений с поверхностями объектов интенсивность луча становится меньшей порогового значения и отслеживание процесса распространения луча прекращается. Никулин А. Компьютерная геометрия и алгоритмы машинной графики. - БХВ-Петербург, 2005.

Рассмотрим в общих чертах алгоритмы решения задач геометрической оптики.

2.1 Пересечение луча с поверхностью

Алгоритм расчета пересечения луча с ограниченной поверхностью, представленный на рис.1 имеет следующие шаги:

Рисунок 1

Шаг 1. Рассчитываются все точки пересечения луча

с неограниченной поверхностью. Для этого решается скалярное уравнение

Относительно параметра t, если поверхность задана в НФ уравнением f(p)=0. Если она определена параметрической функцией , то решается векторное уравнение

Относительно трех параметров . Отсутствие действительных решений t означает, что несущая луч прямая не пересекает поверхность.

Шаг 2. Список полученных точек сортируется по возрастанию значений и из него исключаются элементы , не принадлежащие лучу. Если оставшийся список пуст, то луч (2) не пересекает поверхность.

Шаг 3. Ищется ближайший к началу списка элемент, для которого выполняются условия . Исполнение любого из этих условий означает, что луч (3) не пересекает поверхность внутри ее границ. Найденный элемент является искомой точкой на луче (4).

Рассмотрим вычислительные аспекты расчета пересечения прямой с поверхностью. Точное аналитическое решение уравнений

Или

возможно лишь для некоторых простейших поверхностей первого (плоскость в НФ или ПФ) и второго (в НФ) порядков. Пересечения луча с более сложными поверхностями находится численными методами. Рассмотрим некоторые из них.

Корни скалярного уравнения можно найти любым известным численным методом решения нелинейных уравнений: проб, касательных, секущих, итераций и т.п. Простейший для программирования и не требующий вычисления производной метод проб заключается в трассировке луча от точки q в направления вектора V с шагом . В точках траектории

неявная функция поверхности имеет значения

.

Первый же найденный интервал

,

на котором выполняется условие , пропорционально дробится точкой

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

Пример.

Из точки q = [10 1 0] выпущен луч

в направлении, задаваемом вектором V = [-2 -0.1 -0.2]. Рассчитать пересечение луча с поверхностью, описываемой явным уравнением

с параметрами a=0.02, , .

Решение.

Решим поставленную задачу с помощью реализации в MathCad.

Подставляя заданные параметры, получаем уравнение плоскости вида:

График функции представлен на рис.2:

Рисунок 2

Задачу пересечения будем решать как задачу поиска корней функции:

зависимости вертикального расстояния от точки p(t)=[x(t), y(t), z(t)].

Из графика, приведенного на рис. 3 видно, что луч пересекает поверхность в четырех точках.

Рисунок 3

Средствами MathCad найдем корни уравнения и соответствующие точки пересечения:

В результате 3 точки пересечения луча с плоскостью были найдены.

2.2 Отражение луча от поверхности

Зеркальное отражение луча от поверхности строится по законам отражения (рис.4) Отражение (физика) // Википедия. [2015--2015]. Дата обновления: 01.05.2015. URL: http://ru.wikipedia.org/?oldid=70525837 (дата обращения: 01.05.2015)..

Рисунок 4

1. Отраженный луч находится с той же стороны поверхности, что и направляющий луч , а эти два луча лежат в одной плоскости с вектором нормали N, построенным в точке пересечения прямого луча с поверхностью .

2. Равенство скоростей падающего и отраженного лучей: |V| = |M|.

3. Равенство углов падения и отражения .

Найдем нормальную и тангенциальную составляющие падающего луча:

На основе законов отражения вычислим составляющие и сам вектор отраженного луча:

(1)

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

Шаг 1. Решается задача пересечения луча с ограниченной поверхностью. Если точка отсутствует, то луч проходит мимо поверхности.

Шаг 2. Вычисляется нормаль N к поверхности в точке .

Шаг 3. По (1) находится направляющий вектор M отраженного луча .

2.3 Преломление луча на поверхности

Идеальное преломление луча на поверхности раздела двух сред с показателями и (рис.5) строится по следующим законам преломления Преломление // Википедия. [2015--2015]. Дата обновления: 07.03.2015. URL: http://ru.wikipedia.org/?oldid=69070555 (дата обращения: 07.03.2015)..

Рисунок 5

1. Преломленный луч находится с другой стороны поверхности, чем падающий луч , а эти два луча лежат в одной плоскости с вектором нормали N, построенным в точке пересечения прямого луча с поверхностью .

2. Скорость распространения луча в каждой среде обратно пропорциональна ее показателю преломления. Отсюда следует соотношение длин векторов

,

где

-

относительный коэффициент преломления.

3. Углы падения и преломления удовлетворяют закону Снеллиуса-Декарта.

Вычислим нормальную и тангенциальную составляющие вектора преломленного луча:

отсюда следует вектор

(2)

Существование преломленного луча в среде с меньшим показателем преломления (например, при переходе из воды в воздух) возможно при положительности подкоренного выражения (2), что совпадает с известным в оптике неравенством Ландсберг Г.С. Оптика. - М.: Наука, 1976. - 928 с.:

(3)

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

Шаг 1. Решается задача пересечения луча с ограниченной поверхностью. Если точка отсутствует, то луч проходит мимо поверхности.

Шаг 2. Вычисляется нормаль N к поверхности в точке .

Шаг 3. Если не выполняется условие (3), то преломленный луч отсутствует.

Шаг 4. По (2) находится направляющий вектор R отраженного луча .

На основе закона обратимости можно строить путь светового луча как в прямом направлении от источника L к объекту и от него в приемник S, так и в обратном - от приемника к объекту и источнику. Каждый из методом трассировки лучей моделирует соответствующий процесс распространения света и имеет свои отличительные черты.

2.4 Прямая трассировка лучей

В данном методе генерируется пучок лучей , выходящих из источника во всевозможных направлениях . На рис.6 показаны варианты распространения лучей в сцене, включающей отражающие, преломляющие и поглощающие эффекты Никулин Е. А. КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ОПТИЧЕСКИХ ЭФФЕКТОВ. - 2011..

Рисунок 6

Большинство лучей, испущенных источником, не попадает в приемник, а значит, и не влияет на формируемое в нем изображение. Лишь очень малая часть лучей после всех отражений и преломлений попадает в приемник, создавая изображение сцены в его рецепторах. На шероховатых поверхностях возникает множество диффузно отраженных лучей. Все их нужно программно генерировать и отслеживать, что увеличивает сложность задачи трассировки.

Прохождение луча в неидеальной среде сопровождается рассеянием и поглощением световой энергии на ее микрочастицах. Эти физические процессы сложно моделировать на ЭФМ с конечными вычислительными ресурсами. На практике ограничиваются применением коэффициента затухания энергии луч на единицу пройденного им расстояния. Аналогично вводятся коэффициенты уменьшения энергии луча при его отражении и преломлении на поверхности раздела сред. С учетом всех коэффициентов отслеживается уменьшение энергии всех первичных и вторичных лучей в процессе их блуждания в пространстве сцены. Как только энергия некоторого луча становится меньше заданного абсолютного уровня или уменьшается в заданное число раз, трассировка данного луча прекращается.

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

2.5 Обратная трассировка лучей

Для отсекания лучей, не попавших в приемник, достаточно рассматривать наблюдателя S в качестве источника обратных лучей. В данном методе полагают трассу луча в направлении V от точки S к какой-нибудь точке на поверхности некоторого объекта (рис. 7, а). По вышерассмотренным методикам рассчитываются вторичные, третичные и т.д. лучи.

Рисунок 7

В результате для каждого первичного луча строится дерево трассировки (рис.7, б), ветви которого составляют вторичные лучи. Ветвление трассы заканчивается, когда луч (1) выходит за пределы сцены или (2) встречается с непрозрачным телом, поглощающим свет, или (3) попадает в источник света, или (4) когда его интенсивность падает ниже порога чувствительности, или, наконец, (5) когда число расщеплений первичного луча становится слишком большим для имеющихся машинных ресурсов. В результате прямая световая энергия (цвет и интенсивность), попавшая в приемник из направления V, слагается из энергий терминальных вершин дерева с учетом их потерь при распространении в оптических средах.

Метод обратной трассировки Баяковский Ю. М., Галактионов В. А. О некоторых фундаментальных проблемах компьютерной (машинной) графики //Информационные технологии и вычислительные системы. - 2004. - №. 4. - С. 3-24. фактически аккумулирует все лучи, в действительности приходящие в приемник из определенного направления независимо от их начала. Это позволяет видеть и изображать на экране:

· Непрозрачные объекты, поглощающие обратные лучи;

· Прозрачные объекты, через которые благодаря преломлению наблюдателю видны другие объекты;

· Отражения объектов на зеркальных поверхностях, в том числе блики, соответствующие попаданию обратных лучей в источник света;

· Тени, образующиеся в точках поверхности, заслоненных от источника другими объектами;

· Другие разнообразные оптические эффекты.

Количество обратных лучей, подвергаемых трассировке, ограничено числом точек на поверхностях объектов сцены, видимых их точки S и перебираемых с конечным шагом пространственного квантования, обусловленным разрешением экрана. Благодаря этому объем вычислительных затрат в методе обратной трассировки существенно уменьшается по сравнению с методом прямой трассировки. Возможно разумное комбинирование этих методов трассировки для оптимизации алгоритмов и снижения их трудоемкости.

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

3. Лучевые методы построения оптических эффектов

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

· Эффект может быть фрагментарным, то есть созданным не всеми точками объекта, а лишь теми, в которых выполнены все условия существования эффекта на некотором участке поверхности;

· Эффект непрерывного объекта может быть разрывным, когда тень от двух близких точек объекта падает на разные участки поверхности, удаленные друг от друга в силу ее криволинейности и самоэкранирования;

· Эффект одной точки может быть множественным, когда его видно не в одной, а в нескольких точках поверхности, где одновременно выполнены все условия существования эффекта;

· Большинство численных методов решения нелинейных уравнений имеют локальный характер сходимости, а результат их работы зависит от выбора начальных приближений неизвестных. Следовательно, для получения достоверного результата - всех, и именно тех точек поверхности, в которых наблюдается эффект, - необходимо выбирать начальные приближения в окрестности сходимости к глобальному (нулевому) минимуму целевой функции. С учетом первых трех геометрических особенностей становится ясно, что глобальных минимумов целевой функции может быть несколько.

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

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

· Генерировать вычислительный процесс с множества различных начальных приближений неизвестных параметров. Период пространственной дискретизации (расстояние между элементами этого множества) выбирается на основе трехмерного аналога теоремы Шеннона - Котельникова, то есть так, чтобы узлы дискретизации оказались во всех возможных областях притяжения минимумов целевой функции;

· Накапливать достоверные решения и отбрасывать недостоверные, доставляющие целевой функции локальный, а не глобальный минимум;

· Фильтровать накопленный массив решений, то есть удалять из него либо сразу туда не записывать решения, совпадающие с уже существующими или близкие к ним;

· Фрагментировать отфильтрованные решения в компактные группы;

· Максимально использовать возможности параллельных вычислений.

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

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

Желательно иметь описание плоскости элементами нормальной формы .

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

Рисунок 8

· Источник, например, светильник, расположен в конечно удаленной точке L. Различные точки пространства q связаны с ней непараллельными расходящимися из L прямыми лучами либо сходящимися в L обратными лучами с векторами направления .

Непараллельность лучей приводит к искажению формы тени объекта (1), что делает ее перспективное изображение более естественным;

· Источник, например, Солнце, бесконечно удален от объекта в направлении вектора L. Источник можно считать бесконечно удаленным от объекта, если минимальное расстояние между ним и объектом хотя бы на порядок, то есть в 10 раз. Превышает максимальный габарит объекта. При этом условии максимальный угол расхождения лучей не превышает значения , что достаточно близко к . Такая идеализация позволяет считать прямые и обратные лучи параллельными с векторами направления для всех точек q, упрощает построение тени (2), делает возможным применение групповых матричных способов обработки точек, но не дает перспективного изображения.

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

Рисунок 9

· Наблюдатель расположен в конечно удаленной точке S. Различные точки пространства q соединены с ней непараллельными сходящимися в S прямыми лучами и обратные лучи параллельными с равными векторами направления для всех точек q, упрощает построение оптических эффектов, делает возможным применение групповых матричных методов обработки точек, но не дает перспективного изображения (4).

Используя устоявшеюся терминологию, будем называть конечно удаленного наблюдателя и источники света "ближними", а их же, удаленных в бесконечность, - "дальними". Каждый из этих режимов, как отмечалось выше, имеет свои преимущества и недостатки, но применять их следует, руководствуясь конкретными геометрическими условиями.

Переходим к изучению лучевых методов построения оптических точек и отрезков на произвольной поверхности и более детально - на плоскости.

4. Тени

Тень точки q на произвольной поверхности образуется в точке пересечения с ней прямого луча . При дальнем источнике света рекомендуется задавать вектор его направления в виде

с коэффициентом удаленности , во много раз большим отношения максимального габарита сцены к длине вектора L.

Задача построения тени точки на произвольной поверхности решена ранее. Более сложный, чем точка, графический объект представляется системой точек, для которых тени строятся однотипно.

Возможность пересечения прямого луча с плоскостью в точке (рис. 10) определяется числом

.

Рисунок 10

При луч (1) проходит параллельно плоскости, нигде ее не пересекая. Если , то находим параметр и точку пересечения прямой с плоскостью :

(4)

При точка лежит в плоскости и согласно (4) совпадает со своей тенью . При луч(2) пересекает плоскость впереди точки и дает действительную тень . Условие существование тени геометрически означает, что векторы и одинаково ориентированы относительно плоскости, то есть образуют с нормалью N однотипные углы: либо оба острые, либо оба тупые. При условии луч (3) пересекает плоскость в точке раньше, чем доходит до точки , а при луч (4) вообще удаляется от плоскости. Таким образом, при тень является мнимой.

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

, где (5)

Первое в (5) условие видимости тени геометрически означает, что векторы и противоположно ориентированы относительно плоскости, то есть из двух углов и один острый, а другой - тупой.

Рисунок 11

Построение тени отрезка ab на плоскости (рис.11) требует анализа взаимного расположения концевых точек отрезка a и b относительно плоскости и источника. Каждая концевая точка q=a либо q=b может располагаться в одном из четырех положений:

1. при на равном с источником удалении и по одну сторону от плоскости;

2. при дальше от плоскости, чем источник;

3. при по разные с источником стороны от плоскости;

4. при между источником и плоскостью.

В таблице 1 приведено 16 возможных вариантов образования тени отрезка ab:

Таблица 1

b

a

-

-

-

-

-

· в пяти вариантах тень отсутствует (прочерки в таблице): если ба конца ab расположены не ближе к плоскости, чем источник (1), либо оба они лежат по другую сторону от плоскости, чем источник (2);

· в трех случаях тень имеет вид отрезка : когда один из концов ab находится между источником и плоскостью, а другой там же (3) либо ниже плоскости (4). Точка пересечения отрезка с плоскостью вычисляется как

;

· в восьми вариантах тень отрезка является полубесконечная прямая - луч , начинающийся в точке и уходящий через точку в бесконечность в направлении . Например, при луч параллелен плоскости, и только один конец отрезка b имеет действительную тень

.

В качестве второй точки луча тени (5) можно принять вычисляемую по (4) проекцию

средней точки отрезка

. При концы отрезка (6) имеют тени и , но, тем не менее, отрезок отбрасывает тень в виде луча, выходящего из точки d в направлении точки .

Пример.

Построить тень пирамиды с вершинами

на плоскость, заданную отрезками

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

Решение.

Решение произведено в пакете MathCAD.

Плоскость описывается уравнением в отрезках:

или уравнением

.

Плоскость имеет нормаль вида:

Представим условия задачи на графике (рис.12):

Рисунок 12

Выберем точку на плоскости:

Оценим видимость точки тени:

Условие видимости выполнено. Расчитаем тени точек по формулам:

Подставляем значения в формулы:

Условию существования тени удовлетворяют точки . Это означает, что ребра пирамиды имеют на плоскости действительные тени. Отрицательное значение означает, что точка отстоит от плоскости дальше источника и у нее есть только мнимая тень . Следовательно, тени ребер представляют собой расходящиеся на плоскости лучи с направляющими векторами и общей задней точкой схода .

Результат построения тени представлен на рисунке 13.

Рисунок 13

5. Методы вставки синтетических объектов в фотографии

5.1 Image-based Content Creation

В работе Lalonde Lalonde J. F. et al. Photo clip art //ACM Transactions on Graphics (TOG). - ACM, 2007. - Т. 26. - №. 3. - С. 3. целью является создание метода, который позволит вставить объекты в изображение человеку без специальных знаний. Объекты выбираются из большой базы данных изображений, которая автоматически отсортирована для представления пользователю исходных изображений, которые имеют аналогичное освещение, геометрию, позицию камеры и так далее. Вставка упрощается путем автоматического смешивания и теневой передачи. Пользовательский интерфейс представлен на рисунке 14:

Рисунок 14

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

Результат работы приложения представлен на рисунке 15.

Рисунок 15

Остановимся на работе с тенями более подробно. Так как мы не знаем трехмерную структуру объекта, синтетически сгенерированная тень выглядит не реалистично. Вместо этого берется правдоподобная тень из исходного изображения и применяется к новому изображению. Земля считается однородной поверхностью. Считается, что объект блокирует некоторый процент света, падающего на эту поверхность. Цель заключается в определении этой затемненной из-за тени области. Метод основан на тенденции тени быть темнее, чем окружающие области и затухать с увеличением расстояния от объекта. Первоначальная тень оценивается как частное интенсивности пикселя и интенсивности незатененной поверхности. Приближают интенсивность незатенённых участков поверхности, как средней интенсивности пикселей в пределах маржи (одна четверть ширины объекта) вокруг объекта, за исключением пикселей внутри и непосредственно под регионом объекта. Первоначальная оценка, как правило, содержит ошибки из-за неоднородности земной поверхности или теней, которые поданы от других объектов.

Можно уменьшить эти ошибки путем учета того, что тень становится монотонно слабее с увеличением расстояния от контакта с землей

На рисунке 16 представлен вставленный объект с тенью и без.

Рисунок 16

Этот метод подходит только, если соответствующий образец изображения существует, и даже в этом случае, объект не может участвовать в освещении сцены. Подобные методы существуют и для полупрозрачных объектов. Но в любом случае, вставленные объекты не могут отражать свет на другие объекты. Кроме того, эти методы не позволяют вставить такой объект, потому что освещенность сцены не рассчитывается. Чтобы избежать таких проблем используют трехмерные текстурированные модели. Множество бесплатных моделей можно найти на таких сайтах, как Google 3D Warehouse и turbosquid.com.

Недостатки этого метода наглядно представлены на рисунке 17. Освещение вставленного объекта не соответсвует освещению сцену, отсуствие теней создает впечатление, что объект не принадлежит данной сцене.

Рисунок 17

5.2 Single-view 3D Modeling

Некоторые ручные Liebowitz D., Criminisi A., Zisserman A. Creating architectural models from images //Computer Graphics Forum. - Blackwell Publishers Ltd, 1999. - Т. 18. - №. 3. - С. 39-50. Criminisi A., Reid I., Zisserman A. Single view metrology //International Journal of Computer Vision. - 2000. - Т. 40. - №. 2. - С. 123-148. и автоматические Saxena A., Sun M., Ng A. Y. Make3D: Depth Perception from a Single Still Image //AAAI. - 2008. - С. 1571-1576. методы позволяют создать трехмерную модель по одному изображению. Эти работы, как правило, заинтересованы в построении 3D геометрических моделей для синтеза нового вида. Таким образом, перед тем, как вставить трехмерную модель объекта производится построение полной геометрии сцены, в которую объект будет вставлен. Пример работы такого типа алгоритма представлен на рисунке 18.

Рисунок 18

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

5.3 Bridging Traditional and Image-based Graphics with Global Illumination and High Dynamic Range Photography

Данный метод подробно описан в одноименной работе автора Devbec Debevec P. Rendering synthetic objects into real scenes: Bridging traditional and image-based graphics with global illumination and high dynamic range photography //ACM SIGGRAPH 2008 classes. - ACM, 2008. - С. 32.. В данной работе представлен метод, который использует сияние сцены и глобальное освещение для того, чтобы добавлять новые объекты на основе света моделей с правильным освещением. Данный метод использует модели сцены, основанные на HDR изображениях. Описанный в работе метод называют методом дифференциального рендеринга.

High Dynamic Range Imaging, HDRI или просто HDR -- название технологий работы с изображениями и видео, диапазон яркости которых превышает возможности стандартных технологий. Чаще всего термин HDR употребляется в отношении получения, хранения и обработки растровых изображений.

Широко используемые на сегодняшний день цифровые технологии исторически основаны на 8-битных целочисленных форматах представления и обработки данных, что даёт весьма узкий динамический диапазон, часто называемый SDR (англ. Standard Dynamic Range) или LDR (англ. Low Dynamic Range).

Применение техники HDR позволяет работать с полным диапазоном яркости сцены, устраняя исторические ограничения.

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

В методе, описанном в статье, для вычисления освещения сцена разбивается на три компонента: удаленная сцена (англ. the distant scene), локальная сцена (англ. the local scene), и синтетические объекты. Предполагается, что удаленная сцена будет фотометрически влиять на объекты сцены, устраняя необходимость в информации об отражательной способности сцены.

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

В статье применен общий метод вставки синтетических объектов в реальную сцену. Модель освещения создается из геометрической модели сцены и с использованием light probe для оценки освещения на месте вставки синтетического объекта. Полученная модель глобального освещения объединяется с фотографией методом композиции. Алгоритм представлен на рисунке ниже.

Рисунок 19

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

5.4 Rendering Synthetic Objects into Legacy Photographs

Более подробно остановимся на методе, описанном в работе "Rendering Synthetic Objects into Legacy Photographs" Karsch K. et al. Rendering synthetic objects into legacy photographs //ACM Transactions on Graphics (TOG). - ACM, 2011. - Т. 30. - №. 6. - С. 157.. В этой работе представлен метод для реалистичного добавления искусственных объектов в существующие фотографии, не требуя необходимости доступа к сцене или других дополнительных измерений. С помощью одного изображения и небольшого количества аннотаций, этот метод позволяет создать физическую модель сцены, которая подходит для рендеринга на ней искусственных объектов с рассевающими, зеркальными или даже светящимися поверхностями, с учетом взаимодействия освещения между объектами и сценой.

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

Результат работы метода представлен на рисунке 20.

Рисунок 20

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

1. RSOLP Annotator RSOLP Annotator // http://kevinkarsch.com URL: http://kevinkarsch.com/?page_id=445 (дата обращения: 01.05.2015).

a. Выбрать изображение, в которое будет вставляться объект;

b. Обозначить ограничительную рамку (обозначает куб сцены);

Рисунок 21

c. Обозначить источники света и его форму;

Рисунок 22

d. Обозначить блики и направление света внешних источников света;

Рисунок 23

e. Выделить плоскость, на которой будет стоять объект;

Рисунок 24

В результате этой части алгоритма будет сгенерирован архив, содержащий blend файл, соответствующий 3d модели сцены, исходное изображение, текстуры. Сцена с точки зрения камеры представлена на рисунке 25. Комната представлена в виде текстурированного куба. Выделенные ранее плоскости также представлены плоскостями. Источники света представлены также в виде плоскостей.

Рисунок 25

2. RSOLP Compositor

a. Вставить нужный объект в сгенерированную сцену (работа производится в программном пакете Blender);

b. С помощью RSOLP Compositor сгенерировать файлы для рендеринга средствами LuxRender;

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

· background (b) - оригинальное изображение;

· render (r) - синтетическое изображение со вставленным объектом;

· empty (e) - синтетическое изображение без вставленного объекта;

· mask (m) - скалярное изображение, определяющее какая часть изображения r должна быть вставлено в изображение b.

Пример изображения представлен на рисунке ниже.

Рисунок 26

Композиция производится по формуле:

,

где - параметры, регулируемые пользователем.

Результат композиции представлен на рисунке ниже.

Рисунок 27

Алгоритм представлен следующим псевдокодом:

LEGACYINSERTION(img, USER)

Model geometry, auto-estimate materials

geometry < DETECTBOUNDARIES(img)

geometry < USER(`Correct boundaries')

geometry < USER(`Annotate/add additional geometry')

geometrymat < ESTMATERIALS(img, geometry)

Refine initial lights and estimate shafts

lights < USER(`Annotate lights/shaft bounding boxes')

lights < REFINELIGHTS(img, geometry)

lights < DETECTSHAFTS(img)

Insert objects, render and composite

scene < CREATESCENE(geometry, lights)

scene < USER('Add synthetic objects')

return COMPOSITE(img, RENDER(scene))

Для вставки объекта в сцену необходимо оценить геометрию и освещение.

Моделирование геометрии

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

Моделирование освещения

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

1. Ближние источники света.

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

- сгенерированное изображение, параметризированное вектором освещения L;

- целевое изображение;

- первоначальные параметры освещения.

Стремимся свести к минимуму цель

Где - это весовой вектор, который ограничивает параметры освещения около их первоначальных значений; является попиксельным весом, который даст меньшее значение значениям на земле. Расчеты геометрии, как правило, будут хуже, в нижней части сцены, поскольку мы не можем иметь геометрию для объектов вблизи пола. На практике назначают для всех пикселей выше середины сцены, и квадратично уменьшается с 1 до 0 на пикселях пола. Кроме того, L содержит 6 значений: RGB интенсивность и 3D позиция. Для всех параметров произведена нормализация к значению [0,1]. Для того, чтобы сгенерировать синтетическую сцену и определить r, необходимо предсказать материалы для всех геометрических элементов сцены. В статье используется собственный алгоритм внутреннего разложения изображения для определения коэффициента отражения (альбедо). Альбедо - числовая характеристика диффузной отражательной способности поверхности предмета (тела).

Алгоритм внутреннего разложения

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

Обозначим значение косвенной освещенности Г. Этот термин эквивалентен интегралу в уравнении излучения (radiosity equation) Radiosity (computer graphics)// Wikipedia contributors. [2015--2015]. Дата обновления: 07.05.2015. URL: http://en.wikipedia.org/w/index.php?title=Radiosity_(computer_graphics)&oldid=660948411 (дата обращения: 07.05.2015).. Учитывая типичные предположения закона Ламберта, в статье предполагается, что исходное изображение B может быть выражено как произведение альбедо и затенения S, а также суммы прямого отраженного света D и косвенного отраженного света I.

Кроме того, отраженная освещенность эквивалента косвенному освещению при этих предположениях. Это приводит к уравнению:

Это уравнение используется как ограничение в оптимизации. В статье разработана целевая функция для декомпозиции изображения B на альбедо и косвенное освещение D:

Где - веса, m - скалярная маска, дающая большие значения там, где B имеет маленький градиент и маленькие значения наоборот. - первоначальная оценка прямого освещения. Маска m определяется как сигмоида Сигмоида // Википедия. [2015--2015]. Дата обновления: 07.05.2015. URL: http://ru.wikipedia.org/?oldid=70649670 (дата обращения: 07.05.2015). примененная к величине градиента B:

,

где s=10.0 b c=0.15. Целевая функция основана на широко распространенных внутренних допущениях изображения, а именно, что затенение пространственно постепенное и альбедо состоит из кусочно-постоянных патчей с потенциально резкими границами Land E. H., McCann J. Lightness and retinex theory //JOSA. - 1971. - Т. 61. - №. 1. - С. 1-11..

2. Дальние источники света

Как правило, дальние источники света дают световые колодцы (пятна света). Таким образом, следует рассмотреть направленный свет, причем каждое пятно в сцене будет иметь одинаковое направление падения света. В статье пятно света рассматривается как двумерный многоугольник заданным вектором направлением падения света. На рисунке ниже представлено изображение с множеством таких световых пятен.

Рисунок 28

Данный алгоритм дает хорошие результаты, однако он все же имеет ряд недостатков:

· скорость рендеринга изображений, необходимых для работы в RSOLP Compositor превышает предельно допустимые (более 168 часов на одно изображение);

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

Рисунок 29

Рисунок 30

6. Практическая часть

6.1 Постановка задачи

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

Вход:

· фотография, в которую будет вставлен синтетический объект;

· трехмерная модель объекта.

Выход:

Фотореалистичное изображение.

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

1. Создать трехмерную модель объекта;

2. Создать сцену, имитирующую то, что изображено на фотографии, в которую нужно вставить объект;

3. Выставить элементы освещения в полученную сцену;

4. Смоделировать реалистичные тени от вставленного объекта.

6.2 Инструмент рендеринга

В качестве инструмента рендеринга был использован программный продукт Blender. Blender -- свободный, профессиональный пакет для создания трёхмерной компьютерной графики, включающий в себя средства моделирования, анимации, рендеринга, постобработки видео, а также создания интерактивных игр. В настоящее время пользуется наибольшей популярностью среди бесплатных 3D редакторов в связи с его быстрым и стабильным развитием, которому способствует профессиональная команда разработчиков. Blender имеет несколько способов визуализации. В данной работе был использован режим Cycles Render Engine, так как он имеет инструменты композиции. Cycles -- это новый визуализатор, введенный в Blender 2.61. Он все еще находится в разработке и, будучи нацеленным на простоту использования и интерактивность, поддерживает многие производственные возможности.

Ноды композиции (Composite Nodes) позволяют обрабатывать и совершенствовать изображение. "Ноды" - это отдельные блоки, которые выполняют некую операцию, и обычно имеют один или несколько выходов.

Ноды бывают трех видов:

1. Добавляющие ноды - эти ноды поставляют информацию и при этом не требуют никакой информации на вход.

Пример: ноды Render Layers, Value и RGB.

2. Обрабатывающие ноды - эти ноды фильтруют или обрабатывают то, что получают на вход и имеют один или более выходов.


Подобные документы

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

    реферат [195,9 K], добавлен 04.04.2015

  • Гносеологическая специфика модели, ее определение и классификация. Основные цели и процесс моделирования как средства экспериментального исследования. Трехмерная графика, назначение и обзор интерфейса программы Gmax. Моделирование простейшего объекта.

    курсовая работа [2,2 M], добавлен 25.06.2014

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

    курсовая работа [1,6 M], добавлен 04.06.2013

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

    реферат [29,0 K], добавлен 03.06.2010

  • Общая характеристика игровых движков, история их создания и совершенствования, современное состояние и перспективы. Сущность и значение шейдерных эффектов, программирование данных программ. Механизм и этапы разработки 3D-приложения, его тестирование.

    дипломная работа [2,2 M], добавлен 16.06.2011

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

    курсовая работа [4,3 M], добавлен 03.06.2014

  • Компьютерная графика как одно из популярных направлений использования компьютера, ее виды и особенности применения. Порядок и способы создания цифровых изображений, средства и обработка. Программы САПР и их использование в инженерной деятельности.

    реферат [19,1 K], добавлен 14.09.2009

  • Сущность понятия "коллаж". Особенности создания эффекта фотоколлажа. Техника мозаики, пазла. Понятие о центровом варианте (центрировании). Использование эффектов фильтра при создании работы. Процесс создания огненного текста "CrossFire" в AdobePhotoshop.

    контрольная работа [6,6 M], добавлен 05.01.2013

  • Понятие системы геометрического моделирования. Рассмотрение особенностей формирования изображения объекта с помощью трехмерного геометрического моделирования. Идея каркасного моделирования. Средства реализации каркасной технологии в Autodesk Inventor.

    курсовая работа [623,9 K], добавлен 14.06.2015

  • Средства и способы создания и обработки графических изображений при помощи компьютерной техники. Растровая, векторная, трёхмерная и фрактальная графика, отличия принципов формирования изображения при отображении на экране монитора. Програмные средства.

    реферат [436,4 K], добавлен 26.03.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.