Demozaikowanie

Algorytm demozaikowania (również demozaikowania , demozaikowania lub debayeringu ) to cyfrowy proces obrazu używany do rekonstrukcji obrazu w pełnym kolorze z niekompletnych próbek kolorów wyjściowych z czujnika obrazu nałożonego na matrycę filtrów kolorów (CFA). Jest również znany jako interpolacja CFA lub rekonstrukcja kolorów .

Większość nowoczesnych aparatów cyfrowych pozyskuje obrazy za pomocą pojedynczego przetwornika obrazu, na który nakłada się CFA, więc demozaikowanie jest częścią procesu przetwarzania wymaganego do renderowania tych obrazów do formatu, który można oglądać.

Wiele nowoczesnych aparatów cyfrowych może zapisywać obrazy w formacie RAW , co pozwala użytkownikowi na demonstrację ich za pomocą oprogramowania, zamiast korzystania z wbudowanego oprogramowania aparatu .

Bramka

Celem algorytmu demozaikowania jest odtworzenie pełnokolorowego obrazu (tj. pełnego zestawu trójkolorowych kolorów) z przestrzennie niedopróbkowanych kanałów kolorów wyjściowych z CFA. Algorytm powinien mieć następujące cechy:

Tablica filtrów kolorów

Układ Bayera filtrów kolorów na matrycy pikseli czujnika obrazu. Każda komórka dwa na dwa zawiera dwa zielone, jeden niebieski i jeden czerwony filtr.

Układ filtrów kolorów to mozaika filtrów kolorów przed przetwornikiem obrazu. Komercyjnie najczęściej używaną konfiguracją CFA jest pokazany tutaj filtr Bayera . Ma to naprzemienne filtry czerwony (R) i zielony (G) dla rzędów nieparzystych oraz naprzemienne filtry zielony (G) i niebieski (B) dla rzędów parzystych. Filtrów zielonych jest dwa razy więcej niż czerwonych czy niebieskich, co odpowiada większej wrażliwości ludzkiego oka na światło zielone.

Ponieważ podpróbkowanie kolorów CFA z natury skutkuje aliasingiem , optyczny filtr antyaliasingowy jest zwykle umieszczany na ścieżce optycznej między czujnikiem obrazu a obiektywem, aby zredukować artefakty fałszywych kolorów (aliasy chromatyczne) wprowadzone przez interpolację.

Ponieważ każdy piksel czujnika znajduje się za filtrem kolorów, dane wyjściowe są tablicą wartości pikseli, z których każda wskazuje surową intensywność jednego z trzech kolorów filtra. W związku z tym potrzebny jest algorytm do oszacowania dla każdego piksela poziomów kolorów dla wszystkich składowych koloru, a nie dla pojedynczego składnika.

Ilustracja

Aby zrekonstruować pełnokolorowy obraz z danych zebranych przez tablicę filtrującą kolory, potrzebna jest forma interpolacji w celu wypełnienia pustych miejsc. Matematyka podlega tutaj indywidualnej realizacji i nazywa się demozaikowaniem.

W tym przykładzie używamy interpolacji dwusześciennej programu Adobe Photoshop do symulacji obwodów urządzenia filtrującego Bayera, takiego jak aparat cyfrowy .

Poniższy obraz symuluje sygnał wyjściowy z przetwornika obrazu z filtrem firmy Bayer; każdy piksel ma tylko składową czerwoną, zieloną lub niebieską. Odpowiedni oryginalny obraz jest pokazany obok demozaikowanej rekonstrukcji na końcu tej sekcji.

Shades framed bayer.png
Próbki filtrów Bayera
Shades bayer r.png Shades bayer g.png Shades bayer b.png
Czerwony Zielony Niebieski

Aparat cyfrowy zazwyczaj ma środki do rekonstrukcji całego obrazu RGB przy użyciu powyższych informacji. Wynikowy obraz może wyglądać mniej więcej tak:

Shades framed aa.jpg Shades framed dc.jpg
Oryginalny Zrekonstruowany

Zrekonstruowany obraz jest zwykle dokładny w obszarach o jednolitym kolorze, ale ma utratę rozdzielczości (szczegóły i ostrość) oraz artefakty krawędzi (na przykład krawędzie liter mają widoczne kolorowe obwódki i pewną chropowatość).

Algorytmy

Prosta interpolacja

Algorytmy te są przykładami wielowymiarowej interpolacji na jednolitej siatce, wykorzystującej stosunkowo proste operacje matematyczne na pobliskich wystąpieniach tego samego składnika koloru. Najprostszą metodą jest interpolacja najbliższego sąsiada , która po prostu kopiuje sąsiedni piksel tego samego kanału koloru. Nie nadaje się do żadnej aplikacji, w której liczy się jakość, ale może być przydatny do generowania podglądów przy ograniczonych zasobach obliczeniowych. Inną prostą metodą jest interpolacja dwuliniowa , w której wartość czerwonego piksela innego niż czerwony jest obliczana jako średnia z dwóch lub czterech sąsiednich czerwonych pikseli i podobnie dla niebieskiego i zielonego. Bardziej złożone metody, które umożliwiają niezależną interpolację w obrębie każdej płaszczyzny koloru, obejmują interpolację dwusześcienną , interpolację splajnu i ponowne próbkowanie Lanczosa .

Chociaż te metody mogą dać dobre wyniki w jednorodnych obszarach obrazu, są podatne na poważne artefakty demozaikowania w obszarach z krawędziami i szczegółami, gdy są używane z CFA o czystych kolorach. Jednak interpolacja liniowa może dać bardzo dobre wyniki w połączeniu z przestrzenno-widmowym (panchromatycznym) CFA. Do demozaikowania można wykorzystać proste modele formowania obrazów. W obrazach naturalnych w ramach tego samego segmentu należy zachować proporcje kolorów. Fakt ten wykorzystano w interpolacji wrażliwej na obraz do demozaikowania.

Korelacja pikseli w obrazie

Bardziej wyrafinowane algorytmy demozaikowania wykorzystują przestrzenną i/lub widmową korelację pikseli w kolorowym obrazie. Korelacja przestrzenna to tendencja pikseli do przyjmowania podobnych wartości kolorów w małym jednorodnym obszarze obrazu. Korelacja widmowa to zależność między wartościami pikseli różnych płaszczyzn kolorów w małym obszarze obrazu.

Algorytmy te obejmują:

  • zmiennej liczby gradientów (VNG) oblicza gradienty w pobliżu interesującego piksela i wykorzystuje niższe gradienty (reprezentujące gładsze i bardziej podobne części obrazu) do oszacowania. Jest używany w pierwszych wersjach dcraw i cierpi na artefakty kolorów.
  • Grupowanie pikseli (PPG) wykorzystuje założenia dotyczące naturalnej scenerii podczas dokonywania szacunków. Ma mniej artefaktów kolorystycznych na naturalnych obrazach niż metoda zmiennej liczby gradientów; został wprowadzony w dcraw z rel. 8.71 jako „Wzorzyste grupowanie pikseli”.
  • Adaptive Homogeneity-Directed (AHD) jest szeroko stosowana w przemyśle. Wybiera kierunek interpolacji, aby zmaksymalizować metrykę jednorodności, minimalizując w ten sposób artefakty kolorów. Został on zaimplementowany w ostatnich wersjach dcraw.
  • Minimalizacja aliasingu i eliminacja zamka błyskawicznego (AMAZE) zaprojektowane przez Emila J. Martineca są powolne, ale zapewniają doskonałą wydajność, zwłaszcza przy przechwytywaniu z niskim poziomem szumów. Implementacje AMaZE można znaleźć w RawTherapee i darktable .

Superrozdzielczość wideo/demozaikowanie

Wykazano, że super-rozdzielczość i demozaikowanie to dwa oblicza tego samego problemu i rozsądne jest zajmowanie się nimi w ujednoliconym kontekście. Należy zauważyć, że oba te problemy dotyczą problemu z aliasingiem. Dlatego, szczególnie w przypadku rekonstrukcji wideo (wieloklatkowej), połączenie superrozdzielczości i demozaikowania zapewnia optymalne rozwiązanie.

Kompromisy

Niektóre metody mogą na przykład dawać lepsze rezultaty w przypadku scen naturalnych, a inne w przypadku materiałów drukowanych. Odzwierciedla to nieodłączny problem szacowania pikseli, które nie są definitywnie znane. Oczywiście istnieje również wszechobecny kompromis między szybkością a jakością oszacowania.

Użyj w oprogramowaniu do przetwarzania obrazu komputerowego

Mając dostęp do nieprzetworzonych danych obrazu z aparatu cyfrowego, zamiast ograniczać się do tego wbudowanego w aparat, można korzystać z oprogramowania komputerowego z różnymi algorytmami demozaikowania. Kilka surowych programów programistycznych, takich jak RawTherapee , daje użytkownikowi możliwość wyboru algorytmu, którego należy użyć. Jednak większość programów jest zakodowana w celu użycia jednej konkretnej metody. Różnice w renderowaniu najdrobniejszych szczegółów (i tekstury ziarna), które wynikają z wyboru algorytmu demozaikowania, należą do głównych różnic między różnymi programistami raw; często fotografowie będą preferować określony program ze względów estetycznych związanych z tym efektem.

Kolorowe artefakty spowodowane demozaikowaniem dostarczają ważnych wskazówek do identyfikacji fałszerstw zdjęć.

Zobacz też

Linki zewnętrzne