Sei sulla pagina 1di 22

Lez.

9 Convoluzione e Correlazione
Prof. Giovanni Mettivier

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

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:

_________________________________________________________________________________________________
Lez 9 - CONVOLUZIONE
Giovanni Mettivier 3

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:

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:

E importante analizzare il caso particolare della convoluzione di


una f(x) con funzioni di tipo impulsivo.
Limpulso (x-x0) definito dalla relazione:

E pu essere considerato, come noto, come avente area


unitaria in un intorno infinitesimo di x0 e area nulla altrove. Cio:

Si pu dire pertanto che (x-x0) localizzato in x = x0, e che


lampiezza dellimpulso determinata dal valore di f(x) in x = x0.

Se per esempio f(x) = A, A(x-x0) un impulso di


ampiezza A localizzato in x = x0:

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:

La convoluzione discreta di fe(x) e ge(x) cos


definita:

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.

Al variare di x e y, la
convoluzione 2D
una superficie la cui
forma dipende dalla
natura delle funzioni
utilizzate.

10

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 fe(x,y) e ge(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.
11

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.
12

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:

13

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 passabasso e passa alto.

14

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

15

Infatti lespressione ge(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.
16

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):

17

18

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

19

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.

20

1. Trasformazione con finestra mobile


2. Shift multiply add.
3. Trasformata di Fourier.

1.

2.

3.

21

22

23

Prendiamo una
unamatrice
matrice
Prendiamo
peso
peso

24

Spostiamocisu
sualtri
altripixel
pixel
Spostiamoci
25

Luscita della
della
Luscita
trasformata
perogni
ogni
trasformata per
pixel la
la media
media(pesata)
(pesata)
pixel
deipixel
pixelcon
con iiloro
loro vicini.
vicini.
dei

26

Risultato di
diun
un
Risultato
media con
conun
un
media
matrice9x9
9x9
matrice

27

Se una trasformazione a finestra mobile lineare


allora essa una convoluzione:
g ( x, y ) = [ f w]( x, y ) =

f ( x s, y t ) w( s, t )ds dt ,

Per una immagine digitale


J ( x , y ) = [ f w] ( x , y ) =

f ( x s, y t ) w(s, t )

s = t =

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
Origine
della
della
maschera
maschera

Ruoto
Ruotodidi
180

180

Lo
Losposto
sposto
sul
sulpixel
pixel
(x,y)
(x,y)

intorno
intorno
alalpixel
pixel
(x,y)
(x,y)
30

Moltiplica
Moltiplica
con
conI(r-1,cI(r-1,c2)
2)

Moltiplica
Moltiplica
con
conI(r-1,c)
I(r-1,c)

Moltiplica
Moltiplica
con
conI(r,c-1)
I(r,c-1)
Moltiplica
Moltiplica
con
con
I(r+1,c+1)
I(r+1,c+1)
31

a b c
d e f
g h i

32

Unaltro
altroesempio
esempio
Un

original
original

3x3 average
average
3x3
33

original
original

3x3 average
average
3x3
34

original
original

3x3 average
average
3x3

35

original
original

3x3 average
average
3x3

36

AtAtthe
thelocations
locations
not
notshown,
shown,the
the
results
were
results were
zeros.
zeros.

Shifted
Shiftedweight
weight
matrix
matrix
Result
Resultofofsum
sum
ofofproducts
products

Location
Locationofof
impulse
impulse

Accumulated
Accumulated
nonzero
nonzeroresults
results

The
Theoriginal
originalimage
imagehas
hasaablack
black
impulse
impulseatatthe
thecenter
centerand
and
zeros
(white)
elsewhere.
zeros (white) elsewhere.

The
Theweight
weightmatrix
matrixhas
hasaagray
gray
L
Latatits
itsleft
leftand
andzeros
zeros(white)
(white)
elsewhere.
elsewhere.

The
Theresulting
resultingimage
imagehas
hasaacopy
copy
ofofthe
theweight
weightmatrix
matrixpegged
peggedtoto
the
impulse
location.
the impulse location.

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

(r 16, c 16)

41

(r 0, c 0)

(r 16, c 16)

Sumtimes
times1/2
1/2
Sum

42

(r + 16, c + 16)

(r 0, c 0)

(r 16, c 16)

Sumtimes
times1/3
1/3
Sum

43

(r + 16, c + 16)

(r + 16, c 16)

(r 0, c 0)

(r 16, c + 16)

(r 16, c 16)

Sumtimes
times1/5
1/5
Sum

44

Potrebbero piacerti anche