di  -  giovedì 22 Luglio 2010

Dopo aver trattato il rumore digitale, ho pensato bene di tediarvi ancora con un capitolo sui sensori digitali. In particolare, vorrei sottoporre alla vostra attenzione un passaggio piuttosto importante del processo di cattura ed elaborazione di un’immagine digitale. Importante ma limitato ai soli sensori che utilizzano una matrice di tipo bayer (ovvero la stragrande maggioranza). Sto parlando dell’interpolazione necessaria ad ottenere i valori delle componenti RGB mancanti per ogni singolo fotosito.

Cerco di spiegarmi meglio. Spesso si sorvola sugli algoritmi utilizzati per ricavare tali valori e si asserisce, in maniera molto vaga ed estremamente poco rigorosa, che, poiché in una matrice bayer, ad ogni fotosito corrisponde una sola delle componenti RGB, per ottenere le altre si ricorre all’interpolazione con i valori ricavati dai fotositi contigui. In effetti, questo è, grosso modo, quello che succede ma, in questo articolo, cercheremo di entrare un po’ più nel dettaglio.

Iniziamo con il distinguere tra le diverse tipologie di filtro. Il cosiddetto filtro bayer “classico” presenta 3 componenti cromatiche, la Rossa, la Verde e la Blu, come indicato in figura

In una matrice di questo tipo, le 3 componenti RGB si ripetono seguendo sempre lo stesso schema su tutta la superficie del filtro. Una variante dell’array du tipo bayer è la Pseudo-Random Bayer (PRB), in cui la caratteristica “pseudo random” è dovuta alle posizioni dei pixel rossi e blu, variabili all’interno della griglia. Dalla figura sottostante

si può notare come la distribuzione dei “pixel verdi” sia sempre la stessa, mentre quelli rossi e quelli blu siano disposti in maniera più o meno casuale. Di fatto esistono diversi tipi di pseudo random bayer pattern con differenti risultati ottenibili dall’operazione di interpolazione. Non mi dilungherò sui motivi che spingono i produttori ad adottare modelli di array diversi tra loro e mi limiterò ad illustrare i quattro punti fondamentali su cui si basa la scelta del tipo di filtro da adottare, quattro punti fondamentali che si possono riassumere con:

  1. costo dell’algoritmo di ricostruzione, inteso come costo a livello di quantità di calcoli che il processore deve effettuare; questo significa che fotocamere dotate di DSP più potenti potranno avvalersi di algoritmi di ricostruzione più complessi
  2. robustezza dell’operazione di ricostruzione ad aliasing in generale e moire in particolare. Qui ci sarebbe da parlare a lungo ma mi limiterò a dire che non sempre l’algoritmo che dà i migliori risultati in deteminate condizioni di impiego sia, in assoluto il migliore.
  3. robustezza, dell’array scelto, nei confronti delle imperfezioni del sensore e, quindi, capacità del filtro di ridurre o eliminare gli errori determinati dalla non uniformità di risposta, tipica della superficie di un sensore digitale, nei confronti della radiazione incidente
  4. immunità al fenomeno del pixel crosstalk sia di tipo elettrico che ottico.

Come è evidente, dunque, le motivazioni della scelta del tipo di matrice da adottare seguono criteri improntati sia alla ricerca della qualità in senso assoluto, soprattutto nei dispositivi di fascia alta, che al rapporto qualità prezzo ma, anche, criteri dettati dal particolare tipo di impiego del dispositivo che si sta progettando. La scelta più comune è quella di adottare filtri di tipo bayer tradizionali, che fanno uso dei tre colori considerati fondamentali in CG (RGB) disposti in maniera ripetitiva.

A questa tipologia di filtri, ci sono svariate alternative che contemplano l’uso di 3 o più colori, come ad esempio, i CFA (color filter array) che fanno uso di colori complementari del rosso, del verde e del blu ( i CMY, tanto per citarne alcuni) o quelli che usano tre pixel di tipo RGB e un quarto in cui, al posto di un altro verde c’è il bianco o quelli che utilizzano un mix di colori primari e complementari (ad esempio i MGCY).

Il proliferare di tutte queste tipologie di filtri è dovuto essenzialmente al fatto che gli stessi sono ottenuti mediante l’applicazione di layer di materiali organici o pigmenti inorganici che hanno lo scopo di permettere il passaggio ad una specifica componente cromatica. La scelta di questi materiali e, di conseguenza, la colorazione dei pixel del CFA, è dettata da vari fattori, come la facilità di applicazione e la resistenza agli agenti atmosferici.

Diverse, invece, le motivazioni della scelta di una tipologia di CFA al posto di un’altra, a parità di componenti cromatiche impiegate. C’è da specificare che l’utilizzo di pattern con elementi disposti secondo uno schema ben definito e ripetitivo e con pixel dello stesso colore contigui o molto vicini tra di loro, serve a semplificare l’algoritmo di demosaicing e, in determinate condizioni, a ridurre alcuni tipi di artefatti.

Però, come visto anche nel capitolo dedicato all’aliasing, l’utilizzo di un reticolo periodico, in particolare se di tipo ordered grid, ossia con campioni scelti lungo gli assi orizzontale e vereticale del piano immagine, rende il sistema più vulnerabile ad effetti quali il moire e rende necessario un ulteriore step di denoising a valle del filtro ricostruttore. Un’altra ragione per utilizzare CFA con diversa distribuzione rispetto a quella bayer, è quella di favorire le operazioni di pixel binning.

A titolo di esempio, facciamo un confronto tra due tipi di CFA, uno di tipo bayer e uno di tipo bayer modificato. I due CFA sono riportati, nell’ordine, in basso

la prima cosa che salta all’occhio è che nel primo schema proposto, ovvero il CFA di tipo bayer, i pixel più prossimi dello stesso colore sono disposti a croce, mentre nel secondo schema seguono linee diagonali inclinate a 45° rispetto al piano dell’immagine. In questa fase non entreremo dnel dettaglio degli algoritmi di ricostruzione ma ci limiteremo ad una comparazione di tipo qualitativo. In base a quanto detto precedentemente, possiamo ragionevolmente aspettarci che il primo filtro sia più incline a manifestare artefatti quando si tenta di riprodurre immagini che presentano una distribuzione periodica di elementi. In effetti, nel guardare le immagini riprodotte in basso, in cui è presente una ringhiera ad elementi verticali, si vede che il primo filtro presenta artefatti piuttosto evidenti la dove il secondo si comporta decisamente meglio

La prima delle due immagini è stata presa facendo uso di pattern bayer, la seconda di pattern bayer modificato con pixel dello stesso colore disposti lungo linee diagonali. Si tratta di algoritmi semplici, senza operazioni di denoising in post processing. Si può avere la stessa immagine in cui, a valle del filtro ricostruttore, è stata inserita un’operazione di denoising; l’ordine in cui le immagini sono disposte è sempre il medesimo

Sul filtro bayer sono ancora presenti artefatti, anche se in misura minore. Questa situazione può ancora essere migliorata facendo uso di operazioni in post processing più sofisticate e costose in termini di cicli di calcolo.

Da queste immagini potrebbe sembrare che il secondo tipo di CFA sia migliore rispetto al primo; la situazione cambia radicalmente se andiamo a prendere un altro tipo di immagine, in cui si presentano bordi molto accentuati. Come visto nella parte sull’aliasing, i maggiori problemi nascono quando ci si trova di fronte a transizioni cromatiche molto brusche, come avviene in prossimità dei contorni di una figura.

Dalle due immagini mostrate qui sopra, disposte sempre nel medesimo ordine, si può vedere come il pattern bayer sia meno sensibile all’aliasing in prossimità dei bordi in particolare e nelle aree dove c’è una brusca variazione del gradiente cromatico. Anche questa situazione è migliorabile facendo uso di algoritmi di denoising in post processing e/o di filtro antialising fisico posto davantio al sensore.

Da queste brevi e semplici considerazioni di carattere qualitativo, è evidente che il filtro perfetto non esiste e che, qualuque scelta si operi, è opportuno fare uso di operazioni di post processing atte a ridurre l’impatto di questo tipo di disturbi sull’immagine. I dispositivi che non dovrebbero incorrere in problemi connessi a questo tipo di rumore, sono quelli dotati di sensore che non necessità dell’applicazione di filtri come, ad esempio, l’X3 di Foveon.

In un prossimo capitolo, una volta esaurito l’argomento relativo ai disturbi connessi alle operazioni di ricostruzione dell’immagine in dispositivi con filtro di tipo bayer o da esso derivato, avremo modo di fare una comparativa tra le immagini catturate da un sensore X3, con le tre componenti cromatiche disposte a strati e quelle catturate da un dispositivo dotato di filtro bayer.

11 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    TheKaneB
     scrive: 

    Non vedo l’ora di leggere l’articolo sul sensore di Foveon!
    Ovunque il geniale Federico Faggin abbia messo le sue mani, ha portato rivoluzioni epocali (intel 4040, zilog Z80 e il touchpad in primis :D )

  • # 2
    Fernando
     scrive: 

    Aggiungerei una nota: in alcuni filtri Bayer si usano due G diversi (quindi la struttura è la Bayer classica della primissima illustrazione, ma ad esempio G1 e G7 sono due verdi diversi).
    Diverse fotocamere di ultima generazione usano questo tipo di filtro.
    In fase di ricostruzione è opportuno aggiungere un passo di equalizzazione dei verdi (Green Equalizing) per evitare artefatti.

  • # 3
    LMC
     scrive: 

    Sono decisamente ignorante in materia…
    Come mai il verde e’ così dominante in questi filtri??

  • # 4
    pleg
     scrive: 

    @ LMC

    L’occhio umano e’ piu’ sensibile al verde, e il giallo/verde e’ anche il picco di emissione del sole (vedi il nesso evolutivo tra le due cose? :)

    Quindi e’ bene avere molta informazione “verde” da elaborare (piu’ luce -> piu’ info).

    PS: il mio captcha oggi e’ “the MAfioso”, e’ normale?? :)

  • # 5
    Lorents
     scrive: 

    Articolo interessante. Posso segnalare che wikipedia ha un articolo non male con anche links a cose più specializzate qua: http://it.wikipedia.org/wiki/Demosaicizzazione (vedi anche la corrispondente pagina in inglese).
    A dire il vero mi domando un po’ quanto sia effettivamente importante l’algoritmo di demosaicizzazione per immagini tanto grandi quanto quelle prodotte dalle macchine in uso oggi (diciamo, sui 10MPixels). Ho letto qualche articolo tecnico e le immagini di prova che usano sono molto piccole (< 0.5Mpixels).
    Chiaramente i test li fanno con immagini piccole perché gli artifatti sono più evidenti, come nelle immagini nell'articolo.
    Per carità, ben vengano studi e algoritmi più precisi, ma mi domando alla fine in quanti casi la differenza tra, diciamo, una normale interpolazione spline e uno dei migliori algoritmi adattivi sia evidente per immagini sui 10Mpixels.

  • # 6
    Ciano
     scrive: 

    > Dopo aver trattato il rumore digitale, ho pensato
    > bene di tediarvi ancora con un capitolo sui
    > sensori digitali.

    Uff che palle, ancora con sta roba. :)

  • # 7
    Fede
     scrive: 

    Io continuo a sostenere che una vera svolta è finalmente eliminare queste benedette matrici di Bayer, ben vengano i sensori Foveon o i sistemi a tre sensori o qualche altro nuovo sistema che si escogiterà eventualmente nel futuro, si guadagna nei seguenti ambiti:

    1- maggior informazioni ergo
    -maggiore sensibilità delle fotocamere
    -Miglior qualità delle foto soprattutto dal punto di vista
    della nitidezza e dell’HDR
    -Maggior riduzione del rumore

    2- Ridotto carico di lavoro del processore ergo
    -ridotti consumi
    -più autonomia in scatti delle batterie ricaricabili agli
    ioni di litio
    -fotocamere più veloci in risposta agli scatti
    -software di elaborazione più semplice ed agile nell’essere
    eseguito.

    Alle volte non riesco proprio a capire quando uno cozza con la testa al muro e in maniera disinvolta e volontaria contiunua a cozzare

  • # 8
    Fede
     scrive: 

    Per quanto riguarda la qualità fate un esperimento prendete una foto a colori e mediante Photoshop, The Gimp o qualsiasi altro software di fotoritocco ingrandite una copia della foto ricampionandola, poi confrontatela con l’originale e osservate la notevole differenza in nitidezza e HDR, ovviamente la differenza è direttamente proporzionale alla portata dell’ingrandimento (non so se lo avete capito anche nell’ingrandimento di foto con ricampionamento vengono effettuate interpolazioni, esattamente vengono individuati i pixel aggiuntivi necessari per ingrandire in funzione dei pixel adiacenti)

  • # 9
    LMC
     scrive: 

    @Pleg

    Grazie mille per la delucidazione ;)

  • # 10
    Fede
     scrive: 

    Comunque ad esser precisi nell’articolo è stato omesso o meglio camuffato o sottinteso un particolare fondamentale la cui mancanza potrebbe dare adito a false interpretazioni da parte di coloro poco addentrati in questi argomenti di come sia fatto un sensore digitale.
    A mio avviso era necessario precisare prima di tutto che i fotodiodi nei sensori non distinguono nessuna componente cromatica della luce rivelano solo la gamma di luminosità che va dal bianco al nero assoluto passando per valori intermedi di grigio. Su ogni micro fotodiodo del sensore viene sovrapposta una microlente che non solo serve a focalizzare nella cavità del fotodiodo la luce incidente ma è in grado di far passare solo una delle componenti RGB della luce incidente e bloccare le rimanenti. dunque è questo strato di matrice di microlenti sovrastante la superficie del sensore che costituisce la cosidetta matrice di Bayer, e dunque tutto il discorso dell’articolo riguarda appunto le microlenti e non i fotodiodi.
    A mio avviso questo discorso era fondamentale farlo.
    Tante volte si omettono delle precisazioni che oscurano la realtà delle cose.

    Per esempio ci fosse un articolo che ho letto sulla profondità di campo in cui è chiaramente scritto che le superfici che delimitano la profondità di campo non sono piani ma gusci di sfere. tutti i libri e gli articoli sulla fotografia parlano di piani ne avessi trovato uno che dicesse chiaramente come stanno le cose. La dimostrazione è abbastanza semplice dalle leggi di rifrazione e riflessione si scrive l’equazione del diottro, questa è sempre e comunque un’equazione birazionale che a meno di sottospazi di misura nulla ovvero quasi ovunque (misura di Lebesgue-Caratheodory) non solo è continua ma è addirittura uniformente continua su zone compatte…. benissimo si consideri il cerchio di confusione (che è il fulcro di tutta la questione della profondità di campo) esso è addirittura un vicinato aperto canonico del codominio e dunque essendo l’equazione del diottro continua deve esistere un vicinato aperto canonico nel dominio che è la fibra del circolo di confusione, quel vicinato aperto racchiude appunto la zona di profondità di campo ergo la superficie che la delimita è una sfera e non un piano.

    Mi aspetto che quando si parlerà dei sensori Foveon si preciserà anche in quel contesto che nuovamente i fotodiodi nel sensore non hanno la capacità di discriminare le componenti cromatiche della luce incidente. la discriminazione avviene per un fenomeno generale delle onde elettromagnetiche che è rilevabile anche nella vita quotidiana. praticamente il sensore Foveon è costituito da tre strati sovrapposti di fotodiodi ciascuno strato si occupa di una delle componenti RGB della luce incidente. In generale una qualsiasi onda elettromagnetica ha la capacità di penetrare negli strati più interni di una superficie in funzione della sua lunghezza d’onda, questa caratteristica la osserviamo quasi tutti i giorni ad esempio molti avranno osservato che il telecomando non funziona se si copre il sensore con una mano, come molti avranno fatto almeno una volta nella loro vita una radiografia ecc. ecc.

  • # 11
    yossarian (Autore del post)
     scrive: 

    @ Fede

    nessuna omissione. Gli articoli sui sensori digitali finora scritti sono molti e, in più di uno, come ad esempio questo http://www.appuntidigitali.it/5934/strumenti-di-cattura-delle-immagini-introduzione-ai-sensori-digitali/, è specificato che i fotodiodi sono monocromatici sia nei bayer che negli X3.

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.