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.