Физически обоснованная модель распространения света в ткани и ее валидация

( Physically Based Lighting Model for Cloth and its Validation
Preprint, Inst. Appl. Math., the Russian Academy of Science)

Волобой А.Г., Галактионов В.А., Лобалзо Н.А.
(A.G.Voloboy, V.A.Galaktionov, N.A.Lobalzo)

ИПМ им. М.В.Келдыша РАН

Москва, 2008

Аннотация

В работе представлен новый подход к моделированию тканей на основании данных о том, что нити в тканях представляют собой рассеивающую среду. Предложен способ расчета функции внутреннего рассеяния (ФВР или BSSRDF) нитей путем моделирования рассеяния и поглощения света в их объеме с помощью метода Монте-Карло. Также предложен способ получения двунаправленной функции отражения (ДФО или BRDF) нитей из ФВР путем интегрирования ФВР по поверхности нити, представленной цилиндром. Разработанное решение дает хорошие визуальные результаты, а также демонстрирует качественное совпадение картин рассеяния света моделью и образцом реальной ткани. Данные о рассеянии света реальным образцом ткани получены путем измерений.

Abstract

We present a new approach to modeling lighting in cloth based on a confirmed assumption that cloth yarns are scattering media. The paper proposes a way to calculate Bi-directional Reflectance Distribution Function (BRDF) of a yarn by integrating the yarn’s Bidirectional Sub-Surface Scattering Reflectance Distribution Function (BSSRDF) over the yarn’s surface. The yarn’s BSSRDF is obtained via a Monte-Carlo ray tracing simulation of scattering and absorption of light within yarn’s volume. We demonstrate that the new approach is physically plausible by showing the correspondence of scattering patterns of the incident light between our modeled cloth sample and a piece of a real cotton cloth. The scattering pattern of a real cloth is acquired via direct measurement performed with a proprietary measurement apparatus.

Электронная версия с цветными иллюстрациями размещена по адресу: http://www.keldysh.ru/pages/cgraph/publications/cgd_publ.htm.


Содержание

Аннотация…………………………………………………………………....2

Содержание. 3

1. Введение. 4

2. Базовые идеи. 5

3. Описание модели. 6

3.1. Способ переплетения нитей. 6

3.2. Структура нитей. 6

3.3. Алгоритм расчета оптических свойств нитей. 6

3.4. Формальное определение используемых функций. 7

3.5. Механизм присвоения цвета точкам нитей. 10

4. Краткое описание механизма валидации модели. 11

5. Валидация модели. 12

5.1. Цветовое соответствие. 14

5.2. Настройка модели. 15

6. Заключение. 16

7.  Библиография. 17


1. Введение

В литературе представлено достаточно большое количество разнообразных методов для моделирования тканей, трикотажа, меха и других подобных изделий. Некоторые из них разрабатывались для моделирования физических деформаций этих материалов [1, 2], другие ориентированы на достоверную передачу их характерных визуальных особенностей [3, 4].

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

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

Статья описывает разработанную и реализованную модель распространения света в ткани, процесс и результаты ее валидации.

В соответствии с уравнениями Френеля для многих объектов реального мира, чей показатель преломления близок к показателю преломления воды до 95% света (в случае нормального падения), попадающего на их поверхность, пройдет внутрь объекта (показатель преломления воды равен 1.33, усредненный показатель преломления для текстильных волокон равен 1.57) Часть преломленного света в результате множественного рассеяния внутри объема объекта выйдет обратно на его поверхность. Пространственное распределение этого света в общем случае не будет изотропным [5]. Учитывая тот факт, что объемное рассеяние света может существенно влиять на отражательные свойства материалов, была разработана модель взаимодействия ткани со светом, учитывающая рассеяние света внутри нитей. Поведение света внутри объема нити моделировалось с помощью метода Монте-Карло трассировки лучей. В работе представлены результаты такого подхода.

2. Базовые идеи

Ткань – это сложный объект с точки зрения его взаимодействия с падающим светом. Он обладает набором оптических характеристик, которые определяют это взаимодействие. Был выбран ряд параметров, которые легли в основу модели. После реализации модели, была проведена ее валидация путем сравнения картин рассеяния света смоделированным образцом и реальным обрацом 100% хлопковой красной ткани.

Были выбраны следующие параметры для определения модели:

1.     способ переплетения нитей в ткани;

2.     структура нитей;

3.     алгоритм расчета оптических свойств нитей.

Подробнее остановимся на последнем параметре. В компьютерной графике при реализации физически обоснованных моделей объектов реального мира для моделирования распространения света в сцене часто используется метод Монте-Карло трассировки лучей. Такой же подход реализован и в представленной модели. С помощью метода Монте-Карло трассировки лучей рассчитывается функция внутреннего рассеяния нити (ФВР или BSSRDF), из которой можно получить двунаправленную функцию отражения нити (ДФО или BRDF). Далее, рассчитанная ДФО используется для присвоения цвета точкам нити ткани при заданных в конкретной сцене условиях освещения.

3. Описание модели

3.1. Способ переплетения нитей

Было реализовано переплетение, аналогичное тому, которым обладает ткань, относительно которой проводилось сравнение. Это переплетение представлено на рис. 1.

weave.bmp

Рис. 1. Структура переплетения нитей в модели и в реальной ткани

Рис. 2. Структура нити и схема рассеяния в ней света

3.2. Структура нитей

 

Было сделано предположение, что объем нити является рассеивающей свет средой, что подтверждается исследованиями волокон, проведенными в ряде работ в области текстильного материаловедения [11, 12]. Это означает, что внутри нити показатель преломления среды не является постоянным. Была определена модель, в которой объем нити заполнен основной средой с показателем преломления равным усредненному показателю преломления хлопковых волокон (n = 1.557), и в основной среде распределены сферические частицы, обладающие показателем преломления, отличным от основного. Такая структура нити показана на рис. 2.

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

3.3. Алгоритм расчета оптических свойств нитей

 

Пусть участок нити освещен параллельным светом, приходящим с некоторого направления. Часть этого света, в соответствии с уравнениями Френеля, попадает внутрь нити. Свет, попавший в нить, частично рассеивается, частично поглощается в ее объеме, и выходит на поверхность нити в разных направлениях (рис. 2).

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

3.4. Формальное определение используемых функций

 

В компьютерной графике при необходимости определить поверхность, которая обладает сложным поведением в части отражения света, принято использовать ДФО. В соответствии с определением [6], для направления падения света dwin и направления наблюдения  dwout  ДФО (BRDF) для поверхности dA есть:


Т.е. ДФО показывает отношение яркости dA в направлении dwout к освещенности, приходящей на dA с направления dwin.

Поскольку в данной работе рассматривается не только поверхностное отражение света, но и его объемное рассеяние, имеет смысл определить ФВР (см. рис. 3(а, б) и рис. 4(а, б)).

Определим ФВР  (BSSRDF) следующим образом [6].

Пусть на поверхность dA падает свет с направления dwin. Тогда:


Т.е. ФВР показывает отношение яркости поверхности dB в направлении dwout к потоку, приходящему на dA с dwin. Подразумевается, что яркость поверхности dB создана только потоком dF, приходящим на dA, и является результатом рассеяния света в нити.

Если известна ФВР для поверхностей dA из некоторой окрестности dB, то можно вычислить ДФО для dB путем интегрирования ФВР по этой окрестности [6].

ДФО есть:


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

После окончания моделирования распространения света в нити, можно вычислить ФВР для каждой ячейки dB и для всех телесных углов dwin, dwout следующим образом:


где Fout есть сумма энергий всех лучей, вышедших в направлении dwout из ячейки dB, Fin – сумма всех энергий лучей, приходящих на dA с направления dwin, thetaout– направление выхода лучей, определяемое dwout. Далее значение функции переводилось из спектрального представления в представление RGB.

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

Следовательно, верно следующее:

для dA1, dA2, dB1 и dB2, определенных аналогично продемонстрированному на рис. 5 б). Это соображение позволяет рассчитать ДФО нити следующим способом.

ДФО точки представляет собой интеграл ФВР по некоторой окрестности этой точки.

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

Приближением интеграла ФВР по всей поверхности нити будет сумма (см. рис. 5(в)):

где

1.     thetain– угол между направлением падения света и нормалью к dA

2.     cos(thetain) необходим для того, чтобы учесть изменение величины потока света, падающего на dA под углом thetain с нормалью к ее поверхности.  > 0

f(thetaini)  контролирует, что расчет производится только для тех dAi, которые напрямую освещены светом от источника.

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

Стоит отметить, что полученная ДФО определена для всех возможных направлений падения света, а не только для тех, что принадлежат положительной полусфере (т.е. для тех направлений, которые составляют острый угол с нормалью к поверхности нити). Это объясняется тем, что при рассеянии света в нити, лучи могут выйти в любой точке на ее поверхности, в том числе и с обратной стороны (см. рис. 5(г)). Таким образом, ФВР определена на всей поверхности нити, что позволяет вычислить ДФО для положительных и отрицательных направлений падения света относительно поверхности.

 

     Рис 3. а) ДФО   Рис  6. б) ФВР

Рис 4. а) ДФО                  Рис  4. б) ФВР

 

Рис. 5. а) Рассеяние света, падающего на dA по поверхности нити на dBi

Рис 5. б) Если освещаемая ячейка «сдвигается» вдоль нити и/или «поврачивается» вокруг ее центра, то вся ДФО также «сдвигается» и/или «поворачивается»

Рис. 5. в) Интегрирование ФВР по окрестности dB для получения ДФО

 

Рис. 5. г) Падение пучка параллельного света на нить

 

3.5. Механизм присвоения цвета точкам нитей

 

При визуализации ткани полученная ДФО использовалась для определения диффузной составляющей цвета точки нити, а зеркальная составляющая рассчитывалась по методу, предложенному Куком и Торрансом в соответствии с реализацией Блинна [7, 8]. В нашей модели зеркальная составляющая цвета точки определяется, исходя из расположения нормали образца ткани, а не нити. На рис. 7 представлены несколько иллюстраций, демонстрирующих полученные результаты.

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

4. Краткое описание механизма валидации модели

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

Образец ткани освещался почти параллельным пучком монохроматического света. Измерения были проведены для длин волн падающего света в пределах 390 -  730 нм, с шагом в 10 нм. Энергия света, рассеиваемого образцом, регистрировалась для некоторого множества выходных направлений.

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

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

Далее производились следующие вычисления: [10]:

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

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

3.    Для каждого из выбранных направлений наблюдений устанавливалась камера и производилась визуализация ткани.

4.    Значения пикселов, принадлежащих ткани, суммировались.

5.    Полученные суммы компонент RGB делились на косинус угла отражения. Рассчитанные таким образом величины B соответствовали яркости образца ткани в заданном направлении наблюдения. Физическая величина яркости прямо пропорциональна энергии, отраженной образцом в заданном направлении и обратно пропорциональна косинусу угла отражения. Таким образом, полученные величины B можно было корректно сравнить с полученными для реальной ткани показателями яркости.

6.    Каждая величина B нормировалась следующим образом. Значение B для модели ткани при нормальном падении и отражении света приравнивалось к соответствующему измеренному значению показателя яркости. Рассчитывался коэффициент соответствия, на который домножались все остальные значения сумм.

В итоге было возможно провести сравнение картин рассеяния света разработанной моделью и образцом реальной ткани.

5. Валидация модели

Ниже представлены графики 1–3 рассеяния света моделью ткани (сплошная кривая) и реальным образцом (пунктирная кривая) в плоскости падения света. На всех графиках по оси абсцисс отложены направления отражения света. На графиках представлены значения для углов в пределах от -60 до 70 градусов. Отрицательные значения соответсвуют направлениям, которые лежат по ту же сторону от нормали к поверхности, что и направления освещения; положительные – по ту же сторону, что и направления зеркального отражения. 0 на графиках соответсвует направлению нормали. По оси ординат отложены показатели яркости.

Можно видеть, что рассеяние света моделью и реальной тканью имеет качественное совпадение.

Для сравнения добавим в графики (4–6) классическую модель расчета яркости точки, полученную следующим образом:

·        Диффузная составляющая устанавливается в соответствии с законом Ламберта

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

График 1. Рассеяние света моделью и реальной тканью при угле падения света 0˚ с нормалью

 

График 2. Рассеяние света моделью и реальной тканью при угле падения света 30˚ с нормалью

График 3. Рассеяние света моделью и реальной тканью при угле падения света 60˚ с нормалью

График 4. Рассеяние света классической моделью, разработанной моделью и реальной тканью при угле падения света 0˚ с нормалью

 

График 5. Рассеяние света классической моделью, разработанной моделью и реальной тканью при угле падения света 30˚ с нормалью

График 6. Рассеяние света классической моделью, разработанной моделью и реальной тканью при угле падения света 60˚ с нормалью

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

5.1. Цветовое соответствие

 

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

На рис. 6 приведена фотография красной хлопковой ткани, освещенной дневным светом с внешней и внутренней сторон. Цвет ткани меняется от более фиолетового при освещении с внешней стороны к темно красному при освещении с внутренней.

Аналогичные результаты были достигнуты и для нашей модели. На рис. 7(a) приведена смоделированная ткань, освещенная с внешней стороны, на рис. 7(б) – с внутренней. Модель адекватно передает цветовой баланс реальной ткани.

 

Рис 6. а) Фотография реальной ткани, освещенной с внешней стороны

Рис 6. б) Фотография реальной ткани, освещенной с внутренней стороны

Рис 7. а) Модель ткани, освещенной с внешней стороны

Рис 7. б) Модель ткани, освещенной с внутренней стороны

 

В дополнение к визуальному сравнению цвета ткани, освещенной с разных сторон, было проведено сравнение компонент красного, синего и зеленого цветов реальной ткани и модели. Были вычислены отношения BLUE/RED и GREEN/RED для реального образца и модели при нормальном освещении. Эти данные приведены в Таблице 1.

 

 

BLUE/RED

GREEN/RED

Реальная ткань

0.08

 

0.011

 

Модель

 Порядка 0.05 - 0.25

В зависимости от параметров среды рассеяния нити

      Порядка 0.001 - 0.017

В зависимости от параметров среды рассеяния нити

 

Таблица 1. Соотношение красной, зеленой и синей компонент в реальной ткани и модели

 

5.2. Настройка модели

 

Основными параметрами настройки модели являются характеристики рассеивающей среды, представляющей собой нити. Эти характеристики включают в себя:

1.     Показатель преломления основной среды, в которой распределены рассеивающие частицы

2.     Показатель преломления рассеивающих частиц

3.     Размер рассеивающих частиц

4.     Концентрация частиц в объеме нити

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

Кривые, приведенные на графиках 1-6, были рассчитаны для среды со следующими характеристиками:

1.     Показатель преломления основной среды – 1.557

2.     Показатель преломления рассеивающих частиц – 1.61

3.     Размер рассеивающих частиц – 150 нм

4.     Концентрация частиц в объеме нити – 0.14

6. Заключение

 

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

В работе предложен способ получения ДФО (BRDF) нити из ФВР (BSSRDF) путем интегрирования ФВР по поверхности нити, представленной цилиндром. ФВР в свою очередь получена путем моделирования рассеяния и поглощения света в среде нити с помощью метода Монте-Карло трассировки лучей.

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

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

Модель была реализована на языке C++. Код интегрирован в программный комплекс, разработанный коллективом отдела компьютерной графики и вычислительной оптики Института прикладной математики им. М.В. Келдыша РАН для моделирования сложных оптических явлений.

7.                Библиография

 

 [1] H. Zhong, Y. Xu, B. Guo and H. Shum. Realistic and Efficient Rendering of Free-Form Knitwear. Journal of Visualization and Computer Animation, Special Issue on Cloth Simulation, 2000.

[2] D. Baraff, A. Witkin. Large Steps in Cloth Simulation. SIGGRAPH’98, July 19-24.

[3] M. Sattler, R. Sarlette, R. Klein: Efficient and Realistic Visualization of Cloth. Proceedings of the Eurographics Symposium on Rendering, 2003.

[4] G. Müller, J. Meseth, M. Sattler, R. Sarlette and R. Klein Acquisition, Synthesis and Rendering of Bidirectional Texture Functions, EUROGRAPHICS 2004.

[5] P. Hanrahan and W. Krueger. Reflection from Layered Surfaces Due to Subsurface Scattering. In SIGGRAPH’ 93 Conference Proceedings, California, August 1993, pp. 165–174,

[6] Andrew S. Glassner. Principles of Digital Image Synthesis. Morgan Kaufmann Publishers, 1995, Volume 2.

 [7] R.L. Cook, K.E. Torrance. A Reflectance Model for Computer Graphics. ACM Transaction on Graphics, Vol. 1, No. 1, January 1982, pp 7-24.

[8] J.F. Blinn. Models of Light Reflection for computer synthesized pictures. SIGGRAPH’77, July 20-22.

[9] А.Г. Волобой, В.А. Галактионов, С.В. Ершов, А.А. Летунов, И.С. Потемин. Аппаратно-программный комплекс для измерения светорассеивающих свойств поверхностей. «Информационные технологии и вычислительные системы», № 4, 2006, стр. 24–39.

[10] А.Г. Волобой, Н.А. Лобалзо. Метод сравнения результатов оптического моделирования ткани с физически измеренными данными. Труды научно-технического семинара «Новые информационные технологии в автоматизированных системах», Москва, 2008.

[11] G. S. Buck, JR, F. A. McCord. Luster and Cotton. “Textile Research Journal”, 1949; 19; 715.

[12] J.W. Illingworth. The optical properties of textile fibers. “Textile Recorder”, August, 1942, pp. 29-32.