Corso di Visione Artificiale Filtri parte I Samuel Rota Bulò
Filtri spaziali Un filtro spaziale è caratterizzato da un intorno e un'operazione che deve essere eseguita sui pixels dell'immagine in quell'intorno. Il processo di filtraggio genera una nuova immagine spostando il filtro lungo tutta l'immagine. Se l'operazione eseguita è lineare parliamo di filtri spaziali lineari. Altrimenti parliamo di filtri non lineari. OUTPUT
Filtri spaziali lineari W[-1,-1] W[-1,0] W[-1,1] W[0,-1] W[0,0] W[0,1] W[1,-1] W[1,0] W[1,1] I[x-1y,-1] I[x-1,y] I[x-1,y+1] I[x,y-1] I[x,y] I[x,y+1] I[x+1,y-1] I[x+1,y] I[x+1,y+1] Un filtro lineare è una matrice W di coefficienti Il filtraggio dell'immagine I tramite W produce un'immagine F.
Correlazione e convoluzione La correlazione è il processo di muovere il filtro lungo l'immagine e calcolare la somma pesata ad ogni locazione come appena visto. La convoluzione equivale ad una correlazione con il filtro ruotato di 180 W è talvolta chiamato kernel (nucleo) della convoluzione/correlazione.
Proprietà della convoluzione Commutativa Associativa Lineare Invarianza a traslazione Convoluzione è l'unico operatore lineare ed invariante a traslazione Differenziazione
Esempi di convoluzione
Esempi di convoluzione
Esempi di convoluzione
Cosa fare ai bordi?
Filtri di smoothing Filtro medio: Ogni pixel viene rimpiazzato dalla media dei pixels in un suo intorno dimensioni del filtro
Filtri di smoothing Filtro gaussiano: ogni pixel viene rimpiazzato dalla media pesata dei pixels in un suo intorno, secondo una funzione Gaussiana. approssimazione discreta
Come creare un filtro Gaussiano Vogliamo che il filtro copra circa il 95% di probabilità dimensione del filtro dev. std. Gaussiana Campionamento e quantizzazione
Filtri di smoothing e dimensione filtro
Rumore Il rumore nelle immagini è una fluttuazione delle intensità dei pixel introdotta dal sistema di acquisizione. RUMORE GAUSSIANO (rumore bianco) RUMORE AD IMPULSO (rumore sale e pepe)
Filtro di smoothing e rumore Il rumore può compromettere alcune elaborazioni dell'immagine. Il filtro di smoothing serve principalmente ad attenuare il rumore bianco. CON RUMORE SENZA RUMORE
Filtro di smoothing e rumore
Filtro di sharpening Lo sharpening può essere utilizzato per migliorare i dettagli di un immagine. k è una costante tipicamente 1
Filtro di smoothing e rumore In presenza di rumore ad impulso un filtro di smoothing può non essere la scelta migliore CON RUMORE A IMPULSO DOPO LO SMOOTHING
Filtro mediano Il filtro mediano è un filtro non lineare. Ogni pixel viene rimpiazzato con quello mediano rispetto ad un suo intorno. ORDINATI Il filtro mediano rientra in una classe più generale di filtri. L'elemento mediano infatti rappresenta il 50 percentile di un insieme ordinato di numeri. Potremmo per esempio pensare ad un filtro massimo e un filtro minimo che considerano rispettivamente il 100 o il 0 percentile.
Filtro mediano e rumore ad impulso CON RUMORE AD IMPULSO DOPO FILTRO MEDIANO
Filtro differenziale Derivata asimmetrica Filtro differenziale asimmetrico Useremo spesso la notazione Ix e Iy per rappresentare le derivate rispetto ad x e y dell'immagine I Derivata simmetrica Filtro differenziale simmetrico
Filtro differenziale Derivata asimmetrica Derivata simmetrica Filtro differenziale asimmetrico Filtro differenziale simmetrico
Filtro differenziale
Filtro differenziale Derivata misura la variazione di una funzione. Proprietà della derivata: nulla in regioni di intensità costante non nulla in presenza di variazioni di intensità Profilo
Filtro differenziale di Robert Filtro 2D differenziale ottenuto considerando derivate lungo direzioni diagonali Filtri differenziali di Roberts
Derivata e rumore La derivata accentua il rumore Tipicamente un filtro differenziale viene abbinato ad un filtro di smoothing per ridurre il rumore.
Filtro differenziale di Prewitt Filtro 2D differenziale ottenuto combinando un filtro 1D differenziale simmetrico 1D e un filtro 1D medio.
Filtro differenziale di Sobel Filtro 2D differenziale ottenuto combinando un filtro 1D differenziale simmetrico 1D e un filtro 1D gaussiano approssimato.
Filtri differenziali diagonali I filtri differenziali di Sobel e Prewitt sono spesso utilizzati anche nella loro versione diagonale. I filtri di Roberts sono versioni diagonali dei filtri differenziali asimmetrici Filtri diagonali di Prewitt Filtri diagonali di Sobel
Filtro differenziale smooth Idea applicare un filtro differenziale dopo aver applicato un filtro di smoothing gaussiano Filtri differenziali di Prewitt e Sobel inglobano questo principio Vediamo ora come derivare un filtro differenziale gaussiano, ovvero con smoothing gaussiano incorporato. Derivata di Gaussiana
Filtri differenziali gaussiani orientati Finora abbiamo sempre considerato filtri differenziali orientati in direzione degli assi principali x e y. Tuttavia è utile poter valutare la risposta di un filtro differenziale lungo specifiche direzioni. Vediamo il caso di filtri differenziali gaussiani. direzione della derivata
Filtri differenziali gaussiani orientati
Filtri differenziali gaussiani orientati Utilizzando filtri differenziali gaussiani con σ=2
Gradiente di un'immagine Il gradiente di un'immagine è un campo vettoriale. Ogni vettore del campo punta nella direzione in cui localmente l'immagine presenta il maggior incremento d'intensità e ha una lunghezza che rappresenta il tasso di variazione Il vettore gradiente può essere rappresentato in coordinate polari. Lunghezza ed angolo sono ottenute come funzione delle derivate dell'immagine originale rispetto ad x e y.
Gradiente di un'immagine Immagine originale
Filtro Laplaciano Un importante filtro basato sulla derivata seconda è il filtro Laplaciano. E' un filtro isotropico, ovvero la risposta è invariante a rotazione.
Sharpening con filtro Laplaciano Filtro Sharpening con filtro Laplaciano c è una costante tipicamente 1 Incorporato diagonali
Separabilità di filtri Un filtro 2D è separabile se può essere implementato utilizzando 2 filtri 1D. Riduzione della complessità computazionale. Per es. il filtro Gaussiano è separabile filtro orizzontale Lo sono anche i filtri di Prewitt e Sobel. filtro verticale
Nota su smoothing anisotropico Una tecnica di smoothing adattivo detto smoothing anisotropico cerca di adottare uno smoothing poco aggressivo nella direzione normale alla direzione di un bordo e più aggressivo nella direzione di un bordo (o dove non abbiamo bordi). Per fare questo si può utilizzare l'informazione del magnitudo del gradiente per discriminare bordi da non-bordi e l'informazione della direzione del gradiente nel caso in cui abbiamo un bordo per decidere la direzione in cui adottare uno smoothing meno aggressivo.