Vous êtes sur la page 1sur 5

Sistemi Intelligenti Naturali e Artificiali

Esercitazione 1
Studente: Pippo Valentina
Matricola: 2644853

9/8/2010

Ricostruzione di un’immagine Bayer


Pattern
Introduzione
L’esercitazione richiedeva di ricostruire il colore di un’immagine acquisita da una telecamera
provvista di un sensore Bayer pattern (RGGB) attraverso l’implementazione di due differenti metodi, il
Nearest Neighborhood e la Bilinear Interpolation. Per realizzarla abbiamo sfruttato la libreria (libImage) che
ci è stata fornita a lezione, essa implementa le due classi ImageClassMono e ImageClassRgb e metodi per
leggere/scrivere in formato pgm/ppm. Ho aggiunto una funzione “get_RGB” ed una “set_RGB” alla libreria
per leggere i valori dei pixel di un’immagine già esistente o di scriverli su una nuova, in tal modo queste
funzioni erano disponibili anche per eventuali utilizzi futuri.

Figura 1 Immagine acquisita con sensore Bayer pattern

Metodi:
Le camere digitali più popolari utilizzano un solo sensore CCD o CMOS, sia per minimimizzarne i
costi che per ridurne la complessità, su di esso è disposto un filtro a mosaico denominato “Color Filter
Array” (CFA). I filtri sono disposti secondo opportuni mosaici di cui il più utilizzato è noto come “Bayer
pattern” (dal nome di chi lo ha proposto nel 1976), caratterizzandosi in realtà con tale nome una famiglia con
varianti nel numero dei colori filtrati (3 o 4) e nel tipo di disposizione dei colori sul mosaico. Il più
comunemente usato è quello denominato GRGB che ha il 50% dei pixel che catturano il Verde (G), il 25%
che catturano il Rosso (R) ed il rimanente 25 % che catturano il Blu (B) (Figura 2). Questa particolare
distribuzione tiene conto della maggiore sensibilità dell’occhio umano alle lunghezze d’onda prossime al
Verde.
1
Sistemi Intelligenti Naturali e Artificiali
Esercitazione 1
Studente: Pippo Valentina
Matricola: 2644853

9/8/2010

Figura 2 La disposizione Bayer dei filtri di colore sulla matrice di pixel di un sensore d'immagine

L’algoritmo di demosaicing, è un processo di ricostruzione del colore usato per interpolare


un’immagine completa proveniente dal CFA. Noto anche come interpolazione CFA o ricostruzione del
colore si basa sull’interpolazione dei dati forniti da campioni. Gli algoritmi utilizzati in questa esercitazione
sono il Nearest Neighbor e la Bilinear Interpolation, questi sono metodi di interpolazione “non adattativi” in
quanto applicano la stessa operazione ad ogni punto dell’immagine.

Nearest neighbor interpolation:

L’algoritmo di nearest neighbor (vicino più vicino) assegna al pixel nell’immagine corretta il valore
del pixel più vicino al punto corrispondente nell’immagine non corretta. È un algoritmo semplice dal punto
di vista computazionale e che non altera i valori dei pixel nella correzione; gli elementi lineari nell’immagine
corretta, per effetto della distorsione applicata, risultano avere un aspetto “a scala”, ma l’immagine nel
complesso mantiene visivamente un buon contrasto: per questo motivo tale algoritmo è quello maggiormente
utilizzato nei casi in cui sull’immagine corretta si debba operare una classificazione automatica.

L’algoritmo si basa sulla ridefinizione del valore di ogni singolo canale di colore per pixel, centrando,
attraverso la funzione “get_RGB”, un pixel nell’immagine .pgm, nella funzione Nearest_Interpolation
vengono quindi ricostruiti i pixels centrati nel rosso (R), nel verde (G) e infine nel blu (B), utilizzando lo
schema di ricostruzione mostrato in figura3.

2
Sistemi Intelligenti Naturali e Artificiali
Esercitazione 1
Studente: Pippo Valentina
Matricola: 2644853

9/8/2010

Figura 3:Schema di ricostruzione del colore per il metodo Nearest Neighbor

Bilinear Interpolation:

L’interpolazione Bilineare stima il valore del pixel sconosciuto facendo la media dei valori dei
quattro pixel noti diagonalmente adiacenti. Da un punto di vista geometrico corrisponde ad utilizzare un
piano interpolante che passa per i quattro pixel diagonalmente adiacenti. Il risultato visivo di questo tipo di
interpolazione è di un’immagine tanto più sfuocata quanto maggiore è il fattore di ingrandimento. La figura
sottostante mostra lo schema di ricostruzione utilizzato:

Figura 4: Schema di ricostruzione del colore per il metodo Bilinear Interpolation

3
Sistemi Intelligenti Naturali e Artificiali
Esercitazione 1
Studente: Pippo Valentina
Matricola: 2644853

9/8/2010
Risultati:

Per testare le funzioni di ricostruzione del colore sono state utilizzate due diverse immagini di prova,
raffiguranti la stessa scena, acquisite con telecamera con sensore bayer pattern. Sono riportate di seguito le
immagini ottenute applicando le due differenti tecniche:

Figura 5: Immagini di partenza, Nearest_Interpolation, Bilinear

Conclusioni:

Gli schemi convenzionali di interpolazione lineare basati su modelli spazialmente invarianti non
tengono conto delle rapide variazioni statistiche attorno ai bordi degli oggetti rappresentati nell’immagine
(edge) e, di conseguenza, creano immagini sfuocate e con una notevole presenza di artefatti.
L’interpolazione lineare, malgrado questi svantaggi è comunque largamente utilizzata per via della bassa
complessità computazionale.

4
Sistemi Intelligenti Naturali e Artificiali
Esercitazione 1
Studente: Pippo Valentina
Matricola: 2644853

9/8/2010
Il confronto tra i due metodi evidenzia come la Bilinear sopperisca meglio rispetto alla Neighborhood nella
ricostruzione delle zone con cambiamenti cromatici netti.

Figura 6: Ingrandimento di una selezione di entrambe le immagini risultanti

Vous aimerez peut-être aussi