espaço de fourier - university of são paulo

65
1 Processamento de Imagens Médicas Processamento de Imagens Médicas Espaço de Fourier Prof. Luiz Otavio Murta Jr. Depto. de Física e Matemática (FFCLRP/USP)

Upload: others

Post on 11-Apr-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Espaço de Fourier - University of São Paulo

1 Processamento de Imagens Médicas

Processamento de Imagens Médicas

Espaço de Fourier

Prof. Luiz Otavio Murta Jr.

Depto. de Física e Matemática (FFCLRP/USP)

Page 2: Espaço de Fourier - University of São Paulo

2 Processamento de Imagens Médicas

Teorema da Amostragem (Nyquist).

- O teorema da amostragem de Nyquist diz que devemos

amostrar um sinal analógico (real) com uma taxa

(freqüência) de amostragem de, no mínimo, duas vezes a

sua freqüência para evitar o fenômeno de “aliasing”.

Famostragem ≥ 2 x Fsinal .

- A freqüência correspondente ao dobro da máxima

freqüência de um sinal é denominada taxa de

amostragem de Nyquist.

Page 3: Espaço de Fourier - University of São Paulo

3 Processamento de Imagens Médicas

“Aliasing".

As figuras (a), (b) e (c) mostram

amostragens corretas de três

ondas senoidais. Em (c) não

parece captar a forma de onda

corretamente, apesar de cada

período ser amostrado mais de

duas vezes. Em (d), a freqüência

da onda senoidal analógica é

maior que a freqüência de Nyquist

(metade da freqüência de

amostragem). Isto resulta em

“aliasing”, onde a freqüência do

dado amostrado é diferente da

freqüência do sinal analógico,

portanto o sinal não pode ser

reconstruindo porque está

corrompido

Page 4: Espaço de Fourier - University of São Paulo

4 Processamento de Imagens Médicas

“Aliasing".

Quando ocorre “aliasing” devido a

uma freqüência de amostragem

muito baixa, o efeito pode ser

descrito por uma superposição

errônea do sinal analógico em

freqüências acima da freqüência

de Nyquist.

Sub-amostragem

Page 5: Espaço de Fourier - University of São Paulo

5 Processamento de Imagens Médicas

Sinais Senoidais no Tempo Contínuo

• Uma oscilação harmônica é descrita matematicamente por:

Este sinal é caracterizado por:

1. xa(t) é periódico

• xa(t + Tp) = xa(t)

• onde Tp = 1/F é o período fundamental.

2. O aumento da freqüência F resulta no aumento da taxa de oscilação dentro de um intervalo.

Page 6: Espaço de Fourier - University of São Paulo

6 Processamento de Imagens Médicas

Exemplo de um sinal senoidal no tempo discreto = / 6 e = / 3

Sinais Senoidais no Tempo Discreto

Uma senoide em tempo discreto é periódica somente se sua freqüência f é um número racional

Definição: x(n + N) = x(n) para todo n.

Exemplo:

cos[2πf(N+n) + θ] = cos(2πfn + θ)

Um sinal senoidal em tempo discreto pode ser escrito como:

Exemplo: x(n) = A cos(2πfn + θ)

- ∞ < n < ∞

Page 7: Espaço de Fourier - University of São Paulo

7 Processamento de Imagens Médicas

Senoides no tempo discreto onde suas freqüências são separada por um número inteiro múltiplo de 2 são idênticas

cos[(ω0+2π)n + θ] = cos [ω0n+2πn + θ]

A taxa de oscilação mais elevada de um sinal senoidal no tempo discreto é alcançada quando = (ou = -) ou, equivalentemente f=½ (ou f = -½).

freqüências negativas para sinais senoidais no tempo discreto

x(n)=Acos[ωn + θ] = A/2.ej(ωn+θ)+ A/2.e-j(ωn+θ)

A faixa de freqüência é finita entre - (-½ f ½).

Sinais Senoidais no Tempo Contínuo

Page 8: Espaço de Fourier - University of São Paulo

8 Processamento de Imagens Médicas

Domínio do Tempo e Freqüência.

Domínio da freqüência Domínio do tempo

Page 9: Espaço de Fourier - University of São Paulo

9 Processamento de Imagens Médicas

Transformada de Fourier.

Ilustração da decomposição de

Fourier. Um sinal de N pontos

decomposto em N+2 sinais, cada

um tendo N pontos. Metade destes

sinais são senos e a outra metade

são co-senos. As freqüências são

fixas, e as amplitudes são

proporcionas às componentes de

freqüências.

Page 10: Espaço de Fourier - University of São Paulo

10 Processamento de Imagens Médicas

Transformada de Fourier.

Exemplo de decomposição de Fourier. Um sinal de

16 pontos decomposto em 9 ondas seno e 9 ondas

co-seno. A freqüência de cada senoide e co-senoide

é fixa, e a amplitude é dependente da amplitude da

forma de onda para a dada freqüência

Page 11: Espaço de Fourier - University of São Paulo

11 Processamento de Imagens Médicas

Transformada de Fourier.

Funções deltas

(impulsos unitários)

Page 12: Espaço de Fourier - University of São Paulo

12 Processamento de Imagens Médicas

Transformada de Fourier.

Transformada discreta de Fourier

exemplos

Page 13: Espaço de Fourier - University of São Paulo

13 Processamento de Imagens Médicas

Domínio de Freqüências (“frequency range”).

Se a amplitude é

mudada em um domínio,

é mudada também no

outro domínio na mesma

proporção. Em outras

palavras, uma mudança

de escala em um

domínio corresponde a

uma mudança de escala

no outro domínio.

Homogeneidade da

transformada de

Fourier.

Page 14: Espaço de Fourier - University of São Paulo

14 Processamento de Imagens Médicas

Domínio de Freqüências (“frequency range”).

Somando-se dois ou mais sinais em

um domínio resulta em uma soma

correspondente no outro domínio.

Nesta figura, os sinais no domínio

do tempo (a) e (b) são somados

para produzir o sinal em (c). Isto

resulta na soma dos espectros.

Soma da transformada de Fourier.

Page 15: Espaço de Fourier - University of São Paulo

15 Processamento de Imagens Médicas

Domínio de Freqüências (“frequency range”).

1

0

1

00 )2()2cos()(n

n

n

n nkfsenbnkfaanf

Page 16: Espaço de Fourier - University of São Paulo

16 Processamento de Imagens Médicas

Domínio de Freqüências (“frequency range”).

Utilidades da Transformada de Fourier

-Remover freqüências indesejáveis de um sinal

-Certas operações são executadas mais facilmente e com maior

rapidez no domínio da freqüência

- Filtragem de freqüências indesejáveis

- A transformada de Fourier pode ser aproximada por uma soma de

senos e cossenos

exp[± j2πux] = cos(2πux) ± j sin(2πux)

- F(u) é apenas uma função ponderada para as diferentes freqüências

presentes em f(x)

- Para remover certas freqüências, ajuste os valores correspondentes

de F(u) para zero!!!

Page 17: Espaço de Fourier - University of São Paulo

17 Processamento de Imagens Médicas

Domínio de Freqüências (“frequency range”).

Como as freqüências aparecem em uma

imagem?

- Altas freqüências: variações rápidas (ex. bordas)

-Baixas freqüências: variações lentas (ex. superfícies contínuas)

Original Filtro passa-alta Filtro passa-baixa

Page 18: Espaço de Fourier - University of São Paulo

18 Processamento de Imagens Médicas

Domínio de Freqüências (“frequency range”).

dudvevuFyxfvuFF vyuxj 21 ,,,

Estendendo FT para duas dimensões

Transformada de Fourier

Transformada inversa de Fourier

dxdyeyxfvuFyxfF vyuxj 2,,,

Page 19: Espaço de Fourier - University of São Paulo

19 Processamento de Imagens Médicas

Exemplo de Transformada de Fourier 2D

dxdyeyxfvuF vyuxj 2,,

Y

vyj

X

uxj dyedxeA0

2

0

2

vYuXjevY

vYsen

uX

uXsenAXY

Page 20: Espaço de Fourier - University of São Paulo

20 Processamento de Imagens Médicas

Exemplo de Transformada de Fourier 2D

Page 21: Espaço de Fourier - University of São Paulo

21 Processamento de Imagens Médicas

Exemplo de Transformada de Fourier 2D

Page 22: Espaço de Fourier - University of São Paulo

22 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

1,...,1;)(1

)(1

0

2

NuexfN

uFN

x

N

uxj

Transformada Discreta de Fourier

(DFT)

DFT:

DFT inversa:

F(u) é discreta:

1,...,1;)()(1

0

2

NxeuFxfN

x

N

uxj

xuNuuuFuF

1;1,...,1,0);()(

Page 23: Espaço de Fourier - University of São Paulo

23 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Estendendo a DFT para duas dimensões

DFT:

DFT inversa:

Assuma que f(x,y) seja uma imagem N x N

DFT:

DFT inversa:

1

0

1

0

2

),(1

),(M

x

N

y

N

vy

M

uxj

eyxfMN

vuF

1

0

1

0

2

),(),(M

x

N

y

N

vy

M

uxj

evuFyxf

1

0

1

0

2

),(1

),(N

x

N

y

N

vyuxj

eyxfN

vuF

1

0

1

0

2

),(1

),(N

x

N

y

N

vyuxj

evuFN

yxf

Page 24: Espaço de Fourier - University of São Paulo

24 Processamento de Imagens Médicas

Exemplo de Transformada de Fourier 2D

Reconstrução com os primeiros coeficientes

(menores freqüências)

Page 25: Espaço de Fourier - University of São Paulo

25 Processamento de Imagens Médicas

Exemplo de Transformada de Fourier 2D

Reconstrução com os 200 maiores coeficientes

Page 26: Espaço de Fourier - University of São Paulo

26 Processamento de Imagens Médicas

Exemplo de Transformada de Fourier 2D

Reconstrução (primeiros coeficientes)

Page 27: Espaço de Fourier - University of São Paulo

27 Processamento de Imagens Médicas

Exemplos de Transformada de Fourier 2D

Page 28: Espaço de Fourier - University of São Paulo

28 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Propriedades – DFT 2D:

- Separabilidade

- Translação

- Escala

- Periodicidade e Simetria Conjugada

- Rotação

- Convolução

Page 29: Espaço de Fourier - University of São Paulo

29 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

1

0

1

0

22

),(1

),(N

x

N

y

N

vyj

N

uxj

eyxfeN

vuF

),(),(1

0

2

vxFeyxfN

y

N

vyj

Separabilidade

A FT 2D pode ser calculada usando FTs 1D apenas!!

DFT:

DFT inversa:

F(u,v) pode ser expressa em forma separável:

Fazendo: , Temos:

1

0

1

0

2

),(1

),(N

x

N

y

N

vyuxj

eyxfN

vuF

1

0

1

0

2

),(1

),(N

x

N

y

N

vyuxj

evuFN

yxf

1

0

2

),(1

),(N

x

N

uxj

vxFeN

vuF

Page 30: Espaço de Fourier - University of São Paulo

30 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Separabilidade

A DFT de uma matriz pode ser obtida através de

– Primeiro aplique a DFT-1D em cada linha (ou coluna)

– Em seguida aplique a DFT-1D em cada coluna (ou linha) no resultado

do passo anterior

Na prática, se você for aplicar a mesma função nos dois passos, o

resultado do primeiro passo deve ser transladado.

O resultado final deve ser transladado novamente.

Não importa a ordem da operação !

Page 31: Espaço de Fourier - University of São Paulo

31 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

),(),( 00

2 00

vvuuFeyxf N

yvxuj

Visualizando DFT 2D com translação

e

A transformada original F(u,v) pode ser deslocada para o centro da

matriz quadrada (N x N) multiplicando primeiro f(x,y) por (-1)x+y e depois

calculando a transformada de Fourier

O deslocamento não afeta a magnitude da transformada

2

,2

)1)(,( NvNuFyxf yx

Page 32: Espaço de Fourier - University of São Paulo

32 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Visualizando DFT - translação

Componentes de baixa freqüência

Page 33: Espaço de Fourier - University of São Paulo

33 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

f(x,y) |F(u,v)| |F(f(x,y)( 1)(x+y))|=|F(u N/2,v N/2)|

Page 34: Espaço de Fourier - University of São Paulo

34 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Escala:

),(),( vuaFyxaf

),( yxf

o

o

vusenvuFj

vuvuFF

180),(),(

180),(cos),(1

Page 35: Espaço de Fourier - University of São Paulo

35 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Exibição do espectro de Fourier: translação + escala

-será mostrada apenas a magnitude de F(u,v) transladada

-a faixa da magnitude de F(u,v) é muito grande [0, 2.5x106]

-aplicar escala: (c é uma constante) ),(1log.),( vuFcvuD

Page 36: Espaço de Fourier - University of São Paulo

36 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Periodicidade e Simetria Conjugada

A FT e sua inversa são periódicas com período N Para exibir um

período inteiro, é necessário mover a origem da transformada para o

ponto u=N/2 (ou em (N/2,N/2) no caso 2D) )

Page 37: Espaço de Fourier - University of São Paulo

37 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

u

vx

yvuyxr 112222 tan,tan,,

Rotação

A rotação de f(x,y) de Θ implica em uma rotação de F(u,v) de Θ

Distributividade

),().,cos.(),( vuFsenrrfyxf

)cos(.),cos(.),( 00 rrfyxg

)(.),cos(.),(),( 00 senFvuGyxgF

),(),(),(),( yxgFyxfFyxgyxfF

),(),(),(),( yxgFyxfFyxgyxfF

Page 38: Espaço de Fourier - University of São Paulo

38 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Rotação –– Exemplo

Page 39: Espaço de Fourier - University of São Paulo

39 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

1

0

1

02

),(1

),(N

x

N

y

yxfN

yxf

Valor Médio

1

0

1

0

),(1

)0,0(N

x

N

y

yxfN

F

)0,0(1

),( FN

yxf

1

0

1

0

2

),(1

),(N

x

N

y

N

vyuxj

eyxfN

vuF

lembrando que:

Page 40: Espaço de Fourier - University of São Paulo

40 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Convolução

•Definição

( note que f(x) * g(x) = g(x) * f(x) )

•Teorema da Convolução

f(x) * g(x) ↔ F(u) G(u)

(convolução no domínio direto significa multiplicação no domínio da freqüência)

f(x) g(x) ↔ F(u) * G(u)

(multiplicação no domínio direto significa convolução no domínio da freqüência)

daaxgafxgxf )()()(*)(

Page 41: Espaço de Fourier - University of São Paulo

41 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Calculando f *g com eficiência

1. Calcule: F(f(x)) = F(u), e F(g(x)) = G(u)

2. Multiplique: F(u)G(u)

3. Calcule a FT inversa: F-1(F(u) G(u)) = f(x) * g(x)

Convolução discreta

1. A integral é substituída pela soma

2. A variável de integração se torna um índice

3. Os deslocamentos ocorrem segundo incrementos discretos

m

Mxmxgmfxgxf 10 ),()()(*)(

Page 42: Espaço de Fourier - University of São Paulo

42 Processamento de Imagens Médicas

Transformada de Fourier 2D discreta

Exemplo

Seqüências de entrada: {f(0),f(1),…,f(A-1)},{g(0),g(1),…,g(B-1)}

Comprimento da seqüência de saída: M = A+B-1

Page 43: Espaço de Fourier - University of São Paulo

43 Processamento de Imagens Médicas

Filtros no domínio da freqüência

• Domínio da freqüência

G(u,v) = H(u,v) F(u,v)

• Domínio espacial

g(x,y) = h(x,y) * f(x,y)

Page 44: Espaço de Fourier - University of São Paulo

44 Processamento de Imagens Médicas

Filtros no domínio da freqüência

• Filtro Passa-baixa

Page 45: Espaço de Fourier - University of São Paulo

45 Processamento de Imagens Médicas

Filtro Passa-baixas

• Filtro Passa-baixa Ideal

• u, v são coordenadas de freqüência

D(u,v) = (u2+v2)1/2

0

0

),( se 0

),( se 1),(

DvuD

DvuDvuH

Page 46: Espaço de Fourier - University of São Paulo

46 Processamento de Imagens Médicas

Filtro Passa-baixas

Page 47: Espaço de Fourier - University of São Paulo

47 Processamento de Imagens Médicas

Filtro Passa-baixas

Page 48: Espaço de Fourier - University of São Paulo

48 Processamento de Imagens Médicas

Filtro Passa-baixas

Page 49: Espaço de Fourier - University of São Paulo

49 Processamento de Imagens Médicas

Fitro de Butterworth passa-baixas

nDvuD

vuH2

0/),(1

1),(

nDvuD

vuH2

0/),(]12[1

1),(

n

DvuD2

0/),(414,01

1

Page 50: Espaço de Fourier - University of São Paulo

50 Processamento de Imagens Médicas

Fitro de Butterworth passa-baixas

Page 51: Espaço de Fourier - University of São Paulo

51 Processamento de Imagens Médicas

Filtro Passa-altas

• Filtro Ideal

• Filtro de Butterworth

0

0

),( se 0

),( se 1),(

DvuD

DvuDvuH

nDvuD

vuH2

0/),(1

1),(

Page 52: Espaço de Fourier - University of São Paulo

52 Processamento de Imagens Médicas

Filtro Passa-altas

Page 53: Espaço de Fourier - University of São Paulo

53 Processamento de Imagens Médicas

Filtro Passa-altas

Page 54: Espaço de Fourier - University of São Paulo

54 Processamento de Imagens Médicas

Filtragem homomórfica

• Modelo de iluminação:

i → iluminação; r → refletância

f(x,y) = i(x,y) r(x,y)

A transformada de Fourier não ajuda muito

F{ f(x,y) } ≠ F{ i(x,y) } F{ r(x,y) }

Mas transformando f em z:

z(x,y) = ln f(x,y)

=ln i(x,y) + ln r(x,y)

Page 55: Espaço de Fourier - University of São Paulo

55 Processamento de Imagens Médicas

Filtragem homomórfica

É possível então separar as duas componentes:

F{ z(x,y) } = F{ln f(x,y) } = F{ln i(x,y) } + F{ln r(x,y) }

Então a variável Z é:

Z(u,v) = I(u,v) + R(u,v) Supondo S a solução no espaço de Fourier:

S(u,v) = H(u,v)Z(u,v)

= H(u,v)I(u,v) + H(u,v)R(u,v)

Page 56: Espaço de Fourier - University of São Paulo

56 Processamento de Imagens Médicas

Filtragem homomórfica

E “s” no espaço direto:

s(x,y) = F-1{ S(u,v)}

= F-1{H(u,v)I(u,v)} + F-1{H(u,v)R(u,v)}

Então a iluminação:

i’(x,y) = F-1{H(u,v)I(u,v)}

E a refletância:

r’(x,y) = F-1{H(u,v)R(u,v)}

s(x,y) = i’(x,y) + i’(x,y)

Page 57: Espaço de Fourier - University of São Paulo

57 Processamento de Imagens Médicas

Filtragem homomórfica

E finalmente i0 e r0:

g(x,y) = exp[s(x,y)]

= exp[i’(x,y)].exp[r’(x,y)]

= i0(x,y) r0(x,y)

i0(x,y) = exp[i’(x,y)]

r0(x,y) = exp[r’(x,y)]

Page 58: Espaço de Fourier - University of São Paulo

58 Processamento de Imagens Médicas

Filtragem homomórfica

Page 59: Espaço de Fourier - University of São Paulo

59 Processamento de Imagens Médicas

Geração de máscaras espaciais

Equação do filtro no domínio da freqüência:

G(u,v) = H(u,v) F(u,v)

Filtro no domínio espacial:

H é a transformada de Fourier de h:

1

0

1

0

),(),(),(N

i

N

k

kifkxixhyxg

1

0

1

0

2

),(1

),(N

x

N

y

N

vyuxj

eyxhN

vuH

Page 60: Espaço de Fourier - University of São Paulo

60 Processamento de Imagens Médicas

Geração de máscaras espaciais

1

0

1

0

2

),(ˆ1

),(ˆN

x

N

y

N

vyuxj

eyxhN

vuH

Se h(x,y) é restrito a zero para valores x > n e y > n , com N > n.

Máscara de convolução h de tamanho n x n.

O objetivo e encontrar os coeficientes h(x,y) que tenha menor erro:

1

0

1

0

22 ),(),(ˆ

N

x

N

y

vuHvuHe

Page 61: Espaço de Fourier - University of São Paulo

61 Processamento de Imagens Médicas

Geração de máscaras espaciais

1

0

1

0

22 ),(),(ˆ

N

x

N

y

vuHvuHe

hCH ˆˆ

)(ˆ),(ˆ iHvuH

Considerando o erro:

A função de resposta estimada pode ser obtida como o produto da matriz de base pela função espacial:

Page 62: Espaço de Fourier - University of São Paulo

62 Processamento de Imagens Médicas

Geração de máscaras espaciais

),(1 2

kiCeN

N

vyuxj

)(ˆ),(ˆ khyxh

)ˆ(*)ˆ(2 HHHHe

2ˆ HH

2ˆ HhC

Impondo a base de funções:

Page 63: Espaço de Fourier - University of São Paulo

63 Processamento de Imagens Médicas

Geração de máscaras espaciais

0ˆ*2ˆ

2

HhCC

h

e

HCHCCCh ***ˆ 1

Fazendo a derivada do erro quadrático igual a zero

Resulta no produto da matriz de base por H

Page 64: Espaço de Fourier - University of São Paulo

64 Processamento de Imagens Médicas

Geração de máscaras espaciais

Page 65: Espaço de Fourier - University of São Paulo

65 Processamento de Imagens Médicas

Restauração de imagens (introdução)

Modelo de degradação:

f(x,y) H +

η(x,y)

g(x,y)