Demosaicing - Demosaicing

En demosaicing (även demosaicing , demosaicking eller debayering ) algoritm är en digital bild process användas för att rekonstruera en fullständig färgbild från den ofullständiga färgprover som matas ut från en bildsensor som överdras med ett färgfilter array (CFA). Det är också känt som CFA-interpolering eller färgrekonstruktion .

De flesta moderna digitalkameror skaffar bilder med en enda bildsensor som är överlagrad med en CFA, så demosaisering är en del av den bearbetningspipeline som krävs för att göra dessa bilder till ett synligt format.

Många moderna digitalkameror kan spara bilder i ett råformat så att användaren kan demosera dem med hjälp av programvara, snarare än att använda kamerans inbyggda firmware .

Mål

Syftet med en demosaiseringsalgoritm är att rekonstruera en fullfärgsbild (dvs en fullständig uppsättning färg tredubblas) från de rumsligt undersamplade färgkanalerna som matas ut från CFA. Algoritmen ska ha följande egenskaper:

Färgfilter array

Bayer-arrangemanget med färgfilter på bildsensorns pixeluppsättning. Varje två-efter-två-cell innehåller två gröna, en blå och ett rött filter.

Ett färgfilter array är en mosaik av färg filter framför bildsensorn. Kommersiellt är den vanligaste CFA-konfigurationen Bayer-filtret som illustreras här. Detta har alternerande röda (R) och gröna (G) filter för udda rader och alternerande gröna (G) och blå (B) filter för jämna rader. Det finns dubbelt så många gröna filter som röda eller blåa, som tillgodoser det mänskliga ögats högre känslighet för grönt ljus.

Eftersom färgundersamplingen av en CFA av sin natur resulterar i aliasing placeras ett optiskt anti-aliasing-filter typiskt i den optiska banan mellan bildsensorn och linsen för att minska de falska färgartefakterna (kromatiska alias) som införs genom interpolering.

Eftersom varje pixel i sensorn ligger bakom ett färgfilter, är utgången en uppsättning pixelvärden, var och en indikerar en rå intensitet av en av de tre filterfärgerna. Således behövs en algoritm för att uppskatta för varje pixel färgnivåerna för alla färgkomponenter snarare än en enskild komponent.

Illustration

För att rekonstruera en fullfärgsbild utifrån de data som samlats in i färgfiltreringsarrayen krävs en form av interpolering för att fylla i ämnena. Matematiken här är föremål för individuell implementering och kallas demosaicing.

I det här exemplet använder vi Adobe Photoshop 's bicubic interpolation för att simulera kretsarna för en Bayer-filterenhet, såsom en digitalkamera .

Bilden nedan simulerar utdata från en Bayer-filtrerad bildsensor; varje pixel har bara en röd, grön eller blå komponent. Motsvarande originalbild visas tillsammans med den demosaiserade rekonstruktionen i slutet av detta avsnitt.

Nyanser inramad bayer.png
Bayer filterprover
Shades bayer r.png Nyanser bayer g.png Nyanser bayer b.png
Röd Grön Blå

En digitalkamera har vanligtvis medel för att rekonstruera en hel RGB-bild med hjälp av ovanstående information. Den resulterande bilden kan vara ungefär så här:

Nyanser inramade aa.jpg Nyanser inramad dc.jpg
Original Rekonstruerad

Den rekonstruerade bilden är vanligtvis korrekt i enhetligt färgade områden, men har en förlust av upplösning (detalj och skärpa) och har kantartefakter (till exempel kanterna på bokstäver har synliga färgkanter och viss grovhet).

Algoritmer

Enkel interpolering

Dessa algoritmer är exempel på multivariat interpolering på ett enhetligt rutnät, med relativt enkla matematiska operationer i närliggande fall av samma färgkomponent. Den enklaste metoden är närmaste granne interpolation som helt enkelt kopierar en intilliggande pixel av samma färgkanal. Det är olämpligt för alla applikationer där kvalitet är viktigt, men kan vara användbart för att skapa förhandsvisningar med begränsade beräkningsresurser. En annan enkel metod är bilinear interpolation , varvid det röda värdet för en icke-röd pixel beräknas som medelvärdet av de två eller fyra intilliggande röda pixlarna, och på samma sätt för blått och grönt. Mer komplexa metoder som interpolerar oberoende inom varje färgplan inkluderar bikubisk interpolering , splineinterpolering och Lanczos-omprovtagning .

Även om dessa metoder kan uppnå goda resultat i homogena bildregioner är de benägna att allvarliga demosaiseringsartefakter i regioner med kanter och detaljer när de används med CFA i ren färg. Linjär interpolering kan dock få mycket bra resultat i kombination med en spatio-spektral (pankromatisk) CFA. Man kan utnyttja enkla bildningsmodeller för bilder för demosaisering. I naturliga bilder inom samma segment bör förhållandet mellan färger bevaras. Detta faktum utnyttjades i en bildkänslig interpolering för demosaisering.

Pixel korrelation i en bild

Mer sofistikerade demosaiseringsalgoritmer utnyttjar den rumsliga och / eller spektrala korrelationen av pixlar i en färgbild. Rumskorrelation är pixlarnas tendens att anta liknande färgvärden inom en liten homogen region i en bild. Spektral korrelation är beroendet mellan pixelvärdena för olika färgplan i en liten bildregion.

Dessa algoritmer inkluderar:

  • Variabelt antal gradienter (VNG) interpolation beräknar gradienter nära pixeln av intresse och använder de lägre gradienterna (representerar mjukare och mer liknande delar av bilden) för att göra en uppskattning. Det används i de första versionerna av dcraw och lider av färgartefakter .
  • Pixel Grouping (PPG) använder antaganden om naturlandskap för att göra uppskattningar. Den har färre artefakter på naturliga bilder än metoden Variable Number of Gradients; den introducerades i dcraw från rel. 8.71 som "Mönstrad pixelgruppering".
  • Adaptiv homogenitetsstyrd (AHD) något branschstandard. Interpolering väljer riktningen för interpolering för att maximera en homogenitetsmätning, vilket typiskt minimerar färgartefakter. Det har implementerats i de senaste versionerna av dcraw.
  • Aliasing Minimization and Zipper Elimination (AMaZE) designad av Emil J. Martinec, långsam men med fantastisk prestanda speciellt vid låga ljudfångar. Implementeringar av AMaZE finns i RawTherapee och darktable .

Video superupplösning / demosaisering

Det har visat sig att superupplösning och demosaisering är två ansikten av samma problem och det är rimligt att ta itu med dem i ett enhetligt sammanhang. Observera att båda dessa problem löser aliasing-problemet. Därför, särskilt när det gäller video (multi-frame) rekonstruktion, ger en gemensam superupplösnings- och demosaiseringsmetod den optimala lösningen.

Avvägningar

Vissa metoder kan ge bättre resultat för naturliga scener och andra för tryckt material, till exempel. Detta återspeglar det inneboende problemet med att uppskatta pixlar som inte är definitivt kända. Naturligtvis finns det också den allestädes närvarande avvägningen mellan hastighet och uppskattningskvalitet.

Används i datorns bildbehandlingsprogram

När man har tillgång till rå bilddata från en digitalkamera kan man använda datorprogramvara med en mängd olika demosaiseringsalgoritmer istället för att vara begränsad till den inbyggda i kameran. Några råa utvecklingsprogram, till exempel RawTherapee , ger användaren möjlighet att välja vilken algoritm som ska användas. De flesta program är dock kodade för att använda en viss metod. Skillnaderna i att återge de finaste detaljerna (och kornstrukturen) som kommer från valet av demosaiseringsalgoritm är bland de största skillnaderna mellan olika råa utvecklare; ofta föredrar fotografer ett visst program av estetiska skäl relaterade till denna effekt.

Färgartefakterna på grund av demosaisering ger viktiga ledtrådar för att identifiera fotoförfalskningar.

Se även

Referenser

externa länkar