A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Reconstrução de Curvas com Algoritmos de Crust , B-Skeleton e Gathan

Apresentações semelhantes


Apresentação em tema: "Reconstrução de Curvas com Algoritmos de Crust , B-Skeleton e Gathan"— Transcrição da apresentação:

1 Reconstrução de Curvas com Algoritmos de Crust , B-Skeleton e Gathan
Antonio Luiz Vitalo Calomeni Rodrigo de Souza Lima Espinha Manuel Eduardo Loaiza Fernández

2 Motivação Problema Reconhecimento de fronteiras de objetos. Dados: amostras de pontos. Exemplo: visão computacional. Necessidade de definir uma curva baseada na amostragem dada.

3 Objetivo A partir de uma amostragem de pontos obtermos a melhor reconstrução possível da(s) curva(s) definida(s) por esses pontos.

4 Algoritmos Desenvolvidos
Crust , B-Skeleton e Gathan. Critério de Reconstrução se baseia na densidade da amostragem de pontos. Utilizam a Triangulação de Delaunay e Diagrama de Voronoi como ferramentas básicas para definição das arestas candidatas a serem parte da curva reconstruída.

5 Algoritmo Crust Seja S um conjunto finito de pontos no plano, e V os vértices do diagrama de Voronoi de S ( vor(S) ). Seja S’ a união S U V, e considere a triangulação de Delaunay de S’ ( del(S’) ).

6 Algoritmo Crust Uma aresta da triangulação de Delaunay de S’ pertence ao Crust de S se ambos os vértices pertencem a S, ou alternativamente, se há um disco vazio em seu interior de pontos de S’ que toca os vértices da aresta.

7 Algoritmo Crust CRUST( S )
1. V <- conjunto de vértices do diagrama de Voronoi de S. 2. S' <- S U V 3. Obter a triangulação de Delaunay de S'. 4. Selecionar todas as arestas de del( S' ) que ligam pontos do conjunto S original. A complexidade será de O(n*logn).

8 Algoritmo B - Skeleton Beta : 1, 3/2, 2 Seja S um conjunto finito de pontos no plano, com pontos s1 e s2 pertencentes a S, a uma distância d(s1, s2) entre si. A região proibida de s1,s2 é a união dos dois discos de raio beta*d(s1, s2) / 2 tocando s1 e s2.

9 Região proibida pela área dos círculos
Algoritmo B - Skeleton BETA_SKELETON( S, beta ) 1. Obter a triangulação de Delaunay de S. 2. Selecionar todas as arestas e, pertencentes a del( S ), para as quais os centros dos circuncírculos dos triângulos adjacentes a e estão em lados opostos em relação a e, e seu raio é maior que : (beta/2)*(comprimento(e)). A complexidade será de O(n*logn). Região proibida pela área dos círculos

10 Algoritmo B - Skeleton Aqui fazemos uma comparação dos possíveis resultados para uma amostra de pontos com os algoritmos Crust e B – Skeleton. Crust Skeleton

11 Condições de amostragem
Garantir qualidade da reconstrução. “Local Feature Size” Relativo ao eixo medial LFS(p) = d(p, m)

12 Condições de amostragem
Eixo medial

13 Condições de amostragem
Curva r-amostrada

14 Condições de amostragem
Triangulação de Delaunay contém os pares de arestas adjacentes da curva. r >= 1 Pode não haver reconstrução única para a curva.

15 Critérios para a amostragem
Crust r < 0.4 Contém as arestas que conectam os vértices adjacentes da curva reconstruída. r < 0.252 Não contém arestas entre vértices não adjacentes da curva reconstruída. Condição de amostragem: r < 0.252

16 Critérios para a amostragem
Beta-Skeleton Beta = 1.7 Maximiza o espaçamento permitido entre as amostras. r < 0.297

17 Comentários adicionais
Crust e Beta-Skeleton não tratam curvas com “sharp corners” corretamente. LFS(p) obriga amostragem infinita nesses locais. Variação de beta introduz alguma flexibilidade. Em geral, obtivemos melhores resultados utilizando Crust…

18 Algoritmo Gathan Trata sharp corners Regulável por dois parâmetros

19 Trabalhos anteriores Algoritmo proposto por Gielsen, baseado no problema do Caixeiro Viajante Dado que a densidade da amostragem é maior que um valor de referência, a curva é reconstruída, mesmo com sharp corners

20 Algoritmo de Gielsen Algoritmo não funciona para vários componentes (solução exige conexão) Não é clara a generalização para três dimensões

21 Algoritmo Gathan Condição de amostragem deve ser modificada: seguindo a regra de Crust, é necessária uma amostragem infinita perto dos cantos. Eixo medial (não encosta no canto)

22 Algoritmo Gathan Condição de Crust não é suficiente: “Ideal” Crust

23 Condições Iniciais Curva planar e simples, podendo ter vários componentes. Tangentes à esquerda e à direita de qualquer ponto são definidas e iguais, exceto nos cantos. Curva pode ser fechada ou aberta. Vizinhança dos cantos devem ser bem amostradas (alta densidade).

24 Normais das Amostras O algoritmo necessita da estimativa das normais das amostras. normal estimada

25 Estimando as Normais Técnica de “poles”.
Dada uma amostra, seu “pole” é o vértice de Voronoi mais distante, pertencente à sua célula de Voronoi. pole amostra

26 Estimando as Normais Se a célula é limitada: Se a célula é ilimitada:
A estimativa da normal é dada pela linha que corta a amostra e seu “pole”. Se a célula é ilimitada: A estimativa é dada pela média dos raios ilimitados da célula.

27 Tratando Cantos Caso 1: p3 se comporta como corner point, normal ok

28 Tratando Cantos Caso 2: p1 e p2 são corner points.
Estimativa da normal errada em ambos os pontos. Pode levar a arestas incorretas. Um pós-processamento corrige.

29 Condição de Amostragem
A condição de Crust funciona bem para curvas suaves. Logo, pode-se utilizá-la ao longo da curva e definir uma outra na “vizinhança” de um canto, pois neste caso a condição de Crust não funciona.

30 Condição de Amostragem
O que seria a “vizinhança” de um canto? Conceito de protective ball protective ball de g g eixo medial

31 Condição de Amostragem
Se um ponto p da curva está dentro de uma protective ball, deve-se possuir uma amostra de distância no máximo: k . r . ө k  constante empírica (1/6) r  raio da protective ball ө  ângulo entre as tangentes de g Fora da protective ball: mesma condição de Crust.

32 Funcionamento Técnica de Vizinhos mais próximos:
Estratégia para reconstrução de curvas onde conecta-se as amostras com seus vizinhos mais próximos, em cada lado da normal estimada. Algumas restrições: ângulo e rateio Remoção de arestas inválidas

33 Condição de ângulo A aresta pq só é candidata se sua normal faz um ângulo agudo menor que α com a normal da amostra. α  parâmetro fornecido pelo usuário (entre 35 e 40 graus na maioria dos casos)

34 Condição de rateio h/l > ρ h  comprimento do dual (voronoi)
l  comprimento da aresta ρ  parâmetro fornecido pelo usuário (1.7)

35 Remoção de arestas Ainda assim, podem ter arestas inválidas.
Deixar, para cada amostra, somente as duas menores arestas incidentes.

36 O Algoritmo Gathan(P, α, ρ) Computar o diagrama de Voronoi Vp;
para cada p de P faça Computar pole e estimar normal Np Assuma E conjunto das arestas de Delaunay incidentes a p que satisfazem as condições: A. normal de cada aresta de E faz ângulo agudo menor que α com Np B. h/l > ρ Manter apenas as menores arestas pq e ps de E em cada lado de Np fim para Deletar aresta que não está entre as duas menores que incidem em uma amostra


Carregar ppt "Reconstrução de Curvas com Algoritmos de Crust , B-Skeleton e Gathan"

Apresentações semelhantes


Anúncios Google