Demozaicare
Un algoritm de demozaicare (după en. demosaicing) este un proces de prelucrare a imaginilor digitale folosit la reconstrucția unei imagini complet color din eșantioanele de culoare incomplete, obținute dintr-un senzor de imagine suprapus cu o matrice de filtre de culoare (MFC). E cunoscut și ca interpolare MFC sau reconstrucție de culoare.
Cele mai multe camere foto digitale moderne obțin imagini folosind un singur senzor de imagine suprapus cu o MFC, așa că demozaicarea este parte a conductei de procesare necesare pentru redarea acestor imagini într-un format vizibil.
Multe camere digitale moderne pot înregistra imagini pe cardul de memorie flash folosind formatul de fișier numit RAW. În acest mod utilizatorul le poate demozaica ulterior prin intermediul programelor de calculator, mai degrabă decât folosind microprogramele sau microcodul (după fr. „micrologiciel” respectiv en. „microcode”/„firmware”) încorporate ale camerei.
Scop
[modificare | modificare sursă]Obiectivul unui algoritm de demozaicare este de a reconstrui o imagine complet color (i.e. un set întreg de culori triple) din canalele de culoare subeșantionate spațial rezultate din MFC. Algoritmul ar trebui să aibă următoarele trăsături:
- Evitarea introducerii de artefacte de culoare false, cum ar fi crenelajele cromatice, fermoarizarea sau efectul de fermoar (după en. zippering) (schimbări nenaturale abrupte ale intensității peste un număr de pixeli învecinați) și franjurarea violet (en. purple fringing);
- Prezervare maximă a rezoluției imaginii
- Complexitate computațională scăzută pentru procesarea rapidă sau implementarea eficientă a componentelor fizice în interiorul camerei;
- Docilitate analizei pentru o reducere a zgomotului precisă.
Matricea filtrelor de culoare
[modificare | modificare sursă]O matrice de filtre de culoare este un mozaic de filtre de culoare dinaintea unui senzor de imagine. Comercial, cea mai des folosită configurație MFC este filtrul Bayer ilustrat aici. Acesta are filtre de roșu (R) și verde (V) alternante pentru rânduri impare și filtre de verde (V) și albastru (A) alternante pentru rânduri pare. Sunt de două ori mai multe filtre de verde decât de roșu și albastru, exploatând sensibilitatea mai ridicată a ochiului uman la lumina verde.
Din moment ce subeșantionarea de culoare a unei MFC prin natura sa rezultă în dedublare, un filtru optic antidedublare este tipic plasat in drumul optic dintre senzorul de imagine și lentilă pentru a reduce artefactele de culoare falsă (dedublări/crenelaje cromatice) introduse de interpolare.[1]
Din moment ce fiecare pixel al senzorului se află în spatele unui filtru de culoare, rezultatul este o matrice de valori de culoare, fiecare indicând o intensitate brută a unuia dintre cele trei filtre de culoare. Prin urmare, este necesar un algoritm pentru a estima pentru fiecare pixel nivelurile de culoare al tuturor componentelor de culoare mai degrabă decât al unei singure componente.
Ilustrație
[modificare | modificare sursă]Pentru a reconstrui o imagine complet color din datele colectate de matricea de filtrare a culorii, este necesară o formă de interpolare pentru a umple golurile. Matematica de-aici este supusă implementării individuale și se numește demozaicare.
În acest exemplu, este folosită interpolarea bicubică a Adobe Photoshop pentru a simula ansamblul de circuite al unui dispozitiv cu filtru Bayer cum ar fi o cameră digitală.
Imaginea de dedesubt simulează rezultatul obținut de la un senzor de imagine cu filtru Bayer; fiecare pixel are decât o componentă roșie, verde sau albastră. Imaginea originală corespondentă este afișată alături de reconstrucția demozaicată la sfârșitul acestei secțiuni.
Eșantioane ale filtrului Bayer | ||
Roșu | Verde | Albastru |
O cameră digitală în mod tipic are mijloace de a reconstrui o întreagă imagine RVA (roșu-verde-albastru) folosind informația de deasupra. Imaginea rezultantă ar putea fi de genul acesta:
Original | Reconstruit |
Imaginea reconstruită este în mod tipic clară în zonele colorate uniform, dar are un deficit de rezoluție (detaliu și precizie) și are artefacte ale marginii (de exemplu, marginile literelor au franjuri de culoare vizibile și o anumită rugozitate).
Algoritmi
[modificare | modificare sursă]Interpolare simplă
[modificare | modificare sursă]Acești algoritmi sunt exemple de interpolare multivariată pe o grilă uniformă, folosind operații matematice relativ directe și simple pe mostre cu aceeași componentă de culoare. Cea mai simplă metodă este interpolarea cel-mai-apropiat-vecin (nearest-neighbor interpolation) care pur și simplu copiază un pixel adiacent care are același canal de culoare. Este nepotrivit pentru orice aplicație unde calitatea contează, dar poate fi util pentru generarea previzualizărilor dată fiind cerința limitată de resurse de calcul. O altă metodă simplă e interpolarea biliniară, prin care valoarea roșie a unui pixel non-roșu este calculată ca media celor doi sau patru pixeli roșii adiacenți, și în mod similar pentru albastru și verde. Metode mai complexe care interpolează independent în cadrul fiecărui plan de culoare includ interpolarea bicubică, interpolarea canelură (spline interpolation), și reeșantionarea Lanczos.
Cu toate că aceste metode pot obține rezultate bune în zone omogene ale imaginii, înclină către artefacte de demozaicare severe în regiuni cu margini și detalii când sunt folosite cu MFC-uri de culoare pură.[2] În orice caz, interpolarea liniară poate obține rezultate foarte bune când este combinată cu o MFC spațio-spectrală (pancromatică).[3]
Corelația pixelilor în cadrul unei imagini
[modificare | modificare sursă]Algoritmi de demozaicare mai sofisticați exploatează corelația spațială și/sau spectrală a pixelilor în cadrul unei imagini color.[4] Corelație spațială este tendința pixelilor de a adopta valori de culoare similare în cadrul unei mici zone omogene a unei imagini. Corelație spectrală este dependența dintre volorile pixelilor unor planuri de culoare diferite într-o regiune mică a imaginii.
Acești algoritmi includ:
- Interpolarea cu număr variabil de degradeuri[5] calculează degradeurile din apropierea pixelului de interes și folosește degradeurile mai joase (reprezentând părți ale imaginii mai netede și mai similare) pentru a face o estimare. Este folosit în primele versiuni ale dcraw, și suferă de artefacte de culoare.
- Gruparea pixelilor[6] folosește prezumpții despre scenarii naturale în realizarea estimărilor. Are mai puține artefacte de culoare pe imaginile naturale decât metoda numărului variabil de degradeuri; a fost introdus în dcraw începând cu versiunea 8.71 ca „grupare pixeli după model„ („Patterned Pixel Grouping”).
- Interpolarea adaptivă direcționată către omogenitate selectează direcția interpolării astfel încât să maximizeze o metrică a omogenității, minimalizând astfel, în mod normal, artefactele de culoare.[7] A fost implementat în versiuni recente ale dcraw.[8]
Demozaicare/super-rezoluție video
[modificare | modificare sursă]S-a arătat recent că super-rezoluția și demozaicarea sunt două fețe ale aceleiași probleme și este rezonabil să fie adresate într-un context unificat.[9] De observat că amândouă aceste probleme adresează chestiunea crenelării. Așadar, în special în cazul reconstrucției video (multi-cadru), o abordare unitară a super-rezoluției și demozaicării furnizează soluția optimă.
Proprietar
[modificare | modificare sursă]Variate produse comerciale implementează metode de estimare proprietare despre care puțin se știe public, și care ar putea să fie sau nu similare cu algoritmi cunoscuți public.[necesită citare]
Echilibrare - optimizare
[modificare | modificare sursă]Unele metode ar putea produce rezultate mai bune pentru scenele naturale, iar altele pentru materialul tipărit, de exemplu. Aceasta reflectă problema inerentă în estimarea pixelilor pe care nu-i cunoaștem cu adevărat în mod cert. În mod normal, mai este de asemenea și ubicua balanță a vitezei contra calității estimării.
Utilizare în programele de calculator pentru procesarea imaginilor
[modificare | modificare sursă]Atunci când este disponibil accesul la datele de imagine RAW dintr-o cameră digitală, se pot folosi programe de calculator care dispun de o varietate de algoritme de demozaicare în locul limitării la cel încorporat în cameră. Câteva programe de dezvoltare RAW, precum Raw Therapee, oferă utilizatorului opțiunea de a alege care algoritm ar trebui să fie folosit. Cele mai multe programe, totuși, sunt codate pentru a folosi doar o anumită metodă. Diferențele în redarea celui mai fin detaliu (și textură granulară) rezultate din alegerea algoritmului de demozaicare sunt printre principalele diferențe dintre variați dezvoltatori RAW; adesea fotografii vor prefera un program anume din motive estetice legate de acest efect.
Artefactele de culoare cauzate de demozaicare furnizează indicii importante pentru identificarea falsurilor fotografice.[10]
Vezi și
[modificare | modificare sursă]Referințe
[modificare | modificare sursă]- ^ Adrian Davies și Phil Fennessy (). Imagine digitală pentru fotografi (Digital imaging for photographers) (ed. A patra). Focal Press. ISBN 0240515900.
- ^ Lanlan Chang și Yap-Peng Tan. „Demozaicare hibridă a matricei de filtre de culoare pentru suprimarea eficientă a artefactelor (Hybrid color filter array demosaicking for effective artifact suppression)” (PDF): 2. Arhivat din original (PDF) la . Accesat în .
- ^ Keigo Hirakawa și Patrick J. Wolfe. „Preiectarea matricelor de filtre de culoare spațio-spectrale pentru fidelitate sporită a imaginii (Spatio-Spectral Color Filter Array Design for Enhanced Image Fidelity)” (PDF). Arhivat din original (PDF) la . Accesat în .
- ^ Lanlan Chang și Yap-Peng Tan. „Demozaicare hibridă a matricei de filtre de culoare pentru suprimarea eficientă a artefactelor (Hybrid color filter array demosaicking for effective artifact suppression)” (PDF). Arhivat din original (PDF) la . Accesat în .
- ^ Ting Chen. „Interpolare folosind un număr variabil de degradeuri bazate pe un prag (Interpolation using a Threshold-based variable number of gradients)”. Arhivat din original la . Accesat în .
- ^ Chuan-kai Lin, Universitatea Statului Portland (). „Gruparea pixelilor pentru demozaicarea matricei de filtre de culoare (Pixel Grouping for Color Filter Array Demosaicing)”. Arhivat din original la . Accesat în .
- ^ Kiego Hirakawa; Thomas W. Parks. „Algoritmul de demozaicare adaptivă orientat spre omogenitate (Adaptive homogeneity-directed demosaicing algorithm)” (PDF).[nefuncțională]
- ^ Decodarea imaginilor digitale brute în Linux (Decoding raw digital photos in Linux) Arhivat în , la Wayback Machine., Dave Coffin.
- ^ Sina Farsiu, Michael Elad, Peyman Milanfar (). „Demozaicarea multi-cadru și super-rezoluția imaginilor color (Multi-Frame Demosaicing and Super-Resolution of Color Images)” (PDF). Tratative IEEE pe tema procesării imaginilor. 15 (1): 141–159. doi:10.1109/TIP.2005.860336.
- ^ YiZhen Huang și YangJing Long (). „Recunoașterea demozaicării cu aplicații în autentificarea fotografiilor digitale bazată pe un model pătratic de corelație a pixelilor (Demosaicking recognition with applications in digital photo authentication based on a qratic pixel correlation model)” (PDF). Proceduri. Conferință IEEE pe tema viziunii calculatoarelor și recunoașterii modelelor.: 1–8. Arhivat din original (PDF) la . Accesat în .
Legături externe
[modificare | modificare sursă]- en Comparație a diferite interpolări Arhivat în , la Wayback Machine., ImagEval Consulting LLC
- en A Study of Spatial Color Interpolation Algorithms for Digital Cameras Arhivat în , la Wayback Machine. (Un studiu al algoritmilor de interpolare spațială a culorii pentru camerele digitale) și în special descrierea algoritmului numărului variabil de degradeuri Arhivat în , la Wayback Machine. de Ting Chen, Stanford University
- en K. Parulsi și K. Spaulding (2003). Procesarea imaginilor color pentru camerele digitale (Color image processing for digital cameras.) În Imaginile digitale color (Digital Color Imaging), G. Sharma, ed. Boca Raton, Florida: CRC Press. 727–757.
- en HowStuffWorks: How Digital Cameras Work, More on Capturing Color (Cum funcționează camerele digitale, mai multe despre captarea culorii), cu o animație a unui algoritm de demozaicare în funcțiune
- en Demozaicarea în camera digitală Kodak DC210 Arhivat în , la Wayback Machine., Cleve Cheng, Mar 13 1998
- en Roger W. Ehrich. „Evaluarea algoritmilor pentru demozaicarea matricelor Bayer”. Cursuri ale Științei Calculatoarelor. Virginia Tech CS Department. Arhivat din original la . Accesat în . (legătură întreruptă)
- en Interpolation of RGB components in Bayer CFA images (Interpolarea componentelor RVA în imaginile MFC Bayer), de Eric Dubois
- en Color Demosaicing Using Variance of Color Differences (Demozaicarea culorii folosind variația diferențelor de culoare) de King-Hong Chung and Yuk-Hee Chan
- en Hybrid color filter array demosaicking for effective artifact suppression Arhivat în , la Wayback Machine. (Demozaicare hibridă a matricei de filtre de culoare pentru suprimarea eficientă a artefactelor) de Lanlan Chang și Yap-Peng Tan
- en Image Demosaicing: A Systematic Survey by Xin Li Arhivat în , la Wayback Machine. (Demozaicarea imaginilor: O examinare sistematică de Xin Li), Bahadir Gunturk și Lei Zhang
- en Demosaicking: Color Filter Array Interpolation in Single-Chip Digital Cameras Arhivat în , la Wayback Machine. (Demozaicarea: interpolarea matricei de filtre de culoare în camerele digitale cu un singur cip), B. K. Gunturk, J. Glotzbach, Y. Altunbasak, R. W. Schafer, și R. M. Mersereau
- en Spatio-Spectral Color Filter Array Design for Enhanced Image Fidelity Arhivat în , la Wayback Machine. (Proiectarea matricei de filtre de culoare spațio-spectrală pentru o fidelitate sporită a imaginii), Keigo Hirakawa și Patrick J. Wolfe
- en Effective Soft-Decision Demosaicking Using Directional Filtering and Embedded Artifact Refinement Arhivat în , la Wayback Machine. (Demozaicare cu decizie-fină eficace folosind filtrarea direcțională și rafinarea de artefacte încorporată), Wen-Tsung Huang, Wen-Jan Chen și Shen-Chuan Tai
- en Similarity-based Demosaicking (Demozaicarea bazată pe similaritate) de Antoni Bes, Bartomeu Coll, Jean-Michel Morel, Catalina Sbert, cu cod sursă și demonstrație
- en A list of existing demosaicing techniques Arhivat în , la Wayback Machine. (O listă a tehnicilor de demozaicare existente)
- en Interactive site simulating Bayer data and various demosaicing algorithms, allowing custom images (Sit interactiv simulând date Bayer și variați algoritmi de demozaicare, permițând imagini personalizate)