Trasformata di Fourier - Dipartimento di Informaticaig/lezioni-10-11/5-fourier.pdf · Nucleo della...

Preview:

Citation preview

1

Trasformata di Fourier

Sistemi lineari

L Caponetti

Operatori localiGli operatori locali associano ad ogni pixel ( i,j) della immagine di output Q un valore calcolato in un intorno o finestra w centrata nel pixel P(i,j)

Q=f(P,w)

P(i,j)

2

L Caponetti

Operatori localiLa funzione f può essere lineare o non lineare:

Filtri lineari sono definiti tramite convoluzioneFiltri non lineari

P(i,j)

L Caponetti

Filtri lineari

Gli operatori locali che operano su una immagine mediante l’operazione di convoluzione - della immagine con una maschera di pesi - possono essere descritti mediante la teoria dei segnali ed in particolare dei sistemi lineari:

Trasformata di FourierProdotto di convoluzioneFiltri lineari

3

L Caponetti

Correlazione

Siano f(x,y) una immagine di dimensione NxNh(x,y) una maschera spaziale di dimensione LxLa= parte intera(L/2)

L’operazione di correlazione della immagine f(x,y) con h(x,y) con origine nel centro della maschera si esprime nel modo seguente:

1......0,

),(),(),(

−=

++=

∗=

∑ ∑−= −=

Nji

jyixfjihyxg

fhga

ai

a

aj

L Caponetti

Correlazione - convoluzione

L’operazione di correlazione èequivalente alla operazione di convoluzionenel caso in cui h(x,y) sia una matricesimmetrica

4

L Caponetti

Convoluzione

L’operazione di convoluzione è una operazione lineareche combina due funzioni h, f aventi ugualedimensionalità – continue o discrete:

∑∑

∑∑∞

−∞=

−∞=

−∞=

−∞=

−−=

−−=

∗=

i j

i j

yxhjyixf

jifjyixh

yxfyxhyxg

),(),(

),(),(

),(),(),(

L Caponetti

ConvoluzioneIn pratica h( x, y ) è di “estensione finita”

Se ∆ è il più piccolo intorno in cui h è diversa da 0 - ∆ è detto supporto di h, si può scrivere:

),(),(

),(),(),(

),(;0),(

),(

jifiyixh

jifjyixhyxg

yxforyxh

a

ai

b

bj

ji

−−=

−−=

∆∉=

∑∑

−= −=

∆∈

dove ∆ è didimensione(2a+1)x(2b+1) pixel

5

L Caponetti

ConvoluzioneSe ∆ è il più piccolo intorno in cui h è diversa da 0, di dimensione (2a+1)X(2b+1)

),(),(

),(),(),(

jihjyixf

jihjyixfyxg

a

ai

b

bj

a

ai

b

bj

−−++=

−−=

∑∑

∑∑

−= −=

−= −=

L’equazione è simile a quella della correlazione: differisce perché la funzione h(i,j) è invertita rispetto agli assi; cioè la maschera h è ruotata cioè di 180 gradi

L Caponetti

Correlazione

L’equazione è detta correlazione della maschera h e della immagine f

Quando h(x,y) è simmetrica l’operazione dicorrelazione è uguale a quella di convoluzione

∑∑−= −=

++=

∗=a

ai

b

bj

jyixfyxh

yxfyxhyxg

),(),(

),(),(),(

6

L Caponetti

Funzione immagine – dominio spaziale

Una immagine è una funzione digitale in due dimensioni: i valori rappresentano il livello di grigio di un determinato pixel di coordinate (x,y)y

x

O

L Caponetti

Immagine come segnale

Segnale: variazione di una grandezza fisica rispetto al tempo e/o allo spazio cioè

Valore della grandezza ad ogni istante di tempo (spazio)

Un segnale è una funzione dipendente da una o piùvariabili

Le immagini stazionarie dipendono dalle coordinate spaziali: siparla di analisi nel dominio dello spazioLa funzione immagine considerata un segnale bidimensionale può essere studiata anche nel dominio delle frequenze –tramite la trasformata di Fourier

7

L Caponetti

Dominio delle frequenzeAmpiezza della trasformata di Fourier nel dominio delle frequenze (u,v) con origine nel centro della immagine

u

vO

L Caponetti

Trasformata di Fourier

FondamentiSerie di Fourier: una funzione periodica puòessere rappresentata come somma di funzioniseno e coseno di differenti frequenze, moltiplicateper differenti coefficientiTrasformata di Fourier: le funzioni non periodiche possono essere rappresentate come integrale di funzioni seno/coseno moltiplicate per dei coefficienti

8

L Caponetti

1D Discrete Fourier Transform -DFTUn segnale digitale di estensione finita può essere rappresentato mediante la Trasformata Discreta diFourier - DFT

Sia f(x) -- {f (0), f (1), … , f (N - 1) } un segnalemonodimensionale di lunghezza N

Si definiscono la trasformata diretta e quella inversa

DFT diretta∑−

=

−=1

0

)2exp()()(N

x NuxjxfuF π u=0,1,…,N-1

DFT inversa ∑−

=

=1

0

)2exp()(1)(N

u NuxjuF

Nxf π x=0,1,…,N-1

L Caponetti

Nucleo della trasformata di FourierFormula di Eulero φφφ sincos je j +=

Nucleo o base della trasformata diretta - kernel

)2sin()2cos()2exp(2

Nuxj

Nux

Nuxje N

uxjπππ

π−=−=

Nucleo della trasformata inversa

Nuxj

eπ2 u=0,1,…,N-1

x=0,1,…,N-1

9

L Caponetti

Funzioni base di FourierL’equazione DFT inversa descrive la funzione f(x)come combinazione lineare di termini seno e coseno pesati con i coefficienti di Fourier F(u)

Ciascuna funzione coseno e seno è periodica di periodo N con frequenza u e frequenza angolare

∑−

=

=1

0

)2exp()(1)(N

u NuxjuF

Nxf π

)2cos(Nuxπ )2sin(

Nuxπ

Nuπ2

L Caponetti

Funzioni base – seno/coseno - M=8

10

L Caponetti

Funzioni base – seno/coseno

Funzioni base discrete: C coseno e S senoLunghezza del segnale M=8 - numero d’onda m=0,1,2,3Le altre funzioni sono uguali:

m=1 corrisponde a m=7m=2 a m=6m=3 a m=4

L Caponetti

Proprietà funzioni seno/coseno

12sin2cos

2cos

2cossin

=+

−=

+=

xx

xxx ππ

11

L Caponetti

2D Discrete Fourier Transform -DFT

Trasformata discreta di Fourier- 2-D DFT : un segnale digitale bidimensionale di estensione finita può essere rappresentato mediante la trasformatadiscreta di Fourier 2-D

Sia f(x,y) x= 0,1,…, M -1 , y= 0,1,…, N- 1una immagine di M x N pixel; si definiscono la

trasformata diretta e quella inversa bidimensionali

L Caponetti

2D Discrete Fourier TransformSia f(x,y) una immagine digitale di (MxN) pixel, si definisce

Trasformata discreta di Fourier:

( ) ( )

( ) ( )

1,...,2,1,0 e 1,...,2,1,0per

,,

1,...,2,1,0 e 1,...,2,1,0per

,1,

1

0

1

0

2

1

0

1

0

2

−=−=

=

−=−=

=

∑∑

∑∑

=

=

+

=

=

+−

NyMx

evuFyxf

NvMu

eyxfMN

vuF

M

u

N

v

Nvy

Muxj

M

x

N

y

Nvy

Muxj

π

π

DFT diretta 2-D

DFT indiretta -2D

u,v - dominio delle frequenze

12

L Caponetti

Considerazioni

Ogni termine della trasformata di Fourier F(u,v) èottenuto come combinazione lineare di tutti i valori della funzione f(x,y)I valori f(x,y) sono moltiplicati per le funzioni base seno e coseno di frequenze diverseIl dominio (u,v) è noto come dominio delle frequenze

I coefficienti F(u,v) sono detti componenti in frequenza della trasformata o coefficienti di Fourier

L Caponetti

Esponenziale complesso

)2sin()2cos()2exp(2

Nuxj

Nux

Nuxje N

uxjπππ

π−=−=

Parte reale Parte immaginaria

F(u,v) è una funzione complessa; si può quindi esprimere in coordinate polari

( ) ( ) ),(,, vujevuFvuF φ=

13

L Caponetti

Trasformata in 2D

La trasformata della funzione f(x,y) è una funzione complessa- si può esprimere in termini di ampiezza e fase:

Spettro o ampiezza

Angolo di fase

Spettro di potenza

Le variabili u e v vengono chiamate variabili di frequenza

( ) ( ) ( )

( ) ( )( )

( ) ( ) 2

22

,,

,,,

,,,

vuFvuP

vuRvuIarctgvu

vuIvuRvuF

=

=

+=

ϕ

( ) ( ) φjevuFvuF ,, =

L Caponetti

14

L Caponetti

Visualizzazione della trasformata di Fourier

La trasformata di Fourier non può essere visualizzata essendo una funzione complessaSi visualizzano separatamente l’ampiezza o la fase. Per l’ampiezza si utilizza la funzione logaritmica

( ) ( )( )u,vF1logu,vD +=

Infatti l’ampiezza decresce piuttosto rapidamente all’aumentare della frequenzaLe componenti di alta frequenza tenderebbero ad essere scure se visualizzate direttamente:

La funzione log è non negativa e preserva il valore 0

L Caponetti

Trasformata di Fourier diretta

I coefficienti F(u,v) di Fourier sono in relazione con alcune caratteristiche della immagine

F(0,0) è proporzionale al valore di brillanza medio della immagine f(x,y)

I coefficienti F(u,v) in corrispondenza di valori elevati di u,v–alte frequenze spaziali- sono in relazione alle brusche variazioni di livello di grigio – edge pixel

I coefficienti F(u,v) in corrispondenza di valori bassi di u,v, vicino all’origine –basse frequenze spaziali- sono in relazione a regioni abbastanza uniformi

15

L Caponetti

Esempio

inputfft

output

Smoothing filter

L Caponetti

ghepardo

16

L Caponetti

Ampiezza della trasformata del ghepardo

L Caponetti

Fase della trasformata del ghepardo

17

L Caponetti

Zebra

L Caponetti

Ampiezza della trasformata della zebra

18

L Caponetti

Fase della trasformata della zebra

L Caponetti

Curiosità sulla FT di immagini

Le ampiezze della FT delle immagini naturalisono abbastanza simili tra loro

L’informazione è elevata vicino alle bassefrequenze, si va attenuando verso le altefrequenze

La maggior parte della informazione è nellafase e non nell’ampiezza

Non è molto chiaro perchè sia quasi sempre così

19

L Caponetti

Ricostruzione con la fase della zebra e l’ampiezza del ghepardo

L Caponetti

Ricostruzione con la fase del ghepardo e l’ampiezza della zebra

20

L Caponetti

Relazione tra intervalli spaziali e in frequenza

Supponiamo che una funzione continua f(t,z) sia campionata per formare una immagine digitale f(x,y)- costituita da MxN campioni presi sull’asse t e z rispettivamenteSupponiamo che ∆T e ∆Z siano gli intervalli di campionamento lungo i 2 assiNel dominio delle frequenze gli intervalli di campionamento sono dati da

ZNv

TMu

∆=∆

∆=∆

1;1

L Caponetti

Relazione tra intervalli spaziali e in frequenza

Le distanze dei campioni nel dominio delle frequenze sono inversamente proporzionali al numero di campioni e all’intervallo di campionamento spaziale

ZNv

TMu

∆=∆

∆=∆

1;1

21

L Caponetti

Proprietà fondamentaliLa trasformata di Fourier gode delle seguenti

proprietà:

traslazione

separabilità

periodicità

simmetria

linearità

convoluzione/ correlazione

L Caponetti

Traslazione

Una traslazione effettuata sulla funzione originale comporta una modifica della fase per la trasformata, e viceversa:

( ) ( )

( ) ( ) Nvyuxj

Nyvxuj

evuFyyxxf

eyxfvvuuF

00

00

200

200

,,

,,

+−

+

⇔−−

⇔−−

π

π

22

L Caponetti

Traslazionef(x,y)exp[j2π(u0x+v0y)/N] ⇔ F(u-u0, v-v0)

Il prodotto di f(x,y) per un termine esponenziale produce nella trasformata F(u,v) una traslazione di (u0,vo). Si ha cioè che l’origine del piano (u,v) trasla nel punto (u0, v0)

In particolare se u0= v0 = N /2, si ha che l’origine (0,0) trasla al centro del piano

exp[j2π(u0x+v0y)/N] = e jπ(x+y) = (-1)x+y

f(x,y)(-1) x+y ⇔ F(u-N/2, v-N/2)

L Caponetti

Traslazione

E’ possibile traslare l’origine della trasformata di Fourier di f(x,y) nel centro del piano (u,v)moltiplicando f(x,y) per (-1)x+y ed effettuando quindi la trasformata di Fourier

È da notare che questa traslazione non influenza il modulo della trasformata:

( )[ ] ( )vuFNvyuxjvuF ,/2exp),( 00 =+− π

se u0= v0 = N /2

23

L Caponetti

Separabilità

La funzione esponenziale complesso si può esprimere come prodotto lungo le due direzioni

è possibile separare la Trasformata di Fourier lungo le due direzioni:

Nvyj

Nuxj

Nvyuxj

eeeπππ 2.2)(2 −−+−

=

( ) ( )∑ ∑−

=

=

−−

⋅=1

0

1

0

22

,,N

x

N

y

Nvyj

Nuxj

eyxfevuFππ

( )vxF ,Trasformata per colonne Trasformata per righe

L Caponetti

Separabilità

Vantaggio: la trasformata può essere calcolata mediante due successive applicazioni della trasformata monodimensionale

24

L Caponetti

Rotazione

Se f(x,y) è ruotata di un angolo θ anche F(u,v) è ruotata dello stesso angolo θ

In maniera analoga una rotazione della trasformata F(u,v) causa una rotazione della funzione f(x,y) dello stesso angolo

L Caponetti

Rotazione

25

L Caponetti

Rotazione

L Caponetti

Periodicità

La trasformata di Fourier è periodica.

( ) ( )( ) ( )NvMuFNvuF

vMuFvuF++=+=

=+=,,

,,

La traformata discreta di Fourier è periodica con periodo

M e N lungo i 2 assi, rispettivamente

26

L Caponetti

Simmetria coniugata

Se f(x,y) è una funzione reale. La trasformata equivale alla trasformata complessa coniugata

L’ampiezza della trasformata è simmetrica rispetto all’origine

( ) ( )( ) ( )vuFvuF

vuFvuF

, di coniugata complessa ,con

,,*

* −−=

( ) ( )vuFvuF −−= ,,

L Caponetti

Simmetria- ampiezza dello spettro

27

L Caponetti

Linearità

La Trasformata di Fourier è lineare:

Cioè l’ operatore TF – che genera la trasformata di Fourier - è lineare:

( ) ( )

( ) ( )vuFbvuFa

yxfbyxfa

,,

,,

21

21

⋅+⋅

⋅+⋅

c

( ) ( ) ( )2121 fbTfaTbfafT FFF +=+

L Caponetti

Teorema di convoluzioneNel dominio delle frequenze il prodotto di convoluzione può essere rappresentato come:

G(u, v ) = H (u, v) . F (u, v ) – prodotto pixel per pixel

Dove H (u, v) and F (u, v ) sono trasformate di Fourierottenute dopo operazioni di zero-padding – cornice di zeri

L’operatore . indica la moltiplicazione punto a punto delle 2 matrici

Molte operazioni LSI possono essere interpretate nel dominio delle frequenze come operazioni di filtraggio: ad esempio lasciare passare certe componenti di frequenza e non lasciare passare altre componenti

28

L Caponetti

Sistemi lineari – filtraggio lineare

Un processo che accetta un segnale I ( immagine ) in input e la trasforma mediante una convoluzione èdetto sistema lineare

Obiettivo: migliorare la qualità della immagine, enfatizzandooppure attenuando alcune caratteristiche

Filtro digitalecaratterizzato dallarisposta impulsiva H

Immagine IOutput -Image J = I*H

L Caponetti

Sistemi lineari

Un sistema lineare può essere caratterizzato in 2 modi equivalenti mediante

Risposta impulsiva: risposta del sistema all’impulso unitario – nel dominio originale (per le immagini nel dominio spaziale)

Risposta in frequenza: descrive come il sistema elabora ogni componente in frequenza in una immagine:

Le componenti in frequenza possono essere amplificate oppure attenuate

29

L Caponetti

Un filtraggio nel dominio spaziale può essere rappresentato mediante una funzione T:

essendo f(x,y) l’immagine inizialeT la trasformazione

g(x,y) l’immagine filtrata

Nei sistemi lineari la trasformazione T è lineare

)],([),( yxfTyxg =

Spatial filtering

L Caponetti

Linear Shift-Invariance

Una trasformazione T is Lineare se, essendo a,b costanti

Shift invariant se , nella ipotesi

),()],([

),()],([

0000 yyxxgyyxxfTrisulta

yxgyxfT

−−=−−

=

)],([)],([)],(),([ yxgbTyxfaTyxbgyxafTrisulta

+=+

30

L Caponetti

Come specificare TSe l’operatore T è lineare e invarianteper traslazione (LSI), caratterizzato dallarisposta impulsiva h, la risposta g puòessere ottenuta dal prodotto diconvoluzione ),(),(

),(),(),(

jihjyixf

jihjyixfyxg

a

ai

b

bj

a

ai

b

bj

−−++=

−−=

∑∑

∑∑

−= −=

−= −=

L Caponetti

Image Enhancement in the Frequency Domain

31

L Caponetti

Image Enhancement in the Frequency Domain

L Caponetti

Lowpass filter

Filtro che attenua le frequenze, meno quelle piùbasse

Utile in un processo di smoothing cioèattenuare il rumore o sfocare i dettagli di una immagine, in modo da conservare le caratteristiche più evidenti

32

L Caponetti

Highpass filter

Filtro che attenua le frequenze, meno quelle più alte

Utile per un processo di enhancement cioèevidenziare i dettagli di una immagine ed il contrastorimuovere lo sfocamento

L Caponetti

Bandpass filter

Filtro che attenua le frequenze e fa passare le frequenze in una paricolare intervallo di frequenze(banda di frequenze)

33

L Caponetti

Come si calcola il prodotto di convoluzione

L’output g è calcolato facendo scorrere la maschera su ogni pixel della immagine f Attenzione particolare richiedono i pixel del bordodella immagine f

1. L’immagine è estesa con degli zeriSia L la dimensione di h; in una dimensione si ha:

=0

)()(~ xf

xfNx <≤0

01)2/( <≤+− xL 1)2/( −+<≤ LNxN

L Caponetti

Prodotto di convoluzione

2. L’immagine è estesa aggiungendo ai bordi righe e colonne extra – cornice. L’estensione è fatta ripetendo la prima/ultima riga/colonna oppure mediante valori costanti (fixed boundary). In una dimensione si ha:

−=

)1()()0(

)(~

Nfxf

fxf

1)2/( −+<≤ LNxN

01)2/( <≤+− xL

Nx <≤0

34

L Caponetti

Prodotto di convoluzione

3. L’immagine è estesa in modo periodico (periodic boundary). In una dimensione si ha:

+

=)mod(

)()mod)((

)(~

Nxfxf

NNxfxf

1)2/( −+<≤ LNxN

01)2/( <≤+− xL

Nx <≤0

L Caponetti

Prodotto di convoluzione

In ogni caso l’output finale g èristretto al supporto dell’immagineoriginale f

35

L Caponetti

Low-pass, Band-pass, High-pass filters

low-pass

band-pass

L Caponetti

2D convolution theorem example

*

f(x,y)

h(x,y)

g(x,y)

|F(sx,sy)|

|H(sx,sy)|

|G(sx,sy)|

Slide by Steve Seitz

Recommended