W jaki sposób oprogramowanie zwiększa ekspozycję podczas przetwarzania końcowego?

9

Czy ktoś zna jakieś algorytmy lub może matematycznie wyjaśnić, w jaki sposób jasność (EV) jest wykonywana podczas przetwarzania końcowego? Czy dostosowuje poziom jasności / RBG / kontrastu dla każdego piksela? Czy to dotyczy histogramu?

Jakie są szczegóły techniczne kompensacji ekspozycji dla niedoświetlonego obrazu w przetwarzaniu końcowym?

EDYCJA: W tym pytaniu tutaj opublikowano link. To ma przykładów na zmianę EV i porusza się w lewo / w prawo. W odpowiedzi Matta Grumm'a stwierdza, że ​​każdy piksel jest „zwielokrotniany” (co moim zdaniem wskazuje, że histogram jest przesuwany w górę / w dół).

Czy ktoś może wyjaśnić, dlaczego tak jest? (Ta EV zmienia się od lewej do prawej)

BBking
źródło
Czy chcesz ograniczyć to pytanie do tych konkretnych produktów Adobe, czy interesuje Cię ogólna korekta ekspozycji w przetwarzaniu końcowym?
Proszę przeczytać mój profil
możliwy duplikat Co to znaczy rozjaśnić obraz?
Itai
2
Przeczytałem to dwa razy i wciąż uważam, że jest to dość mylące pytanie. Czy mógłbyś przeredagować, aby usunąć niektóre z bardziej dyskursywnych części i skupić się wyraźnie na swoim podstawowym pytaniu?
Mark Whitaker
@mattdm Tak, ogólnie. Itai Kinda nie bardzo. :) Mark Whitaker zrobi. (Powiedziano mi, że nie mogę mieć więcej niż jednej osoby)
BBking
@Mark Whitaker Czy już to wyjaśniłem?
BBking

Odpowiedzi:

7

Wiem, że wszyscy ekscytujemy się posiadaniem aparatów cyfrowych, ale faktem jest, że nie . Mamy kamery analogowe, które mają cyfrowy format wyjściowy (i wiele cyfrowych układów, które również nie są bezpośrednio związane z obrazem).

Ilekroć sygnał analogowy jest konwertowany na sygnał cyfrowy, wprowadza się szum kwantyzacji. Oznacza to, że jest bardzo mało prawdopodobne, aby sygnał przechodzący do konwersji dokładnie odpowiadał wartości liczby cyfrowej wychodzącej z drugiego końca - pomyśl o tym jako o błędach obcięcia lub zaokrąglenia.

Podczas przetwarzania końcowego na cyfrowym pliku obrazu szum kwantyzacji dodany przez kamerę jest „wstawiany”. Nie ma znaczenia, z jaką głębokością bitów pracujesz na stanowisku, dane, z którymi pracujesz, zawierają zarówno analogowe (dobrze, kwantowe) szumy (szum termiczny i strzał, zniekształcenie wzmacniacza itp.), Jak i szum kwantyzacji wyjścia kamery. Jakość danych podstawowych nie jest doskonała, więc wszelkie obliczenia wykonane na błędnych danych spowodują błędne dane wyjściowe. GIGO , jak mówią.

Z drugiej strony w aparacie masz możliwość wzmocnienia (lub osłabienia) sygnału analogowego przed kwantyzacją. To wcale nie pomaga w przypadku szumów w dziedzinie analogowej, ale zmniejsza szum kwantyzacji przy danym poziomie jasności .

Powiedzmy, że masz analogiczną wartość 4,4 whatchamacallits. Jeśli fotografujesz przy użyciu ISO 100, nasz hipotetyczny „cyfrowy” aparat przekonwertuje go na wartość cyfrową dokładnie 4. Jeśli zdecydujesz się zwiększyć widoczną ekspozycję na stanowisku, utkniesz w pracy z 4, która jest obcięta. Jeśli zwiększysz ISO w kamerze (o mniej niż kropkę), to 4.4 zostanie wzmocnione przez obwód analogowy, zanim zostanie przekonwertowany na cyfrowy, i może spowodować 1-wyższą wartość cyfrową niż obliczenia w całości cyfrowe. Różnica jednobitowa może nie brzmieć dużo, ale kiedy zaczniesz gromadzić wszystkie błędy podczas przetwarzania, dany piksel może znajdować się dość daleko od wartości, które powinien mieć. Taki jest hałas.

(Istnieje również fakt, że kamera „zna” swoje własne charakterystyki reakcji i może uwzględnić je w przetwarzaniu. Na przykład Lightroom nie wykonuje odejmowania szumu czujnika specyficznego dla kamery. Kamery mogą , choć nie wszyscy tak .)


źródło
Dzięki Stan. Tak, na zdjęciu są wszystkie rodzaje szumów. Jeśli więc dostosujesz EV w PP, dodatkowo wzmocnisz ten szum. Tak jak ISO wzmacnia hałas.
BBking
2
Zwiększanie czułości ISO i EV wzmacnia szum, ale myślę, że Stan mówi, że dostosowanie ISO w górę w aparacie jest lepsze niż zwiększenie ekspozycji podczas przetwarzania końcowego (ponieważ zasadniczo wzmacniasz sygnał, zanim szum kwantyzacji zostanie wprowadzony do A / Krok D).
seanmc
4

Czy to formuła, której szukasz?

RGB[c] = max( RGB[c] * pow(2,EV), RGBmax )

Co w zasadzie oznacza, że ​​dla każdego kanału (każdego piksela) danych RGB należy pomnożyć go przez 2 ^ EV, a następnie przyciąć do dowolnej wartości maksymalnej dla danych. Dla 8-bitowego koloru RGBmax będzie wynosić 255, dla 16-bitowego koloru będzie to 65535 itp.

EV tutaj jest względnym EV, więc EV + 2.0 pomnoży (rozjaśni) każdy piksel czterokrotnie, a EV-2.0 podzieli (przyciemni) każdy piksel czterokrotnie.

Sama formuła nie zależy od histogramu, ale jeśli musisz zdecydować, jakiej wartości ekspozycji użyć, aby optymalnie dopasować obraz, to z histogramu można wykonać pewne statystyki w celu obliczenia EV.

Ośmiornica
źródło
1
Wierzę, że wartości RGB już odzwierciedlają postrzeganą jasność, więc twoja formuła jest niepoprawna. Byłoby to poprawne dla wartości zmierzonych przez czujnik (który jest zbliżony do liniowego, patrz odpowiedź Matta), ale nie dla już przekonwertowanych wartości RGB. (Spróbuj, co się stanie, jeśli zastosujesz swoją formułę.)
Szabolcs
@Szabolcs, myślałem, że OP prosi o algorytm do kompensacji EV w przetwarzaniu końcowym, nie? Przyznaję, że pytanie nie jest dla mnie jasne, ale oni proszą o matematykę.
Octopus
Dzięki za odpowiedź! Czy masz link do tych formuł, abym mógł je bliżej zbadać?
BBking
1
@Octopus Tak, ale miałem na myśli, że twoja formuła jest niepoprawna, jeśli jest stosowana do wartości RBG . Wartości RGB są obliczane na podstawie surowych danych z czujnika, przyjmując logarytm wartości surowej (nasza percepcja jest w przybliżeniu logarytmiczna), a następnie przeskalowując wynik liniowo (co odpowiada ustawieniu punktu czerni i punktu bieli). (Plus kilka innych rzeczy, o których Matt wspomniał.) Zatem twoja formuła jest poprawna, gdy jest stosowana do wartości surowych pikseli, ale jest niepoprawna dla wartości RGB. Jeśli w praktyce spróbujesz przeprowadzić transformację obrazu, zobaczysz, co mam na myśli.
Szabolcs
Weź surowy plik, wyodrębnij dane za dcrawpomocą -4przełącznika, aby upewnić się, że nie przeprowadzi on samej transformacji dziennika, a następnie spróbuj samodzielnie wykonać podstawową surową konwersję i zastosować kompensację ekspozycji podczas procesu.
Szabolcs
3

Uwaga: pytanie zostało zredagowane, ponieważ odpowiedź Stana na to pytanie odpowiada na inne pytanie:

Czy ktoś zna jakieś algorytmy lub może matematycznie wyjaśnić, w jaki sposób jasność (EV) jest wykonywana podczas przetwarzania końcowego? Czy dostosowuje poziom jasności / RBG / kontrastu dla każdego piksela? Czy to dotyczy histogramu?

Jakie są szczegóły techniczne kompensacji ekspozycji dla niedoświetlonego obrazu w przetwarzaniu końcowym?

Może to być proste: pomnożenie wszystkich wartości pikseli (np. Jasność, kontrast nie jest terminem odnoszącym się do poszczególnych pikseli) i zastosowanie przesunięcia. Jeśli zostanie to zrobione po demozaikowaniu, wystarczy pomnożyć wartości czerwony zielony i niebieski przez ten sam współczynnik.

Proces kompensacji ekspozycji jest nieco bardziej złożony w kontekście konwersji RAW, ponieważ czujniki aparatu są z natury liniowymi urządzeniami, podczas gdy większość konwerterów RAW stosuje nieliniową krzywą tonalną, aby spróbować naśladować kontrastową krzywą S uzyskaną za pomocą filmu.

Dlatego najlepszym czasem na kompensację ekspozycji jest jej zastosowanie. Zasadniczo oznacza to korzystanie z funkcji EC konwertera RAW, nie czekanie „do wyeksportowania programu Photoshop, ponieważ krzywa nieliniowa prawie do tego czasu zostanie zastosowana.

Sytuacja jest jeszcze bardziej złożona, ponieważ niektóre konwertery RAW * stosowały „skręcone” profile kolorów, które powodują mapowanie odcienia / nasycenia na różne wartości w zależności od intensywności. Odbywa się to w celu uzyskania bardziej przyjemnych kolorów kosztem dokładności i może wpływać na wyniki kompensacji ekspozycji.

Niektóre konwertery RAW oferują również narzędzia do odzyskiwania rozjaśnienia i wzmocnienia cieni. Dokonują lokalnych dostosowań (tj. Uwzględniają znacznie więcej niż poszczególne wartości pikseli). Jeśli chcesz poznać szczegóły tych algorytmów, prawdopodobnie będziesz musiał poczekać i mieć nadzieję, że pojawi się tutaj programista Lightroom.

* kiedy mówię „niektóre konwertery RAW”, mówię w zasadzie o Lightroom / ACR, ponieważ to jedyny, który studiowałem, inne zaawansowane konwertery RAW prawdopodobnie robią podobnie.

Matt Grum
źródło
Z tego, co wiesz, jesteś w stanie wykazać, w jaki sposób pomnożenie wartości RGB powoduje wyższą jasność? Podobnie jak w przypadku, czy struktura pikseli ma wartości koloru i jasności? O ile mi wiadomo, możesz pomnożyć wartość piksela, aby zmienić również jego kolor. Podoba mi się krzywa S. Wiem, że pytam konkretnie o pojedynczy piksel, ale rozumiem więcej w związku z obrazem jako całością. Rozumiem, że w grę wchodzi również interpolacja.
BBking
1
@BBking Pliki RAW zawierają tylko wartości intensywności (jasności), każdy piksel ma filtr kolorów, dzięki czemu występują naprzemiennie intensywności czerwony, zielony i niebieski. Ponieważ czujniki kamery są urządzeniami liniowymi, skalowanie zarejestrowanych wartości daje prawie taki sam efekt, jak dłuższe wystawianie czujnika. Po demozaikacji obrazy mogą być przechowywane w wielu formatach kolorów, z których najczęstszym jest RGB, gdzie na każdym pikselu rejestrowana jest ilość światła czerwonego, zielonego i niebieskiego. Pomnożenie każdej z tych wartości przez ten sam współczynnik zwiększa jasność, pomnożenie każdej wartości przez inną wartość zmienia kolor.
Matt Grum,
„Ponieważ czujniki aparatu są urządzeniami liniowymi” ... Aby być pedantycznym, czujniki aparatu są „prawie liniowe”, ponieważ ([już wskazałeś]) ( photo.stackexchange.com/a/33986/6294 ). (Myślałem, że warto o tym wspomnieć, ponieważ PO jest również zainteresowany matematycznym sformułowaniem problemu). Dobry algorytm teoretycznie mógłby wziąć pod uwagę typową odpowiedź czujnika, nawet jeśli pracuje tylko z wartościami RGB.
Alberto,
@Alberto tak, to dobra uwaga, powinienem powiedzieć „w przybliżeniu liniowy”, ale ponieważ mój komentarz miał już 598 znaków, zajęłoby to ponad 600 i wymagałoby podzielenia na dwa komentarze;)
Matt Grum
3

Matematycznie na jasność matrycy (obrazu) wpływa ogólny wpływ na wartość funkcji CIE L * odcienia piksela. To związek arytmetyczny. Dodaj, odejmij, pomnóż i podziel.

Ponownie, matematycznie, macierz transformacji (numeryczna) jest przypisana do istniejącej macierzy w pp. Można je wykonać selektywnie względem podmiotu lub całej macierzy (obrazu).

Dobra ekspozycja i zła ekspozycja to terminy dowolne - o ile zakres oświetlenia obiektu mieści się w użytecznym zakresie czujnika aparatu. Zakres tematyczny może być szeroki lub wąski do skrajnego.

Uwaga: Histogram stanowi pomoc wizualną, która reprezentuje względny rozkład natężeń oświetlenia na obrazie. Jest liniowy. Nie ma to nic wspólnego z ekspozycją, wzajemnym stosunkiem intensywności i czasu, który zawsze jest reprezentowany logarytmicznie.

Stan
źródło
2

Jakie są szczegóły techniczne kompensacji ekspozycji dla niedoświetlonego obrazu podczas przetwarzania końcowego?

Zwykłe zwiększenie wszystkich wartości na obrazie spowoduje zwiększenie wszystkich wartości o jednakową wartość. Ta „liniowa” reakcja jest charakterystyczna dla obrazów cyfrowych.

Nie postrzegamy rzeczy w ten sposób, a wynikowy obraz będzie wyglądał nienaturalnie.

Obraz analogowy (emulsja filmowa) wydawał się bardziej naturalny, ponieważ reakcja emulsji fotograficznej bardziej przypomina reakcję ludzkiego układu wzrokowego. Odniesiono się do krzywej w kształcie litery „S”. Ten charakterystyczny kształt litery „S” jest odpowiedzią analogową.

Kompensacja różnicy między naszą proporcjonalną reakcją wzrokową człowieka a liniową odpowiedzią cyfrową zachęca różne środki do estetycznego zharmonizowania różnicy.

Potrzebny jest skuteczny sposób zapewnienia proporcjonalnej kompensacji różnicy. To jest technika.

Stan
źródło