wiener subdivision presented by koray kavukcuoglu geometric modeling spring 2004
TRANSCRIPT
Wiener Subdivision
Presented by Koray KAVUKCUOGLU
Geometric Modeling
Spring 2004
May 05, 2004 2
• Introduction– Concepts
• Wiener Filtering– Theory
• Wiener Subdivision– Midpoint Subdivision– Application of Filter– Parameters
• Results
Outline
May 05, 2004 3
aim
– Derive and Implement a subdivison scheme
Based on Marc Alexa’s Wiener Filtering of Meshes
methodology
– Midpoint Linear Subdivision
– Create refined mesh
– Wiener Filtering
– Relocate vertices to obtain a smooth surface
Introduction
May 05, 2004 4
– Filtering of Irregular Meshes using Wiener Filter
– Recovering original smooth geometry from noisy data
Wiener Filtering
May 05, 2004 5
Mesh
– Triangular domain (K,V)
connectivity info vertices in R3
–Topological Distance ()
0
( , ) 1 { , }
min( ( , ) 1) { , }
i j
i j i j K
i k k j K
Wiener Filtering - Theory
May 05, 2004 6
– Neighborhood Definition
m-ring neighborhood
( ) { | ( , ) }mN i j i j m
Collection of rings, with radius up to m
– Expectation
linear operator
( ) ( ) ( )E a b E a E b
– Correlation
( ( , )) ( )C d a b E ab
Distance between two vertices
Wiener Filtering - Theory
May 05, 2004 7
Representation of Vertex Locations
i i iv v r
vertex position in noisy mesh
true vertex position random noise contribution
Estimate each point as a linear sum of given noisy points
i ij j ij
v a v
Find coefficients that minimize square of discrepancy
Wiener Filtering - Theory
May 05, 2004 8
Wiener Filtering - Theory
Linear System
i i iC a b
{ ( ( , ))}i j kC C d v v { ( ( , ))}i i jb C d v v
Solution of this
system gives,
coefficients aij
Need to define distance and correlation functions
i
1
2
dd
d
May 05, 2004 9
Wiener Subdivision
development environment
– Language C++– Mesh format GTS– Windows XP– Cygwin
external libs / tools
– TNT (template numerical toolkit)
Supersedes Lapack++– Jama/C++ (uses TNT - linear system solution)– Mesh Viewer for visualization
May 05, 2004 10
Wiener Subdivision
mesh data structure
– Tree each triangle
divided into 4 childs
– Triangles
– Edge Sharing
May 05, 2004 11
Wiener Subdivisionmesh refinement
– Linear midpoint subdivision
May 05, 2004 12
Wiener Subdivision
filtering– computing Topology
– compute m-ring neighborhood
BFS over vertices– compute distance and correlation
1xe
a bv v
x is parameterized
for smoothness control
May 05, 2004 13
filtering– solve linear system– LU decomposition method
– Jama/C++
Wiener Subdivision
May 05, 2004 14
Wiener Subdivision
parameters– size of m-ring neighborhood (1, 2, …) <-m>– smoothness parameter <-sp>– fraction of old vertex location in new location <-p>
May 05, 2004 15
results
-m1 / -n3 / -sp2
May 05, 2004 16
results
-m1 / -n3 / -sp0 -m2 / -n3 / -sp2
May 05, 2004 17
results
-m1 / -n3 / -sp0
-m2 / -n3 / -sp2
-m1 / -n3 / -sp2
May 05, 2004 18
results
-m1 / -n3 / -sp2 -m1 / -n3 / -sp2 / -p0.3
May 05, 2004 19
results
-m1 / -n3 / -sp2 / -p0.3-m2 / -n3 / -sp2
May 05, 2004 20
results
May 05, 2004 21
results
May 05, 2004 22
Questions?