Podręcznik Grafika komputerowa i wizualizacja
Rozdział 12. OŚWIETLENIE GLOBALNE: METODA ŚLEDZENIA PROMIENI
12.8. MLT
Metropolis Light Transport (MLT) jest jedną z
najciekawszych metod rozwiązania problemu oświetlenia globalnego. MLT pojawiło się
grafice komputerowej w 1997 roku w artykule E.Veach i L.Guibas [11]. Autorzy zaadaptowali
metodę próbkowania zaproponowaną wcześniej przez Metropolis (i innych) [12] do
efektywnego próbkowania w statystycznym rozwiązywaniu problemów fizycznych. Podstawową
zaletą stosowania MLT w śledzeniu promieni jest możliwość adaptacyjnego próbkowania
ścieżek promieni światła i niezależnego rozpatrywania lokalnych „porcji”
światła, w oparciu o bardzo prosty mechanizm. Najczęściej stosowanym
mechanizmem wyboru próbek jest uzależnienie go, po prostu od wartości funkcji
opisującej lokalne zmiany luminancji. Dzięki temu łatwiejsze stało się
analizowanie przypadków, gdzie właśnie lokalne zmiany są najsilniejsze jak np.
zjawiska kaustyczne. Metoda MLT zrewolucjonizowała rozwiązanie problemu
oświetlenia globalnego, dając możliwość efektywniejszego (a tym samym
szybszego) uzyskania zadowalających obrazów (rys.12.10). Metoda MLT była wielokrotnie
uzupełniana i doskonalona. M.Pauly (i inni) w artykule [13] zaproponowali
zastosowanie metody do scen zawierających mgłę i dym. Wiele prac dotyczy próby
poprawy zbieżności i właściwości statystycznych MLT [14, 15]. Praktyczne uwagi
dotyczące współczesnych zastosowań MLT można znaleźć także w [6].
Rys.12.10. a) Obraz
wygenerowany z wykorzystaniem dwukierunkowego śledzenia ścieżek
i
nadpróbkowania 40 próbek na piksel. b) Obraz wygenerowany z zastosowaniem MLT,
250 mutacji na piksel. Czas realizacji w obu przypadkach taki sam.
Prezentowane rysunki
są fragmentami rysunków pochodzących z pracy [11].
Fair use – dozwolony użytek w celach edukacyjnych.
Niech dana będzie funkcja f(x) nieujemna w rozpatrywanym przedziale. Jeśli chcemy spróbkować funkcję f(x) algorytmem Metropolis, to algorytm ten uzależnia generowanie próbek od wartości funkcji f(x). Takie podejście jest bardzo wygodne, nie wymaga odwracania funkcji, odpowiednich normalizacji czy wyznaczania całki. Wystarczy tylko wartość funkcji. Jest to szczególnie wygodne w sytuacjach gdy inne metody próbkowania stwarzają problemy.
Proces generowania próbek jest rozpoczynany od wygenerowania startowej, losowej próbki x0. Każda następna jest generowana na podstawie próbki poprzedniej za pomocą funkcji mutacji xi+1=M(xi). Funkcja ta zmienia wartość próbki, w najprostszym przypadku może to być generowanie nowej wartości losowej, niezależnie od próbki poprzedniej. Do generowania próbek wykorzystywane są jeszcze dwie funkcje. Pierwszą jest funkcja przejścia P(xi,xi+1) określająca prawdopodobieństwo przejścia ze stanu xi do xi+1 z wykorzystaniem mutacji M(x). Drugą jest funkcja akceptacji określająca prawdopodobieństwo akceptacji zrealizowanej mutacji. Jeśli punkcja przejścia jest symetryczna tzn. P(xi,xi+1) = P(xi+1,xi) to . Generowanie próbek opisuje Algorytm Metropolis.
ALGORYTM Metropolis
x0=RAND() , i=0
powtarzaj następujący zestaw
operacji aż i osiągnie wartość N
begin
wyznacz nową próbkę xi+1=M(xi)
określ poziom akceptacji a = A(xi, xi+1)
jeśli (RAND()<a) to i=i+1 oraz zapamiętaj xi
end
określ poziom akceptacji a = A(xi, xi+1)
jeśli (RAND()<a) to i=i+1 oraz zapamiętaj xi
Algorytm generuje N próbek zgodnie z rozkładem określanym pośrednio przez funkcję akceptacji. Nieujemną funkcją f(x) wykorzystywaną w MLT jest funkcja luminancji ścieżki. Oznacza to, że przy najprostszej mutacji (nowa wartość losowa) próbki są generowane w taki sposób, że promienie są kierowane w obszary lokalnie jaśniejsze. Takie podejście pozwala wydobyć szczegóły w jasnych miejscach obrazów. W ten sposób, niejako, faworyzowane są te ścieżki, które prowadzą do źródeł światła, a pomijane te, które nie wnoszą lokalnych zmian lub są po prostu ciemne. Takie podejście jest w dużym stopniu zgodne z naszą percepcją – w zróżnicowanym tonalnie obrazie łatwiej zauważyć szczegóły, czy zmiany barwy, w jasnych obszarach niż w obszarach ciemnych
Warto także zwrócić uwagę na wady próbkowania Metropolis w śledzeniu promieni. Jest to próbkowanie zależne od stanu (rozkładu barw) pikseli obrazu. Nie jest metodą uniwersalną, która przyspieszy zawsze obliczenia. Jeśli scena jest równomiernie oświetlona lub decydujące w oświetleniu jest bezpośrednie źródło światła, to tradycyjne śledzenie ścieżek da szybciej lepsze rozwiązanie. MLT sprawdzi się jednak zawsze tam gdzie występują widoczne lokalne zmiany oświetlenia i przeważa oświetlenie pośrednie (po wielokrotnych odbiciach).