научная статья по теме СПЕКТРАЛЬНАЯ ТРАССИРОВКА ЛУЧЕЙ В ЗАДАЧАХ ПОСТРОЕНИЯ ФОТОРЕАЛИСТИЧНЫХ ИЗОБРАЖЕНИЙ Математика

Текст научной статьи на тему «СПЕКТРАЛЬНАЯ ТРАССИРОВКА ЛУЧЕЙ В ЗАДАЧАХ ПОСТРОЕНИЯ ФОТОРЕАЛИСТИЧНЫХ ИЗОБРАЖЕНИЙ»

КОМПЬЮТЕРНАЯ ГРАФИКА

удк 681.3.06

СПЕКТРАЛЬНАЯ ТРАССИРОВКА ЛУЧЕЙ В ЗАДАЧАХ ПОСТРОЕНИЯ ФОТОРЕАЛИСТИЧНЫХ ИЗОБРАЖЕНИЙ

© 2011 г. Д.Д. Жданов1, И.С. Потемин2, В.А. Галактионов2, Б.Х. Барладян2,

К.А. Востряков2, Л.З. Шапиро2

(1) Государственный Оптический Институт им. С.И. Вавилова

199034 Санкт-Петербург, Биржевая линия, 12

(2) Институт Прикладной Математики им. М.В.Келдыша РАН

125047 Москва, Миусская пл., 4 E-mail: ddzhdanov@mail.ru, ipotemin@yandex.ru, vlgal@gin.keldysh.ru, k.vostryakov@gmail.com

Поступила в редакцию 03.03.2011 г.

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

1. ВВЕДЕНИЕ

Построение фотореалистичных изображений сложных сцен, содержащих объекты со специальными свойствами пропускания, отражения и рассеивания, требует применения физически аккуратных моделей расчета яркости, формируемой данными объектами. Как правило, программы компьютерного построения изображений используют RGB представление для описания оптических свойств геометрических объектов сцены и источников света. Такое приближение используется не только в „аппаратных" системах [1], основанных на OpenGL, но и в большинстве программ, декларирующих физическую аккуратность и фотореалистичность формируемого изображения [2, 3].

Как известно, RGB пространство ограничено, и представление положительных цветов не охватывает весь видимый спектральный диапазон. В данном контексте необходимо

различать два момента, связанных с клиппированием и искажением представления цвета.

Во-первых, это искажение цвета, возникающее при расчете видимой яркости объектов сцены. Яркость в RGB представлении пропорциональна произведению компонент R, G и B освещенности объекта на соответствующие компоненты коэффициента яркости объекта в направлении наблюдения. Данное соотношение не вызывает искажения цвета только в том случае, если коэффициент яркости был изначально определен для цвета заданного источника света. Очевидно, что для сцен, в которых наблюдение осуществляется сквозь цветные стекла или зеркала, или для сцен, содержащих разноцветные источники излучения, исключить искажение цвета практически невозможно [4].

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

освещенность без искажения цвета. Такие приемники излучения как CCD матрицы трансформируют спектральное распределение освещенности в RGB изображение. Естественно, такая трансформация теряет отрицательную составляющую цвета, и это невозможно исправить. Поэтому, когда мы говорим о формировании фотореалистичного изображения, мы должны понимать, что „фотореалистичность" может уже содержать искажение цвета, и задача построения фотореалистичного изображения должна включать соответствующую модель приемника излучения [5].

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

2. БАЗОВЫЕ ОГРАНИЧЕНИЯ RGB МОДЕЛИ И ОШИБКИ ВЫЧИСЛЕНИЯ ЦВЕТА

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

В случае первичного источника света RGB цвет вычисляется в соответствии с известными CIE формулами [6]:

г 780

X

x\(pd\

/380 /•780

Vx<fd\

> ^ rgb = M ■ xyz (1)

380 780

za ^>dA

380

где:

• xa, y a, Za, - функции чувствительности XYZ для стандартного наблюдателя,

• ^>(А) - функция плотности распределения яркости (или другой фотометрической величины),

• X, y, z - координаты цвета в XYZ пространстве,

• M - матрица преобразования координат цвета из XYZ в RGB пространство [12].

Известно, что хотя представление цвета в виде RGB каналов охватывает весь видимый спектральный диапазон, составляющие цвета могут быть отрицательными числами. Рис. 1 демонстрирует так называемый цветовой треугольник, показывающий координаты всех положительных R, G и B цветов в системе координат x и y цветности, а также область спектра, которая содержит отрицательные значения R, G или B каналов.

В компьютерных вычислениях, как и в системах отображения цифрового изображения, используются положительные значения для отображения RGB цвета. Очевидно, что такое ограничение цветового представления приводит к ошибкам отображения цвета. Для оценки ошибки цветоощущения, как правило, используется выражение цвета в Lab пространстве. Международным комитетом CIE был определен ряд стандартов цветового различия: CIE76 [7], CIE94 и CIEDE2000 [8]. Используя формулы цветового различия, можно оценить ошибку цветоощущения (AE^), вызванную клиппированием отрицательных значений RGB пространства.

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

y

z

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

л 780

XD65 = x\D65(A)dA

J 380 /■ 780

yD65 = У\D65(A)dA

380 Л 780

ZD65 = z\D65(A)dA

380

rgbo65 = M ■ xyzD65

_ •

p

x\p(A)D65(A)dA

380 780

Ур = yxp(A)D65(A)dA

380

/780

z\p(A)D65(A)dA

rgbp = M ■ xyzp

r

где:

rD 65

g

gD65 '

b =

(2)

р(Л) - спектральные свойства отражения (пропускания) поверхности.

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

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

3. ПРОБЛЕМЫ ЦВЕТОПЕРЕДАЧИ ПРИ РЕШЕНИИ УРАВНЕНИЯ РЕНДЕРИНГА В RGB ПРОСТРАНСТВЕ

В предыдущей главе рассматривались основные проблемы цветопередачи при выполнении компьютерного моделирования в RGB пространстве. В данной главе будут рассмотрены проблемы решения уравнения рендеринга в RGB пространстве. Уравнение рендеринга определяет яркость в направлении наблюдения как сумму собственной яркости наблюдаемого объекта и яркости, рассеянной данным объектом в направлении наблюдения

780

380

b

65

[3, 9]. Для статических сцен уравнение рендеринга, определяющее яркость объекта в точке p, направлении V и для цветовой компоненты с, можно записать следующим образом:

L = (Э, V, с) = т(p, V, с) (Lo(j9, V, с) +

nS

+Ц^ BSDF (э, V, V, с)Еш(p, V, c)dw), (3) где:

Lo (p, V, с) - собственная яркость объекта в точке наблюдения;

т (э, V, с) - пропускание (прозрачность) среды между наблюдателем и точкой наблюдения; BSDF(p, V, V, с) - функция двунаправленного рассеивания от источника освещения в направлении на наблюдателя; Ew (p, V, с) - локальная освещенность объекта в точке наблюдения, созданная по направлению V от источника света в телесном угле dw; no, ns - показатели преломления сред наблюдателя и наблюдаемой поверхности соответственно.

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

L = (Э, V, с) = т(p, V, с) (Lo(j9, V, с) +

nS

+1 Efor all rays BSDF (p, V, z/, с)Ej(p, V', с)), (4) где:

Ej(jO, V, с) - локальная освещенность объекта в точке наблюдения, созданная i-м лучом по

направлению v , созданная i-м лучом.

В случае моделирования в RGB пространстве цвета поверхностей BSDF(p, V, г/, RGB) и т(р*, V, RGB) приводятся к одним условиям освещения, как правило, к белому источнику D65. Данное упрощение приводит к ошибке светопередачи, вызванной неоднозначной зависимостью спектрального состава излучения от RGB цвета. На примере яркости света, рассеянного поверхностью, неоднозначность выглядит следующим образом: BSDF(Э, V, г/, RGB)Ei(p, V, RGB) = RGB[BSDE(Э, V, V, A)Ei(p, V, Л)]. (5)

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

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком