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
Download

Aula 4 - Carolina