FUNDAMENTOS DE FILTRAGEM ESPACIAL • Filtragem espacial é uma das principais ferramentas usadas para um largo espectro de aplicações. • O nome filtro é emprestado do processamento no domínio da frequência, como filtro de passa-baixa (low-pass). • Filtragem espacial realiza operação diretamente na imagem, usando filtros espaciais também chamados de máscaras, kernels, templates, e windows. • Se a operação realizada sobre os pixels é linear, o filtro é chamado de filtro espacial linear linear, caso contrário contrário, é chamado filtro não-linear. não-linear © 1992–2008 R. C. Gonzalez & R. E. Woods A mecânica de filtragem espacial li linear usando d máscara de d 3x3. A forma escolhida para denotar as coordenadas dos coeficientes da máscara de filtragem g simplifica p a escrita de expressões para filtragem linear. © 1992–2008 R. C. Gonzalez & R. E. Woods • A Fig. anterior ilustra a mecânica da filtragem linear espacial usando uma vizinhança 3x3. • Em qualquer ponto (x,y) a resposta g(x,y) da filtragem é a soma de produtos dos coeficientes e as intensidades dos pixels : g ( x, y ) w(1,1) f ( x 1, y 1) w( 1,0) f ( x 1, y ) ... w(0,0) f ( x, y ) ... w(1,1) f ( x 1, y 1) • Observa-se que o coeficiente central do filtro, w(0,0), alinha com o pixel na posição (x,y). • Em geral uma filtragem linear espacial de uma imagem MxN com um filtro de tamanho mxn é dada por: g ( x, y ) a b w(s, t ) f ( x s, y t ) s at b onde x e y são variados tal que cada pixel em w visite todos os pixel em f. © 1992–2008 R. C. Gonzalez & R. E. Woods © 1992–2008 R. C. Gonzalez & R. E. Woods CORRELAÇÃO E CONVOLUÇÃO ESPACIAIS • Correlação é o processo de mover uma máscara de filtro sobre uma imagem e computar a soma de produtos em cada posição, exatamente como explicado anteriormente. i w( x, y ) f ( x, y ) • a b w(s, t ) f ( x s, y t ) s at b A convolução difere da convolução pela rotação do filtro de 180o. w( x, y ) f ( x, y ) a b w(s, t ) f ( x s, y t ) s at b • A fig. 3.29 ilustra a diferença entre essas duas operações para uma função 1D. © 1992–2008 R. C. Gonzalez & R. E. Woods Ilustração de correlação e convolução 1-D de um filtro com um impulso unitário discreto. discreto Note que correlação e convolução são funções de deslocamento. © 1992–2008 R. C. Gonzalez & R. E. Woods © 1992–2008 R. C. Gonzalez & R. E. Woods Correlação (linha do meio) e convolução (última linha) de um filtro 2D com um impulso p unitário discreto 2D. Os 0s são mostrados em cinza para facilitar a análise visual. © 1992–2008 R. C. Gonzalez & R. E. Woods © 1992–2008 R. C. Gonzalez & R. E. Woods OBSERVAÇÕES • Usar operações de correlação ou convolução para a filtragem espacial é uma questão de preferência. • O importante é escolher uma máscara com os coeficientes adequados para que o resultado esperado q p seja j obtido. • Para uma máscara com os valores de coeficientes simétricos os resultados da correlação e convolução coincidem (filtros isotrópicos isotrópicos, ou invariantes a rotação). • É comum encontrar t termos t como filtro filt de d convolução, l ã máscara á de d convolução ou kernel de convolução na literatura de processamento de imagens, denotando um filtro espacial, sem necessariamente significar que o filtro seja usado para uma verdadeira convolução. convolução • A expressão “convolver uma máscara com uma imagem” é comumente usada para denotar um processo de correlação. © 1992–2008 R. C. Gonzalez & R. E. Woods REPRESENTAÇÃO VETORIAL • Quando o interesse está na resposta característica, R, de uma máscara, é conveniente i t escrever a soma de d produtos d t como R w1 z1 w2 z 2 ... wmn z mn mn wk z k k 1 w Tz • Para usar essa equação em correlação, usa-se a máscara normalmente. Para usar a mesma equação para convolução, rotacionamos a máscara de 180o . © 1992–2008 R. C. Gonzalez & R. E. Woods Uma representação de uma máscara de filtragem geral 3x3. 3x3 R w1 z1 w2 z 2 ... w9 z9 9 wk z k k 1 w Tz © 1992–2008 R. C. Gonzalez & R. E. Woods GERAÇÃO DE MÁSCARAS DE FILTRO ESPACIAL • A geração requer a especificação de mn coeficientes do filtro. Esses coeficientes são especificados levando em consideração que o papel do filtro é calcular a soma de produtos dos coeficientes com as intensidades de pixels. • Por exemplo, supor que queiramos substituir os pixels de uma imagem pela intensidade média de uma vizinhança 3x3 centrada nesses pixels. • O valor médio é a soma dos nove valores de intensidade dividido por 9, ou seja: 1 9 R zi 9 i 1 • Em outras aplicações, temos uma função contínua de duas variáveis, e o objetivo é obter uma máscara baseada nessa função. Por exemplo, a função Gaussiana de duas variáveis tem a f forma 2 2 h ( x, y ) e x y 2 2 onde é o desvio padrão. padrão • Para gerar uma máscara 3x3 dessa função, fazemos a amostragem dessa função em torno do ( ) w2=h(-1,0),..., ( ) w9=h(1,1). ( ) centro. Assim, w1=h(-1,-1), © 1992–2008 R. C. Gonzalez & R. E. Woods FILTROS ESPACIAIS DE SUAVIZAÇÃO • Os filtros de suavização são usados para borramento (blurring) e para redução de ruído. • O borramento é usado em tarefas de pré-processamento, tais como remoção de pequenos detalhes de uma imagem, antes da extração de objetos, ou para conexão de pequenas interrupções em linhas ou curvas. • A redução de ruído pode ser realizada fazendo o borramento. t os lineares ea es de suavização suav ação Filtros • A saída de um filtro espacial linear de suavização é simplesmente a média dos pixels contidos na vizinhança. Esses filtros são chamados de filtros de média, ou filtros de passa-baixa. • A ideia dos filtros de suavização é a substituição de valores de cada pixel pela média da sua vizinhança definida pela máscara, o que resulta numa imagem com reduzidas transições ç agudas g em intensidades. • Como os ruídos aleatórios normalmente são constituídos de transições agudas de intensidade, uma aplicação óbvia da suavização é a redução de ruído. • Contudo, as arestas (edges) também consistem de transições agudas de intensidade, implicando que a suavização gera um efeito indesejado de borrar as arestas. © 1992–2008 R. C. Gonzalez & R. E. Woods Duas máscaras de filtragem de suavização (média) 3x3. O multiplicador p constante é igual g a 1 dividido pela p soma dos valores dos coeficientes, requeridos para computar a média. A segunda d máscara á calcula l l uma média édi ponderada, d d o que implica i li na redução do borramento no processo de suavização. © 1992–2008 R. C. Gonzalez & R. E. Woods ((a)) IImagem original, i i l de d tamanho t h 500x500. 500 500 (b)-(f) resultado da suavização com filtros de média de tamanho m m=33,5,9,15 5 9 15 e 35. 35 © 1992–2008 R. C. Gonzalez & R. E. Woods (a) Imagem de tamanho 528x485 pixels do telescópio Hubble. (b) Imagem filtrada com uma máscara de média 15x15. (c) Resultado da limiarização sobre (b). © 1992–2008 R. C. Gonzalez & R. E. Woods FILTROS ESTATÍSTICOS (não lineares) • São filtros espaciais não-lineares cuja resposta é baseada na ordenação (ranking) dos pixels contidos na área de imagem enquadrada pelo filtro, e então substituir o valor do pixel central com o valor determinado pelo resultado do ranking. • g é o filtro da mediana,, qque substitui o valor O filtro mais conhecido nessa categoria de um pixel pela mediana dos valores de intensidade na vizinhança do pixel. • Os filtros de mediana são populares porque para certos tipos de ruído, ruído eles produzem excelente capacidade de redução, com consideravelmente menos borramento que os filtros lineares de mesmo tamanho. • Os filtros de mediana são particularmente efetivos na presença de ruídos impulsivos, também, chamados de ruídos sal-e-pimenta (salt-and-pepper noise), d id a aparência devido ê i de d pontos t brancos b e pretos t sobrepostos b t na imagem. i © 1992–2008 R. C. Gonzalez & R. E. Woods MEDIANA • A mediana, , de um conjunto de valores é tal que metade dos valores do conjunto j são abaixo b i ou igual i l a , e metade d são acima i ou igual i la. • Para realizar a filtragem da mediana num ponto da imagem, imagem primeiro ordenamos os valores dos pixels na vizinhança, determinamos a sua mediana, e atribuímos aquele valor ao pixel correspondente na imagem filtrada. filtrada • p , numa vizinhança ç 3x3 a mediana é o quinto q maior valor;; numa Por exemplo, vizinhança 5x5, é o 130 valor; e assim por diante. • Supondo S d que a vizinhança i i h 3x3 3 3 tem valores l (10,20,20,20,15,20,20,25,100). (10 20 20 20 15 20 20 25 100) Esses valores ordenados são (10,15,20,20,20,20,20,25,100), o que resulta na mediana 20. © 1992–2008 R. C. Gonzalez & R. E. Woods (a) Imagem de raios-X raios X de circuito impresso corrompido por ruído sal-e-pimenta. (b) Redução do ruído com uma máscara de média 3x3. ( ) Redução (c) d ddo ruído d com uma máscara dde mediana di 3x3. © 1992–2008 R. C. Gonzalez & R. E. Woods OUTROS FILTROS ESTATÍSTICOS • Embora a mediana seja um filtro mais usado em processamento de imagens, existem outros filtros, como o filtro do máximo, e o filtro do mínimo. • O filtro do máximo (max filter) encontra o ponto mais brilhante. A resposta de um filtro 3x3 é dada por R = max{zk | k = 1,2,...,9} • O filtro do mínimo (min filter) é oposto ao máximo. máximo © 1992–2008 R. C. Gonzalez & R. E. Woods FILTROS ESPACIAIS DE SHARPENING • O principal objetivo do sharpening é acentuar transições na intensidade. • O uso dde sharpening h i de d imagens i inclui i l i aplicações li õ desde d d a impressão i ã eletrônica, imagens médicas até inspeção industrial e automação em sistemas militares. • Como a suavização de imagens é realizada usando a média, que é análoga à integração o sharpening é realizado por diferenciação integração, diferenciação. © 1992–2008 R. C. Gonzalez & R. E. Woods FUNDAMENTOS • As derivadas de uma função digital são definidas em termos de diferenças. • Existem várias formas de definir essas diferenças, contudo, a primeira derivada deve ser: (1) zero em áreas de intensidade constante; (2) não-zero no começo de um degrau de intensidade ou de rampa; e (3) não-zero em rampas. • e a segunda derivada deve ser: (1) zero em áreas constantes; (2) não-zero no início e fim de um degrau de intensidade ou de rampas; e (3) zero ao longo de rampas de inclinação constante. © 1992–2008 R. C. Gonzalez & R. E. Woods • A definição básica da derivada de primeira ordem e uma função unidimensional f(x) é a diferença f f ( x 1) f ( x) x • A derivada d i d é parcial i l para usar a mesma notação quando d consideramos id função f de d duas variáveis f(x,y). • A derivada de segunda ordem de f(x) é a diferença 2 f f ( x 1) f ( x 1) 2 f ( x) x 2 • A fig. 3.36 ilustra essas duas derivadas. © 1992–2008 R. C. Gonzalez & R. E. Woods Ilustração da primeira e segunda derivada de uma função 1D (perfil de intensidade de uma ma imagem). © 1992–2008 R. C. Gonzalez & R. E. Woods LAPLACIANO • Estamos interessados em filtros isotrópicos, ou invariantes a rotação, para sharpening. • O Laplaciano é um operador derivativo isotrópico, que para uma função de duas dimensões f(x,y) é definido como 2 f 2 f f 2 2 x y 2 • Como derivadas de qualquer ordem são operações lineares, o Laplaciano é um operador linear linear. • De forma discreta usamos a equação 3.6-2, com duas variáveis: 2 f f ( x 1, y ) f ( x 1, y ) 2 f ( x, y ) 2 x 2 f f ( x, y 1) f ( x, y 1) 2 f ( x, y ) y 2 • Portanto o Laplaciano é dado por: 2 f ( x, y ) f ( x, y 1) f ( x, y 1) f ( x 1, y ) f ( x 1, y ) 4 f ( x, y ) © 1992–2008 R. C. Gonzalez & R. E. Woods (eq.3.6-6) (a) Máscara de filtro usada para implementar a eq. 3.6-6 (b) Máscara usada para implementar uma extensão dessa equação que inclui termos diagonais. (c) e (d) Duas outras impleimple mentações do Laplaciano encontrado frequentemente na prática. ái © 1992–2008 R. C. Gonzalez & R. E. Woods • Devido o Laplaciano ser um operador derivativo, o seu uso realça as descontinuidades de intensidade numa imagem g e desenfatiza regiões g com níveis de intensidade qque variam lentamente. • Isso tende a produzir imagens que tenham linhas de arestas e outras descontinuidades, descontinuidades superpostas no fundo escuro. • Os ffatores dde ffundo O d podem d ser recuperados, d mantendo d os efeitos f i ddo L Laplaciano, l i simplesmente adicionando a imagem Laplaciana à imagem original. • É importante considerar que máscara de Laplaciano é usada. Se a máscara usada tem o coeficiente central negativo, então subtrai-se a imagem Laplaciana para obtenção do resultado: g ( x , y ) f ( x, y ) c 2 f ( x, y ) Eq (3.6-7) onde f(x f(x,y) y) e g(x g(x,y) y) são as imagens de entrada e realçada realçada, respectivamente. respectivamente A constante é c = -1 se os filtros Laplacianos são da Fig.3.37 (a) ou (b); e c = 1, caso sejam usados os outros dois filtros. © 1992–2008 R. C. Gonzalez & R. E. Woods ((a)) Imagem I bborrada d do d polo norte da Lua (b) Laplaciano sem escala(os valores negativos são apenas zerados) (c) Laplaciano com escala (soma de uma constante para que todos os pixels se enquadrem em [0,255]) ( ) Imagem (d) g realçada ç usando máscara da fig. 3.37(a) e equação 3.6-7 (e) Resultado de uso da máscara da fig. 3.37(b). e equação 3.6-7 © 1992–2008 R. C. Gonzalez & R. E. Woods UNSHARP MASKING E HIGHBOOST FILTERING • O processo usado por muitos anos em indústrias de impressão e publicação para o realce de imagens consiste na subtração de uma imagem em versão suavizada (unsharped smoothed) da imagem original. original • Esse processo chamado unsharp masking consiste nos seguintes passos: 1)) 2) 3) • Borrar a imagem g original g Subtrair a imagem borrada da original ( a diferença resultante é chamada de máscara) Adicionar a máscara à original. Ch Chamando d de d f ( x, y ) a imagem i borrada, b d o unsharp h masking ki é expresso como: g mask ( x, y ) f ( x, y ) f ( x, y ) • Então é adicionada uma porção ponderada da máscara à imagem original: g ( x, y ) f ( x, y ) k .g mask ( x, y ) onde um peso k positivo foi incluído para generalização. Quando k = 1, tem-se o unsharp masking definido anteriormente. Quando k > 1, o processo é referido como highboost filtering. Se k<1 enfatiza-se pouco a contribuição da máscara. © 1992–2008 R. C. Gonzalez & R. E. Woods Ilustração 1D do mecanismo de unsharp masking. ki (a) Sinal original (b) Sinal borrado com o original mostrado em pontilhado ((c)) Unsharp p mask (d) Sinal realçado obtido somando (c) a (a). (a) © 1992–2008 R. C. Gonzalez & R. E. Woods (a) Imagem original (b) Resultado de borramento com fil Gaussiano filtro i (c) Máscara (unsharp mask) (d) Resultado de unsharp masking k=1 ((c)) Resultado de highboost g filtering f g k>1 g ( x, y ) f ( x, y ) k .g mask ( x, y ) © 1992–2008 R. C. Gonzalez & R. E. Woods SHARPENING USANDO GRADIENTE • Para uma função f(x,y) o gradiente é definido como f g x x f grad ( f ) f g y y Eq.3.6-10 • Esse vetor tem a propriedade de apontar para a direção da maior taxa de variação de f na posição (x,y). • A magnitude do vetor gradiente é denotado por M(x,y) , onde M ( x, y ) mag (f ) g x2 g y2 é o valor em (x,y) da taxa de mudança na direção do vetor gradiente. © 1992–2008 R. C. Gonzalez & R. E. Woods • Como os componentes do vetor gradiente são derivadas, eles são operadores lineares. Contudo, a magnitude desse vetor não é operador linear devido ao uso da raiz quadrada. quadrada • Por outro lado, as derivadas parciais da eq.3.6-10 não são invariantes à rotação (i ó i ) mas a magnitude (isotrópicas), i d do d vetor gradiente di é. é • Em algumas implementações, é mais adequado computacionalmente aproximar as operações quadrado e raiz quadrada por valores absolutos M ( x, y ) g x g y © 1992–2008 R. C. Gonzalez & R. E. Woods Eq. 3.6-12 Uma região 3x3 de uma imagem (z’s são intensidade) (b)-(c) operadores de gradiente cruzada de Roberts (d)-(e) operadores de Sobel. Todos os coeficientes de máscaras somam zero, como se espera p de um operador p derivativo. © 1992–2008 R. C. Gonzalez & R. E. Woods (a) Imagem óptica de lente de contato (notar os defeitos no contorno a 4 e 5 horas). (b) Gradiente de Sobel. © 1992–2008 R. C. Gonzalez & R. E. Woods COMBINAÇÃO DE MÉTODOS ESPACIAIS • A imagem da Fig. 3.43a é do escaneamento completo do corpo humano, usado para detectar doenças, tais como infecção no osso e tumores. • O objetivo é melhorar essa imagem realçando e trazendo mais detalhes. • O baixo intervalo dinâmico dos níveis de intensidade e alto ruído contido torna difícil o melhoramento. • A estratégia a ser seguida é utilizar o Laplaciano para ressaltar os detalhes finos e o gradiente para melhorar as arestas. Finalmente tenta-se aumentar o intervalo dinâmico dos níveis de intensidade usando uma transformação de intensidade. • A Fig. 3.43b mostra o Laplaciano da imagem original, obtida usando o filtro da Fig. 3.37d. Essa imagem foi escalada (apenas para mostrar) usando a mesma técnica da Fig. g 3.38c. Podemos obter uma imagem g realçada ç adicionando a Fig. g 3.43(a) ( ) e (b) ( ) conforme Fig.3.43c, onde é possível notar o realce de ruídos. • Uma forma de reduzir ruído é usar o filtro da mediana. Contudo,, o filtro da mediana é um processo não linear capaz de remover fatores da imagem. Isso é inaceitável em processamento de imagens médicas. © 1992–2008 R. C. Gonzalez & R. E. Woods • • • • Um procedimento di alternativo l i é usar a máscara á formada f d de d uma versão suavizada i d do gradiente da imagem original. A motivação é baseada nas derivadas de primeira e segunda ordem. O Laplaciano sendo de segunda ordem, tem vantagem de melhorar lh os detalhes, d t lh porém é causa a produção d ã de d mais i ruídos íd que o gradiente. di t Esse E ruído é mais visível em áreas mais suaves. O gradiente tem uma resposta mais forte em áreas de transições fortes (rampas e d degraus) ) que o Laplaciano. L l i A resposta do gradiente a ruído e detalhes finos é menor que o Laplaciano e pode ser ainda reduzida suavizando o gradiente com um filtro de média. A idéia é suavizar o gradiente e multiplicar o resultado pela imagem Laplaciana. Neste contexto pode-se ver o gradiente suavizado como uma máscara. O produto irá preservar detalhes em áreas mais intensas enquanto o ruído é reduzido em áreas relativamente planas. Esse processo é uma combinação dos melhores fatores do Laplaciano e do gradiente. O resultado é adicionado à imagem original para obter uma imagem final realçada (Fig. 3.43d). © 1992–2008 R. C. Gonzalez & R. E. Woods (a) Imagem do corpo completo (b) Laplaciano de (a) (c) Imagem realçada obtido somando (a) e (b) (d) Gradiente de Sobel de (a) © 1992–2008 R. C. Gonzalez & R. E. Woods • • • • • • A Fig Fig. 3.43d 3 43d mostra o gradiente de Sobel da imagem original, original computado usando a eq. 3.6-12. Os componentes gx e gy foram obtidos usando as máscaras da Fig. 3.41(d) e (e), respectivamente. Como esperado, as arestas são mais dominantes nessa imagem que na imagem Laplaciano. A Fig. 3.43e mostra uma imagem gradiente suavizada obtida usando um filtro de média de tamanho 5x5. As duas imagens gradientes foram escaladas para mostrar da mesma forma que a imagem Laplaciano. Laplaciano O produto da imagem Laplaciana e a imagem gradiente suavizada é mostrado na Fig.3.43f. Nota-se a predominância de arestas fortes e falta relativa de ruídos, que é o nosso objetivo central. Adicionando a imagem produto à original resulta na Fig. 3.43g. O significante incremento no realce de detalhes é evidente, incluindo costela, coluna vertebral, pelvis e crânio. Para aumentar o intervalo dinâmico a etapa final é usar uma função de transformação, Fig.3.43h, obtida com uma transformação de potência ( power-law) (eq.3.2-3) com =0,5 e c =1. © 1992–2008 R. C. Gonzalez & R. E. Woods (e) Imagem Sobel suavizada com um filtro d média de édi 5x5. 5 5 (f) Imagem de máscara formada pelo produto de (c) e (e) (g) Imagem realçada obtida somando (a) e (f) (h) Resultado final obtido aplicando li d uma transfort f mação de potência (power power-law law) sobre (g) (g). Comparar (g) e (h) com (a) © 1992–2008 R. C. Gonzalez & R. E. Woods ab cd ef gh Comparar (a) com (g) e (h). © 1992–2008 R. C. Gonzalez & R. E. Woods