Instituto Superior Politécnico de Viseu Escola Superior de Tecnologia de Viseu Curso de Engenharia de Sistemas e Informática Processamento Digital de Sinal Aula 15 4.º Ano.º Semestre, Eng.º 1 Programa: 1. Introdução ao Processamento Digital de Sinal. Representação e Análise de Sinais 3. Estruturas e Projecto de Filtros FIR e IIR 4. Processamento de Imagem 5. Processadores Digitais de Sinal 6. Filtros na frequência
Bibliografia: Processamento Digital de Sinal: Sanjit K. Mitra, Digital Signal Processing A computer based approach, McGraw Hill, 1998 Cota: 61.391 MIT DIG Roman Kuc, Introduction to Digital Signal Processing, McGraw Hill, 1988. Cota: 61.391 KUC INT Johnny R. Johnson, Introduction to Digital Signal Processing, Prentice-Hall, 1989. Cota: 61.391 JOH INT G. Proakis, G. Manolakis, Digital Signal Processing Principles, Algorithms Applications, 3ª Ed, P-Hall, 1996. Cota: 61.391 PRO DIG James V. Candy, Signal Processing The modern Approach, McGraw-Hill, 1988 Cota: 61.391 CAN SIG Mark J. T., Russel M., Introduction to DSP A computer Laboratory Textbook, John Wiley & Sons, 199. Cota: 61.391 SMI INT James H. McClellan e outros, Computer-Based Exercises - Signal Proc. Using Matlab 5, Prentice-Hall, 1998. Cota: 61.391 MCC COM Processamento Digital de Imagem: Rafael C. Gonzalez & Richard E. Woods, Digital Image Processing, Prentice Hall, ª Ed.,. Cota: 681.5 GON DIG. I. Pittas H. McClellan e outros, Digital Image Processing Algorithms and Applications, John Wiley & Sons,. Cota: 61.391 PIT. William K. Pratt, Digital image processing, John Wiley, ª Ed, 1991. Cota: 681.5 PRA DIG Bernd Jãhne, Digital image processing : concepts, algorithms, and scientific applications, Springer, 1997. Cota: 681.5 JAH 3 Avaliação: A avaliação é composta pela componente teórica e componente prática ponderadas da seguinte forma: Classificação Final = 8% * Frequência ou exame + % * Prática O acesso ao exame não está condicionado embora não tenha função de melhoria, ou seja, se o aluno entregar a prova de exame, será essa a classificação a utilizar no cálculo da média final independentemente da nota da prova de frequência obtida. A avaliação prática é constituída por trabalhos laboratoriais a executar em MATLAB 4
Processamento de Imagem Realce Métodos de Realce no domínio espacial Métodos de Realce no domínio da frequência Filtros digitais: tipos básicos Filtros espaciais ou de Kernel Realce de imagens coloridas Restauração de Imagens Outras Transformadas 5 Conjunto de técnicas que têm como objectivo processar uma imagem de modo a torná-la mais adequada para a aplicação específica. 6
Imagem física Aquisição Imagem digital (pixels) Realce Imagem digital (pixels) (regiões) Reconhecimento Pós-processamento (regiões) Extração de Atributos (atributos) Segmentação (quem / o que) Conjuntos de Técnicas de Realce -Técnicas no domínio do espaço (têm em geral uma carga computacional mais baixa) -Técnicas no domínio da frequência (permitem em alguns casos uma representação mais adequada do problema) -Técnicas híbridas 7 Métodos de Realce no domínio espacial f(x,y) T ( x, y) T [ f ( x, y) ] g = operador T sobre f definido numa vizinhança de (x,y) g(x,y) x y (x,y) vizinhança T pode operar sobre um conjunto de imagens Casos particulares importantes: para uma vizinhança de 1x1, temos a função de transformação de tons de cinzento s = T () r operações pontuais quando a operação pode ser expressa como uma convolução, g(x,y)=h(x,y)*f(x,y) filtros lineares espaciais 8
Métodos de Realce no domínio da frequência Filtros lineares têm seus duais no domínio da frequência, definidos pelo Teorema da Convolução. g(x,y)= h(x,y)* f(x,y) G(u,v)= H(u,v) F(u,v) f(x,y) h(x,y) g(x,y) F(u,v) H(u,v) G(u,v) Resposta ao Impulso Função de Transferência Como a transformada de Fourier do Impulso é 1, aplicando-se um impulso à entrada de um filtro linear obtém-se na saída: g(x,y)=h(x,y) (resposta ao impulso), ou no domínio da frequência G(u,v)=H(u,v) (função de transferência ). 9 Operações pontuais T(r) T(r) Negativo r Ajuste de Contraste r 1
Correcção do brilho T(r) T(r) r r 11 Correcção da gama T(r) γ<1 r T(r) γ>1 r 1
Processamento através do histograma Definição: O histograma de uma imagem digital com níveis na faixa [, L-1] é uma função discreta p(r k )= n k /n, onde r k é o k-ésimo nível de cinzento, e n k é o número de pixels da imagem com este nível de cinza, n é o número total de pixels na imagem, e k =, 1,... L-1. p(r k )= dá uma estimativa da probabilidade de ocorrência do nível r k. Imagem clara imagem escura Imagem com baixo contraste Imagem com alto contraste 13 Equalização do Histograma O objectivo é transformar uma imagem de tal forma que a imagem resultante tenha um histograma uniforme, melhorando assim o contraste. Sejam p r (r) e p s (s) respectivamente o histograma de uma imagem de entrada e da imagem de saída. Admite-se que r e s representam os níveis de cinza, e que são variáveis contínuas que foram normalizadas de modo a ficarem contidas no intervalo [,1]. Procura-se uma transformação do tipo s = T(r), tal que p s (s)=c, onde c é uma constante; A transformação deve satisfazer as condições: T(r) é monotonamente crescente no intervalo [,1] T(r) 1, para r 1. A transformação inversa T -1 (r) deve satisfazer também ambas as condições. Prova-se que a transformação que equaliza o histograma da imagem de entrada é: s = T ( r ) = r p r ( w ) dw r 1 14
Equalização do Histograma A forma discreta da transformação para equalizar um histograma é: s k k n k = T k n j ( r ) = = p ( r ) r 1e k =,1,..., L 1 j= j= r k T(r) r k Equalização 15 Especificação do Histograma Objectivo: Transformar uma imagem de tal forma o resultado tenha um determinado histograma. Sejam p r (r) e p z (z) respectivamente o histograma original e o desejado. Os histogramas serão equalizados respectivamente através das transformações: r z s = T ( r) = pr ( w) dw. v = G( z ) = p z ( w )dw. Aplicando a transformação inversa G -1 (v) a uma imagem com histograma equalizado, obtém-se uma imagem com o histograma p z (z). Procedimento: 1- Obter T(r) e equalizar o histograma da imagem original, - Especificar o histograma desejado e obter a função de transformação G(v), 3- Aplicar a transformação inversa G -1 aos níveis obtidos no ponto 1. Pode-se combinar as duas transformações para formar a transformação global: z = G 1 [ T () r ]. 16
Especificação do Histograma: Exemplo G(z) Imagem original T(r) Imagem qualquer G -1 [T(r)] Imagem resultante p r (r) z p z (z) r p' z (z) r 17 Realce local Quando se pretende realçar apenas detalhes em pequenas áreas da imagem, convém usar o Realce Local porque o número de pixeis destas áreas quando considerados na transformação global têm pouca influência. Define-se uma vizinhança, cujo centro se vai mover pixel a pixel por toda a imagem. Para cada posição, determina-se o histograma para aquela vizinhança e a respectiva função de transformação. Essa função é aplicada para determinar a intensidade do pixel central. O move-se o centro da vizinhança para o pixel adjacente e repete-se o procedimento. Imagem Original Após Equalização Global Após Equalização Local Outros algoritmos locais são possíveis. 18
Média de imagens É razoável considerar que uma imagem ruidosa g(x,y) é formada pela adição do ruído η (x,y) à imagem original f(x,y), ou seja: g ( x, y) = f ( x, y) + η ( x, y) Admite-se o ruídoη(x,y) é não correlacionado e com média nula. A média de M amostras de g(x,y) é: g 1 M M ( x, y) = gi ( x, y) = f ( x, y) + η i M i= 1 M i= 1 1 ( x, y) Para valores crescentes de M este termo tende a zero A média aproxima-se da imagem original à medida que cresce o número de imagens ruidosas utilizadas. 19 Média de imagens: exemplo M=1 M= M=8 M=16 M=3 M=18
... Filtros digitais: tipos básicos Passa-baixo Passa-alto H(u) H(u) u u H(u) Passa-banda u h(x) h(x) h(x) x x x Resposta impulsional dos filtros 1 Filtros espaciais ou de Kernel Nos filtros espaciais realiza-se uma operação do tipo: g(x,y)=t [ f(x,y)], para qualquer (x, y) onde f(x,y) é a imagem original, g(x,y) é a imagem filtrada e T um operador definido numa vizinhança de (x,y). w 1 w w 3 w 4 w 5 w 6... w 7 w 8 w 9 Imagem Reposta de um filtro espacial linear: R=w 1 f(x 1,y 1 )+ w f(x,y )+ + w 9 f(x 9,y 9 )
1/9 Filtro passa-baixo espacial linear Aplicação mais frequente: reduzir o efeito do ruído decorrente das condições ou do método de aquisição da imagem. Máscaras (kernel): 1 1 1 1 1 1 1 1 1 Exemplos: 1 1 1 1 1 1 1 1 1 1, 1/5 1 1 1 1 1, 1 1 1 1 1 1 1 1 1 1 Original 3x3 5x5 7x7 15x15 5x5 3 Filtro passa-baixo espacial não lineares Filtro mediana: A mediana m de um conjunto de valores é tal que metade dos valores do conjunto são menores do que m e metade dos valores maiores do que m. Seja, por exemplo, os números {1, 3, 5, 91}. A média é 5 e a mediana é 5. Filtro percentil: O valor m de percentil p de um conjunto de valores é tal que p % dos valores no conjunto são menores do que m, e (1-p) % dos valores são maiores do que m. Filtro de máximo: Atribui ao pixel em (x,y) o valor máximo na vizinhança em torno do pixel. Filtro de mínimo: Atribui ao pixel em (x,y) o valor mínimo na vizinhança em torno do pixel. 4
Filtro de mediana: exemplo Imagem original Imagem com ruído sal e pimenta Após o filtro linear 5x5 Após o filtro de mediana 5 Aplicação: Melhorar a nitidez de pequenos detalhes ou realçar detalhes que foram esbatidos pelo método de aquisição utilizado. Filtro passa-alto básico: H(u) Filtro para aumento de nitidez na frequência u h(x) no espaço x 1/9-1 -1-1 -1 8-1 -1-1 -1 Kernel Observação: em geral, o filtro produz valores negativos pelo que é comum fazer-se um ajuste de escala para se visualizar a imagem de saída. 6
Filtros Unsharp Masking e High-boost Filtro Unsharp Masking: Unsharp = Original - A*Passa-baixo Filtro High Boost (análogo ao anterior): Acrescenta a uma imagem a saída de um filtro passa-alto High-boost = Original + B*Passa-alto, Exemplo de Máscara para um filtro High-boost: 1 + -B -B -B -B 8.B -B -B -B -B = -B -B -B -B 8.B+1 -B -B -B -B 7 Filtros High-boost : Exemplos Imagem Original B= B=4 B=6 B=8 B=1 8
Filtros de derivada - o Gradiente Definição: O gradiente da função f(x,y) nas coordenadas (x,y) é dado por: A Magnitude: f = mag ( f ) f = x Aproximações: f = [ z5 z8 + z5 z6 ] f = [ z5 z9 + z6 z8 ] z 1 z z 3 z 4 z 5 z 6 z 7 z8 z 9 f = f = z 5 z 9 f + y 1/ ( z7 + z8 + z9 ) ( z1 + z + z3 ) + ( z + z + z ) ( z + z + z ) 3 + z 6 6 z 8 9 1/ 1/ 1 4 7 f f = f x y 9 z 4 Kernels para o filtro de Gradiente -1 z 1 z z 3 z 5 z 6 1 Roberts -1-1 -1 1 1 1 Prewitt -1 - -1 1 1 Sobel z 7 z 8 z 9 1-1 1-1 1-1 -1 1-1 1 - -1 1 3
Realce de contornos usando o filtro de Gradiente Gy (sobel) Imagem original Gx (sobel) Gx + Gy (sobel) 31 Filtros na frequência Filtragem Espacial imagem filtrada g(x,y) resposta ao impulso = h(x,y) f(x,y) imagem original G(u,v) = H(u,v) F(u,v) Função de Transferência Filtragem no Domínio da Frequência 3
Transformada de Fourier aplicada a Imagens Sinais 1 D Transformada Discreta de Fourier 33 Transformada de Fourier aplicada a Imagens Em Imagens? Sinais D Frequência = velocidade de variação de tonalidade da imagem. Função também em D Imagem original f Espectro F(u,v) 34
Exemplo da DFT D de um rectângulo Imagem de 51x51 pixeis com uma janela de x4 Espectro centrado da imagem, obtido pela DFT D 35 Filtro passa-baixo ideal ( u, v) ( u, v) 1 se D D H ( u v) + se D > D H(u,v) ( u, v) = ( u ) 1/, =, onde D v Frequência de corte h(x,y) -u D -v 36
Filtro passa-baixo ideal: Exemplo D =N/4 D =N/8 D =N/16 D =N/3 D =N/64 D =N/18 37 Efeito Ringing Imagem Original: impulsos Imagem na saída de um FPBx 38
Filtro passa-baixo do tipo Butterworth ( u,v) H = 1 + 1 [ D( u,v)/ D ] n Grau do filtro Frequência de corte H(u,v) u v 39 Filtro passa-alto ideal ( u, v) ( u, v) se D D H ( u v) + 1 se D > D ( u, v) = ( u ) 1/, =, onde D v H(u,v) u v 4
Filtro passa-balto do tipo Butterworth ( u, v) H = 1 +, H(u,v) 1 [ D / D( u v) ] n Grau do filtro Frequência de corte u v 41 Exemplo de aplicação: Ênfase das altas frequências a) Imagem original b) Após FPAlto Butterworth de grau 1 c) Soma da imagem original para preservar as baixas frequências d) Após equalização de histograma 4
Fórmula matricial da DFT a D I out D= = D I onde [ d ] i,k in D i k 1 - j π N = e N = matriz kernel de coeficientes complexos de N N 43 DFT - D: Propriedade da separabilidade As componentes x e y podem ser processadas independentemente F ( m, n ) = 1 N N -1 i= 1 N N -1 k = f ( i, k ) e e k - j π n - j π N m i N soma segundo uma dimensão Soma segundo a outra dimensão 44
45 DFT - D: Propriedade da rotação Uma Imagem rodada de um ângulo θ resulta num espectro da imagem rodado com o mesmo ângulo F F { f ( x cos θ + y sin θ, x sin θ + y cos θ )} ( u cos θ + v sin θ, u sin θ + v cos θ ) = 46
47 Realce de imagens coloridas Procedimento: Converte- se a imagem de RGB para o sistema de cores HSI (Hue, Saturation, Intensity) mais adequado. Opera- se individualmente sobre cada uma das componentes e no final, converte- se novamente para RGB. Transformações sobre a componente Intensidade (idêntica às imagens de cinzentos): High-boost Transformações sobre a componente Saturação. Para obter cores mais vivas multiplica-se por um factor maior que 1. S = S Transformações sobre a componente Cor.. Somar ou subtrair uma constante tem o efeito de alterar a temperatura (mais ou menos vermelho) nas cores da imagem. 48
Restauração de Imagens Modelo de degradação f(x,y) h(x,y) Σ g(x,y) n(x,y) Modelo de degradação: g = h*f + n 49 Modelo de degradação variante no domínio espacial gxy (, ) = hxymnfmn (,,, ) (, ) +η( xy, ) Modelo de degradação invariante no domínio espacial gxy (, ) = hx ( my, nfmn ) (, ) +η( xy, ) Representação no domínio da frequência Guv (, ) = HuvFuv (, ) (, ) + Nuv (, ) 5
Modelação do ruído A maioria dos tipos de ruído são modelados através de funções de distribuição de probabilidade (fdp) conhecidas. O modelo para o ruído é escolhido baseado no conhecimento físico da fonte de ruído. Gaussian: fraca iluminação. Rayleigh: gama da imagem. Gamma, Exponencial: imagem laser. Impulse: comutações indesejáveis durante a aquisição. A fdp Uniforme é a menos usada. Os parâmetros das fdp podem ser estimados a partir do histograma de uma pequena zona uniforme da imagem. 51 f(x,y) Modelo de restauração Modelo de degradação Filtro Restaurador f(x,y) Filtro Inverso Filtro Pseudo-inverso Filtro Wiener 5
Modelos de degradação de imagem Imagem tremida: Devido a movimentação rápida da câmara ou do objecto. 1 ai + bj = hi (, j) = otherwise. Interferência da turbulência atmosférica: Devido a exposições longas através da atmosfera i + j hi (, j) = K exp σ Hufnagel e Stanley 5/6 ( ( ) ) hi (, j) = exp k i + j Desfocagem uniforme: 1 i + j R hi (, j) = π R otherwise. Mancha uniforme a D: 1 L/ i, j L/ hi (, j) = L otherwise. 53 Modelo de turbulência atmosférica: a) Negligenciável 5/6 ( ( ) ) hi (, j) = exp k i + j b) Alta (K=.5) c) Média (K=.1) d) Baixa (K=.5) 54
Deslocamento de imagem: original image 1 1 3 3 4 4 5 5 blurred image 4 6 8 blurring filter mask 4 6 8 blurring filter 6 6 4 6 4 6 4 6 4 6 55 Padrão de repetição: Imagem corrompida DFT D da Imagem Filtro Rejeita-Banda Imagem depois de filtrada 56
Filtro Rejeita-Banda ideal Filtro Rejeita-Banda de Butterworth Filtro Rejeita-Banda Gaussiano Padrão filtrado à imagem 57 Outras Trasformadas Transformada de Hough DCT Discrete Cousine Transform Wavelets 58
Compressão de Imagem Jpeg1 com.15 bpp (DCT) Jpeg com.15 bpp (Wavelet) 59