fases do processo detecção de bordas vetorização reconhe- cimento

15
Fases do Processo Detecçã o de Bordas Vetoriza ção Reconhe - cimento

Upload: nina-leonardo

Post on 07-Apr-2016

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Fases do Processo

Detecção de Bordas

Vetorização

Reconhe- cimento

Page 2: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Fase 1 - Detecção de Bordas

Objetivos:

• Distinguir os pixels de borda dos demais

• Manter os contornos dos objetos conectados (de forma a contorná-lo passando apenas por pixels “de borda”)

• Reduzir ao máximo a expessura dos contornos

Page 3: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Gradiente da Luminosidade

L = 0.30R + 0.59G + 0.11B

Gradiente

255, L > t

0, L <= tL = {

Page 4: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Kernels para Cálculo de Gradiente

??? Prewitt Sobel

t = 60 t = 180 t = 240

•Diferença muito pequena

•O método de Sobel deixa um pouco menos de ruído

Page 5: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Uso do Gaussiano antes do Gradiente (Sobel)

Sem Gaussiano Gaussiano n = 1 Gaussiano n = 2 Gaussiano n = 3

•Faz muita diferença.

•A diferença de ruído entre frames consecutivos diminui a medida que aplicamos gaussianos com kernels maiores.

•Como o filtro gaussiano borra a imagem, os detalhes são perdidos (para o caso da detecção de bordas é uma boa, já que detalhes não são importantes).

Page 6: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Método de Canny

Intensidade

O método tenta pegar o pixel de máxima intensidade na direção perpendicular à borda (direção do gradiente).

Page 7: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Método de Canny

G1: Se > ‘s, então = borda

G2: Se > ‘s, então = borda

G1

G2

G1

G2

GGy

αGx

α = arctan(|Gy| / |Gx|)

Page 8: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Método de CannySem Gaussiano Gaussiano n = 1 Gaussiano n = 2 Gaussiano n = 3

•Parece ser o melhor método até agora.

•Como nos métodos anteriores, a diferença de ruído entre frames consecutivos diminui a medida que aplicamos gaussianos com kernels maiores.

•Com uma quantidade de pixels brancos menores, a vetorização dos segmentos de borda fica mais rápida.

Page 9: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Fase 2 - Vetorização

Pixels de borda

Processo:

Page 10: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Método M

Idéia: a partir de um pixel inicial qualquer, percorrer todos os pixels de borda conectados em todas as direções até que um deles saia do limite definido por duas retas paralelas com uma distância máxima pré-definida.

Pixels de borda

Page 11: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Método MOtimizações:

•O método percorre os pixels em apenas quatro direções: , , e evitando assim fazer curvas (e melhorando a performance).

•O método termina de processar um conjunto conectado de pixels assim que encontra um ciclo (para simplificar e melhorar a performance).

Pixels de borda

Page 12: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Método M

Desvantagens:

•O método descarta ciclos possivelmente melhores que os ciclos escolhidos.

•O método não acha nenhum contorno que não esteja totalmente conectado.

Vantagens:

•O método acha qualquer contorno fechado.

•O método gera segmentos já conectados (grafos) eliminando a necessidade de um pós-processamento.

Page 13: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Fase 3 - Reconhecimento

Problema:

= ?=

Page 14: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Tabelas de ângulos acumulados

θ1

θ2

θ

(X1, Y1)

(X0, Y0)

(X2, Y2)

|θ| = arccos( )(X0 - X1) (X2 - X1) + (Y0 - Y1) (Y2 - Y1)

(X0 - X1)2 + (Y0 - Y1)2 (X2 - X1)2 + (Y2 - Y1)2

Se (Y2 - Y0) (X1 - X0) < (Y1 - Y0) (X2 - X0) então θ é negativo senão θ é positivo

Ângulo acumulado = θ1 + θ2

Exemplo:

Page 15: Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento

Tabelas de ângulos acumulados

% do perímetro

Ângulo acumulado

0.15 72º

0.25 -72º

0.35 0º

0.45 -144º

0.55 -72º

0.65 -216º

0.75 -144º

0.85 -288º

0.95 -216º

A idéia é percorrer todo o polígono começando por um ponto qualquer. A medida que a parte percorrida vai somando as porcentagens de perímetro da tabela, verificar se o ângulo acumulado está próximo do valor correspondente.