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ę.