Всё для Учёбы — студенческий файлообменник
1 монета
pdf

Студенческий документ № 052187 из НИЯУ МИФИ

Построение спектрального представления из RGB данных в задачах спектрального моделирования

Жданов Дмитрий Дмитриевич

Государственный Оптический Институт им. С.И. Вавилова, Санкт-Петербург

Потемин Игорь Станиславович

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

Аннотация

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

Ключевые слова: Цветопередача, RGB, XYZ, CIE, рендеринг, спектральные оптические свойства, спектральная плотность, спектральная трассировка лучей, фотореалистичность.

1. ВВЕДЕНИЕ

Построение фотореалистичных изображений требует физически корректного представления оптических свойств сцены. Для источников света и оптических свойств поверхностей единственно корректным представлением является спектральное представление данных. В сложных сценах достаточно трудно добиться однородного спектрального представления данных. Как правило, в "спектральных" сценах ряд оптических свойств остается определенным в RGB пространстве [1, 2]. Отсутствие спектральных данных объясняется трудоемкостью спектральных измерений и наличием у ряда стандартных библиотечных объектов, например, текстур или HDRI источников света, исключительно RGB представления.

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

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

Для решения задачи конвертации RGB данных в спектральное представление был предложен ряд подходов и алгоритмов [3, 4, 5, 6, 7], базирующихся на выборе базовых функций (спектрограмм), взвешивая которые R, G и B цветами, можно получить спектрограмму требуемого RGB цвета.

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

Для формирования "реалистичных" спектрограмм из RGB данных в работе [10] был предложен алгоритм использования ограниченного набора спектральных точек сложного цветного объекта, например, спектрограмм для ограниченного набора углов двунаправленной функции отражения. Основным ограничением данного подхода является наличие спектральных данных, которые не всегда доступны.

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

2. АЛГОРИТМ ПРЕОБРАЗОВАНИЯ RGB ДАННЫХ В СПЕКТРАЛЬНОЕ ПРЕДСТАВЛЕНИЕ

Предлагаемое решение основывается на решении интегральных уравнений преобразования спектральных данных в RGB представление. RGB цвет вычисляется в соответствии с известными CIE формулами [8]: 780

? x ? ?x??? ??d??

380? (1) 780?

? y ? ?y??? ??d?? ? rgb ? M ? xyz

380? 780? z ? 380?z??? ??d????

где:

x?, y?, z? - функции чувствительности XYZ для стандартного наблюдателя,

?(?) - функция плотности распределения яркости (интенсивности) или другой световой величины, x, y, z - координаты цвета в XYZ пространстве,

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

Поскольку преобразование RGB в XYZ однозначно, то интегральные уравнения можно решать относительно x, y и z координат цвета. Для решения заменим интегралы суммами с постоянным шагом по длине волны и получим систему линейных уравнений от значений спектральной плотности (искомой спектрограммы RGB цвета):

N x????x?i?? ??i

i?1 (2) N y????y?i?? ??i

i?1 N z????z?i?? ??i

i?1 Очевидно, что при N > 3 система имеет множество решений. Решение системы (2) может быть найдено как линейная комбинация частных решений. Алгоритм решения следующий:

Шаг 1. Циклически, для всех длин волн спектрального интервала выбирается 3 новых, несовпадающих длины волны (?i ,?j ,?k ).

Шаг 2. Находится частное l-ое решение уравнения для этих волн (?i ,?j ,?k ):

x????x?i?l ? ??i ?x?j?l ??j ??x?k?l ? ??k ?

(3) y????y?i?l ? ??i ?y?j?l ? ??j ?y?k?l ? ??k ? z????z?i?l ? ??i ?z?j?l ? ??j ?z?k?l ? ??k ?

Шаг 3. Если решение системы линейных уравнений (3) существует (?l ??i ?,?l ??j ?,?l ??k ?) и все спектральные плотности являются неотрицательными числами, то данное решение есть один из элементов общего решения, и оно добавляется к общему решению:

???i ?????i ???l ??i ?

?? ??j ??? ??j ??l ? ??j (4)

?? ??k ??? ??k ??l ? ??k

Шаг 4. Нормировка спектрограммы. После окончания цикла (шаг 1) мы имеем ненормированную спектрограмму ???i ?.

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

Приводя результат работы алгоритма к исходной системе линейных уравнений (2) можно записать: N Li

1 x???? ?x?i L l?1?il ? ??i

i?1 NLi (5)

1 y???? ?y?i L l?1?il ? ??i

i?1 N Li 1 z???? ?z?i L l?1?il ? ??i

i?1 где:

Li - общее количество найденных допустимых решений для длины волны ?i,

?il ??i ? - найденное частное решение l-ой функции спектральной плотности для длины волны ?i.

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

Для вычисления спектральных коэффициентов отражения (пропускания) поверхности выражения (1) - (5) непосредственно не применимы. Необходимо помнить, что поверхность не обладает собственным цветом, а под цветом поверхности, как правило, понимают нормированный отраженный (преломленный или рассеянный) цвет от стандартного белого источника света, например, D65. Поэтому аналогом выражений (1) для цвета поверхности является следующий набор выражения:

780 xD65 ? ?x?D65? ??d? x ? x ?? ??D65? ??d?

380 780 yD65 ? ?y?D65? ??d? y ? y ?? ??D65? ??d?

380 780 zD65 ? ?z?D65? ??d? ? z ?? ??D65? ??d?

380 (6) rgbD65 ? M ? xyzD65 rgb ? M ? xyz?

r? b? r ? ; g ? ; b ? ;

rD65 gD65 bD65 где:

D65(?) - спектрограмма белого источника D65, освещающего поверхность,

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

Поскольку спектрограмма опорного источника D65 определена, для вычисления спектрограммы отражения (пропускания) поверхности ?(?) применим алгоритм (2) - (5), где вместо спектральной излучательности ?il ??i ? вычисляется ?il ? ??i . Дополнительным ограничением для вычисления спектрограммы поверхности является условие 1 Li ?il ? ??i ?1.

? L l?1

3. ПРИМЕНЕНИЕ РАЗРАБОТАННОГО АЛГОРИТМА ДЛЯ ПОСТРОЕНИЯ ФОТОРЕАЛИСТИЧНЫХ ИЗОБРАЖЕНИЙ

Разработанный алгоритм был интегрирован в программный комплекс построения фотореалистичных изображений SPECTER [9]. Все данные оптических свойств поверхностей и источников сцены, определенные в RGB пространстве, переводятся в спектральное представление в процессе обработки сцены перед началом рендеринга. Для преобразования оптических свойств поверхностей сцены из RGB в спектральное представление использовался опорный источник D65. Спектральные данные, преобразованные из RGB цветов, дают неотличимый результат от исходного RGB представления. Ниже приводятся изображения, выполненные в исходном RGB и конвертированном спектральном пространствах.

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

В качестве первого примера была рассмотрена конвертация источника света с цветами RGB = (6000, 5000, 1000)лм в спектральное представление. На рисунке 1 показана спектрограмма данного источника света, полученная в результате конвертации.

Рисунок 1: Спектрограмма источника света для RGB = (6000, 5000, 1000)лм.

На рисунке 2 показано изображение белой сферы, освещенной цветным источником света (RGB = (6000, 5000, 1000)лм). Изображение левой половины сферы было выполнено в RGB пространстве, а изображение правой половины - в спектральном пространстве со спектрограммой источника света, представленной на рисунке 1. Изображения половинок неразличимы, что говорит о том, что ошибка данного метода визуально неопределима.

Рисунок 2: Изображения сферы. Левая половина построена в

RGB пространстве, правая половина в спектральном пространстве.

Необходимо отметить, что из-за слабой чувствительности глаза на краях спектрального диапазона (фиолетовой и красной областях) решение уравнения (5) может приводить к резким пикам в данных краевых зонах. Значения на краях спектрального интервала могут на порядок превышать среднее значение спектрограммы. Хотя данные пики не оказывают практически никакого влияния на цвет, они выглядят неестественным образом и должны быть устранены. Для фильтрации спектрограмм источников света используется простой алгоритм, идея которого заключается в следующем. Частные решения (3) сортируются в порядке возрастания максимального значения одной из спектральных плотностей ?l ??i ?,?l ??j ?,?l ??k ?, и K последних решений, которые приводят к появлению краевых пиков, исключаются из решения (5).

В качестве второго примера была рассмотрена конвертация цветного коэффициента яркости диффузной поверхности с цветами RGB = (0.21, 0.72, 0.15) в спектральное представление. На рисунке 3 показан спектральный коэффициент яркости данной поверхности, полученный в результате конвертации.

Рисунок 3: Спектральный коэффициент яркости диффузной поверхности для RGB = (0.21, 0.72, 0.15)лм.

На рисунке 4 показано изображение зеленой сферы (RGB = (0.21, 0.72, 0.15)), освещенной белым источником света D65. Изображение левой половины сферы было выполнено в RGB пространстве, а изображение правой половины - в спектральном пространстве со спектральными свойствами поверхности, представленными на рисунке 3. Как и для цвета поверхности, изображения половинок неразличимы, что говорит о том, что ошибка данного метода визуально неопределима.

Рисунок 4: Изображения сферы. Левая половина построена в

RGB пространстве, правая половина в спектральном пространстве.

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

4. ЗАКЛЮЧЕНИЕ

Хотя эффективность предлагаемого метода невысока, он обеспечивает высокую точность конвертации и представительность спектральных данных, т.е. определенность в широкой области спектра. Данный метод применим в случаях, когда требуется построение полной спектральной сцены, и не предполагается быстрая (хотя и не совсем точная) конвертация RGB данных в спектральное представление в процессе трассировки луча.

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

5. БЛАГОДАРНОСТИ

Работа поддержана грантами Президента РФ НШ8129.2010.9, РФФИ № 10-01-00302, а также компанией

Integra Inc.

Авторы выражают свою признательность В.Г. Соколову и А.А. Гарбулю за предоставленные примеры.

6. ABSTRACT The article is devoted to physically correct light simulations of the scenes with mixture of optical properties defined both in RGB and spectral spaces. To eliminate inaccuracy of the color reproductions the article proposes a reduction of all optical properties to single spectral space and an accurate method of the reduction. As opposed to most of methods the solution proposes the precise solution which is applied both for light source color conversations and conversation of surface reflectances and transmittances.

Keywords: Color reproduction, RGB, XYZ, rendering, spectral optical properties, spectral density, spectral ray tracing, photorealism.

7. REFERENCES

[1] Roman Durikovic, Ryou Kimura. Spectrum-based rendering using programmable graphics hardware / SCCG 2005:

Proceedings of the 21st spring conference on Computer graphics.

[2] Greg Ward, Elena Eydelberg-Vileshin. Picture perfect RGB rendering using spectral prefiltering and sharp color primaries / EGRW 2002: Proceedings of the 13th Eurographics workshop on Rendering.

[3] Hiroyuki Fukuda, Junko Kishimoto, Masahiro Yamaguchi, Hideaki Haneishi, Nagaaki Ohyama. Spectral-based imageediting system / SIGGRAPH 2005.

[4] Brian Smits. An RGB to Spectrum Conversion for

Reflectances / University of Utah, January 21, 2000.

[5] Glassner, A. S. How to derive a spectrum from an RGB triplet / IEEE Computer Graphics and Applications 9, 4 (July 1989), 95-99.

[6] Glassner, A. S. Principles of Digital Image Synthesis // Morgan-Kaufman, San Francisco, 1995.

[7] Sun, Y., Fracchia, F. D., Calvert, T. W., and Drew, M. S. Deriving spectra from colors and rendering light interference / IEEE Computer Graphics and Applications 19, 4 (July/August 1999).

[8] Д.С. Волосов, М.В. Цивкин. Теория и расчет светооптических систем. // "Искусство", Москва - 1960.

[9] http://www.integra.jp/en/index.html

[10] Martin Rump, Reinhard Klein. Spectralization: Reconstructing Spectra from Sparse Data / In proceedings of SR '10 Rendering Techniques, pages 1347-1354, Eurographics

Association, June 2010

Показать полностью…
456 Кб, 29 мая 2017 в 21:58 - Россия, Москва, НИЯУ МИФИ, 2017 г., pdf
Рекомендуемые документы в приложении