Você está na página 1de 67

1

PDI Aula 03
CONVOLUO
2
Filtragemno domnio espacial
Algumas tcnicas de PDI operam diretamente nos
valores contidos na vizinhana dos pixels da
imagem.
A operao em uma vizinhana realizada por
meio de uma sub-imagem denominada de:
filter , mask , kernel, template ou window
3
Filtragem no
domnio espacial
O processo de filtragem
consiste em mover a
mscara de filtragem
pixel-a-pixel na imagem.
O resultado da operao
colocado no pixel
central e em uma outra
matriz imagem de
mesmas dimenses para
evitar efeitos em
cascata.
4
Filtragem no domnio
espacial
O resultado da
aplicao da mscara
dado pela equao:
1) y 1, (1,1).f(x
y) 1, (1,0).f(x
... y) , (0,0).f(x
... y) 1, 1,0).f(x (
1) y 1, 1,1).f(x ( R
+ +
+ +
+ +
+ +
+ =
5
Note que o
coeficiente da
mascara w(0,0)
coincide com o
pixel de
coordenadas
f(x,y), indicando
que a mscara
est centrada em
f(x,y).
6
As dimenses m x n da mscara so dadas pelas equaes:
1 b 2 n
1 a 2 m
+ =
+ =
onde a e b so nmeros inteiros no negativos, ou seja, as
dimenses das mscaras so sempre impares.
O processo de filtragem de uma imagem f dado pela
equao:

= =
+ + =
a
-a s
b
b t
t) j s, f(i t) (s, j) g(i,
onde
1)/2 - m ( b e 1)/2 m ( a = =
para um processo de filtragem completo
i= 0, 1, 2, , M -1
j = 0, 1, 2, , N -1
7
Mascara de convoluo
O processo de aplicao da mscara similar ao
processo de convoluo realizado no domnio da
freqncia, assim, muitas vezes, a filtragem no
domnio espacial referida como:
convoluo de uma mscara com uma imagem
8
Consideraes sobre a dimenso da imagem
O limite do processo de convoluo espacial quando a borda
da imagem coincidir com a borda da mscara. Alm desse ponto
a borda da mscara ficar fora da imagem.
9
Consideraes sobre a dimenso da imagem
Limitar a excurso da mscara, nesse caso a imagem
processada ser menor que a imagem original
Se necessita-se manter as dimenses da matriz original,
nesse caso filtra-se a imagem somente com a parte da
mscara que coincide com a matriz imagem
Adicionar zeros s linhas da borda, ou mesmo replicar
as ltimas linhas e colunas so outros procedimentos.
10
a b
c d
e f
11
Filtros de alisamento smoothing
12
Filtragem: Melhorar a relao sinal rudo de imagens,
preservando suas estruturas anatmicas.
Algoritmos de filtragem simples,
como o filtro da mdia, alteram as
descontinuidades da imagem, ao
mesmo tempo em que atenuam o
rudo.

efeito de
blurring ou
borramento
Filtro da mdia
Trata-se de uma operao realizada no domnio espacial
13
mscara 3x3
entrada
Procedimento para aplicar o filtro da mdia
sada
Filtro da mdia
14
Efeito do filtro da mdia: blurring ou borramento a imagem
Perfil Horizontal
Perfil Horizontal
imagem original
sada do filtro da mdia 5x5
Filtro da mdia
15
original
com
rudo
filtro da
mdia 3x3
Filtro da mdia/passa-baixas/alisamento
16
Sharpening filters: 1a e 2a derivada
Fundamentos:
-Nvel de cinsa constante (segmentos
planos)
ex: lines
- Descontinuidades (degraus)
ex: rudos pontuais
- Rampas de nvel de cinsa
ex: edges
Efeito da derivada em:
17
As derivadas so definidas emtermos de diferenas
1
a
derivada:
- deve ser zero em regies constantes
- no deve ser zero nos degrais, incio e fim de
rampas
- no deve ser zero ao longo da rampa
2
a
derivada:
- deve ser zero em regies constantes
- no deve ser zero nos degrais, incio e fim de
rampas
- deve ser zero ao longo de rampas de declives
constantes
18
Derivada de 1
a
ordem, uma dimenso:
) ( ) 1 (
) (
x f x f
x
x f
+ =

Derivada de 2
a
ordem, uma dimenso:
| | | | | |
x
x f
x
x f
x
x f x f
x
x
x f
x
x f

+
=

+
=

) ( ) 1 ( ) ( ) 1 (
) (
) (
2
2
| |
) 1 ( ) 2 (
) 1 (
+ + =

+
x f x f
x
x f
| |
) ( ) 1 (
) (
x f x f
x
x f
+ =

onde:
x x+1 x+2
19
| | | | ) ( ) 1 ( ) 1 ( ) 2 (
) (
2
2
x f x f x f x f
x
x f
+ + + =

) ( ) 1 ( ) 1 ( ) 2 (
) (
2
2
x f x f x f x f
x
x f
+ + + + =

) ( ) 1 ( 2 ) 2 (
) (
2
2
x f x f x f
x
x f
+ + + =

Nessa aproximao o resultado est centrado no pixel (x+1).


Para centrar em x faz-se x = x - 1
) 1 ( ) ( 2 ) 1 (
) (
2
2
+ + =

x f x f x f
x
x f
1 -2 1
Mscara para calcular
a 2
a
derivada
20
1 -2 1 1 -2 1 1 -2 1 1 -2 1 1 -2 1 1 -2 1
1
st
derivative is nozero
along the ramp
2
nd
derivative is zero
along the ramp
2nd derivative is nozero
onset & end ramp
Para pontos isolados
h uma reposta mais
agressiva da 2da
derivada que da 1a
A 2da derivada
produz linha dupla
21
Uso da derivada 2
a
para Image Enhancement
Filtros isotrpicos: aqueles cuja resposta independente da
direo da descontinuidade da imagem, ou seja, filtros isotrpicos
so invariantes com a rotao.
2
2
2
2
2
y
f
x
f
f

=
O mais simples dos filtros isotrpicos o operador Laplaciano:
22
) , 1 ( ) , ( 2 ) , 1 (
) , (
2
2
y x f y x f y x f
x
y x f
+ + =

) 1 , ( ) , ( 2 ) 1 , (
) , (
2
2
+ + =

y x f y x f y x f
y
y x f
) , ( 4 ) 1 , ( ) 1 , ( ) , 1 ( ) , 1 (
2
y x f y x f y x f y x f y x f f + + + + + =
Implementao do operador Laplaciano
Mscara/Kernel ou template
do operador Laplaciano
no inclui as diagonais.
2
2
2
2
2
y
f
x
f
f

=
23
Possveis implementaes do operador Laplaciano
24
O operador Laplaciano tende a realar descontinuidades nos tons de
cinza, des-realando regies com nvel de cinza constante:
25
Considerando que o objetivo era realar (sharpening) as transies
(edges), as caractersitcas da imagem podem ser recuperadas
adicionando-se (ou subtraindo-se) a imagem original:

+

=
) , ( ) , (
) , ( ) , (
) , (
2
2
y x f y x f
y x f y x f
y x g
Se o coeficiente central for negativo
Se o coeficiente central for positivo
+ =
26
Como o operador Laplaciando linear, pode-se chegar a uma
mscara que componha as duas operaes:
27
Deteco de transio Edge detection
Edge (transio): um conjunto de pixels conectados que se
encontram numa boundary (borda).
Edge: um conceito local
Region boundary: conceito mais global
28
Edge detection
Deteco de bordas em imagens uma das operaes mais
comuns em anlise de imagens.
rea
permetro
determinar formas
As bordas formam as linhas de
contorno dos objetos.
Exemplo:
29
Edge detection uma parte do processo
chamado de segmentao,
Edge detection e Segmentao
identificao de regies em uma imagem.
ou seja,
30
Terminologia:
Edge detection processo de localizao dos pixels
situados nas linhas de contorno dos
objetos.
31
- Edge enhancement processo de aumento do
contraste das bordas tornando
as mais visveis.
Terminologia:
32
Modelo de transio (edge):
Ideal edge: conjunto de pixel conectados em ambos os lados da
transio:
33
Modelo de transio (edge):
Transies ideais dificilmente ocorrem na prtica, mais comum so
perfis do tipo rampa, ramplike profile:
A inclinao da rampa inversamente proporcional ao borramento
da imagem.
A espessura da transio determinada pelo comprimento da rampa.
Transies borradas tendem a ser grossas e agudas tendem a ser finas.
34
Aplicao da 1a e 2a derivadas:
A derivada 1a :
- positiva entrando e saindo da rampa
- constante para pontos dentro da rampa
- zero para pontos fora da rampa
A derivada 2a :
-positiva no lado escuro da transio
-negativa no lado claro da transio
-zero ao longo da rampa e em reas com
nvel de cinza constate.
35
A posio da borda
definida no centro
da rampa.
Posio de uma borda
36
Perfil horizontal
Perfil vertical
Exemplo tpico de bordas
sharp edge
smooth edge
Imagem de RMN
37
Complicaes na deteco das transies
Em uma cena difcil que dois pixels que pertenam a um mesmo
objeto tenham exatamente o mesmo nvel de cinza na imagem
digitalizada.
A presena de rudo, ou alteraes aleatrias nos nveis de cinza, s
pode ser caracterizada estatisticamente.
Imagens com variaes aleatrias nos nveis de cinza e rampas
suaves jamais tero bordas ideais para serem detectadas.
38
Rudo Gausiano com
mdia 0 e:
=0.1
=1.0
=10
Sensibilidade das derivadas ao rudo:
39
Etapas na deteco da borda
Em geral 3 passos devem ser executados na deteco de borda:
- Filtragem: Sendo o gradiente calculado a partir de dois pontos, o
resultado sensvel ao rudo. Assim utiliza-se algum processo
de filtragem para melhorar a resposta do detetor de borda.
Compromisso: filtragem definio das bordas
- Realce : A deteo das bordas depende das variaes de intensidade entre
pixels vizinhos. O clculo do gradiente reala os pixels onde as
mudanas de intensidade so significativas.
- Deteco : Seleo dos pixels com mudanas intensas de intensidade.
Vrios pontos na imagem possuem gradientes diferentes de zero
e no so bordas. Em geral, usa-se algum processo de
limiarizao aps o gradiente para selecionar os pixels que
formam as bordas.
40
Edges como vimos, edges so mudanas significativas no
nvel de cinza entre dois pixels prximos ou
vizinhos.
Derivada uma tcnica para determinar as variaes
presentes em uma funo.
Consideraes para a deteco de bordas:
Edge enhancement a derivada uma tcnica de realce
das bordas em imagens
Tcnicas para deteco de bordas
41
funo de duas dimenses, logo necessrio considerar as
variaes dos nveis de cinza em diferentes direes.
Operadores derivativos
Imagem:
42
Gradiente
Operador derivativo fornece uma estimativa da direo
da borda. Deriva-se a imagem em
relao a x e y e calcula-se a soma
vetorial das derivadas.
( )
|
|
.
|

\
|

=
y
A
x
A
y x A , ,
Clculo do gradiente:
onde a funo A(x,y) representa a funo imagem.
43
Gradiente
Numericamente, o clculo do gradiente () em uma imagem pode
ser aproximado pelas seguintes relaes discretas:
( ) ( ) ( )
x
y x A y x A
x
y x A
y x A
x

=
, 1 , ,
) , (
( ) ( ) ( )
y
y x A y x A
y
y x A
y x A
y

=
1 , , ,
) , (
44
Mscara para convoluo
As aproximaes mais simples
para o gradiente so:
) , 1 ( ) , ( y x f y x f G
x
+
) 1 , ( ) , ( + y x f y x f G
y
}
As quais podem ser aproximadas pelas mscaras:
G
x
=
G
y
=
Nessas aproximaes Gx corresponde ao ponto (x+1/2,y) e Gy a
(x, y+1/2). Assim, poderia-se utilizar uma mscara 2x2:
G
x
=
G
y
=
Nesse caso o ponto para o qual
a derivada calculado
(x+1/2, y+1/2)
45
Clculo Gradiente
46
Clculo Gradiente
( ) ( ) y x A y x A y x
x
, 1 , 1 ) , ( + =
( ) ( ) 1 , 1 , ) , ( + = y x A y x A y x
y
M
e
l
h
o
r

a
p
r
o
x
i
m
a

o

p
a
r
a

l
o
c
a
l
i
z
a

o

d
a

b
o
r
d
a
Operao simtrica
em relao ao pixel
(x,y)
}
-1 1
1
-1
47
Clculo Gradiente
A magnitude do gradiente o comprimento da hipotenusa:
e a direo aproximada da borda:
2
2
|
|
.
|

\
|

+
|
.
|

\
|

=
y
A
x
A
G
mag
|
|
|
|
.
|

\
|

=

x
A
y
A
G
direo
1
tan
48
Note que a magnitude do gradiente no depende da direo da
borda (operao denominada de isotrpica)
y x mag
G G G +
( )
y x mag
G G mx G +
Observaes:
Clculo Gradiente
Pode-se aproximar o clculo da magnitude:
49
Deteco de bordas usando templates
A idia do uso de templates substituir a aplicao
direta dos conceitos de derivada por uma mscara com
coeficientes que simulem uma borda.
Existe uma variedade de templates
aplicados na deteco de bordas, entre
eles:
Roberts
Sobel
Kirsch
Prewitt
Frein-Chen
Laplaciano
50
Operador Roberts
O operador Roberts uma aproximao simples da magnitude do
gradiente.
) , 1 ( ) 1 , ( ) 1 , 1 ( ) , ( )] , ( [ y x f y x f y x f y x f y x f G + + + + + =
G
x
=
G
y
=
O operador Roberts uma operao aproximada do gradiente no
ponto (x+1/2, y+1/2) e no no ponto (x,y).
y x
G G y x f G + = )] , ( [
51
O Detetor de Borda Sobel
Template
3x3
= Sx
) , 1 ( ) , ( y x A y x A
x
=
Operador Sobel na direo x:
52
O Detetor de Borda Sobel
Template
3x3
) 1 , ( ) , ( = y x A y x A
y
Operador Sobel na direo y:
= Sy
53
O Detetor de Borda Sobel
A magnitude dada por:
2 2
Sy Sx G
mag
+ =
Essa operao envolve a determinao de uma raiz
quadrada e duas potncias de dois. Operaes
computacionais lentas.
Em geral resume-se essa operao no clculo da soma:
Sy Sx +
54
As mscaras de Kirsch modelam a mudana de nvel de
cinza observadas nas bordas.
Existe uma mscara para cada direo.
Detetor Kirsch
55
Kirsch templates
K
0
= K
1
= K
2
= K
3
=
K
4
= K
5
= K
6
= K
7
=
56
Kirsch templates
Por exemplo, se a maior resposta for para a mscara K
0
implica em uma borda vertical (gradiente horizontal) no
pixel correspondente ao centro da mscara.
Para encontrar as bordas dos objetos a imagem
convoluda com as 8 mscaras.
Seleciona-se a maior resposta entre as 8 mscaras.
57
Outros templates
(vertical) (horizontal)
Prewitt:
2 2
1
+
2 2
1
0
1
1
1
0
0
2 2
1
+
2
2
0
0
0
1
1
1 1
Frei-Chen:
(vertical) (horizontal)
58 Prewitt
Kirsch
Sobel
Resultado comparativo (imagem ruidosa)
Original
59
Resultado comparativo (imagem sem rudo)
Prewitt Kirsch
Sobel Original
60
Operadores derivativos de 2a ordem
Os operadores baseados na 1a derivada determinam o presena da
borda quando o resultado superior a um certo limiar.
Em geral, essa operao resulta em bordas com muitos pixels ou
espessas.
61
A melhor aproximao localizar os pontos de mximos no gradiente:
ou seja, um pico na derivada 1a corresponde a um cruzamento por zero
na derivada 2a. As bordas podem ento ser identificadas por um detetor
de cruzamento por zero.
62
Existem dois operadores em 2D para a derivada 2a:
- O Laplaciano
- Derivada direcional segunda
63
2
2
2
2
2
) , (
y
f
x
f
y x f

=
(
(
(
(
(
(






1 1 1 1 1
1 1 1 1 1
1 1 24 1 1
1 1 1 1 1
1 1 1 1 1
(
(
(



0 1 0
1 4 1
0 1 0
Laplaciano
O operador Laplaciano definido por:
e pode ser aproximado pelas seguintes mscaras:
64
Exemplo: Laplaciano (mscara 3x3)
65
Embora o Laplaciano seja insensvel a direo da borda e, portanto
capaz de realar as bordas em qualquer direo, seu uso restrito
devido a sua grande sensibilidade a rudo (Marques Filho, 1999).
Exemplo: Laplaciano (mscara 3x3)
66
Mscaras aplicadas extrao de caractersticas
da imagem
Deteco de pontos isolados
A mscara a seguir um exemplo de mscara que quando
aplicado uma imagem destacar pixels brilhantes
circundados por pixels mais escuros.
-1-1-1
-1 8-1
-1-1-1
Deteco de linhas
As mscaras a seguir podem ser usadas para a deteco de linhas
Horizontais, verticais e diagonais.
Horizontais
-1-1-1
2 2 2
-1-1-1
Verticais
-1 2 -1
-1 2 -1
-1 2 -1
Diagonais
-1 -1 2 2 -1 -1
-1 2 -1 -1 2 -1
2 -1 2 -1 -1 2
67
Aula prtica
Implementar um algoritmo de suavilizao de
imagens com uma mscara de dimenses
variveis.(convoluo 2D)

Você também pode gostar