Você está na página 1de 44

Aula 5 - Segmentação de Imagens

Parte 1

Prof. Adilson Gonzaga

1
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.

• Baseado em duas propriedades dos níveis de cinza:


1 – Descontinuidade
2 – Similaridade

• Dois tipos básicos de Segmentos:


1 – Fronteiras
2 – Regiões

2
Detecção de Descontinuidades:

a) Detecção de -1 -1 -1
Pontos Isolados: -1 8 -1
Operação com Templates
-1 -1 -1

9
R = ∑ wi ..zzi
i =1

Dizemos que um ponto foi detectado na posição da máscara se:


R >T onde T é um Limiar não-negativo.

Se um nível de cinza de alto valor está isolado em uma região, o


filtro passa-alta é usado para detectar esse ponto, aumentando sua
diferença.
3
b) Detecção de linhas:
Operação com Templates.

-1 -1 -1 -1 -1 2 -1 2 -1 2 -1 -1
2 2 2 -1 2 -1 -1 2 -1 -1 2 -1
-1 -1 -1 2 -1 -1 -1 2 -1 -1 -1 2

Linhas 45º Linhas - 45º


Horizontais Verticais
Algoritmo:
Aplica-se cada máscara à Imagem obtendo-se os resultados
R1 = Linhas Horizontais
R2 = 45o
R3 = Linhas Verticais
R4 = - 450
Se em um certo ponto da Imagem |Ri| > |Rj| para todos os j # i, diz-se que esse ponto
está mais provavelmente associado com uma linha na direção da máscara i.

4
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 ser


usada na detecção da presença de uma
borda em uma Imagem.

A segunda derivada pode ser usada para


determinar se um píxel da borda localiza-se
no lado escuro ou claro da Imagem.

A segunda derivada possui um cruzamento


por zero no ponto intermediário da transição
dos níveis de cinza.

5
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.
Operadores Gradiente
(Robert, Sobel, Prewitt, etc...)

 ∂f ( x, y) 
 ∂x  Gx 
∇f ( x, y) =  ∂f ( x, y)  =  
  Gy 
 ∂y 

- Magnitude do Gradiente:
(Primeira Derivada)

∂f ( x, y ) ∂f ( x, y )
∇f ( x , y ) ≈ +
∂x ∂y

- Direção do Gradiente: (relativamente a x)


−1
Gy
θ ( x, y ) = tan ( )
Gx

7
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:


Teorema da Derivada da convolução

• Isso reduz uma operação:

Derivada da
Gaussiana
Laplaciano da Gaussiana (LoG)

Operador
Laplaciano da Gaussiana
Derivada segunda
da Gaussiana

Onde está a borda? Passagem por zero (Zero-crossings)


Filtros de detecção de bordas 2D

Laplaciano da Gaussiana

Gaussiana
Derivada da Gaussiana

• é o operador Laplaciano:
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.

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.
13
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óximo
Ponto de borda

Assumir que o
Tangente à ponto marcado é
curva de um ponto de
borda borda. Contruir a
tangente à curva
de borda (normal
ao gradiente no
ponto) e usar isto
para prever os
próximos pontos
(aquí tanto r ou s).

(Forsyth & Ponce)


d) Deteção de Cantos ( Corner detection)
“Corners” contêm mais bordas do que as
linhas.
• Um ponto em uma linha é difícil corresponder em outra.
“Corners” contêm mais bordas do que as
linhas.

• Um “corner” é mais fácil


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.
Alguns Detectores de Cantos (Corner
Detector)

•Detector de corner de Moravec

•Detector de corner de Harris

•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

24
Corner Detection

25
e) Detecção de Fronteira: (“Boundary”)

 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.

 As técnicas de Detecção de Bordas detectam


descontinuidades de Intensidade.

 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.

 A utilização do “Conhecimento” torna-se um fator


relevante na maioria dos casos.
26
Análise Local (Similaridade):

- 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:
G[ f ( x, y )] − G[ f ( x1 , y1 )] ≤ T onde T é um valor de limiar.

 A direção do gradiente:
α ( x, y ) − α ( x1 , y1 ) < A onde A é um ângulo de limiar.

- A vizinhança é deslocada sobre toda a imagem.


27
Exemplo
Localizar retângulos compatíveis
com o tamanho de placa de carro.

b) Detector de Sobel para bordas


verticais.

c) Detector de Sobel para bordas


horizontais.

d) Ligação de todos os pontos que possuam a magnitude de gradiente maior que 25


e cujas direções de gradiente não diferem de 15o, eliminando-se pequenos
segmentos isolados.

28
Seguidor de Borda (“Edge Following”):

- 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


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.
29
Correlação não Linear:

 A fronteira a ser detectada é tratada como um


“Template”, sobre uma imagem gradiente.

 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.

30
Detecção de
Fronteira por
Divida-e-Conquiste:

 Ú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, ...).

31
f) Detecção de curvas.

TRANSFORMADA DE HOUGH : (HT)

• Aplicada sobre uma imagem gradiente.

• Técnica para a detecção de curvas que possam ser


descritas de forma paramétrica (linha reta, círculo,
etc...).

32
TRANSFORMADA DE HOUGH : (HT)

Detecção de Retas:

Uma linha reta que conecte uma seqüência de pixels pode ser
expressa por:
y = mx + c

m  coeficiente angular  “slope”


c  intersecção com y  “intercept”

A equação da reta acima pode ser reescrita da seguinte forma:

c = - mx + y

33
TRANSFORMADA DE HOUGH : (HT)

c = - mx + y

y = m’x + c’

34
Exemplo:

Espaço da Imagem

Pontos Definem as Retas Transformando


y x
y = mx + c c = - mx + y
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

35
Espaço de Parâmetros
3 pontos de mesmos coeficientes (m,c) = (-1,4) definem 3 pontos
colineares no Plano de Imagem.

y = mx + c

y = -1x + 4

Espaço de Parâmetros Espaço da Imagem


36
Principal Problema com a Representação no Espaço de Parâmetros
(m,c)

• Tanto m como c podem variar de − ∞ ≤ (m, c) ≤ ∞


complicando a solução computacional.

• Utilização de Coordenadas Polares.

Espaço da Imagem Espaço de Parâmetros

ρ = x. cosθ + y. sen θ Equação da reta


37
Propriedades da HT com coordenadas Polares:

• Propriedade 1 : Um ponto no espaço da imagem corresponde a


uma senóide no espaço de parâmetros.

• Propriedade 2 : Um ponto no espaço de parâmetros


corresponde a uma reta no espaço da imagem.

• Propriedade 3 : Pontos que caem na mesma reta do espaço da


imagem correspondem a curvas com o mesmo ponto em
comum no espaço de parâmetros.

• Propriedade 4 : Pontos que caem na mesma curva no espaço de


parâmetros correspondem às retas que passam por um ponto
no espaço da imagem .

38
HT com coordenadas polares.

A = pontos 1,3 e 5 são


colineares

B = pontos 2,3 e 4 são


colineares

39
Algoritmo da Transformada de Hough:

1. Quantizar o espaço de parâmetros ( ρ ,θ ) apropriadamente,


formando um arranjo acumulador A( ρ ,θ ) inicialmente
zerado.

Exemplo:
− 90° ≤ θ ≤ 90° ∆θ = 10°
Onde D é a resolução linear da
− 2D ≤ ρ ≤ 2D ∆ρ = 2 Imagem
40
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:
ρ = x.cos θ + y.sen θ
Obs: variar θ de ∆θ e calcular ρ , aproximando em ∆ρ

No Arranjo Acumulador, fazer: A( ρ ,θ ) ← A( ρ ,θ ) + 1

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:

ρ = x.cos θ + y.sen θ
e o valor da célula representa o número de pontos na imagem que
pertencem àquela reta.
41
Exemplo:

Imagem Imagem Gradiente

Retas obtidas através da


Transformada de Hough.

42
Arranjo Acumulador para a Imagem anterior:

ρ = x.cos θ + y.sen θ

Exemplo:
( −45) = x. cos 120 + y sen 120

Equação de uma
reta.
(−45) = x.(−0,5) + y (0,86)

y = 0,58 x − 52,3

43
Detecção de outras curvas através da HT:

• Qualquer curva que possa ser representada por sua equação parametrizada,
pode ser detectada através da transformada de Hough.

Circunferência (x – a) 2 + (y – b) 2 = r 2
arranjo acumulador A ( a, b, r)

Elipse ( x − x0 ) 2 ( y − y0 ) 2
+ =1
2 2
a b
arranjo acumulador A ( a, b, x0,y0)

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:

A(xc,yc)

44

Você também pode gostar