Lição de Processamento Digital de Sinais Operação de Zooming em Processamento de Imagem Rui Jesus ISEL, Julho 22
.INTRODUÇÂO. Enquadramento Esta lição destina-se aos alunos da disciplina de Processamento Digital de Sinais. Esta disciplina funciona no 7º semestre do curso de Bacharelato e Licenciatura em Engenharia de Sistemas das Telecomunicações e Electrónica. O pré-requisito para a compreensão desta aula, é ter frequentado com aproveitamento a disciplina de Análise de Sinais (3º Semestre), onde são ensinados tópicos sobre a análise de sinais D. Esta lição constitui suporte teórico para a realização de um trabalho prático no próimo semestre, proposto por mim, que será efectuado no matlab..2 Motivação e Objectivos azer zoom numa imagem é uma tarefa importante usada em muitas aplicações de processamento digital de sinais. Alguns eemplos mais comuns onde é necessário fazer zoom são: câmaras de vídeo, máquinas fotográficas, sistemas de informação geográfica e aplicações gráficas. Com este tópico, pretende-se familiarizar os alunos com conceitos de processamento digital de sinais que estão na base desta aplicação (zoom numa imagem), tais como: - filtros digitais; - estrutura geral de um sistema interpolador (zoom in) e de um decimador (zoom out); - métodos de interpolação usados em imagem..3 Estrutura da lição Na secção 2, introduzem-se algumas noções básicas acerca de filtros digitais lineares e não lineares. A secção 3 descreve a estrutura geral de um sistema interpolador, assim como a de um decimador. Ambos estes sistemas são analisados, tirando-se partido do facto de serem constituídos por dois filtros, em cascata. A seguir, na secção 4 é apresentada uma aplicação para decimar uma imagem de uma impressão digital, reduzindo as suas dimensões (zoom out). Em seguida, são analisadas algumas eperiências, onde são usados diferentes métodos para a realização de interpolação numa imagem (zoom in). Uma vez que, em geral, é mais frequente a 2
necessidade de aumentar a resolução de uma imagem (tornando mais fácil a observação de detalhes) do que diminuir a resolução, será dado maior ênfase à operação de zoom in. Na secção 5, recapitulam-se os conceitos mais importantes a reter da lição e na secção 6 encaminham-se os leitores mais interessados para um conjunto de referências que permitem aprofundar o tema apresentado. 3. iltros Digitais Um filtro é um sistema que é projectado para remover algumas componentes ou modificar algumas características de um determinado sinal. Os filtros podem classificar-se em lineares e não lineares. Um filtro diz-se linear se o sinal obtido à saída satisfaz a propriedade da sobreposição, isto é se [] n [ n] a () e [] n [ n] 2 2 a (2) então [] n β [] n α [ n] [ n] α + a +. (3) 2 β 2 Esta condição tem de se verificar, qualquer que seja o valor das constantes α e β. Na epressão seguinte, eemplifica-se um sistema linear, [] n = ( [] n + [ n ] + [ n 2] ) (4) 3 Por outro lado, os sistemas não lineares não satisfazem a propriedade da sobreposição e as suas propriedades são mais compleas. Nomeadamente, não se podem usar as técnicas 3
matemáticas usadas para analisar os sistemas lineares, tais como: convolução, função de transferência, resposta impulsiva, resposta em frequência. Em algumas aplicações, os filtros não lineares apresentam melhores resultados que os filtros lineares, embora sejam em geral menos eficientes computacionalmente. Um eemplo de um sistema não linear é o filtro de mediana, [] n = mediana( [ n], [ n ], [ n 2 ], [ n 3 ], [ n 4] ). (5) a) b) c) d) igura a) Imagem original; imagem com ruído sal e pimenta ; c) imagem filtrada com o filtro de mediana 33; d) imagem filtrada com o filtro de média 33. Na figura mostra-se um eemplo em que um filtro de mediana (não linear) apresenta melhor desempenho que um filtro de média (linear). Ambos os filtros são aplicados a uma imagem com ruído sal e pimenta (figura b). No caso do filtro linear é feita a convolução entre a imagem e a resposta impulsiva do filtro de médias, [ i j] = a[ k, l] [ i k, j l],, (6) ( k, l ) W 4
em que [ i, j] e [ i j], são as imagens de entrada e saída respectivamente, W representa a janela em que é realizada a operação, e [ i j] a, são os coeficientes do filtro. No caso do filtro de mediana, o valor de cada piel é obtido através do calculo da mediana dos pieis contidos numa janela à volta do piel, [ i j] = mediana{ [ i k, j l],( k, l W )},. (7) 33. Na figura mostram-se os resultados obtidos pelos dois filtros usando um máscara de 3. Decimação e Interpolação 3. Introdução Em algumas aplicações de processamento digital de sinais eiste, por vezes, a necessidade de alterar o ritmo de amostragem de um sinal. Por eemplo, em sistemas de telecomunicações que transmitem e recebem vários tipos de sinal (fala, vídeo, etc.), é necessário processar os diferentes sinais a diferentes ritmos de amostragem. O processo de conversão do ritmo de amostragem pode ser visto como uma operação de filtragem que altera o ritmo de amostragem da sequência de entrada (ver figura 2). [] n [ m] = T iltro = T igura 2 Conversão do ritmo de amostragem visto como um processo de filtragem. O sinal de entrada [ n] é caracterizado por um ritmo de amostragem saída [ m] por um ritmo de amostragem de intervalos de amostragem. =, onde T e T =, e o sinal à T T são os respectivos 5
O objectivo do processo de conversão do ritmo de amostragem é obter uma nova com um novo ritmo de amostragem a partir de uma sequência [] n. Assim, sequência [ m] designa-se por decimação, ao processo de reduzir o ritmo de amostragem por um factor inteiro D. Ao processo que faz aumentar o ritmo de amostragem por um factor inteiro I dá-se o nome de interpolação. 3.2 Decimação A operação de decimação por um factor D está ilustrada, graficamente, na figura 3. Este processo é caracterizado por dois sistemas em cascata. O primeiro é um filtro passa-baio e o segundo é um sistema que reduz o ritmo de amostragem do sinal [ n]. A saída do filtro passabaio é a sequência v [ n] que é dada por, [] n = h[][ k n k] k = 0 v. (8) O segundo sistema reduz, de um factor D, o ritmo de amostragem deste sinal. O sinal à saída do segundo sistema é obtido pela epressão, [ m] = h[ k] [ md k] k = 0. (9) [] n = T h[] n v[ n] Sub-amostragem por D [ m] = D igura 3 Decimação por um factor D Em primeiro lugar, vamos descrever o segundo sistema. A operação de reduzir o ritmo de amostragem de um sinal consiste em construir uma nova sequência, [ m] v[ md] = (0) 6
que é constituída pelas amostras [ m] amostras retiradas. v nos instantes múltiplos de D, sendo as restantes D.5 Sequência de entrada Amplitude 0.5 0-0.5 - -.5 0 5 0 5 20 25 30 35 40 45 50.5 tempo n Sequência de saída factor de 4 Amplitude 0.5 0-0.5 - -.5 0 5 0 5 20 25 30 35 40 45 50 tempo n igura 4 Eemplo de uma decimação por um factor D=4. Na figura 4 ilustra-se um eemplo de uma decimação por um factor D = 4. O sinal de entrada é uma sinusóide de frequência 4Hz, amostrada a uma frequência de 80Hz. O sinal de saída está amostrado a um ritmo de = = 20 Hz. D frequência Assume-se que o espectro X ( Ω) do sinal [ n] 0 Ω < π, ou, 2, é diferente de zero no intervalo de. Como a decimação reduz a frequência de amostragem, o sinal resultante poderá conter aliasing. Para evitar o aliasing é necessário reduzir a largura de banda de [] n para ma =, ou, 2D Ω ma π =. Assim, o primeiro sistema da figura 5 é um D 7
filtro passa-baio (filtro anti-aliasing) que se destina a eliminar o espectro de X [ Ω] no intervalo π < Ω < π. D 3.3 Interpolação A operação inversa da decimação é a interpolação. Tal como a decimação, também a interpolação, por um factor I, é caracterizada por dois sistemas em cascata (ver figura 5). O primeiro sistema consiste em entrelaçar zeros no sinal [ n] de modo a aumentar o ritmo de amostragem, e o segundo sistema é um filtro interpolador que tem como missão estimar o valor das amostras a zero, com base nas amostras vizinhas pertencentes ao sinal original. O sinal obtido à saída do sistema, caso o filtro interpolador seja linear e definido por h [ m], é dado por, [ m] = h[ m ki] [ k] k =. () [] n = T Sobre-amostragem por I v[ m] I iltro Interpolador [ m] = I igura 5 Interpolação por um factor I. Para aumentar o ritmo de amostragem, por um factor inteiro I, é necessário inserir I zeros entre as amostras sucessivas do sinal [ n]. Assim, o sinal v [ m] é obtido pela epressão, v [ m] [ m / I ], m = 0, ± I, ± 2I,... = 0 outros valores de m (2) sendo este sinal uma sequência com um novo ritmo de amostragem, = I. 8
Amplitude Amplitude.5 0.5 0-0.5 - Sequência de entrada -.5 0 5 0 5 20 25 30 35 40 45 50 tempo n Sequência de saída - factor de 4.5 0.5 0-0.5 - -.5 0 5 0 5 20 25 30 35 40 45 50 tempo n igura 6 Eemplo de uma sobre-amostragem por um factor I=4. Na figura 6 ilustra-se um eemplo de uma sobre-amostragem por um factor I = 4. O sinal de entrada é uma sinusóide de frequência 0Hz, amostrada a uma frequência de 80Hz. O sinal de saída está amostrado a um ritmo de = I = 320 Hz. A função do filtro interpolador, é calcular o valor das amostras a zero com base nas amostras vizinhas. A forma mais simples do interpolador, consiste em usar o método do vizinho mais próimo. Neste caso, repete-se o valor da amostra mais próima (equivale a usar um zero order hold). Outra forma alternativa, é aplicar a interpolação linear. Neste caso, o valor da amostra a zero é substituída pela média das amostras vizinhas. Nestes dois eemplos, usaram-se dois filtros lineares. Contudo, também é possível recorrer a interpoladores não lineares, como por eemplo o filtro de mediana. 9
4. ZOOM IN/OUT 4. Zoom out em imagens - decimação A operação de zoom out numa imagem consiste em reduzir as dimensões da imagem, ou seja em reduzir o ritmo de amostragem (processo idêntico à decimação). Por isso, para fazer zoom out vamos fazer uma decimação por um factor D. Como a imagem é representada por uma função bidimensional, a equação (0) fica, em que v [ i, j] e [ i j] [ i j] v[ id jd], =,, (2), representam a imagem inicial e a imagem depois de decimada, respectivamente. Geralmente esta operação não é muito requisitada, uma vez que assim estamos a reduzir as dimensões da imagem e portanto a dificultar a observação da informação contida na imagem. 33 5050 6060 igura 7 Decimação por um factor = 2 D e = 5 D. Para ilustrar esta operação vamos usar uma imagem de uma impressão digital (ver figura 7). A impressão digital contém uma quantidade significativa de detalhes visuais que definem a imagem. Na figura 7 mostram-se imagens de uma impressão digital que foi decimada por um factor de D = 2 e de D = 5. Note-se que no caso em que o D = 2, ainda se 0
consegue, com alguma dificuldade, observar detalhes visuais que caracterizam a impressão digital. No caso D = 5, o padrão da impressão digital foi completamente alterado (aliasing). 4.2 Zoom in em imagens - interpolação Ao contrário do zoom out, a operação zoom in consiste em aumentar as dimensões da imagem (ou de uma parte desta). Assim, a operação de zoom in por um valor inteiro I é obtida através da interpolação por um factor I. Para tal, começa-se por interlaçar zeros entre as amostras já eistentes. Por eemplo, para I = 2, e seja a matriz original, 7 8 5 X =, 6 0 9 obtém-se, depois de realizar o entrelaçamento de zeros, a matriz, 7 0 8 0 5 0 0 0 0 0 0 0 X =. 6 0 0 0 9 0 0 0 0 0 0 0 Para obter a imagem de zoom, é necessário resolver o principal problema a interpolação que consiste em descobrir quais os valores das amostras a zero. Para realizar esta operação são usadas, nesta lição, três técnicas: - zero order hold [2]; - interpolação bilinear [3]; - filtro de mediana pesado [].
a) b) c) d) igura 8 Zoom 4 a) Imagem original; b) Interpolação usando o método vizinho mais próimo; c) interpolação bilinear; d) interpolação usando o filtro de mediana pesada. 2
A forma mais simples de interpolar, é através do método do vizinho mais próimo que repete o valor do piel do vizinho (amostra) mais próimo. No entanto, esta técnica introduz o efeito de bloco na imagem (ver figura 8b). Na interpolação bilinear obtêm-se os valores dos pieis desconhecidos através da média dos pieis vizinhos, fazendo primeiro o processamento ao longo da linhas e depois ao longo das colunas. Os resultados obtidos pela interpolação bilinear são ilustrados na figura 8c. Como se pode observar, os resultados são melhores que os resultados obtidos pelo método anterior. No entanto, as transições entre cores estão suavizadas. O resultado obtido com o filtro de mediana pesada situa-se entre os dois métodos referidos atrás: procura evitar as transições suavizadas através da repetição de pieis mas tendo em conta o efeito de bloco (ver figura 8d). A interpolação através do filtro de mediana pesada é realizada através de uma técnica polifásica. Dada a matriz, a, a,2 a,3 X = a2, a2,2 a2,3, a 3, a3,2 a3,3 na figura 9 mostra-se a mesma matriz mas já com os zeros (todos os elementos que não estão dentro de um quadrado verde). A primeira fase do método consiste em calcular os pontos que estão dentro de um quadrado azul (figura 9). Estes pontos são obtidos através do cálculo da mediana dos 4 vizinhos originais (quadrados verdes). De seguida calculam-se os pontos que estão dentro dos quadrados pretos e dos quadrados azuis através da mediana pesada entre dois pieis originais (quadrados verdes) e dois pieis obtidos na fase anterior (quadrados azuis)., 0, 2, 0 2, 3, 0 3, 0,, 0 2, 2, 0 3, 3,,2 0,2 2,2 0 2,2 3,2 0 3,2 0,2,2 0 2,2 2,2 0 3,2 3,2,3 0,3 2,3 0 2,3 3,3 0 3,3 0,3,3 0 2,3 2,3 0 3,3 3,3 igura 9 Matriz X depois do entrelaçamento de zeros 3
A figura 8 mostra um eemplo de zoom in para os três métodos referidos atrás. Todos apresentam resultados satisfatórios, embora os resultados do filtro de mediana pesada sejam ligeiramente superiores aos outros. 5. CONCLUSÕES Nesta lição descreveram-se técnicas para fazer zoom numa imagem através da interpolação e da decimação. oram descritos os sistemas decimador e interpolador de uma forma geral, e depois adaptados ao problema de zoom em imagem. oi dado maior ênfase à interpolação, por ser uma operação de maior interesse porque nos dá maior capacidade para analisar os detalhes visuais da imagem. Assim, são analisadas vários métodos de interpolação, métodos lineares e não lineares, sendo realçado a melhor desempenho do método não linear. No final da lição, os alunos deverão ser capazes de implementar um sistema interpolador e um sistema decimador, e com estes sistemas fazer zoom numa imagem ou numa parte da imagem. 6. REERÊNCIAS [] Arce, G. R., Paredes, J. L. e Mullan, J., Nonlinear iltering for Image Analsis and Enhancement. In Bovik, A. C. editores, Handbook of Image & video processing, capítulo 3. Academic Press, 20. [2] Bovik, A.C., Basic Gra-Level Image Processing. In Bovik, A. C. editores, Handbook of Image & video processing, capítulo 2. Academic Press, 20. [3] Jain, A. K., undamentals of Digital Image Processing, Prentice-Hall, 989 [4] Oppenheim, A.V., Digital Signal Processing, Prentice-Hall, 975. [5] Proakis, J. G. e Manolakis, D. G., Digital Signal Processing Principles, Algorithms and applications, Prentice-Hall, 996. 4