parte 1 - iris serveriris.sel.eesc.usp.br/sel886/aula_5.pdf · detector de bordas de canny...

Post on 30-Jan-2018

213 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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)

top related