Post on 30-Jan-2018
Aula 5 - Segmentação de ImagensParte 1
1
Prof. Adilson GonzagaProf. Adilson GonzagaProf. Adilson GonzagaProf. Adilson Gonzaga
Segmentação
• Agrupamento de partes de uma imagem em unidades homogêneas relativamente a determinadas características.
• Segmentação é o processo que subdivide uma Imagem em suas partes constituintes.
2
• Baseado em duas propriedades dos níveis de cinza:
1 – Descontinuidade
2 – Similaridade
• Dois tipos básicos de Segmentos:
1 – Fronteiras
2 – Regiões
Detecção de Descontinuidades:
a) Detecção de Pontos Isolados:Operação com Templates
-1 -1 -1
-1 8 -1
-1 -1 -1
∑=9
.zwR
3
∑=
=1
.i
ii zwR
TR >
Dizemos que um ponto foi detectado na posição da máscara se:
onde T é um Limiar não-negativo.
Se um nível de cinza de alto valor está isolado em uma região, ofiltro passa-alta é usado para detectar esse ponto, aumentando suadiferença.
b) Detecção de linhas:
-1 -1 -1
2 2 2
-1 -1 -1
-1 -1 2
-1 2 -1
2 -1 -1
-1 2 -1
-1 2 -1
-1 2 -1
2 -1 -1
-1 2 -1
-1 -1 2
Linhas Verticais
Linhas Horizontais
45º - 45º
Operação com Templates.
4
VerticaisHorizontais
Algoritmo:
Aplica-se cada máscara à Imagem obtendo-se os resultados R1 = Linhas HorizontaisR2 = 45o
R3 = Linhas VerticaisR4 = - 450
Se em um certo ponto da Imagem |Ri| > |Rj| para todos os j # i, diz-se que esse pontoestá mais provavelmente associado com uma linha na direção da máscara i.
c) Detecção de Bordas:
Uma Borda é o limite entre duas regiões com propriedades relativamente distintas de nível de cinza.
A magnitude da primeira derivada pode serusada na detecção da presença de umaborda em uma Imagem.
5
A segunda derivada pode ser usada para determinar se um píxel da borda localiza-seno lado escuro ou claro da Imagem.
A segunda derivada possui um cruzamento por zero no ponto intermediário da transiçãodos níveis de cinza.
Imagem Gradiente
• O gradiente de uma imagem:
• O gradiente aponta na direção da mudança de intensidade mais rápida.
A direção do gradiente é dada por:
• Ou seja, a direção é perpendicular à borda no ponto.
A Força da Borda (“edge strength”) é dada pela Magnitude do gradiente.
(Robert, Sobel, Prewitt, etc...)
- Magnitude do Gradiente:(Primeira Derivada)
=
∂
∂∂
∂
=∇y
x
G
G
y
yxfx
yxf
yxf ),(
),(
),(
Operadores Gradiente
7
(Primeira Derivada)
- Direção do Gradiente: (relativamente a x)
y
yxf
x
yxfyxf
∂
∂+
∂
∂≈∇
),(),(),(
)(tan),( 1
x
y
G
Gyx
−=θ
Efeitos do ruído
• Considere uma única linha ou coluna de uma imagem
– Plotando a intensidade como função da posição:
Onde está a Borda?
Solução: suavizar primeiro
Gaussiana
Onde está a Borda? Procurar por picos em:
Gaussiana
Teorema da Derivada da convolução
• Isso reduz uma operação:
Derivada da Gaussiana
Laplaciano da Gaussiana (LoG)
Operador
Laplaciano da Gaussiana
Onde está a borda? Passagem por zero (Zero-crossings)
Derivada segunda da Gaussiana
Filtros de detecção de bordas 2D
Laplaciano da Gaussiana
GaussianaDerivada da Gaussiana
• é o operador Laplaciano:
Derivada da Gaussiana
Detector de Bordas de Canny
Algoritmo:
1. Suavizar a imagem usando um filtro Gaussiano para reduzir ruídos.
2. Computar o gradiente g(x,y) e a direção do gradiente em cada ponto.Os pontos de bordas calculados originam cristas na imagem de magnitudes do gradiente.
13
magnitudes do gradiente.
3. Supressão de Não-Máximos: Buscar os pontos de maior valor das cristas e fazer igual a zero os outros pontos.
4. Estabelecer 2 Thresholds T1<T2. Valores da crista maiores que T2 são considerados Bordas Fortes e valores entre T1 e T2 são Bordas Fracas.
5. Incorporar às Bordas Fortes as Bordas Fracas que sejam 8-conectadas a elas.
Detector de Bordas de Canny
• Imagem original (Lena)
Detector de Bordas de Canny
Norma do gradiente
Detector de Bordas de Canny
thresholding
Detector de Bordas de Canny
Afinamento das bordas “thinning”
( supressão de não-máximos)
Supressão de Não-máximos
• Verificar se o pixel é um máximo local ao longo da direção do gradiente
– Verificar os pixels p e r
Prever o próximoPonto de borda
Assumir que o ponto marcado é um ponto de borda. Contruir a tangente à curva de borda (normal ao gradiente no
Tangente à curva de borda
ao gradiente no ponto) e usar isto para prever os próximos pontos (aquí tanto r ou s).
(Forsyth & Ponce)
“Corners” contêm mais bordas do que as linhas.
• Um ponto em uma linha é difícil corresponder em outra.
d) Deteção de Cantos ( Corner detection)
• Um “corner” é mais fácil
“Corners” contêm mais bordas do que as linhas.
Os Detectores de Borda normalmente falham nos “Corners”
Corners
•Um canto (“corner”) pode ser definido como a intersecção
de duas bordas (“edges”).
•Um “corner” também pode ser definido como um ponto para
o qual existem duas direções dominantes diferentes em uma
vizinhança local do ponto.
Ou seja:
• Sobre o ponto de “corner”, o gradiente é mal
definido.
• Próximo ao ponto de “corner”, o gradiente
tem dois valores diferentes.
vizinhança local do ponto.
Alguns Detectores de Cantos (Corner Detector)
•Detector de corner de Moravec
•Detector de corner de Harris
•Detector de corner Shi-Tomasi ou
24
•Detector de corner Shi-Tomasi ou Kanade-Tomasi corner detector.
•Wang and Brady corner detection
•SUSAN corner detector
•Trajkovic and Hedley corner detector
•Haralick Corner Detector
Corner Detection
25
� A fronteira dos objetos é, talvez, a parte mais importante da hierarquia das estruturas que une os dados de uma imagem com a sua interpretação.
e) Detecção de Fronteira: (“Boundary”)
� As técnicas de Detecção de Bordas detectam descontinuidades de Intensidade.
26
� A utilização do “Conhecimento” torna-se um fator relevante na maioria dos casos.
� Na prática, os píxels de borda detectados, raramente caracterizam completamente uma fronteira de um objeto, devido ao ruído, a quebra de fronteiras por motivo de iluminação não uniforme e outros efeitos que causam descontinuidades.
- Analisar a vizinhança ( 3 x 3 ou 5 x 5 ) de um pixel (x,y) de uma imagem gradiente.
- Todos os pontos similares são unidos formando uma fronteira de pixels que possuam propriedades comuns.
- As propriedades usadas para a similaridade dos pixel são:
� A magnitude do gradiente:
Análise Local (Similaridade):
27
� A magnitude do gradiente:
onde T é um valor de limiar.
� A direção do gradiente:onde A é um ângulo de limiar.
- A vizinhança é deslocada sobre toda a imagem.
[ ] [ ] TyxfGyxfG ≤− ),(),( 11
Ayxyx <− ),(),( 11αα
ExemploLocalizar retângulos compatíveiscom o tamanho de placa de carro.
b) Detector de Sobel para bordasverticais.
c) Detector de Sobel para bordas
28
c) Detector de Sobel para bordashorizontais.
d) Ligação de todos os pontos que possuam a magnitude de gradiente maior que 25e cujas direções de gradiente não diferem de 15o, eliminando-se pequenos segmentos isolados.
- Sendo (x,y) a posição de um pixel sobre a borda de uma imagem gradiente.
- Avaliar os pixels na vizinhança de 8 de (x,y) e escolher o de maior magnitude do gradiente.
- Deslocar a vizinhança de 8, centrada neste novo pixel, e
Seguidor de Borda (“Edge Following”):
29
- Deslocar a vizinhança de 8, centrada neste novo pixel, e reavaliar no sentido do deslocamento, o gradiente de maior valor.
- Repetir a operação até que o pixel inicial seja reencontrado.
- Interpolar os pontos através de polinômios de baixa ordem.
� A fronteira a ser detectada é tratada como um “Template”, sobre uma imagem gradiente.
� Este Template é deslocado sobre a imagem e para cada
Correlação não Linear:
30
� Este Template é deslocado sobre a imagem e para cada posição é computado o número de correspondências.
� Se este número excede um limiar, a posição da fronteira é assumida como a posição do Template.
� Útil quando a fronteira tem pouca curvatura e o ruído é
Detecção de Fronteira porDivida-e-Conquiste:
31
� Útil quando a fronteira tem pouca curvatura e o ruído é baixo.
� Conhecidos dois pontos da fronteira (1 e 2), pesquisar ao longo da perpendicular da reta que os une, o ponto de mais alta magnitude do gradiente (3).
� Repetir o processo para cada segmento formado pelos pontos (2 e 3) (1 e 3), determinando os outros elementos pertencentes à fronteira (4, 5, ...).
f) Detecção de curvas.
• Aplicada sobre uma imagem gradiente.
TRANSFORMADA DE HOUGH : (HT)
32
• Técnica para a detecção de curvas que possam ser descritas de forma paramétrica (linha reta, círculo, etc...).
Detecção de Retas:
Uma linha reta que conecte uma seqüência de pixels pode ser expressa por:
y = mx + c
TRANSFORMADA DE HOUGH : (HT)
33
m � coeficiente angular � “slope”c � intersecção com y � “intercept”
c = - mx + y
A equação da reta acima pode ser reescrita da seguinte forma:
TRANSFORMADA DE HOUGH : (HT)
c = - mx + y
34
y = m’x + c’
Espaço da Imagem
y x
Pontos Definem as Retas Transformando
Exemplo:
y = mx + c c = - mx + y
35
y x
3 1 3 = m . 1 + c c = -1 m + 3
2 2 2 = m . 2 + c c = -2 m + 2
3 4 3 = m . 4 + c c = -4 m + 3
0 4 0 = m . 4 + c c = -4 m
y = mx + c c = - mx + y
Espaço de Parâmetros
3 pontos de mesmos coeficientes (m,c) = (-1,4) definem 3 pontoscolineares no Plano de Imagem.
y = mx + c
y = -1x + 4
36
Espaço de Parâmetros Espaço da Imagem
Principal Problema com a Representação no Espaço de Parâmetros (m,c)
• Tanto m como c podem variar de
complicando a solução computacional.
• Utilização de Coordenadas Polares.
Espaço de Parâmetros
∞≤≤∞− ),( cm
Espaço da Imagem
37
Espaço de ParâmetrosEspaço da Imagem
θθρ sen.cos. yx += Equação da reta
• Propriedade 1 : Um ponto no espaço da imagem corresponde auma senóide no espaço de parâmetros.
• Propriedade 2 : Um ponto no espaço de parâmetroscorresponde a uma reta no espaço da imagem.
• Propriedade 3 : Pontos que caem na mesma reta do espaço da
Propriedades da HT com coordenadas Polares:
38
• Propriedade 3 : Pontos que caem na mesma reta do espaço daimagem correspondem a curvas com o mesmo ponto emcomum no espaço de parâmetros.
• Propriedade 4 : Pontos que caem na mesma curva no espaço deparâmetros correspondem às retas que passam por um pontono espaço da imagem .
HT com coordenadas polares.
39
A = pontos 1,3 e 5 sãocolineares
B = pontos 2,3 e 4 sãocolineares
1. Quantizar o espaço de parâmetros apropriadamente, formando um arranjo acumulador inicialmente zerado.
Algoritmo da Transformada de Hough:
),( θρ),( θρA
40
°≤≤°− 9090 θExemplo:
°=∆ 10θ
DD 22 ≤≤− ρ 2=∆ρOnde D é a resolução linear da Imagem
2. Para cada ponto (x, y) na imagem gradiente cuja magnitude seja superior a um determinado limiar (pixel de borda), incrementar as células de arranjo acumulador que satisfaçam a equação da reta:
Obs: variar e calcular , aproximando em
y.sen x.cos θθρ +=
θθ ∆ de ρ∆
1),(),( +← θρθρ AANo Arranjo Acumulador, fazer:
ρ
41
3 – Inspecionar o Arranjo Acumulador• As células com os valores mais altos correspondem a pontos colineares na
imagem, definindo uma reta por célula, cuja equação é dada por:
e o valor da célula representa o número de pontos na imagem que pertencem àquela reta.
1),(),( +← θρθρ AA
y.sen x.cos θθρ +=
No Arranjo Acumulador, fazer:
Exemplo:
Imagem Gradiente
42
Imagem Imagem Gradiente
Retas obtidas através da Transformada de Hough.
Arranjo Acumulador para a Imagem anterior:
Exemplo:
y.sen x.cos θθρ +=
43
120sen120cos.)45( yx +=−
Equação de uma reta.
)86,0()5,0.()45( yx +−=−
3,5258,0 −= xy
• Qualquer curva que possa ser representada por sua equação parametrizada, pode ser detectada através da transformada de Hough.
arranjo acumulador A ( a, b, r)
r b)– (y a)– (x 222 =+Circunferência
1)()( 2
02
0 =−
+− yyxxElipse
Detecção de outras curvas através da HT:
44
Transformada de Hough Generalizada (GHT):
• Permite a detecção de curvas de qualquer formato através da parametrização do possível centro da curva:
1)()(
20
20 =
−+
−
b
yy
a
xxElipse
arranjo acumulador A ( a, b, x0,y0)
A(xc,yc)