Vous êtes sur la page 1sur 22

Lez.

9 Convoluzione e Correlazione
Prof. Giovanni Mettivier
1
Dott. Giovanni Mettivier, PhD
Dipartimento Scienze Fisiche
Universit di Napoli Federico II
Compl. Univ. Monte S.Angelo
Via Cintia, I-80126, Napoli
mettivier@na.infn.it
+39-081-676137
2
_________________________________________________________________________________________________
Lez 9 - CONVOLUZIONE Giovanni Mettivier
3
Insieme con la correlazione, costituisce il legame essenziale tra il
dominio spaziale e il dominio della frequenza, oltre che la base di
molti algoritmi di image processing.
Date due funzioni continue 1D, f(x) e g(x), la loro convoluzione
definita da:
dove una variabile di comodo per lintegrazione.
A titolo di esempio, consideriamo le due funzioni seguenti:
4
Prima dellintegrazione, occorre costruire la g(x-). A
tal fine, bisogna ribaltare g() rispetto allorigine, in
modo da ottenere g(-), e quindi traslare la funzione
cos ottenuta di una quantit x:
A questo punto, per ciascun valore di x, f() deve
essere moltiplicata per il corrispondente valore di g(x-
), ed infine il prodotto cos ottenuto (area grigia nelle
figure seguente) deve essere integrato:
5
Per x interno allintervallo [0,1], il prodotto 0 per
esterno allintervallo [0,x]. Il risultato dellintegrazione
quindi x/2 per 0 x 1. Invece, per x interno
allintervallo [1,2], il risultato 1 x/2. infine, il
prodotto 0 per x esterno allintervallo [0,2].
Riassumendo, si ha:
6
E importante analizzare il caso particolare della convoluzione di
una f(x) con funzioni di tipo impulsivo.
Limpulso (x-x
0
) definito dalla relazione:
E pu essere considerato, come noto, come avente area
unitaria in un intorno infinitesimo di x
0
e area nulla altrove. Cio:
Si pu dire pertanto che (x-x
0
) localizzato in x = x
0
, e che
lampiezza dellimpulso determinata dal valore di f(x) in x = x
0
.
7
Se per esempio f(x) = A, A(x-x
0
) un impulso di
ampiezza A localizzato in x = x
0
:
Un esempio interessante di convoluzione quella tra
una funzione f(x) e un treno di impulsi. In questo caso,
il risultato la replica della f(x) nei punti di
localizzazione degli impulsi:
8
La convoluzione discreta di f
e
(x) e g
e
(x) cos
definita:
9
Nel caso 2D, la convoluzione di due funzioni continue, f(x,y) e
g(x,y), definita come:
Le fasi di ribaltamento, traslazione e moltiplicazione richieste
dalla convoluzione 2D possono essere schematizzate nel modo
seguente:
Al variare di x e y, la
convoluzione 2D una
superficie la cui forma
dipende dalla natura
delle funzioni utilizzate.
10
Al variare di x e y, la
convoluzione 2D
una superficie la cui
forma dipende dalla
natura delle funzioni
utilizzate.
11
La formulazione della convoluzione 2D discreta assume che f(x,y)
e g(x,y) siano due array discreti di dimensione A x B e C x D,
rispettivamente.
La convoluzione 2D discreta di f
e
(x,y) e g
e
(x,y) cos definita:
Per x = 0, 1, , M-1 e y = 0, 1, , N-1
Questo array M x N in realt un periodo della convoluzione
discreta 2D.
Il teorema della convoluzione discreta 2D espresso dalle relazioni
viste:
dove u = 0, 1 , , M-1 e v = 0, 1, , N-1, e le sequenze sono
estese se si vuole evitare lerrore di wraparound.
12
Supponiamo di effettuare, nel caso continuo, la
convoluzione tra una funzione rumorosa e un impulso
rettangolare di larghezza finita:
Quando la convoluzione procede, da sinistra verso
destra, per ogni valore di x viene in pratica effettuate
una media locale (data dalla integrazioni, cio dalla
somma, del prodotto di f e g), su un intervallo di
ampiezza unitaria.
13
La media locale sopprime le oscillazioni rapide ovvero i
dettagli, cio le componenti di alta frequenza del
segnale, al contempo mantenendone la forma, cio le
componenti di bassa frequenza.
Quindi la g(x) ha il comportamento tipico di un filtro
passa-basso: in pratica ha effettuato lo smoothing della
funzione rumorosa.
Consideriamo questaltro esempio, in cui la f(x)
rappresenta una transizione piuttosto lenta da valori alti,
tipicamente un contorno o edge, e la g(x) presenta un
lobo centrale positivo e due laterali negativi:
14
Il risultato della convoluzione manifesta
una pendenza maggiore di quella della
f(x), con una evidenziazione delle
componenti di alta frequenza del
segnale, e una sovraelongazione
(ringing) sui due lati delledge.
Quindi la g(x) ha il comportamento
tipico di un filtro passa-alto: in pratica ha
effettuato lo sharpening della f(x).
Le due g(x) possono in realt essere
considerate delle tipiche risposte
impulsive di filtri, rispettivamente passa-
basso e passa alto.
15
Le precedenti considerazioni non sono inattese: tornando al caso
discreto 2D, la definizione di convoluzione
Per x = 0, 1,, M-1 e y = 0, 1, , N-1, ricorda da vicino loperazione
di una maschera spaziale, la cui uscita in ogni punto dellimmagine,
come noto, vale
16
Infatti lespressione g
e
(x-m, y-n) per ogni coppia di
coordinate (x,y) in cui va calcolato il valore delluscita g,
indica che rispetto agli assi m e n la h deve essere
ribaltata e poi traslata di x posizioni lungo m e di y
posizioni lungo n.
Successivamente i valori della f vengono moltiplicati
per quelli della h ribaltata e traslata, e la loro somma
cos pesata contribuisce al valore delluscita g.
Naturalmente si sommano solo i termini corrispondenti
agli indici per i quali il prodotto diverso da zero, per
esempio nove per una maschera 3 x 3 per ogni coppia
(x,y).
La sola differenza tra loperazione di convoluzione e
quella di filtraggio spaziale precedentemente definita
sta nel fatto che questultima non prevede il
ribaltamento.
17
Date due funzioni continue 1D, f(x) e g(x), la loro correlazione
definita da.
dove a una variabile di comodo per lintegrazione e f* la
complessa coniugata di f
La differenza con la convoluzione che la g(x) non ribaltata
attorno allorigine. Pertanto il calcolo della correlazione richiede,
per ciascun valore di x, solo lo scorrimento di g(x) rispetto a f(x) e
lintegrazioni del prodotto cos ottenuto (area grigia nelle figure
seguenti):
18
19
La formulazione della correlazione discreta
Nel caso 2D, la correlazione continua :
Mentre la correlazione discreta :
Per x = 0,1, , M-1 e y = 0, 1, , N-1
20
In sostanza le due operazioni coincidono se la
maschera simmetrica rispetto al suo punto centrale,
come avviene per la maggior parte dei filtri adoperati
per il miglioramento della qualit
Per i motivi suddetti le maschere spaziali sono anche
dette maschere di convoluzione.
1. Trasformazione con finestra mobile
2. Shift multiply add.
3. Trasformata di Fourier.
1. 2. 3.
21
22
23
Prendiamo una matrice
peso
Prendiamo una matrice
peso
24
Spostiamoci su altri pixel
Spostiamoci su altri pixel
25
Luscita della
trasformata per ogni
pixel la media (pesata)
dei pixel con i loro vicini.
Luscita della
trasformata per ogni
pixel la media (pesata)
dei pixel con i loro vicini.
26
Risultato di un
media con un
matrice 9x9
Risultato di un
media con un
matrice 9x9
27
Se una trasformazione a finestra mobile lineare
allora essa una convoluzione:
[ ] , ) , ( ) , ( ) , ( ) , (


= = dt ds t s w t y s x f y x w f y x g
[ ]

=
= =
s t
t s w t y s x f y x w f y x J ) , ( ) , ( ) , ( ) , (
Per una immagine digitale
28
Loggetto, w(s,t), nellequazione una funzione peso, o nel
caso discreto, una matrice rettangolare di numeri.
La matrice la finestra mobile.
Il pixel (x,y) nellimmagine di output la somma pesata dei
pixel dellimmagine originale nellintorno di (x, y) indicati
dalla matrice.
Ogni pixel nellintorno di (x, y) moltiplicato per il
corrispondente valore della matrice dopo che la matrice
stata ruotata di 180.
La somma di questi prodotti il valore del pixel (x, y)
nellimmagine di output.
29
Origine
della
maschera
Origine
della
maschera
Ruoto di
180
Ruoto di
180
Lo sposto
sul pixel
(x,y)
Lo sposto
sul pixel
(x,y)
intorno
al pixel
(x,y)
intorno
al pixel
(x,y)
30
Moltiplica
con
I(r+1,c+1)
Moltiplica
con
I(r+1,c+1)
Moltiplica
con I(r-1,c-
2)
Moltiplica
con I(r-1,c-
2)
Moltiplica
con I(r,c-1)
Moltiplica
con I(r,c-1)
Moltiplica
con I(r-1,c)
Moltiplica
con I(r-1,c)
31

i h g
f e d
c b a
c
g
f
i

32
original
original
3x3 average
3x3 average
Un altro esempio
Un altro esempio
33
original
original
3x3 average
3x3 average
34
original
original
3x3 average
3x3 average
35
original
original
3x3 average
3x3 average
36
Result of sum
of products
Result of sum
of products
Shifted weight
matrix
Shifted weight
matrix
The original image has a black
impulse at the center and
zeros (white) elsewhere.
The original image has a black
impulse at the center and
zeros (white) elsewhere.
The weight matrix has a gray
L at its left and zeros (white)
elsewhere.
The weight matrix has a gray
L at its left and zeros (white)
elsewhere.
The resulting image has a copy
of the weight matrix pegged to
the impulse location.
The resulting image has a copy
of the weight matrix pegged to
the impulse location.
Accumulated
nonzero results
Accumulated
nonzero results
Location of
impulse
Location of
impulse
At the locations
not shown, the
results were
zeros.
At the locations
not shown, the
results were
zeros.
37
Una maschera simmetrica non necessita della rotazione di 180.
38
1. Trasformazione con finestra mobile
2. Shift multiply add.
3. Trasformata di Fourier.
1. 2. 3.
39
Limmagine copiata 1 volta per ogni elemento
della maschera di convoluzione.
Ogni copia shiftata rispetto alloriginale per lo
spostamento associato allelemnto della
maschera.
Ogni copia moltiplicata per il valore del suo
elemento della maschera associato.
Linsieme delle immagini shiftate e moltiplicate
sommato pixel per pixel.
40
( ) 16 , 16 c r
41
( ) 16 , 16 c r
( ) 0 , 0 c r
Sum times 1/2
Sum times 1/2
42
( ) 16 , 16 c r
( ) 0 , 0 c r
( ) 16 , 16 + + c r
Sum times 1/3
Sum times 1/3
43
( ) 16 , 16 c r
( ) 0 , 0 c r
( ) 16 , 16 + + c r ( ) 16 , 16 + c r
( ) 16 , 16 + c r
Sum times 1/5
Sum times 1/5
44