Switch to full style
Tematiche legate a tecniche e post produzione digitale, strumenti, proiettori, computer, stampa digitale, archiviazione.
Argomento bloccato

[miniGuida] Una panoramica sulla demosaicizzazione

sab gen 28, 2012 10:04 pm

ATTENZIONE
Il messaggio che segue trattera' di caratteristiche delle immagini a livello del singolo pixel. Saranno presenti crop al 200% e differenze tanto sottili da essere spesso sfuggenti.
A fronte di cio' questo messaggio non e' adatto a chi ritiene siano seghe mentali (e non e' detto abbia torto), a chi guarda le foto sul monitor o le stampa in piccolo formato. :D



Uno dei parametri che spesso non si va a modificare - o addirittura non e' possibile proprio farlo - e' l'algoritmo di demosaicizzazione. Eppure, a seconda dell'algoritmo utilizzato, si possono spremere piu' o meno a fondo i dati raccolti dal sensore, si puo' raggiungere una maggior nitidezza o si puo' evitare l'effetto Moire in demosaicizzazione (che fa schifo tanto).

Gli algoritmi di demosaicizzazione sono tanti, in futuro aumenteranno e su questo messaggio non trattero' nemmeno tutti quelli esistenti.
Gli algoritmi di demosaicizzazione presi in gioco sono quelli disponibili su Photivo (o RawTherapee) e su parecchi altri software che includono le librerie DCRaw (o suoi surrogati).

Su Photivo sono attualmente disponibili i seguenti algoritmi: demosaicizzazione bilineare, VNG, VNG a 4 colori, PPG, AHD, AMaZE, DCB, VCD e LMMSE. Ognuno di questi e' nato con il medesimo scopo: ricostruire il piu' fedelemente possibile quel 66.6% di informazione colore che manca ad ogni pixel del nostro RAW.

A fianco degli algoritmi di demosaicizzazione, ultimamente, sono nati anche degli algoritmi secondari che preparano "al meglio" la matrice prima della demosaicizzazione: e' il caso, ad esempio, dell'algoritmo di rifinitura EECI o degli algoritmi di riduzione del rumore FDBB.
Questi algoritmi lavorano a livello di matrice e quindi non sono assimilabili ai normali filtri.

Per vedere la qualita' di un algoritmo di demosaicizzazione occorre dargli in pasto un'immagine con dettagli estremamente fini, a livello della frequenza di Nyquist: dettagli piu' fini rispetto alla frequenza di Nyquist non sono risolvibili dal sensore. Cio' significa che la frequenza di Nyquist e' pari ad un pixel (per forza di cose ;) ).

Le seguenti immagini - crop al 200% - mostrano il comportamento dei vari algoritmi quando trattano dettagli finissimi:

Bilineare
Immagine

VNG
Immagine

VNG a 4 colori
Immagine

PPG
Immagine

AHD
Immagine

AMaZE
Immagine

DCB
Immagine

VCD
Immagine

LMMSE
Immagine

La prima selezione che e' possibile fare e' quella degli algoritmi che risentono dell'effetto Moire. L'effetto si presenta sul muro della casa producendo bande arancio e blu.
Esse sono molto evidenti sul Bilineare, su entrambi i VNG e sull'AHD. Con il PPG viene attenuato poiche' viene spostato soprattutto sulle componenti rosse e blu. Infine viene tenuto sotto controllo decisamente bene dal DCB, dall'AMaZE e dal LMMSE.

La seconda selezione e' quella sul livello di dettaglio. Questa e' difficile da inquadrare poiche' va valutato quanto gli artefatti della demosaicizzazione seguono quello che poteva essere il dettaglio reale (e che oramai abbiamo perso - lo dico giusto per chiarire le cose).
Gli artefatti sono tutte quelle strutture a forma di labirinto che permeano l'immagine. Queste strutture cercano di propagare i colori cercando di azzeccarne la direzione giusta di propagazione: azzeccare la direzione giusta significa rendere l'immagine piu' nitida.
In questo frangente la fanno da padroni gli algoritmi AMaZE e DCB. Il DCB, in particolare, riesce a raggiungere una precisione molto elevata. Fate caso a come riesce a confinare la propagazione dei colori sul muro del casotto in basso a sinistra: riesce a descrivere i mattoni quasi uno per uno.

Per alcuni non e' una novita' che AMaZE e DCB siano i migliori algoritmi attualmente disponibili. Resistono all'effetto Moire e hanno una precisione elevata. In particolare il DCB e' oggi l'unico algoritmo che riesce a raggiungere la frequenza di Nyquist... con l'unica debolezza di non saperlo fare altrettanto bene quando sono presenti aberrazioni cromatiche.

Il DCB ha un'altra peculiarita': puo' essere regolato per operare una maggiore rifinitura dei dettagli. Peculiarita' che nasce per limitare un po' la struttura a labirinto che produce la propagazione del colore.
Un esempio (crop 200%):
Immagine

Qui vediamo il DCB a singola passata (a sx, "DCB x1"), a doppia passata (al centro, "DCB x2") e a quadrupla passata (a dx, "DCB x4"). Si possono fare anche piu' di 4 passate (8, 20, 109, ecc.) ma non ho mai notato miglioramenti tali da giustificare lo spingersi oltre il 4x.
Ad ogni modo nell'immagine si puo' notare come le strutture a labirinto sul muro della casa vengano "limate" man mano che si aumentano le passate di rifinitura, malgrado il dettaglio dei mattoni sul casotto non viene perso.

Fra gli algoritmi di secondari importanti c'e' l'EECI. Si tratta di un analizzatore di gradienti che lavora a livello di matrice. Esso permette il recupero di una maggior nitidezza con gli algoritmi con precisione meno elevata.
Non bisogna aspettarsi da questo algoritmo un effetto tipo l'applicazione della maschera di contrasto: il suo effetto spesso e' un riposizionamento di pixel piu' o meno intensi in modo da enfatizzare o smorzare la direzione di un gradiente. E' normale, usando questo filtro, di ritrovarsi con una immagine finale con un numero piu' elevato di colori unici.

Altro algoritmo secondario importante e' l'FDBB, che esiste in due versioni una piu' blanda dell'altra, e che serve per operare una lieve riduzione del rumore a livello di matrice.
Il suo effetto rende, come tutte le riduzioni di rumore, piu' morbida l'immagine. In particolare - e questo e' il suo principale difetto - rende morbida la componente rossa della matrice... e i rossi, in generale, risentono della cosa. La contropartita e' una riduzione del rumore cromatico assieme ad un mantenimento dei dettagli.
Logicamente l'FDBB e' da usare in coppia con gli algoritmi di demosaicizzazione piu' precisi.
Per vedere come l'FDBB agisce sui rossi vediamo queste due immagini (crop al 100%).

DCB
Immagine

DCB + FDBB2
Immagine

Nella seconda si puo' notare come il riflesso rosato del binario in basso a sx venga quasi desaturato del tutto, oppure nel camino della casa in sfondo il rosa viene smorzato. Basta osservare, infine, i cavi della linea ferroviaria per accorgersi come sono meno definiti.


Perche' parlare di tutti gli algoritmi e non solo del DCB visto che e' tanto preciso? Non basta mettere le iterazioni di rifinitura a 4 e poi non curarsene piu?
Effettivamente quando si sviluppa un RAW sono pochi i motivi per non preferire il DCB, ma ci sono almeno due casistiche (fra quelle con cui ho avuto a che fare io) in cui si puo' preferire un'altro algoritmo di demosaicizzazione.

Il primo caso riguarda la ritrattistica.
Partendo dal presupposto che cromaticamente rendono allo stesso modo (e' il software che manipola il prodotto della demosaicizzazione a fare la differenza cromatica, non l'algoritmo in se), per la resa della pelle e' meglio preferire LMMSE poiche' non acuisce il dettaglio come fa il DCB (e' piu' morbido) e il suo algoritmo contiene un analizzatore di gradienti (qualcosa di simile al citato EECI) che quindi restituisce piu' sfumature. LMMSE e' simile all'AHD ma non produce i falsi colori di quest'ultimo.

Il secondo caso riguarda il bianco e nero.
Il modo in cui lavora il DCB rende molto, forse troppo, nitidi i singoli canali. In particolare, volendo sviluppare un B/N simulando il filtro rosso, ci si rende subito conto che questo canale puo' presentare artefatti poco piacevoli e talvolta simili ad un abbassamento di risoluzione.
Anche qui la soluzione e' rivolgersi ad un algoritmo meno sgarbato e morbido: la scelta (la mia) cade di nuovo su LMMSE che riesce a produrre un risultato molto piu' lavorabile e piacevole.
Un'immagine spiega bene la differenza (crop 100%):
Immagine

Malgrado i coppi del tetto siano piacevolmente piu' nitidi nel risultato prodotto dal DCB (a sx), c'e' da rilevare la pessima resa - con scalini vistosi - sui cavi della linea ferroviaria.
Utilizzando l'LMMSE, invece, tutto e' ammorbidito, si intravede appena un accenno di scalinatura sui cavi e i coppi risultano avere una resa un po' piu' morbida. Il vantaggio di LMMSE, in questo caso, a parte le sfumature piu' graduali, e' anche una maggior lavorabilita' dell'immagine: ad esempio e' piu' adatta ad essere trattata con i vari filtri di enfatizzazione del microcontrasto (maschera di contrasto, high-pass filter, sharpening, ecc.)... l'altra, quella fatta con il DCB, con un nulla vi farebbe il bordino bianco.


Bene, chiudo anche questa mini guida (mica tanto mini a dire il vero). Spero di esser stato chiaro e non avervi incasinato tanto la testa.
Ovviamente qui riporto la mia esperienza farcita con i miei gusti e le mie considerazioni... non vuole essere la regola su cosa usare e cosa no.

Eventuali dubbi esponeteli e se so fugarli non mi tirero' indietro.

Ciao
Jenner

Re: [miniGuida] Una panoramica sulla demosaicizzazione

sab gen 28, 2012 10:23 pm

Bella guida! Grazie mille! Queste conoscenze mi mancavano! :ook:

Re: [miniGuida] Una panoramica sulla demosaicizzazione

dom gen 29, 2012 12:38 am

i miei complimenti alla cultura fotografica di Jenner.

Re: [miniGuida] Una panoramica sulla demosaicizzazione

dom gen 29, 2012 1:00 am

Guida molto interessante, grazie! :ook:
Proprio in questi giorni ho cominciato a fare le mie prime prove di sviluppo raw, in seguito alla lettura della tua miniguida di Photivo (altro :ook: ).
Ieri ho fatto alcune prove di confronto tra Amaze e DCB (con RawTherapee, usando sia foto mie che quelle della prova standard in studio di DPreview), proprio per cercare di valutare gli effetti dei diversi algoritmi, e questa tua panoramica è stata davvero utile.
ntx ha scritto:Eventuali dubbi esponeteli e se so fugarli non mi tirero' indietro.

Appena ne saprò abbastanza per fare domande che non siano troppo da principiante approfitterò della tua disponibilità! :cincin:

Re: [miniGuida] Una panoramica sulla demosaicizzazione

lun gen 30, 2012 9:29 am

Un lavoro eccellente, Jenner! Dubito che se ne trovino in rete di altrettanto esaustivi e ponderati.
In effetti, nelle ultime versioni di Digikam ho visto comparire tutti questi nuovi algoritmi di demosaicizzazione, ma finora sono riuscito a confrontarne solo la lentezza. Va anche detto che, considerata la nitidezza delle foto che faccio, di solito basta il bilineare!
:ook:

Re: [miniGuida] Una panoramica sulla demosaicizzazione

lun gen 30, 2012 9:37 am

...porca vacca ... ma sei uno scienziato :shock:
:clap: :clap: :clap:

Re: [miniGuida] Una panoramica sulla demosaicizzazione

lun gen 30, 2012 9:50 am

:cincin: :clap: :cincin: :clap:

Solo una domanda, hai per caso fatto prove di stampa?
Voglio dire, a parte vedere le immagini al 100%, queste differenze si riescono a notare su una stampa tipo 20x30 o 30x40?

Re: [miniGuida] Una panoramica sulla dem...[APPELLO AI MODS]

lun gen 30, 2012 11:00 am

...ma questa miniguida (come quella di photivo che vedo poco sotto) andrebbe messa in evidenza in cima alla pagina !!! :cincin:

Re: [miniGuida] Una panoramica sulla dem...[APPELLO AI MODS]

lun gen 30, 2012 11:21 am

Crisci ha scritto:...ma questa miniguida (come quella di photivo che vedo poco sotto) andrebbe messa in evidenza in cima alla pagina !!! :cincin:


oppure creare una sub directory "Guide"

Re: [miniGuida] Una panoramica sulla demosaicizzazione

lun gen 30, 2012 11:52 am

Vi ringrazio per l'accoglienza verso questa nuova miniGuida... in fin dei conti nascono a seguito di un mio bisogno e visto che gia' ci sono butto giu' anche uno scritto ad uso di tutti.

@Liviux: Parlando di semplici prestazioni il DCB e' il piu' lento (le iterazioni di rifinitura influiscono molto marginalmente sui tempi). Un buon compromesso prestazioni/qualita' e' LMMSE. Debbo pero' anche dire che sul mio Core i3 ogni demosaicizzazione risulta molto veloce e fatico a rilevare differenze nei tempi solo fra DCB e Bilineare... sostanzialmente penso che le differenti prestazioni si facciano sentire solo in una conversione batch di decine di RAW.

@fanagot: Una premessa prima di rispondere alla tua domanda: gli artefatti sono a livello della risoluzione del sensore quindi occorre circoscrivere la visibilita' degli artefatti non solo alle dimensioni di stampa ma anche alla risoluzione del sensore.
Con la K200D - 10 megapixel - in una stampa 20x30 l'effetto Moire si vede, gli artefatti di demosaicizzazione tipo quelli dell'AHD non si vedono mentre quelli tipo PPG, pur indistinguibili, hanno effetti sul tono. Con stampe 45x30 riesci a seguire gli artefatti a labirinto del PPG e VCD (hanno sufficente contrasto) con gli altri algoritmi gli artefatti ancora sfuggono (hanno un basso contrasto con il tono dominante). Con il 60x40 e i formati quadrati 40x40 e 50x50, gli artefatti si vedono, il DCB resiste bene e le iterazioni di rifinitura sono da usare solo se hai zone dove gli artefatti hanno un buon contrasto con il tono dominante.
Come diretta conseguenza una foto croppata - poniamo della meta' - stampata in 20x30 ha gli stessi problemi della stampa 60x40, cosi' come - specularmente - un sensore da 40 megapixel fara' sentire i primi problemi solo con stampe da 120x80. E' ovvio quindi che la K5, con i suoi 16 megapixel, ha spostato molto piu' avanti la dimensione di stampa dove cominciano a servire certi accorgimenti.
E' palese che - come autore delle foto e finanziatore delle stampe - mi metto a guardare un 60x40 da 10 cm di distanza e tutti i difetti mi balzano all'occhio... mia moglie, invece, non sa nemmeno di cosa parlo quando gli indico un difetto (usando toni che paiono parlare di una stampa completamente compromessa).

Ciao
Jenner

Re: [miniGuida] Una panoramica sulla demosaicizzazione

mar feb 07, 2012 3:08 pm

Wow, complimenti ma soprattutto grazie, non ho fatto a tempo a realizzare il significato del tuo (suppongo) neologismo "foveonizzazione" che mi ritrovo a leggere questo! Me lo devo guardare con calma a casa sul monitor (un po') migliore perchè sono al lavoro...
Certo che, in pochi mesi, "diventare pentaxiano", iscrivermi al forum e trovare addirittura un "azionista del forum" che tratta così spesso argomenti interessanti usando software open source è quasi... passatemi il termine... commovente! Almeno per me, che utilizzo Linux (e Photivo)... Io di solito cerco di non dirlo troppo in giro (che uso Linux)... Se posso permettermi una battuta, è un po' come andare a dire in giro... "Pentax"! Fanno una strana faccia, un momento di silenzio, e cambiano argomento :-)
Tra l'altro, ho dato un'occhiata veloce su google e non ho trovato niente di simile (neanche con sw proprietario). Quindi ancora complimenti :clap: .

Re: [miniGuida] Una panoramica sulla demosaicizzazione

dom mar 18, 2012 9:53 pm

Grande Jenner, ho scoperto solo ora questa guida. Complimenti per me che sono un profano di demosaicizzazione è stato iluminante, grazie.
Argomento bloccato


Site Copyright © 2008 - Pentaxiani.it
Tutti i contenuti qui presenti, siano grafici o testuali, sono sotto copyright e responsabilità esclusiva dei loro creatori. Pentax è un marchio registrato della Ricoh Imaging Company ltd. Pentaxiani.it non è in nessun modo associato con Pentax, Ricoh Company, Fowa S.p.A. o loro affiliati nazionali o internazionali.