Sei sulla pagina 1di 75

Anlise Wavelet

Carlos Alexandre Mello

Carlos Alexandre Mello cabm@cin.ufpe.br

Transformada Wavelet
Transformada de Fourier
Representao de um sinal como uma srie de senos e cossenos

Problema:
Considera o sinal todo Ou seja, apropriada para sinais estacionrios
A freqncia no muda com o tempo A maioria dos sinais no-estacionrio

Carlos Alexandre Mello cabm@cin.ufpe.br

Transformada Wavelet

Carlos Alexandre Mello cabm@cin.ufpe.br

Transformada Wavelet
3 6 0 0

Repete-se

2 Hz + 10 Hz + 20Hz
Magnitude

Estacionrio

Magnitude
0 0 .2 0 .4 0 .6 0 .8 1

5 0 0

4 0 0

3 0 0

-1

2 0 0

-2

1 0 0

-3

Time

1 0

1 5

2 0

2 5

Frequency (Hz)
2 5 0

Magnitude

0 .4 0 .2 0 -0 .2 -0 .4 -0 .6 -0 .8

Magnitude

0.0-0.4: 2 Hz + 0.4-0.7: 10 Hz + 0.7-1.0: 20Hz

1 0 .8 0 .6

No se repete

2 0 0

1 5 0

NoEstacionrio

1 0 0

5 0

Carlos1 Alexandre Mello cabm@cin.ufpe.br0 0 0 0 .5 1

Time

Frequency (Hz)

1 0

1 5

2 0

2 5

Transformada Wavelet
Soluo: Gabor (1946)
Transformada de Fourier para Tempo Curto
Short Time Fourier Transform (STFT)

Considera uma janela que vai se deslocando pelo sinal e avaliando cada parte dele em separado Cada janela considera que a parte do sinal dentro dela aproximadamente estacionrio

Carlos Alexandre Mello cabm@cin.ufpe.br

Transformada Wavelet

Carlos Alexandre Mello cabm@cin.ufpe.br

Transformada Wavelet
Short Time Fourier Transform (STFT)
Problema: Janela de tamanho invariante
Alm disso, como definir o tamanho da janela? Janela pequena:
Pouca informao sobre o sinal Muito processamento

Janela grande:
Aumenta o erro na considerao de estacionaridade do sinal

Carlos Alexandre Mello cabm@cin.ufpe.br

Transformada Wavelet
Via uma janela curta Via uma janela longa

Carlos Alexandre Mello cabm@cin.ufpe.br

Transformada Wavelet
Prximo passo na evoluo....
Uma transformada em janelas, mas com janelas de tamanho varivel:
Transformada Wavelet Intervalos maiores quando queremos informaes mais precisas sobre baixas freqncias Intervalos menores quando queremos informaes mais precisas sobre altas freqncias

Carlos Alexandre Mello cabm@cin.ufpe.br

Transformada Wavelet

Carlos Alexandre Mello cabm@cin.ufpe.br

10

Transformada Wavelet

Carlos Alexandre Mello cabm@cin.ufpe.br

11

Transformada Wavelet
CWT x ( , s ) = x ( , s ) =
Continuous Wavelet Transform Translao (localizao da janela)

1 s

t x (t ) * dt s
Wavelet Me

Escala

Wavelet

Pequena onda Significa que a janela de comprimento finito

Wavelet Me
A funo que analisa o sinal Todas as janelas so suas verses expandidas ou comprimidas (escala) e deslocadas
Carlos Alexandre Mello cabm@cin.ufpe.br 12

Transformada Wavelet
Escala
s>1: O sinal expandido s<1: O sinal comprimido

Baixa Freqncia -> Alta Escala -> Viso global no detalhada do sinal Alta Freqncia -> Baixa Escala -> Viso global detalhada do sinal Apenas intervalos limitados de escalas so necessrios
Carlos Alexandre Mello cabm@cin.ufpe.br 13

Transformada Wavelet
Exemplo de Me Wavelet (Daubechies)

Carlos Alexandre Mello cabm@cin.ufpe.br

14

Transformada Wavelet
Influncia da escala

Carlos Alexandre Mello cabm@cin.ufpe.br

15

Transformada Wavelet
Influncia do deslocamento

Carlos Alexandre Mello cabm@cin.ufpe.br

16

Transformada Wavelet

Carlos Alexandre Mello cabm@cin.ufpe.br

17

Transformada Wavelet
Wavelets devem satisfazer requisitos como:
possurem energia finita; possurem certo grau de regularidade (suavidade); serem nulas no infinito; possurem um certo nmero de momentos nulos; que sejam funes de classe Ck (0<k<)*; que tenham suporte compacto, no tempo e na freqncia. *Funes em C ou de classe k so funes
k

contnuas com k derivadas contnuas


Carlos Alexandre Mello cabm@cin.ufpe.br 18

Transformada Wavelet
Anlise de Wavelets (no contnuo)
1- Tome uma funo wavelet e compare-a com a regio no incio do sinal original 2- Calcule a correlao C entre a funo e a regio do sinal original

Carlos Alexandre Mello cabm@cin.ufpe.br

19

Transformada Wavelet
Anlise de Wavelets (no contnuo)
3- Desloque a wavelet para a direita e repita os passos 1 e 2 at que todo o sinal tenha sido coberto

Carlos Alexandre Mello cabm@cin.ufpe.br

20

Transformada Wavelet
Anlise de Wavelets (no contnuo)
4 Aplique uma escala na wavelet e repita os passos 1 a 3

Carlos Alexandre Mello cabm@cin.ufpe.br

21

Transformada Wavelet
Anlise de Wavelets (no contnuo)
5 Repita os passos 1 a 4 para todas as escalas

Quando for concludo, voc ter todos os coeficientes produzidos em diferentes escalas e diferentes sees do sinal Agora, o que fazer com essas informaes?

Carlos Alexandre Mello cabm@cin.ufpe.br

22

Transformada Wavelet
Um grfico plotado onde x representa a posio ao longo do sinal (tempo), y representa a escala e a cor em cada ponto (x,y) representa a magnitude do coeficiente da wavelet (C)

Carlos Alexandre Mello cabm@cin.ufpe.br

23

Transformada Wavelet

Carlos Alexandre Mello cabm@cin.ufpe.br

24

Transformada Wavelet
De uma viso em perspectiva teramos:

Carlos Alexandre Mello cabm@cin.ufpe.br

25

Transformada Wavelet Discreta


A escolha de escalas e posies baseada em potncias de 2
Escalas e posies didicas (dyadics)

Mallat (1988)
Implementa a anlise de wavelets usando filtros Conhecido como two-channel subband coder

Carlos Alexandre Mello cabm@cin.ufpe.br

26

Transformada Wavelet Discreta


Para a maior parte dos sinais, a informao de baixas freqncias so as mais importantes Voz humana:
Se removermos as altas freqncias, a fala ainda compreendida embora a voz soe diferente

Carlos Alexandre Mello cabm@cin.ufpe.br

27

Transformada Wavelet Discreta


Aproximaes
Componentes de alta escala e baixa freqncia do sinal

Detalhes
Componentes de pequena escala e alta freqncia do sinal

Carlos Alexandre Mello cabm@cin.ufpe.br

28

Transformada Wavelet Discreta


Processo de filtragem
Sinal

Aproximaes

Detalhes
29

Carlos Alexandre Mello cabm@cin.ufpe.br

Transformada Wavelet Discreta


Processo de filtragem
Problema: Suponha que o sinal original tem 1000 amostras...
Com esse processo de filtragem, passamos a ter dois sinais cada um com 1000 amostras Esse aumento na quantidade de dados no interessante Podemos pegar apenas uma em cada duas amostras dos sinais filtrados
Assim, ficaramos apenas com as 1000 amostras

Essa a idia de Downsampling


Carlos Alexandre Mello cabm@cin.ufpe.br 30

Transformada Wavelet Discreta


Ou seja, ao invs de:

Temos agora:

Carlos Alexandre Mello cabm@cin.ufpe.br

31

Transformada Wavelet Discreta

Carlos Alexandre Mello cabm@cin.ufpe.br

32

Transformada Wavelet Discreta


Decomposio em Mltiplos Nveis

Carlos Alexandre Mello cabm@cin.ufpe.br

33

Transformada Wavelet Discreta

Carlos Alexandre Mello cabm@cin.ufpe.br

34

Transformada Wavelet Discreta


O que a anlise de wavelets faz decompor um sinal O processo inverso a reconstruo ou sntese do sinal
Upsampling ao invs de Downsampling

Carlos Alexandre Mello cabm@cin.ufpe.br

35

Transformada Wavelet Discreta


Componentes de um sinal reconstrudo


Carlos Alexandre Mello cabm@cin.ufpe.br 36

Transformada Wavelet Discreta


Famlias de wavelets
Definem a forma da wavelet me
Haar Daubechies Biortogonal Coiflets Symlets Shannon

Carlos Alexandre Mello cabm@cin.ufpe.br

37

Transformada Wavelet Discreta


Famlias de wavelets
Famlia Daubechies

Carlos Alexandre Mello cabm@cin.ufpe.br

38

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Para demonstrar uma transformada geral, vamos usar o esquema apresentado na Fig. abaixo:

Nela, um sinal de entrada alimenta dois canais, cada qual com um par de filtros FIR. Tal estrutura chamada de two-channel filter banks.
Carlos Alexandre Mello cabm@cin.ufpe.br 39

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets A metade da esquerda da figura (filtros h0 e h1) corresponde transformada direta
Anlise

A metade da direita a transformada inversa


Sntese

esperado que a sntese gere um sinal de sada igual ao sinal de entrada Os filtros complementares de banco de filtros (h0 para h1 e g0 para g1) dividem o sinal em sub-sinais de baixa e alta freqncia Isso chamado de subband coding
Carlos Alexandre Mello cabm@cin.ufpe.br 40

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Para a transformada inversa, as sadas dos filtros da parte de anlise (z[n] e w[n]) passam por outros filtros FIR e, em seguida, so combinadas para gerar a sada y[n] A idia que w[n] e z[n] sejam verses transformadas de x[n] e que y[n] o sinal aps a transformada inversa Como dito anteriormente, espera-se que y[n] seja igual a x[n]

Carlos Alexandre Mello cabm@cin.ufpe.br

41

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Vamos considerar o filter bank da figura abaixo e vamos ver como se comportam w[n] e z[n]:

Na parte da anlise, w[n] e z[n] so definidos por:


w[n] = a.x[n] + b.x[n 1] z[n] = b.x[n] a.x[n 1]
Carlos Alexandre Mello cabm@cin.ufpe.br 42

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets Precisamos saber tambm que so w[n 1] e z[n 1]:
w[n - 1] = a.x[n - 1] + b.x[n 2] z[n - 1] = b.x[n - 1] a.x[n 2]

Assim, y[n] ser:


y[n] = -a.z[n] + b.z[n 1] + b.w[n] + a.w[n 1]

E, em relao ao sinal original:


y[n] = -a.( b.x[n] a.x[n 1]) + b.(b.x[n - 1] a.x[n 2]) + b.( a.x[n] + b.x[n 1]) + a.(a.x[n - 1] + b.x[n 2]) y[n] = -ab.x[n] + aa.x[n 1] + b.b.x[n - 1] ba.x[n 2] + b.a.x[n] + b.b.x[n 1] + a.a.x[n - 1] + ab.x[n 2] y[n] = aa.x[n 1] + bb.x[n 1] + bb.x[n 1] + aa.x[n 1] y[n] = (2aa + 2bb).x[n 1]

Carlos Alexandre Mello cabm@cin.ufpe.br

43

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Essas operaes retratam o processamento da wavelet de Haar Essa a mais simples das wavelets Se escolhermos com cuidado os coeficientes, teremos a transformada de Haar Por exemplo, se:
2aa + 2bb = 1

ento
y[n] = x[n 1]

ou seja, a sada a entrada com um retardo de 1


Carlos Alexandre Mello cabm@cin.ufpe.br 44

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Se procurarmos a e b tal que:


aa + bb = 1

podemos ter aa = e bb = Assim, se a = b = 1/2, teremos os coeficientes da transformada de Haar


Alfrd Haar, 1909

Carlos Alexandre Mello cabm@cin.ufpe.br

45

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Algumas vezes, um two channel filter bank chamado de quadrature mirror filter (QMF) Um QMF um filter banks com condies especiais nos coeficientes dos filtros para evitar aliasing e conseguir uma reconstruo perfeita Ou seja, sua nica diferena para filter banks a escolha dos coeficientes dos filtros

Carlos Alexandre Mello cabm@cin.ufpe.br

46

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Quadrature mirror filter (QMF): Seja um dos filtros da anlise h0 Os outros filtros (h1, g0 e g1) so gerados a partir de h0 Especificamente, h1 usa os mesmos coeficientes de h0, mas negativa os coeficientes de ndice par O filtro de reconstruo g0 igual a h0 e g1= -h1

Carlos Alexandre Mello cabm@cin.ufpe.br

47

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Quadrature mirror filter (QMF):

Carlos Alexandre Mello cabm@cin.ufpe.br

48

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

O conjugate quadrature filter (CQF) especifica que h1 deve ser o reverso de h0 com os valores em ndices de ordem par negativados Para a reconstruo, g0 e g1 so os reversos de h0 e h1, respectivamente.

Carlos Alexandre Mello cabm@cin.ufpe.br

49

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Conjugate quadrature filter (CQF):

Carlos Alexandre Mello cabm@cin.ufpe.br

50

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Um das famlias de wavelets mais utilizadas a famlia das Daubechies Criada por Ingrid Daubechies, a famlia das wavelets Daubechies (ou db) a nica famlia de wavelets que tem suporte compacto e decaimento suave O suporte compacto impede que a wavelet se espalhe por todo o espectro O decaimento suave impede que a wavelet introduza artefatos de altas freqncias
Carlos Alexandre Mello cabm@cin.ufpe.br 51

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Vamos analisar o processamento de um sinal usando uma wavelet de 4 coeficientes e um conjugate quadrature filter conforme a Figura:

Carlos Alexandre Mello cabm@cin.ufpe.br

52

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Como foi feito anteriormente:


w[n] = a.x[n] + b.x[n 1] + c.x[ n 2] + d.x[n 3] z[n] = d.x[n] - c.x[n 1] + b.x[ n 2] - a.x[n 3]

Considerando que:
w[n - k] = a.x[n - k] + b.x[n k - 1] + c.x[ n k 2] + d.x[n k - 3] z[n - k] = d.x[n - k] - c.x[n k - 1] + b.x[ n k - 2] - a.x[n k -3]

Carlos Alexandre Mello cabm@cin.ufpe.br

53

Transformada Wavelet Discreta


Sobre os Coeficientes das Wavelets

Se consideramos, nessas operaes, que ac = bd, ento, chegamos expresso final:


y[n] = 2(aa + bb + cc + dd).x[n 3]

Novamente, precisamos ter (aa + bb + cc + dd) = 1 Os coeficientes de Daubechies obedecem a essas duas condies:
(aa + bb + cc + dd) = 1 ac = -bd

Carlos Alexandre Mello cabm@cin.ufpe.br

54

Processo Segundo Mallat 2d


1 Passo: Expanso da imagem para que tenha nmero de colunas e nmero de linhas mltiplo de 2n
No amplia a imagem, apenas a expande Cria efeito de bordas Necessrio para o Downsampling

2 Passo: Define os coeficientes do filtro (wavelet me)


Chamaremos de Wave
Carlos Alexandre Mello cabm@cin.ufpe.br 55

Processo Segundo Mallat 2d


3 Passo: Clculo dos filtros (vetores):
Lo_R // filtro de reconstruo passa-baixa
Lo_R[i] = 2*Wave[i] / Wave[i]

Lo_D // filtro de decomposio passa-baixa


Lo_D = O inverso de Lo_R

Hi_R // filtro de reconstruo passa-alta


Hi_R = qmf(Lo_R)
Inverte o vetor e muda o sinal de todos os elementos que esto em posio de ndice par

Hi_D // filtro de decomposio passa-alta


Hi_D = O inverso de Hi_R
Carlos Alexandre Mello cabm@cin.ufpe.br 56

Processo Segundo Mallat 2d


4 Passo: Gera as matrizes de Aproximao e Detalhes
a = Lc(Lr(imagem))
Matriz de coeficientes para a aproximao de um nvel

h = Hc(Lr(imagem))
Matriz de coeficientes para detalhes horizontais

v = Lc(Hr(imagem))
Matriz de coeficientes para detalhes verticais

d = Hc(Hr(imagem))
Matriz de coeficientes para detalhes diagonais

Carlos Alexandre Mello cabm@cin.ufpe.br

57

Processo Segundo Mallat 2d


4 Passo: Continuao (em termos de algoritmo)
Y = Imagem *L Lo_D a = Y *C Lo_D h = Y *C Hi_D Y = Imagem *L Hi_D v = Y *C Lo_D d = Y *C Hi_D

*L = Convoluo em linha *C = Convoluo em coluna


Carlos Alexandre Mello cabm@cin.ufpe.br 58

Processo Segundo Mallat 2d


5 Passo: Retorna a matriz de Aproximaes
Sada da funo

6 Passo: Volta a matriz s dimenses originais da imagem caso tenha havido a expanso

Carlos Alexandre Mello cabm@cin.ufpe.br

59

Aplicaes
Carlos Alexandre Mello

Carlos Alexandre Mello cabm@cin.ufpe.br

60

Transformada Wavelet Discreta


No MatLab
>> wavemenu

Carlos Alexandre Mello cabm@cin.ufpe.br

61

Transformada Wavelet
Aplicao
Remoo de rudo
Imagem original Imagem com rudo Imagem filtrada

Carlos Alexandre Mello cabm@cin.ufpe.br

62

Transformada Wavelet
Aplicao
Compresso com perdas
Aplicao natural se pensarmos no processo de filtragem e downsampling da imagem Resultados semelhantes ao formato JPEG

Carlos Alexandre Mello cabm@cin.ufpe.br

63

Transformada Wavelet
Compresso com Perdas

Carlos Alexandre Mello cabm@cin.ufpe.br

64

Transformada Wavelet
Compresso com Perdas

Carlos Alexandre Mello cabm@cin.ufpe.br

65

Transformada Wavelet
Compresso com Perdas
Detalhes.

Carlos Alexandre Mello cabm@cin.ufpe.br

66

Transformada Wavelet
Compresso com Perdas

Carlos Alexandre Mello cabm@cin.ufpe.br

67

Transformada Wavelet
Compresso com Perdas

Carlos Alexandre Mello cabm@cin.ufpe.br

68

Transformada Wavelet
O que significa a decomposio anterior?
Decomposio em 1 nvel da imagem LL
Coeficientes de Aproximao

HL

Detalhes Horizontais

LH

Detalhes Verticais

HH

Detalhes Diagonais

Carlos Alexandre Mello cabm@cin.ufpe.br

69

Transformada Wavelet
O que significa a decomposio anterior?
Decomposio em 2 nveis da imagem LL HL HL

LH

HH

LH

HH

Carlos Alexandre Mello cabm@cin.ufpe.br

70

Transformada Wavelet
Compresso com Perdas
Remoo de rudo

Carlos Alexandre Mello cabm@cin.ufpe.br

71

Transformada Wavelet
Compresso com Perdas

Imagem filtrada e sem rudo

Carlos Alexandre Mello cabm@cin.ufpe.br

72

Transformada Wavelet
Aplicao
Filtragem

Carlos Alexandre Mello cabm@cin.ufpe.br

73

Transformada Wavelet
Aplicao
Filtragem (Daubechies 12)

Carlos Alexandre Mello cabm@cin.ufpe.br

74

Anlise Wavelet
Referncias Complementares:
Stphane Mallat, A Wavelet Tour of Signal Processing, Academic Press, 2009.

Michael Weeks, Digital Signal Processing Using MatLab and Wavelets, Infinity Science Press, 2007

Carlos Alexandre Mello cabm@cin.ufpe.br

75

Potrebbero piacerti anche