High Dynamic Range – HDR

Transkrypt

High Dynamic Range – HDR
Wykorzystanie techniki
bracketing'u ekspozycji do tworzenia obrazów
o wysokiej dynamice
(High Dynamic Range – HDR)
autor: mgr inż. Stefan Nawrocki,
starszy wykładowca w Instytucie Wzornictwa Politechniki Koszalińskiej
W niniejszym wykładzie przedstawię Państwu technikę umożliwiającą poszerzenie
zakresu tonalnego matrycy aparatu cyfrowego.
Na czym polega problem? Proszę spojrzeć na ekran.
(Slajd 2)
Widzimy tu trzy zdjęcia. (To są zdjęcia mostu nad Odrą w Ścinawie). Zdjęcie nr
1 zostało naświetlone tak, żeby najciemniejsze elementy (tutaj elementy
konstrukcyjne mostu) zostały naświetlone prawidłowo. Jak widzimy spowodowało
to zupełną utratę szczegółów w jasnych partiach zdjęcia (chmury). W związku
z tym zrobiłem zdjęcie nr 2, które naświetliłem tak, żeby najjaśniejsze elementy
fotografowanej sceny (czyli chmury) nie zostały prześwietlone. Tu z kolei co
prawda chmury zostały naświetlone prawidłowo, ale elementy konstrukcyjne
mostu zbyt ciemne.
Po prawej stronie widzimy zdjęcie nr 3, które powstało ze złożenia zdjęć nr 1 i 2.
Na tym zdjęciu widać zarówno chmury, jak elementy konstrukcyjne mostu.
Zakres tonalny na tym zdjęciu jest większy niż na zdjęciach nr 1 i nr 2. Takie
zdjęcie nazywamy zdjęciem HDR (jest to skrót z języka angielskiego - High
Dynamic Range, czyli wysoki zakres dynamiki).
W dalszej części wykładu postaram się wyjaśnić algorytm, który kryje się w
programie do tworzenia takich zdjęć, ale wcześniej wyjaśnię kilka pojęć
podstawowych związanych z tematem.
(Slajd 3)
Pojęciem często wykorzystywanym w fotografii (a także w literaturze dotyczącej
tematu HDR) jest Ekspozycja. Ekspozycja, to ilość światła padającego na
materiał światłoczuły (niektórzy autorzy dodają, że jest to ilość światła
niezbędna do osiągnięcia prawidłowego naświetlenia materiału, ale nawet
jeśli materiał nie zostanie prawidłowo naświetlony, to i tak wystąpiła jakaś
ekspozycja). Ekspozycję (czyli tę potrzebną ilość światła) dobieramy za pomocą
dwóch elementów, tj.: przysłony obiektywu (która reguluje strumień światła)
i migawki (która ustala czas naświetlania). Zajmiemy się teraz przez chwilę tymi
elementami.
1. Przysłona obiektywu.
(Slajd 4)
Przysłona obiektywu to otwór o regulowanej średnicy, przez który strumień
światła dostaje się do wnętrza korpusu aparatu. Stopień otwarcia przysłony
określamy za pomocą liczby przysłony. Liczba przysłony jest odwrotnością
otworu względnego obiektywu, który definiowany jest jako średnica soczewki
w obiektywie podzielona przez ogniskową obiektywu.
Celem takiego zdefiniowania liczby przysłony jest uzyskanie efektu polegającego
na tym, że ilość światła wpadającego przez różne obiektywy (w tym obiektywy
o różnych ogniskowych) jest taka sama, jeśli wybrano dla nich te same liczby
przysłony.
Liczby przysłony ustawiono w szereg, w którym każda kolejna wartość jest
o pierwiastek z dwóch większa od poprzedniej. Czyli na obiektywie znajdziemy
ciąg liczb: 1; 1,4; 2; 2,8; 4; 5,6; 8; 11; 16; 22; 32, itd. Zwróćmy uwagę na
fakt, zwiększenie liczby przysłony o pierwiastek z dwóch oznacza dwukrotne
zwiększenie pola powierzchni otworu, przez który przedostaje się światło, a więc
zmiana przysłony o jeden stopień powoduje dwukrotne zwiększenie ilości wpadającego do aparatu światła.
Drugim elementem, którym wpływamy na wielkość ekspozycji jest migawka
2. Migawka.
(Slajd 5)
Migawka – to urządzenie mechaniczne (lub elektroniczne), które reguluje czas,
przez który światło pada na materiał światłoczuły. Ten czas nazywamy czasem
naświetlania.
Czasy naświetlania ustawiono w szereg, w którym każdy kolejny czas jest dwukrotnie krótszy lub dłuższy od poprzedniego.
Np. 1 sek.; 1/2; 1/4; 1/8; 1/15; 1/30; 1/60; 1/125; 1/250; itd.
Cechą charakterystyczną ekspozycji dobieranej za pomocą tak zdefiniowanych
przysłon i czasów jest fakt, że tę samą ekspozycję uzyskamy dla różnych kombinacji czasu i przysłony. Np. przysłona 2 i czas 1/250 sek. da taki sam efekt, jak
przysłona 4 i czas 1/60.
Wykorzystując omówione wyżej zależności stworzono tzw. tabelę ekspozycji.
Podstawą do stworzenia tej tabeli jest jednostka ekspozycji o nazwie EV (ang.
Exposure Value). Wartość 0 EV oznacza ekspozycję przy przysłonie 1:1 przez
czas 1 sekundy.
(Slajd 6)
Jak widzimy, tę samą ekspozycję możemy uzyskać stosując różne kombinacje
przysłony i czasu naświetlania.
(Slajd 7)
Stopień zaczernienia materiału światłoczułego zależy od jego czułości,
omówionej wyżej ekspozycji oraz oświetlenia fotografowanej sceny.
1. Czułość materiału światłoczułego jest miarą jego zdolnością do reakcji na
padające światło. Im większa czułość, tym mniej światła jest potrzebne, aby wywołać określony stopień zaczernienia. Czułość również wyskalowano tak, aby
dwukrotne zwiększenie czułości powodowało ten sam efekt, co dwukrotna zmiana czasu lub zmiana przysłony o jeden stopień.
(Slajd 8)
2. Ekspozycja – jak widzimy ekspozycja nie oznacza wprost stopnia zaczernienia materiału światłoczułego, ale jedynie określoną kombinację czasu i przysłony.
Czy kombinacja ta będzie wystarczająca do osiągnięcia określonego zaczernienia
zależy od wspomnianej wyżej czułości oraz od oświetlenia sceny.
3. Oświetlenie – to najważniejszy element w fotografii. Bez oświetlenia nie ma
zdjęcia. Problemem fotografii cyfrowej jest brak zdolności rejestrowania scen
o zbyt dużej różnicy w oświetleniu poszczególnych części fotografowanej sceny.
W warunkach naturalnego oświetlenia, różnice między partiami oświetlonymi,
a zacienionymi mogą sięgać 20 EV. Tymczasem matryca aparatu cyfrowego ma
zdolność do rejestrowania scen o rozpiętości do około 8 EV.
Jeśli rozpiętość tonalna (czyli różnica między jasnością partii oświetlonych, a jasnością partii zacienionych) fotografowanej sceny jest większa od rozpiętości tonalnej matrycy (czyli większa od około 8 EV) nastąpi utrata informacji. Część obrazu (albo w tzw. „światłach”, albo w „cieniach”) nie zostanie zarejestrowana.
I tu dochodzimy do sedna sprawy. Aby rozwiązać ten problem można wykonać
kilka zdjęć tej samej sceny dobierając ekspozycję tak, aby na kolejnych zdjęciach zarejestrować różne zakresy tonalne fotografowanej sceny. Następnie zdjęcia te należy ze sobą połączyć w odpowiedni sposób po to, aby informacje zarejestrowane dla poszczególnych zakresów tonalnych złożyć w jedno zdjęcie.
(Slajd 9)
Słupek pierwszy po lewej stronie slajdu reprezentuje rozpiętość tonalną fotografowanej sceny. Słupek drugi odpowiada zdjęciu tzw. prześwietlonemu. Na takim
zdjęciu tony ciemne są odwzorowane prawidłowo, ale w zakresie tonów jasnych
matryca aparatu osiąga pełne nasycenie (czyli na ekranie widzimy maksymalną
jasność) szybciej niż to ma miejsce w naturze. Innymi słowy, na ekranie widzimy
maksymalnie jasne to, co w naturze jest jeszcze w pewnym stopniu szare. Ten
obszar (prześwietlenia) na słupku drugim zaznaczyłem kolorem czerwonym.
Słupek trzeci odpowiada zdjęciu tzw. niedoświetlonemu. Na takim zdjęciu prawidłowo odwzorowane są tony jasne, natomiast tony ciemne osiągają na zdjęciu
pełną czerń, podczas gdy w naturze temu zaczernieniu odpowiada jeszcze jakiś
(niezupełnie czarny) stopień szarości. Ten obszar na słupku trzecim zaznaczyłem
kolorem zielonym.
Technika HDR polega na takim połączeniu tych dwóch zdjęć, aby w zdjęciu wynikowym wykorzystać z obu zdjęć te obszary, które zostały naświetlone prawidłowo, a odrzucić obszary prześwietlone lub niedoświetlone. W tym celu na zdjęcie
pierwsze zostaną selektywnie nałożone pewne obszary ze zdjęcia drugiego. Aby
ustalić te obszary wprowadzimy parametr poziom odcinania. Wszystkie obszary zdjęcia drugiego jaśniejsze od poziomu odcinania zastąpią odpowiednie obszary na zdjęciu pierwszym, natomiast obszary ciemniejsze od poziomu odcinania
zostaną po prostu odrzucone. Sytuację tę obrazuje słupek czwarty na slajdzie.
Jak widzimy na naszym schemacie zabieg taki spowodował powstanie
nieciągłości w skali szarości. Tzn. tony ciemne od czarnego do pewnego poziomu
wzrastają liniowo, po czym po osiągnięciu wartości ustalonej jako poziom
odcinania następuje gwałtowne obniżenie jasności (ponieważ od tego poziomu
wartości szarości są pobierane z drugiego zdjęcia, które jest ciemniejsze).
Aby zachować liniową skalę szarości wprowadzamy drugi parametr, nazwany
przesunięcie. Fragmenty nałożone ze zdjęcia drugiego należy rozjaśnić o wartość parametru przesunięcie.
Słupek piąty obrazuje sytuację, która powstanie po zastosowaniu przesunięcia.
Jak widzimy nie jest to sytuacja, która by nam odpowiadała, ponieważ ubocznym
efektem przesunięcia jest powstanie obszarów prześwietlonych (na slajdzie zaznaczonych na czerwono).
Aby pozbyć się tego prześwietlenia wprowadzamy kolejny parametr, o nazwie
skalowanie. Parametr ten to po prostu liczba zmiennoprzecinkowa, przez którą
należy pomnożyć wszystkie wartości szarości zdjęcia na słupku piątym. Innymi
słowy parametr skalowanie zmniejsza kontrast zdjęcia HDR tak, aby mogło być
ono wyświetlone na zwykłym monitorze.
W tym miejscu można zapytać po co te zabiegi z nakładaniem zdjęć. Czy nie wystarczyłoby parametru skalowanie zastosować do słupka nr 2 lub 3, aby
zmniejszyć ich kontrast? Otóż nie. Każde ze zdjęć składowych nie zawiera pełnej
informacji o fotografowanej scenie. Dopiero złożenie dwóch zdjęć powoduje, że
mamy więcej informacji niż dla każdego zdjęcia osobno.
Możemy też mieć inną wątpliwość, a mianowicie, czy obszar prześwietlony zaznaczony na czerwono na słupku piątym nie powoduje utraty informacji (tak jak
to miało miejsce na słupku drugim). Tak nie jest, ponieważ obszar zaznaczony
na czerwono na słupku piątym jest „prześwietlony” tylko dla monitora. Powszechnie używane monitory wyświetlają obraz kolorowy za pomocą trzech składowych, tj. składowej R (czerwony), G (zielony) i B (niebieski) przy czym każda
składowa (każdy kanał) jest reprezentowany za pomocą 256 poziomów szarości.
Ta liczba 256 wynika z ograniczeń technicznych, ponieważ dane są pamiętane na
pojedynczych bajtach, a jeden bajt może pamiętać 256 różnych stanów. Zwiększenie liczby poziomów szarości na monitorze wiązałoby się ze zwiększeniem
rozmiaru pamięci potrzebnej do obsługi takiego monitora. To oczywiście jest
możliwe i z pewnością w przyszłości w powszechnym użytku będą monitory pozwalające obrazować zdjęcia z większą liczbą poziomów szarości, ale póki co jest
tak, że dysponujemy 256 poziomami szarości.
Tak więc obszar czerwony na słupku piątym oznacza poziomy szarości o wartościach powyżej 256 (np. jeśli po złożeniu zdjęć w jakimś miejscu poziom szarości
był 230 i zastosowaliśmy parametr przesunięcie równy 30, to po operacji przesuwania poziom szarości w tym miejscu wynosi 260, czyli o 4 przekracza wartość
maksymalną wyświetlaną przez monitor. Tym niemniej wartość ta (260) nie jest
tracona bezpowrotnie (jak to ma miejsce dla słupka drugiego), ale po zastosowaniu skalowania jest sprowadzana do wartości akceptowanej przez monitor.
Etap skalowania jest w technice HDR nazywany mapowaniem tonów (ang. tonemapping) i nie musi być wcale operacją liniową. Tzn. można różnym tonom
w zdjęciu HDR przypisać różne tony wyświetlane na ekranie monitora. W tym zakresie panuje duża swoboda i różni autorzy tworzą różne algorytmy, które
w skrajnych wypadkach powodują odrealnienie obrazu sprowadzając go niemal
do grafiki.
(Slajd 10)
To jest np. zdjęcie uzyskane za pomocą algorytmu Fattal.
Myślę, że teraz możemy przejść do praktyki, czyli do programu, który napisałem
specjalnie na potrzeby tego wykładu. Otwieramy program i wczytamy do niego
dwa zdjęcia (są to te same zdjęcia mostu, które prezentowałem na początku wykładu).
W programie po prawej stronie na dole widzimy dwa zdjęcia. Jako pierwsze powinno być załadowane zdjęcie najjaśniejsze. Widzimy „wypalone” światła, za to
w cieniach widoczne są szczegóły. Popatrzmy teraz na zdjęcie drugie. Widzimy,
że te obszary, które na pierwszym zdjęciu były „wypalone” tu są ładnie odwzorowane, ale za to tzw. „cienie” są zbyt ciemne.
Wyłączymy zdjęcie pierwsze, a włączymy drugie i teraz suwakiem poziom
odcinania ustalamy, które części obrazu drugiego zostaną dodane do zdjęcia
pierwszego.
Jeśli teraz włączymy zdjęcie pierwsze, to obszary puste zostaną wypełnione danymi ze zdjęcia pierwszego.
Na tym etapie widzimy uskoki w obszarach, w których jasność zmienia się stopniowo. Efekt ten omawiałem wcześniej. Pamiętamy, że aby temu zaradzić należy
przesunąć (czyli rozjaśnić) zdjęcie nakładane tak, żeby wyrównać poziomy szarości w miejscu uskoku. Przesuwam więc zdjęcie drugie tak, aby zlikwidować wspomniany wcześniej uskok. Przy okazji widzimy, że chmury, które przy przesunięciu zerowym były prawidłowo naświetlone teraz stały się zbyt jasne. Możemy
włączyć w programie opcję pokazywania obszarów prześwietlonych i wtedy na
czerwono widzimy zaznaczone obszary, które w efekcie przesuwania niejako
„wyjechały” poza skalę monitora.
Pamiętamy też, że receptą na zlikwidowanie efektu prześwietlenia (który powstał
w wyniku przesuwania zdjęcia drugiego) jest zastosowanie skalowania. Dobieram
więc parametr skalowanie tak, aby zlikwidować czerwone obszary co będzie
oznaczało, że cała fotografowana scena mieści się w zakresie tonalnym obsługiwanym przez monitor.
Po tym zabiegu widzimy, że efektu uskoku nie ma, a chmury są teraz prawidłowo
odwzorowane.
Popatrzmy jeszcze raz na zdjęcia składowe i na wynik działania programu.
Daje się zauważyć to, że zdjęcia składowe mają większy kontrast, natomiast
zdjęcie wynikowe jest mniej kontrastowe. Ale to jest właśnie to, o co nam chodziło. Zdjęcia składowe ze względu na zbyt duży kontrast nie mogły oddać w całości fotografowanej sceny. Program dopasował informacje zawarte na zdjęciach
składowych do poziomu akceptowalnego przez monitor.
Na tym etapie możemy jeszcze poprawić nieco wygląd zdjęcia wynikowego przez
edycję parametrów takich jak: jasność, kontrast, współczynnik gamma, balans
bieli i nasycenie kolorów. Edycji tych parametrów dokonamy na zakładce
Wyjście. Zwróćmy uwagę, że parametry tu edytowane wpływają na całe zdjęcie.
Te same parametry możemy też edytować dla każdego zdjęcia osobno za
pomocą suwaków na zakładce Wejście. Popatrzmy jak to działa. Po przejściu na
zakładkę Wejście dla pierwszego zdjęcia mogę regulować np. jego jasność, a to
spowoduje, że tylko pewne obszary będą ulegały zmianie.
Wróćmy jeszcze na chwilę na zakładkę Nakładanie, na której dobieramy
parametry nakładania zdjęć. Pod suwakami Przesunięcie i Skalowanie
widzimy dwa znaczniki Auto. Otóż oba parametry (tzn. o ile zdjęcie należy
przesunąć, aby pozbyć się uskoku, jak i o jaką wartość należy zdjęcie
przeskalować) da się wyliczyć. Jeśli włączymy znaczniki Auto, program te
parametry będzie wyliczał automatycznie, co nie oznacza oczywiście, że te
obliczenia zawsze dają najlepszy efekt. Dlatego też możemy zawsze wyłączyć
automaty i przejść na sterowanie ręczne.
Na zakładce widzimy też suwak opisany Wtapianie. Co robi ten parametr. Otóż
możemy wrócić do stanu początkowego i zamiast użyć parametru Przesuwanie,
możemy zlikwidować uskok w skali szarości przez rozmycie uskoku. Zobaczmy
jak to działa.
Zdjęcia tak otrzymane nie odpowiadają rzeczywistości, ale mogą stanowić
ciekawą alternatywę dla zdjęć rzeczywistych.
Popatrzmy na przykład. Otwieram zdjęcie chaty. I zamiast rozjaśniać zdjęcie
drugie (aby usunąć uskok między chmurami, a niebem) włączam wtapianie.
Efekty widzimy na ekranie.
I jeszcze trzeci przykład. Otwieramy zdjęcie wnętrza kościoła św. Trójcy w
Krakowie. Do tej pory dysponowaliśmy dwoma zdjęcia. Ale nie zawsze dwa
zdjęcia wystarczają do przeniesienia całego zakresu tonalnego sceny. Popatrzmy
jak to wygląda w tym wypadku. Zdjęcie pierwsze w części dolnej naświetlone
prawidłowo w części górnej po prawej stronie jest prześwietlone. Włączamy
zdjęcie drugie. Widzimy poprawę sytuacje, ale nadal fragment zdjęcia jest zbyt
jasny. Dodajemy zdjęcie trzecie i sytuacja jeszcze trochę się poprawiła, choć
przydałoby się jeszcze jedno zdjęcie, którego niestety już nie mam. A szkoda.
Oczywiście obróbka zdjęcia nie kończy się na tym etapie. Po zrobieniu HDR-a
zdjęcie należy wyprostować (jeśli zachodzi taka potrzeba) i ewentualnie
wyretuszować. To samo zdjęcie mogłoby wyglądać po tych zabiegach tak
(pokazuję zdjęcie). Te operacje nie są jednak tematem dzisiejszego wykładu,
osoby zainteresowane zapraszam na wykłady z fotografii, które będę prowadził
na semestrze zimowym.
Pozostała nam do omówienia ostatnia sprawa, a mianowicie jak zrobić zdjęcia
składowe potrzebne do utworzenia obrazu HDR?
Otóż nie jest takie proste, a trudność polega na tym, że zdjęcia muszą się
idealnie pokrywać. Inaczej po złożeniu powstaną nieprzyjemne obwódki wokół
ostrych krawędzi, co spowoduje wrażenie nieostrości.
Oczywiście rozwiązaniem podstawowym jest statyw. Ale nawet użycie statywu
nie gwarantuje nam tego, że kiedy po zrobieniu pierwszego zdjęcia będziemy
chcieli zmienić parametry ekspozycji nie przesuniemy o ułamek milimetra aparatu. Dlatego producenci aparatów wprowadzili funkcję, która nazywa się bracketingiem ekspozycji. Funkcja ta działa w ten sposób, że ustalamy liczbę zdjęć
oraz krok ekspozycji (podany w EV), który będzie stosowany dla poszczególnych
zdjęć dodatkowych.
Np. ustalamy liczbę zdjęć w bracketingu na 3 i krok bracketingu na 2 EV. Wykonujemy zdjęcie (najczęściej aparat musi być wtedy w trybie zdjęć seryjnych), co
powoduje wykonanie trzech zdjęć. Pierwsze jest wykonane z ekspozycją -2EV
(względem ustawienia „normalnego”, czyli podanego przez światłomierz), drugie
z ekspozycję OEV (czyli taką jak podał światłomierz) i trzecie z ekspozycją +2
EV.
Zastosowanie tej funkcji eliminuje konieczność dotykania aparatu w czasie wykonywania poszczególnych zdjęć składowych, ale - tu jeszcze mała uwaga - należy
użyć wężyka spustowego bądź pilota, gdyż wyzwalanie ręczne migawki zawsze
spowoduje mikrodrgania aparatu, co w przypadku zdjęć HDR zawsze odbije się
na ich jakości.
Na tym zakończyłbym część teoretyczno-praktyczną tego wykładu. Na zakończenie zapraszam na krótką prezentację zdjęć mojego autorstwa, które w zdecydowanej większości są zdjęciami HDR. Zapraszam do obejrzenia i dziękuję za uwagę.