Post on 07-Apr-2016
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
Gradiente da Luminosidade
L = 0.30R + 0.59G + 0.11B
Gradiente
255, L > t
0, L <= tL = {
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
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).
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).
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|)
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.
Fase 2 - Vetorização
Pixels de borda
Processo:
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
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
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.
Fase 3 - Reconhecimento
Problema:
= ?=
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:
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.