2 - Image Filtering Flashcards
Com’è caratterizzata la trasformazione di un’immagine?
una trasformazione dell’immagine è caratterizzata nel seguente modo:
𝑔(𝑥, 𝑦) = 𝑇[𝑓(𝑥, 𝑦)],
dove f è l’immagine input, g è l’immagine elaborata, T è l’operatore di trasformazione applicata ai singoli pixel dell’immagine
Quali sono le classificazioni delle trasformazioni applicabili su un’immagine/video?
▪ Tecniche operanti nel dominio spaziale, ovvero dove vi è una manipolazione diretta dei pixel.
▪ Tecniche operanti nel dominio delle frequenze (trasformata di Fourier), ovvero vi è una trasformazione dell’immagine nel dominio delle frequenze e conseguente manipolazione di esse.
Tali frequenze non agisce sui pixel ma su una trasformazione dei pixel su un concetto diverso. Tali tecniche implicano un costo computazionale aggiuntivo compensato da una qualità della trasformazione dell’immagine migliore.
▪ Tecniche ibride, ovvero una combinazione di varie tecniche.
Le tecniche di trasformazione possono essere di quanti tipi?
▪ Point Operations: le tecniche che rientrano in questa classe risultano essere molto semplici,
ovvero trasformazioni dove il pixel di destinazione, nella trasformazione, dipende solo dal
pixel di partenza.
▪ Local Operations: hanno una struttura più aggregata, dove il pixel di destinazione non
dipende solo da un pixel di partenza, ma anche da un suo intorno quadrato.
▪ Object Operations: il pixel di destinazione dipende dal pixel di partenza e da un oggetto che
ha un suo significato semantico, non di forma regolare come nel caso della Local Operations.
▪ Global Operations: ogni pixel dell’immagine di destinazione, dipende da tutti i pixel
dell’immagine di partenza
Come si produce il negativo di una immagine in scala grigi?
Produrre il negativo di tale immagine, significa associare ad ogni pixel il livello di grigio complementare.
Cos’è la binarizzazione? (Trasformazione point operators)
La binarizzazione è un’operazione che produce un’immagine avente due classi di pixel
Questa trasformazione individua una soglia in 110 (variabile), dove tutti i colori da 0 fino a 110 diventeranno nero, e tutti i colori che partono da 110 fino a 255 diventeranno bianco.
Ottenendo la stessa immagine di partenza, ma binarizzata.
Quali sono le categorie di filtri spaziali?
Con i filtri spaziali (mask processing) è possibile effettuare varie operazioni.
Esistono tre categorie di filtri che si andranno ad applicare alle immagini:
▪ Lowpass (passa basso): attenua o elimina le alte frequenze, ovvero contorni e dettagli.
▪ Highpass (passa alto): attenua o elemina le basse frequenze, come contrasto e intensità.
▪ Bandpass (passa banda): attenua frequenze in una banda predefinita.
Questi filtri rientrano nella categoria dei Local Operations dove ogni pixel di destinazione dipende dal pixel di partenza più il suo intorno
ovvero la trasformazione T è definita in un intorno predefinito di (x, y).
Per essere costruiti, in genere vengono create delle mascherine quadrate, generalmente di dimensioni dispari 3x3, 5x5 ecc… e dentro tali mascherine verranno posti dei pesi Wi, che chiaramente andranno a determinare la funzionalità del filtro.
Sulla base dei valori W1 … W9, distribuiti all’interno della mascherina si otterrà un risultato diverso. Una volta costruita, essa si sovrapporrà all’immagine centrandola nel pixel (x, y) che avrà come corrispondente il peso W5 e si effettuerà la moltiplicazione tra ciascuno di questi pesi con il corrispondente valore di luminosità presente nell’immagine:
R = w1z1 + w2z2 + w3z3 + w4z4 + w5z5 + w6z6 + w7z7 + w8z8 + w9z9
dove z1, … , z9 rappresentano i pixel dell’immagine ai quali è sovrapposto il filtro e il valore R sarà quello proiettato nell’immagine di destinazione nella posizione (x, y)
Come funziona il filtro spaziale-media?
Tale filtro non differisce dal concetto di media aritmetica. Quindi ogni pixel dell’immagine destinazione
viene sostituito con la media dei pixel appartenenti ad un’area ben definita dell’immagine. Piuttosto
che prendere soltanto il pixel (x, y) nell’immagine input, viene preso la media di tutti i pixel connessi
con il pixel (x, y). Effettuando la media (con la divisione per 9) ottenendo il filtro di destinazione
viene effettuato per eliminare rumore prodotto da un determinato motivo e per ricondurre l’immagine ad una qualità migliore.
Cos’è un contorno di un oggetto?
Il contorno di un oggetto è una transizione, tra un oggetto e un altro, come una sorta di interruzione
Come funziona il filtro spaziale-media adattiva?
La media adattiva va a risolvere varie problematiche della media, come la confusione dei contorni.
Ogni qual volta essa viene utilizzata effettua un confronto tra il pixel (x, y) e tutti quanti i pixel che sono nel suo intorno. In presenza di piccole variazioni si applica la media, ma in presenza di grandi variazioni (in base ad una soglia T) si lasciano invariati i pixel di riferimento. Essa lavora sui bordi.
Applicando un filtro media sempre più grande, l’immagine tende a sfocarsi e perdere rumore, ma anche dettagli.
Come funziona il filtro spaziale-mediana?
Esso corrisponde esattamente al concetto di mediana statistica per il quale si considerano i pixel di una regione, li si ordina in maniera crescente e poi ci si posiziona sul valore centrale.
La mediana è proprio tale valore centrale. Rispetto alla media, la mediana non viene influenzata dalle
code, ovvero il valore centrale non viene condizionato particolarmente dalla presenza di significativi
cambiamenti agli estremi, cosa che avviene nella media
La Media presenta una eccessiva velatura (Blurring) al crescere della maschera e delle iterazioni con conseguente perdita dei dettagli, essa però preserva, con la versione adattive, le forme (scalini).
La Mediana ha una riduzione del rumore (noise reduction) senza eccessiva perdita di dettagli
(Blurring limitato), ma non preserva le forme (scalini).
Come funziona il filtro gaussiano?
Il funzionamento del Filtro Gaussiano è simile a quello del filtro mediana con la differenza che il contributo di ciascun pixel limitrofo ha un peso diverso, definito dalla distribuzione spaziale della gaussiana
Si parte dal presupposto che i pixel in prossimità della zona centrale, sono quelli più importanti.
Quindi se si vuol posizionare la maschera su un pixel (x, y), non si deve assegnare poi lo stesso peso a tutti gli altri pixel ma si cerca di concentrare la maggior parte del peso in prossimità del pixel (x, y), e progressivamente diminuire il peso dei pixel man mano che ci si allontana dal centro.
La somma di tutti i pesi sarà sempre uguale a uno. In prossimità del pixel di riferimento, si assegnerà un valore maggiore, in quanto c’è più probabilità che essi appartengono al pixel kernel.
Quindi possono essere costruiti nuovi filtri che sono dei Filtri Media pesati.
Mentre prima il peso assegnato dalla media era uguale per tutti quanti, ora si adopera una selezione, più ci si è vicini alla posizione (x, y) maggiore sarà il peso in quanto maggiore sarà la probabilità che quel pixel appartenga alla regione di interesse, più ci si allontana dal pixel (x, y) maggiore sarà la probabilità di non appartenere alla regione di interesse e quindi si cerca di contaminare il meno possibile la trasformazione.
Con un Filtro gaussiano si riesce ad eliminare le zone di rumore e a preservare gli scalini, proprio perché in prossimità di essi i pixel otterranno una distribuzione di pesi differenziata.
Come funziona il filtro SUSAN?
permane l’idea di Filtro Gaussiano dove però i pesi nonvengono stabiliti a priori, come fatto in precedenza, ma in questo caso i pesi vengono calcolati run-time.
Quindi viene applicata la maschera all’immagine e si va a controllare quali pixel ricadono nella stessa area del pixel centrale. Si assegneranno pesi alti a tutti i pixel che appartengono all’aerea del pixel centrale e si tenderà a dare peso minore ai pixel che si trovano più in lontananza rispetto al centro.
Questo calcolo lo si effettua per mezzo della formula seguente:
FORMULA
in cui I(r) è il valore di intensità dei pixel all’interno della maschera, I(r0) quello del nucleo, t è un valore di soglia sull’intensità (fattore di normalizzazione) e c(r, r0) rappresenta il peso che il pixel in esame ha nel calcolo della media. Più i pixel sono diversi, più il peso va verso 0.
Oltre al peso dovuto alla funzione c(r, r0), per effettuare il filtraggio del rumore, si utilizza una funzione di tipo gaussiano. Se l’area dell’USAN è nulla il valore dell’intensità del pixel in esame è calcolato applicando il filtro mediano descritto precedentemente. Quindi si avrà ancora un filtro gaussiano, ma sarà una maschera in cui i pesi saranno calcolati di volta in volta sulla base dell’immagine. Il vantaggio di questo filtro è che i pesi dipenderanno dall’immagine e quindi non sarà un filtro statico costruito in partenza. Il contro di questo filtro è l’onerosità in termini computazionali
Cos’è l’edge detection? e come funziona?
è un’altra classe di filtri che hanno come obiettivo quello di trattenere le informazioni che risiedono nelle alte frequenze, lavorando in modo esattamente speculare a quelli precedenti.
Tali filtri trattengono i punti di controllo, ovvero i dettagli e contorni.
Gli Edge Detector sono filtri che hanno la capacità di individuare le aree di transizione tra regioni omogenee:
▪ Punti isolati
▪ Linee (orizzontali, verticali, oblique)
▪ Contorni (insieme di punti con inizio e fine coincidenti)
Gli edge possono avere forme differenziate, tendenzialmente si identificano come una variazione di una serie di pixel o anche un singolo pixel, che ha una caratteristica ben definita, ovvero si passa da un’area a transizione costante (vicina alla 0) ad un’area in cui c’è una variazione (o perturbazione)
Cosa sono i punti isolati?
I punti isolati sono le discontinuità più semplici da individuare, in quanto non contribuiscono a definire la morfologia di un oggetto
Quando si individua un punto isolato affinché tale punto possa essere etichettato come punto di discontinuità, deve esserci una soglia T che viene individuata.
Tale soglia T deve far sì che una volta applicata la maschera ad una determinata area ed una volta calcolato il valore R, si è in grado di etichettare il pixel a cui corrisponde R come pixel di edge, soltanto se il valore è abbastanza significativo.
Quindi il valore di grigio di quel punto isolato deve essere abbastanza differente da quello dei suoi vicini. Se non vi è tale differenza evidente, non si può etichettare questo come punto isolato
Cos’è il contorno di un oggetto?
Il contorno (edge) di un oggetto rappresenta la separazione tra l’oggetto e lo sfondo o tra l’oggetto ed altri oggetti, per cui la sua estrazione è molto spesso il primo passo verso l’individuazione dell’oggetto.
Un edge si presenta in una immagine come il confine tra due regioni caratterizzate da proprietà dei livelli di grigio in qualche modo distinguibili.
La scelta della Threshold (soglia) è fondamentale per stabilire quali sono i pixel tendenzialmente candidabili a diventare pixel di contorno, quindi una volta stabilita la soglia, tutti i pixel che si trovano al di sopra della soglia sono pixel di contorno, viceversa se si trovano sotto tale soglia non sono pixel di contorno.
Infine, c’è una fascia grigia, che potrebbe oscillare tra una soglia troppo bassa o troppo alta.
Con Low Threshold si individuano potenziali pixel di contorno anche pixel che hanno variazioni piuttosto piccole.
Tali variazioni possono introdurre come potenziali pixel di controllo anche pixel che non lo sono. Questo tipo di soglia permette di individuare il profilo del pedone nero.
Con High Threshold si corre il rischio di ridurre troppo il numero di pixel che vengono etichettati come pixel di contorno, dando come risultato finale una quasi scomparsa totale della morfologia dell’oggetto. Il pedone ha perso tutta la parte centrale.
Il limite di questo approccio è che, in determinate condizioni, non ci assicura la possibilità di estrarre dei contorni chiusi.