Verso gli operatori Locali e globali
1
Cosimo.Distant[email protected]
Gli operatori puntuali omogenei e non omogenei descritti,
trasformano essenzialmente i livelli di grigio di una immagine
per migliorarne la qualità visiva e per attenuare in alcuni casi il
rumore introdotto dalle irregolarità dei sensori
I valori di livello di grigio di ciascun pixel varia dal nero al
bianco e viceversa sulla base delle strutture presenti
nell’immagine
L’informazione intrinseca presente nell’immagine può essere
associata alle strutture di base presenti che possono produrre
spazialmente basse o alte variabilità nei livelli di grigio:
• Alte frequenze spaziali dominanti
• Basse frequenze spaziali dominanti
2
[email protected]
La presenza nell’immagine di alte frequenze spaziali presuppone
l’esistenza di piccole strutture con le dimensioni di uno o più pixel in
cui si verificano alte variazioni di livelli di grigio, normalmente
causati dalla presenza di bordi, spigoli (Edge)
La ricerca della presenza di particolari strutture nell’immagine, non
può essere realizzata con operatori puntuali, ma necessitano
operatori locali o globali
Elaborano l’immagine di input per accentuare o rimuovere una banda
di frequenze spaziali, così come per una particolare bassa o alta
frequenza spaziale
Bisogna quindi eseguire una trasformata delle frequenze spaziali
nelle direzioni
• Orizontali,
• Verticali,
• Oblique,
3
[email protected]
Tale trasformata converte l’informazione dell’immagine dal
dominio spaziale dei livelli di grigio al dominio delle frequenze
(espresse in termini di modulo e fase)
La più diffusa è la trasformata di Fourier insieme ad altre
(Hadamard, Haar, seno, coseno) di minore utilizzo per esempio
la trasformata alle componenti pricipali -o di Karhunen Loeve
Il vantaggio di tali trasformate consiste:
• nel generare una nuova immagine che decompone e
visualizza in modo significativo tutte le frequenze
spaziali presenti nell’immagine di input
•
Analisi nel dominio delle frequenze per capire le
strutture geometriche presenti nell’immagine di origine
4
[email protected]
Le operazioni di elaborazione di immagini locali o globali che
alterano il contenuto informativo di una immagine sono
chiamate operatori di filtraggio numerico che possono essere:
•
•
spaziale se si manipolano le strutture di base nel
dominio spaziale (operatori locali);
nel dominio delle frequenze, se si manipolano
direttamente nelle componenti delle trasformate
(operatori globali)
Le tecniche di filtraggio, possono essere usate:
•
•
per accentuare le caratteristiche presenti (estrazione
di bordi, image sharpening) nell’immagine,
per migliorare la qualità dell’immagine per esempio,
livellando opportunamente (smoothing) forti variazioni
locali dei valori di livello di grigio
5
[email protected]
Filtraggio Numerico Spaziale
I filtri spaziali sono implementati attraverso il processo di
convoluzione spaziale che elabora il valore del pixel sulla base
dei valori dei pixel compresi in un suo intorno
Tale modello di elaborazione ha i fondamenti matematici
derivanti dalla teoria dei sistemi lineari (operatori lineari) che
assumono una importanza rilevante per l’analisi dei segnali ed
immagini, e sono stati molto utilizzati nel campo delle
telecomunicazioni
Filtro e Operatore sono parole che nel seguito sono usate in
modo intercambiabile per indicare una trasformazione di una
immagine in un’altra
6
[email protected]
Linearità
Tale trasformazione può essere modellata attraverso un sistema lineare
bidimensionale del tipo
dove l’operatore O{} trasforma l’immagine di input I nell’immagine di output I0
Gli operatori lineari sono definiti con il principio della sovrapposizione:
Se I1(i,j) e I2(i,j) sono due immagini di dimensioni NxM pixel,
Se a e b sono due costanti arbitrarie, e
O rappresenta un operatore che trasforma una immagine in un’altra con le stesse
dimensioni,
si dice che l’operatore O è lineare, se e solo se
O{a  I1 (i, j )  b  I 2 (i, j )}  a  O{I1 (i, j )}  b  O{I 2 (i, j )}
7
[email protected]
La proprietà della sovrapposizione può essere estesa a n immagini e
rende l’operatore lineare molto utile nei problemi reali
Infatti è possibile decomporre una immagine complessa in più
componenti derivando in tal modo i risultati dell’operatore e
successivamente ricomporre i risultati globali dai risultati delle
singole componenti:
Se
I2(i,j)=0
segue
O{aI1(i,j)}=aO{I1(i,j)}
chiamata proprietà di omogeneità dell’operatore lineare O
che ha il seguente significato:
moltiplicando l’immagine di input I1 per una costante a il sistema
lineare risponde con il valore appropriato corrispondente all’input
moltiplicato per la stessa costante a
8
[email protected]
Risposta Impulsiva e Funzione di Trasferimento
Con la proprietà di sovrapposizione degli operatori lineari vediamo se
è possibile avere informazioni sulla natura dell’operatore applicato
ad una immagine osservando soltanto l’immagine di output ottenuta
Per tale dimostrazione pensiamo decomposta l’immagine di input
I(x,y) in componenti elementari
In questo modo possiamo pensare I composta dalla somma di
componenti di base ossia ottenuta dalla definizione di funzione
impulsiva delta di Dirac
N 1 M 1
I (i, j )    I (l , k )   (i  l , j  k )
l 0 k 0
0 l  0, k  0
 (l , k )  
1 l  k  0
I(l,k) indica il fattore peso della funzione impulsiva  del pixel (l,k) dell’immagine
9
[email protected]
Risposta Impulsiva e Funzione di Trasferimento cont.
Se l’output di un sistema lineare è definito come
 N 1 M 1

I 0 (i, j )  O{I (i, j )}  O  I (l , k )   (i  l , j  k )
 l 0 k 0

Poichè l’operatore O è lineare, per la sovrapposizione delle componenti di output,
possiamo scrivere
I 0 (i, j )   OI (l , k )   (i  l , j  k )
l
k
Inoltre I(l,k) è indipendente da i e j, dalla proprietà di omogeneità segue
N 1 M 1
N 1 M 1
l 0 k 0
l 0 k 0
I 0 (i, j )    I (l , k )  O (i  l , j  k )    I (l , k )  h(i, j; l , k )
dove la funzione h(i,j;l,k) è la risposta impulsiva dell’operatore lineare O
In altre parole possiamo affermare che h(i,j;l,k) è la risposta impulsiva
dell’operatore O in corrispondenza del pixel di input (impulso di input) alla posizione
(l,k) dell’immagine di input
10
[email protected]
Risposta Impulsiva e Funzione di Trasferimento cont.
Nei sistemi ottici la risposta impulsiva h(i,j;l,k) è chiamata funzione di
trasferimento del sistema (PSF point spread function)
Questo risultato della teoria dei sistemi lineari è fondamentale e suggerisce che se
la risposta dell’operatore O ad un impulso è nota, può essere calcolata la risposta a
qualunque pixel I(l,k) con la precedente equazione
N 1 M 1
N 1 M 1
l 0 k 0
l 0 k 0
I 0 (i, j )    I (l , k )  O (i  l , j  k )    I (l , k )  h(i, j; l , k )
L’operatore O è completamente caratterizzato dalla risposta impulsiva
k
l
I(i,j)
j
i
11
[email protected]
Invarianza Spaziale
L’operatore lineare O{} con la relazione di input-output:
I0(i,j) = O{I1(i,j)}
è chiamato spazialmente invariante oppure invariante alla traslazione
(shift invariant) se la risposta dell’operatore non dipende esplicitamente
dalla posizione nell’immagine
In altre parole, l’operatore O è invariante spazialmente se una traslazione
in input causa anche una appropriata traslazione in output
Dai risultati precedenti considerando l’impulso di input all’origine (l,k)=0, segue:
h(i,j;l,k) = O{(i-l,j-k)}
= h{i-l,j-k;0,0}
= h(i-l,j-k)
dalla quale risulta che l’operatore O è spazialmente invariante se l’operazione
eseguita sul pixel di input dipende solo dalle due traslazioni (i-l) e da (j-k) e non
dalla posizione (i,j)
Se l’ultima equazione non è soddisfatta l’operatore lineare è detto variante
spazialmente
12
[email protected]
Invarianza Spaziale cont.
Considerando valide congiuntamente le due proprietà, invarianza spaziale e
sovrapposizione, si ha il seguente operatore lineare
N 1 M 1
I 0 (i, j )    h(i  l , j  k )  I (l , k )
l 0 k 0
che risulta essere l’operatore di convoluzione nel dominio spaziale tra l’immagine di
input e la funzione di risposta impulsiva:
I0(i,j)=h(i,j)*I(i,j)
13
[email protected]
Invarianza Spaziale cont.
Pertanto il processo di elaborazione digitale dell’immagine (operatore di filtraggio)
ed il processo di formazione (processo fisico) sono entrambi descritti come
operazioni di convoluzione, ossia sono realizzati da un processo fisico modellabile
con un sistema lineare spazialmente invariante
Nell’elaborazione dell’immagine, è possibile studiare la caratteristica di un
operatore lineare applicandolo ad una immagine campione di cui si conosce a priori la
sua struttura, e successivamente è analizzato se l’immagine di output presenta i
risultati desiderati con quel particolare operatore
Le applicazioni reali, nel campo delle immagini, dei sistemi lineari, sono limitati a:
•Flitraggio passa-alto,
•Flitraggio passa-basso,
•Flitraggio passa-banda
14
[email protected]
Convoluzione Spaziale
Vediamo ora come il processo di convoluzione può essere realizzato
Primo aspetto, come combinare i valori dei livelli di grigio dei pixel vicini al pixel in
elaborazione
Secondo aspetto, quanto deve essere grande l’area dei pixel di vicinanza interessati
dall’operatore. Tale area è chiamata con uno dei seguenti nomi: finestra, kernel,
maschera del filtro, maschera di convoluzione
Normalmente viene scelta una maschera di forma quadrata rappresentata in forma
matriciale con dimensioni variabili, per esempio 3×3, 5 × 5, ecc., ed il pixel in
elaborazione che riceve il risultato della convoluzione si trova posizionato al centro
della finestra, di dimensioni dispari
L’operatore di convoluzione nel discreto opera come un processo lineare in quanto
esegue la somma di elementi moltiplicati da valori costanti (somma pesata)
Gli elementi sono i valori del livello di grigio in corrispondenza della maschera ed i
valori costanti sono i pesi ossia i coefficienti di convoluzione meno remoti nella
maschera
15
[email protected]
Convoluzione Spaziale monodimensionale
Per un sistema lineare invariante spazialmente, caratterizzato con risposta
impulsiva h(i),
in corrispondenza di un segnale di input monodimensionale f(i),
il segnale di output g(i) é
dato dalla convoluzione
g ( i )  f ( i ) * h( i )   f ( l )  h( i  l )
l
16
[email protected]
Convoluzione Spaziale monodimensionale
L’operazione di convoluzione é ripetuta analogamente per altri
punti i per ottenere dal sistema lineare il segnale di output
completo
Ogni valore g(i) del segnale di output, dipende dal grado di
sovrapposizione tra il segnale di input e la funzione
caratteristica del sistema lineare che viene traslata per ogni
valore di i
Come evidenziato nel grafico, il risultato della convoluzione g(i)
rappresenta l’area di sovrapposizione tra la funzione di input e
la risposta impulsiva
17
[email protected]
Convoluzione Spaziale bidimensionale
La convoluzione tra funzioni bidimensionali é ottenuta in modo analogo.
Per convenienza l'immagine di input e di output sono scelte con identiche
dimensioni, mentre la risposta impulsiva bidimensionale normalmente ha
dimensioni limitate, a partire da finestre 3x3, e con valori dispari
Sempre per convenienza, il risultato della convoluzione nell'immagine di
output g(i,j), si fa corrispondere con il pixel centrale della finestra
quadrata in cui è definita la risposta impulsiva h localizzata nel pixel (i,j)
Il valore della convoluzione in corrispondenza del pixel (i,j) nell'immagine di
output é ottenuta dalla somma dei prodotti pixel per pixel tra la funzione di
input f(l,k) e la risposta impulsiva h(i-l,j-k), derivata da h(l,k) eseguendo
prima una rotazione di 180° rispetto all'origine ottenendo h(0-l,0-k) e
successivamente una traslazione dall'origine alla posizione (i,j)
18
[email protected]
Convoluzione Spaziale bidimensionale
N 1 N 1
g( i, j )    f ( l , k )  h( i  l , j  k )
l 0 k 0
considerando l'immagine di input f(i,j) e
l'immagine di output g(i,j) di dimensioni
N×N, mentre la risposta impulsiva h é
sempre definita con una finestra quadrata
di dimensioni limitate L × L
19
[email protected]
Convoluzione Spaziale bidimensionale
Nelle zone di non sovrapposizione tra le funzioni f ed h, la
sommatoria dell'operatore di convoluzione ha componenti nulle
(prodotto f•g é zero)
Il dominio di interesse é definito dalle dimensioni della risposta
impulsiva h
Per la proprietà commutativa dell'operatore di convoluzione,
l'equazione precedente può essere espressa come segue
N 1N 1
g( i, j )    f ( i  l , j  k )  h( l , k )
l 0 k 0
Queste ultime due equazioni, dell'operatore di convoluzione,
suggeriscono che, prima del prodotto pixel per pixel, una delle due,
l’immagine di input oppure la risposta impulsiva, puo’ essere ruotata
di 180° e traslata indifferentemente
20
[email protected]
Convoluzione Spaziale bidimensionale
Per ragioni implementative è conveniente utilizzare operatori
di convoluzione con equazioni della forma
r
r
g (i, j )    f (i  l , j  k )  h(l , k )
l r k  r
con la finestra relativa alla risposta impulsiva h(l,k)
Indici l e k riferiti rispetto al pixel centrale h(0,0).
Le dimensioni LxL della finestra hanno valore dispari e con
r =(L-1)/2
21
[email protected]
Convoluzione Spaziale bidimensionale
Per semplicità consideriamo un esempio di convoluzione
spaziale dove la risposta impulsiva é rappresentata da una
finestra 3x3 con i pixel contenenti valori discreti di una
funzione Gaussiana
In questo caso il pixel centrale h(0,0) coincide con il picco della
gaussiana che essendo simmetrica rispetto all'origine
l'eventuale rotazione della funzione di input non avrebbe
nessun effetto
22
[email protected]
Convoluzione Spaziale bidimensionale
Il valore della convoluzione g(i,j), applicata al pixel (i,j) è ottenuta posizionando il
pixel centrale della maschera di convoluzione in (i,j), e la seguente espressione viene
eseguita:
g(i,j) = Af(i-1,j-1) + Bf(i-1,j) + Cf(i-1,j+1) +
Df(i,j-1) + Ef(i,j) + Ff(i,j+1) +
Gf(i+1,j-1) + Nf(i+1,j) + If(i+1,j+1)
dove f(i,j) è l’immagine di input, le costanti da A ad I indicano i coefficienti della
convoluzione ossia i valori discreti risultati dal campionamento della risposta
impulsiva h(i,j) dell’operatore stesso, e g(i,j) è l’immagine ottenuta applicando il
processo di convoluzione
L’operatore di convoluzione
per l’intera immagine risulta
g (i, j ) 
r
r
  f (i  l , j  k )  h(l ,k )
l  r k r
23
[email protected]
Convoluzione Spaziale bidimensionale
h(l , k )  e

 l 2 k 2
2 2

-2
-1
0
1
2
h0=1
h1=0.78
h2=0.61
h3=0.37
h4=0.28
h5=0.13
h5
h4
h3
h4
h5
h4
h2
h1
h2
h4
h3
h1
h0
h1
h3
h4
h2
h1
h2
h4
h5
h4
h3
h4
h5
-2
-1
0
1
2
  1 .4
L5
r2
24
[email protected]
Convoluzione Spaziale bidimensionale
Applicare un filtro ad una immagine significa calcolare i
coefficienti
h(i,j)
che
rappresentano
una
buona
approssimazione della funzione di trasferimento e quindi
dell’operatore che si vuole applicare
La convoluzione è un’operazione invariante perchè i coefficienti
della convoluzione (pesi del filtro) non cambiano da pixel a pixel
durante il processo di convoluzione
L’operatore di convoluzione per una maschera 3x3 e per una
immagine di 512x512 richiederebbe 226.400x9  2.037.000
moltiplicazioni e 2.037.000 addizioni
Vediamo alcuni aspetti implementativi della convoluzione
25
[email protected]
Convoluzione Spaziale bidimensionale
Quando l’operatore di convoluzione è applicato ai bordi dell’immagine, la
maschera di convoluzione non si sovrappone con i pixel dell’immagine,
date le dimensioni finite della stessa
Un modo per risolvere il problema, quando si arriva ad elaborare pixel del
bordo sinistro dell’immagine, è quello di pensare che l’immagine si
replica in modo ciclico
Operando nello spazio di Fourier questa assunzione deve essere fatta se si
vuole ridurre la convoluzione a semplice moltiplicazione
Nel dominio spaziale l’inconveniente dei bordi è risolto in modo libero
adottando alcune soluzioni:
 Considerare a zero o uguale ad un valore costante tutti i pixel
mancanti dell’immagine.
 Considerare i pixel adiacenti dell’immagine come pixel mancati.
 Applicare la convoluzione solo per i pixel dell’immagine che non
creano il problema della mancanza di pixel
26
[email protected]
27
[email protected]
Convoluzione Spaziale bidimensionale
Nella equazione di convoluzione, i pixel g(i,j) già elaborati non sono coinvolti durante
il processo di convoluzione
Questo implica che la convoluzione produce come risultato una nuova immagine g(i,j)
che dovrà essere salvata in un’area di memoria separata dall’immagine di input f
Nell’ipotesi che si operi su calcolatore sequenziale potrebbe comunque essere
ottimizzata la memoria necessaria, salvando i pixel elaborati di r linee al di
sopra della i-ma linea in elaborazione
Un approccio alternativo consiste
nel salvare temporaneamente in un
buffer, (r+1) linee dell’immagine di
input in elaborazione, mentre il
pixel in esame (i,j) è salvato nella
stessa posizione dell’immagine di
input
28
[email protected]
Convoluzione Spaziale bidimensionale
Sono stati progettati filtri che durante il processo di convoluzione sono coinvolti
pixel già elaborati dal convolutore stesso
Questo ha il vantaggio di ridurre i tempi di calcolo ma non sono facilmente
realizzabili
Tali filtri sono chiamati filtri ricorsivi e sono molto complicati da trattare in genere
nel caso bidimensionale come necessita per le immagine digitali
I filtri basati sulla convoluzione spaziale che non utilizzano pixel già convoluti
corrispondenti a filtri non ricorsivi, sono chiamati:
FIR Finite Inpulse Response
I filtri ricorsivi, sono chiamati:
IIR Infinite Inpulse Response
29
[email protected]
Filtri nel Dominio delle Frequenze
In precedenza abbiamo introdotto l’utilità di studiare le componenti spaziali
di una immagine nel dominio delle frequenze che descrivono in modo più
efficace le strutture periodiche presenti nell’immagine stessa
Per passare dal dominio spaziale al dominio delle frequenze, sono disponibili
diversi operatori chiamati normalmente operatori di trasformazione o
semplicemente trasformate
Tali trasformate, quella di Fourier è la più nota, quando applicata alle
immagini, la decompongono dalle strutture di livello di grigio del dominio
spaziale alle componenti in frequenze fondamentali nel dominio delle
frequenze
Ciascuna componente in frequenza è espressa attraverso un valore di fase
e modulo
La trasformata inversa di frequenze, converte una immagine strutturata con
frequenze, ricostruendo all’indietro le strutture spaziali
30
[email protected]
Trasformata di Fourier
La trasformata generale di una immagine N×M è data da
N 1 M 1
F (u, v)    I (k , l ) B (k , l ; u, v)
k 0 l 0
Questi coefficienti ci indicano quantitativamente il grado di similarità dell’immagine
rispetto alle basi B. Il processo di trasformazione quantifica la decomposizione
dell’immagine di input I(k,l) nella somma pesata delle immagini base, in cui i
coefficienti F(u,v) sono appunto i pesi
I valori delle frequenze vicino all’origine del sistema (u,v) sono chiamate basse
frequenze mentre quelle più lontane dall’origine sono dette alte frequenze
L’immagine di input I(k,l) può essere ricostruita attraverso i coefficienti della
trasformata F(u,v) con l’equazione della trasformata inversa
N 1 M 1
I (k , l )  F ( F (u , v))    F (u, v) B 1 (k , l ; u , v)
1
u 0 v 0
31
[email protected]
Trasformata di Fourier
Le basi della trasformata sono rappresentate da funzioni seno e coseno, e la
trasformata dell’immagine I(k,l) è data da
F (u, v) 
1
NM
   uk vl  
  uk vl  
I (k , l )  cos 2      j sin  2    

k 0 l 0
  N M  
   N M 
N 1 M 1
F (u, v)  Re( u, v)  j Im( u, v)
L’ampiezza spettrale è definita da
F (u, v)  Re( u, v) 2  Im( u, v) 2
che specifica quanto dell’immagine base è presente nell’immagine di input,
L’informazione circa l’orientazione dell’oggetto è definita dalla fase
 Im( u, v) 
(u, v)  tan 1 

 Re( u, v) 
32
[email protected]
Trasformata di Fourier
Dal momento che e jx  cos x  j sin x possiamo riscrivere la trasformata
F (u, v) 
1
N 1 M 1
I (k , l )  e


NM
 ku lv 
 2j   
N M
k 0 l 0
Per una migliore visualizzazione dello spettro, conviene visualizzare il logaritmo, ossia
log( u, v)  c  log 1  F (u, v) 
dove c serve a scalare l’intervallo di variabilità di (u,v) tra 0 e 255
33
[email protected]
Trasformata di Fourier
Modulo
Log del modulo
34
Fase
[email protected]
35
[email protected]
Teorema di Convoluzione
Dal punto di vista teorico, il processo di convoluzione nel dominio spaziale è ottenuto
tra immagine di input e la funzione di trasferimento,
Mentre nel dominio delle frequenze è ottenuto con l’operazione di moltiplicazione
tra immagine trasformata F(u,v) e la maschera delle frequenze
Il filtraggio, nel dominio delle frequenze, risulta essere molto selettivo consentendo
di rimuovere specifiche componenti di frequenze o bande di componenti in
frequenza
Questo è realizzato ponendo
zero nella maschera in
corrispondenza della
frequenza che si vuole
eliminare, ponendo valore 1
altrimenti
36
[email protected]
Teorema di Convoluzione
Il filtraggio nel dominio delle frequenze risulta essere vantaggioso rispetto a quello
spaziale soprattutto nei casi di immagini con rumore additivo di natura periodico
(non casuale) facilmente descrivibile nel dominio delle frequenze
Ricordando il processo di convoluzione spaziale, considerando inalterati i simboli
delle varie immagini, si ha:
g(m,n)=f(m,n)*h(m,n)
nel dominio delle frequenze la convoluzione risulta:
G(u,v)=F(u,v)H(u,v)
considerando G, F ed H le trasformate di Fourier delle immagini spaziali g ed f, e
della funzione di trasferimento h
37
[email protected]
Teorema di Convoluzione
Con quale criterio decidere se usare un filtro spaziale oppure un filtro nel dominio
delle frequenze?
Tendenzialmente la convoluzione spaziale è computazionalmente
specialmente se la maschera di convoluzione è grande
costosa
In questo caso l’uso dell FFT e IFFT su hardware specializzato può essere una
soluzione efficiente per l’elaborazione delle immagini
Nella visione artificiale diversi processi non sono riconducibili ad operatori lineari
ed invarianti spazialmente
Questo limita molto l’uso della FFT e IFFT
Quando un processo di elaborazione dell’immagine può essere modellato o
approssimato ad un sistema lineare e invariante spazialmente le maschere di
filtraggio sono normalmente piccole (3x3) oppure (5x5) e conseguentemente la
convoluzione spaziale risulta conveniente in alternativa all’uso della FFT
Questa è la ragione dell’uso diffuso dei filtri lineari.
38
[email protected]
Teorema di Convoluzione
Ricordiamo infine le limitazioni sull’uso della FFT per gli errori
di arrotondamento dovuti al calcolo numerico, stabilità del
filtro inverso, molteplicità delle soluzioni ottenute, limitazioni
del dominio dei valori di grigio
39
[email protected]
OPERATORI LOCALI: SMOOTHING
Tali operatori hanno lo scopo di eliminare e attenuare il rumore
additivo presente nei valori di grigio dell’immagine
Questo è realizzato attraverso operatori locali lineari e non lineari
che essenzialmente tentano di smussare (livellare) le irregolarità
presenti nella immagine senza alterare le strutture significative
dell’immagine stessa
I filtri lineari di smoothing possono essere definiti nel dominio
spaziale o nel dominio delle frequenze
Per i filtri spaziali, nella maschera di convoluzione sono
opportunamente definiti i pesi che caratterizzano la particolarità
del filtro
Per i filtri nel dominio delle frequenze analoghi effetti sull’immagine
si ottengono rimuovendo le alte frequenze
40
[email protected]
MEDIA ARITMETICA
Se sono disponibili n immagini di una stessa scena è possibile ipotizzare un modello
di rumore stocastico con valore V in ciascun pixel
V rappresenta la variabile casuale indipendente con media zero e dev. standard .
L’operatore di smoothing in questo caso risulta dalla media aritmetica dei valori
pixel per pixel per n immagini I1........In con corrispondente rumore V1..........Vn
La seguente espressione
I1  I2 .......In V1  V2 .....Vn

n
n
indica col primo termine l’immagine mediata
1 n
Im (i , j )  Ik (i , j )
n k 1
Il secondo termine risulta essere il rumore dell’immagine dopo l’operazione di media
aritmetica che ha sempre media zero e deviazione standard con valore / n
e pertanto il rumore risulta ridotto di un fattore n
41
[email protected]
FILTRO MEDIA
Quando è disponibile una sola immagine, l’operatore di media aritmetica può essere
usato, in cui ciascun pixel dell’immagine è riposto con il valore medio dei pixel vicini:
g (i, j ) 
1
M
 f (l , k )
i, j  1, , N  1
l , k Wij
dove Wi,j indica l’insieme dei pixel nelle vicinanze del pixel (i,j) compreso lo stesso
pixel (i,j), interessato al calcolo della media locale, ed M è il numero totale di pixel
compresi nella finestra Wi,j.
Se la finestra considerata è di 3×3 pixel si ha:
1 i  1 j 1
g (i , j )    f ( l , k )
9 l  i 1 k  j  1
in questo caso, l’operatore di
media risulta essere un caso
particolare
dell’operatore
di
convoluzione spaziale, che ha
come maschera di convoluzione:
111 1 91 91 9
1
h  111  1 91 91 9
9
111 1 91 91 9
42
[email protected]
FILTRO MEDIA
Con una maschera di piccole dimensioni, per esempio 3×3,
l’effetto del filtro media è quello di attenuare il rumore
(segnale uniforme) presente nell’immagine ed introdurre uno
sfocamento accettabile sull’immagine
Con maschere di maggiori dimensioni, per esempio 5×5, 7×7,
ecc., l’effetto dello sfocamento e la perdita di alcuni dettagli
diventa sempre più evidente
È richiesto un compromesso tra attenuazione del rumore e la
perdita dei dettagli.
Un approfondimento degli effetti del filtro sono evidenziati
come segue:
43
[email protected]
FILTRO MEDIA
Regione senza strutture
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
Filtro
passa-basso
Immagine a valore costante il filtro non produce nessun effetto e l’immagine è
lasciata intatta
Questo è dipendente al fatto che in quella regione l’immagine non presenta
nessuna struttura (nessun cambiamento di livelli di grigio) ossia la frequenza
spaziale è zero.
Questo è tipico di un filtro spaziale passa-basso che lascia intatte le componenti
di frequenza spaziale basse
44
[email protected]
FILTRO MEDIA
Regione con strutture
126
147
126
147
126
147
126
147
126
147
126
147
126
147
126
231
147
126
147
126
147
42
126
147
126
147
126
42
231
42
231
42
231
42
231
42
231
42
231
42
231
42
231
42
231
42
42
231
42
231
Filtro
passa-basso
In questo caso, vi sono variazioni di livello di grigio dal bianco al nero e viceversa e
l’effetto del filtro media attenua queste variazioni
In altre parole le transizioni bianco/nero che rappresentano le componenti di alte
frequenze dell’immagine di input sono attenuate a transizioni con minime variazioni
di livello di grigio
L’attenuazione delle alte frequenze spaziali è quello desiderato da un filtro passabasso
Quando si progetta un filtro di smoothing, come criterio generale, conviene
scegliere i pesi della maschera di convoluzione con valore alto quelli più vicini al pixel
in esame mentre con valori sempre più bassi quelli più lontani
45
[email protected]
FILTRO MEDIA
Questo porta ad avere un unico picco nella maschera, disposti anche seguendo una
certa simmetria spaziale.
Per esempio, una tipica maschera di convoluzione di un filtro di smoothing è la
seguente:
1 / 16 1 / 8 1 / 16
1 2 1
 1 / 8 1 / 4 1 / 8   1   2 4 2

 16 

1 / 16 1 / 8 1 / 16
1 2 1
Con tale maschera si attenuano i problemi dello sfocamento evidenziato in
precedenza
Gli effetti introdotti dall’operazione di filtraggio su una immagine possono essere
valutati qualitativamente osservando in modo soggettivo l’immagine filtrata
Una stima quantitativa può essere ottenuta utilizzando una immagine campione di cui
sono note alcune strutture geometriche (un esempio: immagini con anelli concentrici
a profilo sinusoidale con lunghezza d’onda crescente a partire dal centro
dell’immagine)
46
[email protected]
FILTRO MEDIA
Il filtro media 7x7 e 9x9 introduce forti variazioni in alcune regioni dell’immagine.
Questo mette in evidenza i limiti del filtro media utilizzato come filtro di smoothing
passa-basso
47
[email protected]
FILTRI NON LINEARI
Eseguono l’operazione di smoothing, essenzialmente per ridurre
il rumore, livellando l’immagine solo nelle regioni con livelli di
grigio omogenei, alterando le zone in cui si verificano forti
variazioni di livelli di grigio
Da ciò consegue che i coefficienti della maschera di
convoluzione devono variare in modo appropriato da regione a
regione.
In particolare nelle zone dove le transizioni sono accentuate, si
assume che i pixel appartengono a regioni diverse pertanto i
coefficienti della convoluzione devono essere scelti piccoli
48
[email protected]
FILTRI NON LINEARI
Filtri non lineari basati sul valore assoluto:
1.
1
h(l , k )  
0
se f (i, j)  f (l , k )  T
altrimenti
dove T è un valore di soglia definito sperimentalmente
2.
h(l , k )  c  f (i, j )  f (l , k )


con c costante di normalizzazione definito come c   h(l , k )
 l k

ed h(l,k)>0 per ogni valore di l e k
3.
1
 1
se
f
(
i
,
j
)

f (l , k )  T
f
(
l
,
k
)



L L l k
f (i, j )   L  L l k
 f (i, j )
altrimenti

4.


1
f (i, j )  min
f
(
m
,
n
)

f
(
l
,
k
)




L

L
( m,n ) 
l
k

1
in questo caso le forti transizioni non vengono sempre livellate
49
[email protected]
FILTRO MEDIANO
Il filtro mediano è non lineare
A differenza di filtri basati sulla media, il filtro mediano
attenua la perdita di nitidezza dell’immagine e del livello di
sfocamento
Il filtro ripone ogni pixel con il valore del pixel mediano
ottenuto dopo che i pixel dell’intorno sono stati ordinati in
modo crescente
Il pixel mediano ha il valore più alto di metà dei pixel
dell’intorno e valore più basso dell’altra metà di pixel
rimanenti
Per esempio, utilizzando finestre 3x3 il filtro opera come
[email protected]
50
segue:
FILTRO MEDIANO
51
[email protected]
FILTRAGGIO PASSA-BASSO NEL DOMINIO DI FOURIER
Abbiamo già evidenziato come la presenza nell’immagine di ripetute transizioni di
livello di grigio (dovute anche al rumore) costituiscono le componenti delle alte
frequenze spaziali e conseguentemente inducono componenti di alte frequenze nel
dominio di Fourier
Un filtro di smoothing può essere progettato operando nello spazio di Fourier,
attenuando uno specificato intervallo delle componenti di alte frequenze
La relazione tra le immagini trasformate è riscritta:
G(u,v)=F(u,v)H(u,v)
dove F(u,v) è l’immagine di input trasformata e H(u,v) è la maschera del filtro da
progettare
L’obiettivo è quello di progettare il filtro H(u,v) che attenua le componenti di alta
frequenza di F(u,v) allo scopo di ottenere il risultato G
La trasformata inversa di G produrrà il risultato di smoothing voluto g
52
[email protected]
FILTRAGGIO PASSA-BASSO NEL DOMINIO DI FOURIER
Un profilo dell’immagine dello spettro l(u,v) rappresenta la distribuzione dell’energia
data dalla relazione:
l ( u, v ) 
u2  v 2
Sono stati ideati diversi filtri passa-basso nel dominio delle frequenze. Sono diversi
tra loro, e per tutti, l’effetto, è quello di ridurre il rumore, distribuito sulle alte
frequenze
Tali filtri operano sia sulla parte reale che immaginaria della trasformata di Fourier
e non alterano il valore della fase (zero fase).
53
[email protected]
FILTRO IDEALE PASSA-BASS0

1
H ( u, v )  
0

se l(u, v)  l 0
se l(u, v) > l0
dove l0 rappresenta la frequenza di taglio
Viene chiamato filtro ideale perchè tutte le frequenze comprese nell’intervallo tra 0
e la soglia l0, passano intatte mentre sono completamente eliminate quelle con valore
superiore alla soglia
Il filtro è a simmetria circolare nell’ipotesi che la trasformata è stata centrata
nell’immagine quadrata dello spettro
I risultati del filtro dipendono dal valore della soglia scelta che può attenuare il
rumore, ma accentuare lo sfocamento dell’immagine.
54
[email protected]
FILTRO IDEALE PASSA-BASS0
Un modo efficace per verificare le prestazione dei vari filtri è quello di considerare
il valore dello spettro di potenza dato da:
P(u , v)  H (u, v)  Re 2 (u , v)  Im 2 (u, v)
2
In corrispondenza di una frequenza di taglio l0 si definisce una quantità Pl che è lo
spettro di potenza per tutti i valori u e v compresi dalla circonferenza di raggio l0
nel dominio delle frequenze (u,v)
N 1 N 1
Pl 0   P (u , v)
u 0 v 0
È utile considerare come in corrispondenza delle varie frequenze di taglio si hanno
le percentuali dello spettro di potenza che varia da zero sino ad un massimo del
100%:


100 P(u, v) / Pl 0 
u v

al variare di l0
55
[email protected]
FILTRO DI BUTTERWORTH
La funzione di trasferimento di questo filtro d’ordine n e con frequenza di taglio l0 è
data da:
1
H ( u, v ) 
1  [l (u, v ) / l0 ]2 n
dove l(u,v) rappresenta lo spettro definito in precedenza
56
[email protected]
FILTRO DI BUTTERWORTH
L’effetto del filtro è sostanzialmente controllato ancora dal valore della frequenza
di taglio l0 dal quale dipende la quantità di energia che viene conservata e quindi il
livello di sfocamento introdotto nell’immagine
A differenza del filtro ideale comunque non si verifica una brusca discontinuità tra
le frequenze filtrate e quelle passanti
Per un filtro di smoothing è importante definire una frequenza di taglio l0 tale che il
valore della funzione H raggiunga un valore non superiore ad una frazione del suo
massimo valore
Dall’equazione precedente, per H(u,v)=.5 (50% del massimo valore) segue che
l(u,v)=l0
Un’altra frazione usata è
1
2
del valore massimo di H
In questo caso, nelle condizioni che l(u,v)=l0, la funzione di trasferimento diventa:
H (u, v) 
1
1

2n
1  [ 2  1][l (u, v) / l0 ]2 n 1  0,414[l (u, v) / l0 ]
57
[email protected]
FILTRO DI BUTTERWORTH
Immagine originale
l0= 1/3 .
58
l0= 1/2 .
[email protected]
FILTRO ESPONENZIALE
La funzione di trasferimento di tale filtro è la seguente:
H ( u, v )  e
 [ l ( u , v ) / l0 ] n
Anche per questo filtro è conveniente scegliere una percentuale p del valore
massimo di H per ottenere un valore l0 della frequenza di taglio.
In questo caso la funzione di trasferimento si modifica con:
[ln p ][ l ( u , v )/ l0 ] n
H ( u, v )  e
59
[email protected]
FILTRO TRAPEZOIDALE
Questo filtro produce un effetto intermedio tra il filtro ideale ed i filtri
considerati in precedenza (esponenziale e butterworth). La funzione di
trasferimento è la seguente:
1

 l ( u , v )  l1
H (u, v )  
 l0  l1
 0
l ( u, v )  l 0
l 0  l ( u, v )  l 1
l ( u, v )  l 1
In questo filtro l0 rappresenta la frequenza di taglio ed [l0,l1] rappresenta un
intervallo della frequenza con variazione lineare di H, utile ad evitare le brusche
variazioni tipiche del filtro ideale
60
[email protected]
Scarica

ppt