Anisotropic Diffusion Applied to Surface Reconstruction of Implicit Surfaces V. Leborán, R. Dosil, X. M. Pardo Grupo de Visión Artificial Departamento de Electrónica e Computación Universidade de Santiago de Compostela
Organización Reconstrucción 3D por superficies implícitas Reconstrucción 3D por superficies implícitas Generación de mapas de distancias Generación de mapas de distancias Interpolación por vecinos naturales Interpolación por vecinos naturales Suavizado de mapas de distancias Suavizado de mapas de distancias Método de difusión anisotrópica Método de difusión anisotrópica Resultados Resultados
Secuencia de reconstrucción Interpolación Triangulación de superficies implícitas Modelo de triángulos Puntos y normales de cortes planos paralelos Mapa de distancias 3D Triangulación de superficies implícitas Marching cubes Marching triangles Adaptive skeleton climbing … Interpolación de distancias a la superficie Superficie: conjunto de puntos de distancia cero
Generar mapa de distancias 3D: interpolación entre cortes Generar mapa de distancias 3D: interpolación entre cortes Método: Método: Generar mapas de distancias 2D: interpolación por vecinos naturales Generar mapas de distancias 2D: interpolación por vecinos naturales Superficie implícita Datos de partida: Puntos de la superficie y sus normales a partir de cortes planos paralelos Datos de partida: Puntos de la superficie y sus normales a partir de cortes planos paralelos Objetivo: Reconstrucción suave Objetivo: Reconstrucción suave
Pesos de la suma: coordenadas naturales Pesos de la suma: coordenadas naturales Contribución de cada punto del contorno Contribución de cada punto del contorno Interpolación por vecinos naturales I Distancia a la superficie: Distancia a la superficie:
Interpolación por vecinos naturales II Problemas Problemas Incoherencia de las normales Incoherencia de las normales Solución: Solución: Suavizado de las superficies de nivel Suavizado de las superficies de nivel
Anisotrópico: λ 1 ≠ λ 2 Anisotrópico: λ 1 ≠ λ 2 No lineal λ 1 = λ 2 = f(x, y) No lineal λ 1 = λ 2 = f(x, y) Ejemplo: f = f(|| u||) Lineal: λ 1 = λ 2 ≠ f(x, y) Lineal: λ 1 = λ 2 ≠ f(x, y) Suavizado por Difusión I Filtros de difusión Filtros de difusión u t (x, y, t) = ( D u(x,y,t) ) D = [e 1 |e 2 ] diag (λ 1,λ 2 ) [e 1 |e 2 ] T u t (x, y, t) = ( D u(x,y,t) ) D = [e 1 |e 2 ] diag (λ 1,λ 2 ) [e 1 |e 2 ] T Solución de la ecuación: gausiana de desviación estándar σ = (2·T) 1/2, con T= tiempo de evolución
Suavizado por Difusión II Disfusión tangencial: Disfusión tangencial: AutovectoresAutovalores e 1 = t (x, y) λ 1 = 1 e 2 = n (x, y) λ 2 = 0 Reduce la curvatura Reduce la curvatura No altera los gradientes No altera los gradientes Expresión equivalente: Expresión equivalente: u t (x, y, t) = – || u||·k u t (x, y, t) = – || u||·k k : curvatura local k : curvatura local Menor coste computacional Menor coste computacional
Mapas de distancias 3D Mapas de distancias 2D suavizados Suavizado por difusión Interpolación por vecinos naturales Puntos y normales de cortes planos paralelos Mapas de distancias 2D Interpolación entre cortes Mapas de distancias 3D
Resultados I σ = 7
Resultados I
Resultados II σ = 7
Resultados II
Resultados III
Conclusiones Reconstrucción 3D basada en superficies implícitas Reconstrucción 3D basada en superficies implícitas Interpolación por vecinos naturales: se conservan las normales Interpolación por vecinos naturales: se conservan las normales Incoherencia de normales vecinas: rugosidades en la superficie Incoherencia de normales vecinas: rugosidades en la superficie Introducción de una etapa de suavizado Introducción de una etapa de suavizado Filtrado por difusión direccional Filtrado por difusión direccional Alisado de la superficie Suavizado tangencial Superficie más suave Reducción de la curvatura local