Czujniki Bayer wykorzystują wzór czerwonych, zielonych i niebieskich pikseli i łączą je w końcowy obraz kolorowy, z jednym pikselem na każdy czujnik koloru . Można tego dokonać poprzez „naiwne” łączenie sąsiadujących czujników, ale słyszałem o bardziej skomplikowanych podejściach z nazwami takimi jak AHD, HPHD i AMaZE.
Jakie są te inne podejścia i jakie przynoszą korzyści? Czy mają słabości przekraczające złożoność obliczeniową?
Wyobrażam sobie, że podejście stosowane w aparacie JPEG jest ściślej strzeżone, ale wyraźnie wiele badań i prac rozwojowych dotyczy tego obszaru. Czy ograniczona moc przetwarzania dostępna w kamerze wymusza jakiekolwiek kompromisy w tym obszarze?
Odpowiedzi:
Kilka miesięcy temu byłem zaskoczony, gdy odkryłem, że moja kamera SDK użyła „interpolacji” najbliższego sąsiada we wbudowanej funkcji Bayera. Jest to najszybszy, ale najgorszy typ, dający twarde krawędzie, szczególnie gdy zaczynasz robić matematykę na kanałach obrazu, aby uzyskać stałość kolorów lub niezmienność jasności. Znalazłem tę recenzję algorytmów:
http://www.arl.army.mil/arlreports/2010/ARL-TR-5061.pdf
Następnym krokiem w górę są interpolacje dwu- i dwubiegunowe, które można obliczyć dość szybko, ponieważ sprowadzają się one do jąder splotu. Dają kolorowe zęby piły na skośnych krawędziach - dwuliniowe więcej niż bicubic.
Można to zobaczyć w tym artykule oraz z ilościowymi danymi jakościowymi dotyczącymi 5 różnych algorytmów:
http://research.microsoft.com/en-us/um/people/lhe/papers/icassp04.demosaicing.pdf
Dlatego wykonali interpolacje w oparciu o kierunek krawędzi. Jednak traktują zieleń jako bardziej „ważny kanał” (ponieważ ma najlepszą rozdzielczość i odpowiada za większość naszej wrażliwości wizualnej i rozdzielczości oczu). Następnie tworzą niebieski i czerwony jako funkcję kanału zielonego w sposób zachowujący odcień. To z kolei sprawia, że treści wysokiej częstotliwości kanału zielonego są bardziej podatne na błędy. Złożoność jest większa, ponieważ muszą wykryć, co się dzieje i wymagają wielu przejść. Mora i kukurydza są powszechnymi artefaktami z tego rodzaju interpolacji.
Tutaj pokazują przykłady Adaptacyjnej homogeniczności Demosaicing i wersje dwuliniowe z dodatkami lub bez zachowania odcienia i zachowania krawędzi:
http://math.auburn.edu/~kilgota/ahd_bayer.pdf
Ten artykuł faworyzuje AHD i nie wykazuje negatywnej strony. Na tej stronie można zobaczyć różne artefakty wzorca z Adaptacyjnego homogeniczności Demosaicing, Wzorzyste grupowanie pikseli i Zmienna liczba gradientów (najedź myszką na nazwy):
http://www.ruevski.com/rawhistogram/40D_Demosaicing/40D_DemosaicingArtifacts.html
Podsumowując, istnieje wiele założeń zastosowanych w tych algorytmach, a artefakty występują, gdy założenie się nie zachowuje:
źródło
Zacząłem trochę z tym grać i odkryłem, że naiwne podejście nie jest wcale takie złe. To po prostu traktowanie każdego koloru osobno i interpolacja w celu uzyskania odstępu między pikselami. Główną wadą tego jest to, że jeśli podglądasz piksele w miejscu o wysokim kontraście, możesz zobaczyć kolorowe obramowanie. Innymi słowy, jeśli masz jasnoszary obszar przylegający do czarnego obszaru, zobaczysz kilka kolorowych pikseli na granicy. Na szczęście wartości te są ogólnie uśrednione, ale jeśli krawędź jest prawie pionowa lub prawie pozioma, uśredniają się przy niskiej częstotliwości. Ten sam efekt może być jeszcze bardziej widoczny na cienkich jasnych liniach, które są prawie pionowe lub poziome.
Oto przykład. To zdjęcie zostało celowo wykonane jako zdjęcie próbne:
Zwróć uwagę na pozorne pasy linii chromowanych wykończeń. Aby ująć to w perspektywie, oto pełna klatka:
Myślałem o alternatywnym podejściu, ale jak dotąd zawsze były inne rzeczy do zrobienia. Ten schemat miałby na celu przede wszystkim znalezienie jasności . Byłby to pojedynczy kanał danych obrazu, gdyby obraz był czarno-biały. Każdy sensel przyczynia się do tego, chociaż kolory nie mają jednakowego znaczenia. Po określeniu intensywności interpolujesz kolory jak w naiwnej metodzie, ale wykorzystujesz wynik tylko do ustawiania kolorów w taki sposób, aby zachować intensywność. Intensywność miałaby większą przepustowość lub byłaby ostrzejsza pod względem fotograficznym niż informacje o odcieniu. Telewizja analogowa wykorzystała tę sztuczkę, aby zmniejszyć wymagania dotyczące przepustowości obrazu kolorowego. Uciekli, ponieważ ludzki system wizualny przywiązuje większą wagę do intensywności niż kolorów, szczególnie czerwonych.
W każdym razie to tylko niektóre przemyślenia. Tak jak powiedziałem, tak naprawdę jeszcze tego nie próbowałem ani nie opracowałem szczegółów. Pewnego dnia.
źródło
Rozumiem, że różne wersje procesu w Lightroomie (do tej pory mamy 2003, 2010 i 2012) odpowiadają między innymi różnym algorytmom demaskowania. Innym interesującym oprogramowaniem jest UFRaw, który oferuje następujące (cytat ze strony internetowej):
Po ustawieniu balansu bieli UFRaw interpoluje wzór Bayera.
Może to dostarczyć materiału do eksperymentów. Nawiasem mówiąc, UFRaw wydaje się być Open source, co pozwala zerknąć na same algorytmy.
źródło
W astrofotografii ten temat jest badany dogłębnie, ponieważ w przypadku korzystania z czujnika koloru z jednym strzałem rozdzielczość jest często tracona przez rozbijanie. Z drugiej strony, użycie pliku RAW nadal zapewnia dostęp do oryginalnych danych i może być przetwarzane przed aplikacją koloru. Ten temat ściśle dotyczy strony oprogramowania.
Krótko mówiąc, jeśli masz dostęp do wielu zdjęć z tymi samymi danymi podmiotowymi (co jest zrobione w celu zmniejszenia szumu czujnika), możesz zamienić konwersję pojedynczej klatki za pomocą AHD na podejście mżawkowe, które może odzyskać utraconą rozdzielczość. Wybór zależy od rodzaju dostępnych danych źródłowych. Większość fotografów ma tylko jedno zdjęcie do wykorzystania.
Niektóre programy, których użyłem z opcjami do debayeringu to: Deep Sky Stacker i Pix Insight. Są też inni. Wiele bazuje na DCRAW .
Oto link do artykułu na stronie Deep Sky Stacker, w którym omawiają niektóre opcje: Wybory debayering
źródło