Download presentation
Presentation is loading. Please wait.
Published byEzra Phelps Modified over 9 years ago
1
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University
2
Shape Spectrum There are many ways to represent a shape: Point Set Polygon Soup Polygonal Mesh Solid Model
3
Equivalence of Representations There are many ways to represent a shape: Point Set Polygon Soup Polygonal Mesh Solid Model In one direction, the transition between representations is straight-forward
4
Equivalence of Representations There are many ways to represent a shape: Point Set Polygon Soup Polygonal Mesh Solid Model ? The challenge is to transition in the other direction In one direction, the transition between representations is straight-forward
5
Equivalence of Representations There are many ways to represent a shape: Point Set Polygon Soup Polygonal Mesh Solid Model The goal of this work is to define a method for computing solid models from oriented point sets.
6
Applications Surface Blending Disjoint Model “Zippered” Model
7
Applications Surface Blending Hole-Filling Model with HoleWater-Tight Model
8
Applications Surface Blending Hole-Filling Compression Geometry + Topology Representation Geometry Representation
9
Applications Surface Blending Hole-Filling Compression Simplification Original Model 871,000 Triangles Simplified Model 95,000 Triangles
10
Related Work Three general approaches: 1.Computational Geometry Boissonnat, 1984Edelsbrunner, 1984 Amenta et al., 1998Dey et al., 2003 2.Surface Fitting Terzopoulos et al., 1991Chen et al., 1995 3.Implicit Function Fitting Hoppe et al., 1992Curless et al., 1996 Whitaker, 1998Carr et al., 2001 Davis et al., 2002Ohtake et al., 2004 Turk et al., 2004Shen et al., 2004
11
Related Work 3.Implicit Function Fitting Use the point samples to define an function whose values at the sample positions are zero. Sample PointsF(x,y)F(x,y) <0 >0 0
12
Related Work 3.Implicit Function Fitting Use the point samples to define an function whose values at the sample positions are zero. Extract the iso-surface with iso-value equal to zero. Sample PointsF(x,y)=0 F(x,y)>0 F(x,y)<0 F(x,y) =0 <0 >0 0
13
Related Work 3.Implicit Function Fitting Use the point samples to define an function whose values at the sample positions are zero. Extract the iso-surface with iso-value equal to zero. Sample PointsF(x,y)=0 F(x,y)<0 F(x,y)>0 F(x,y) =0 >0 <0 0 How should we define the implicit function so that the reconstruction fits the samples?
14
Outline Introduction Related Work Approach The Divergence Theorem Reduction to Volume Integration Implementation Results Conclusion
15
Divergence Theorem Given a vector field F and a region V: The volume integral of F over V and the surface integral of F over V are equal: V VVVV =
16
Reduction to Volume Integration (Step 1) Characteristic Function: The characteristic function V of a solid V is the function: V
17
Reduction to Volume Integration (Step 2) Fourier Coefficients: The Fourier coefficients of the characteristic function give an expression of V as a sum of complex exponentials:
18
Reduction to Volume Integration (Step 3) Volume Integration: The Fourier coefficients of the characteristic function V can be obtained by integrating:
19
Reduction to Volume Integration (Step 3) Volume Integration: The Fourier coefficients of the characteristic function V can be obtained by integrating: since the characteristic function is one inside of V and zero everywhere else.
20
Applying the Divergence Theorem Surface Integration If F lmn (x,y,z) is any function whose divergence is equal to the (l,m,n)-th complex exponential: applying the Divergence Theorem, the volume integral can be expressed as a surface integral:
21
Reconstruction Algorithm Given an oriented point sample {(p i,n i )}: Compute a Monte-Carlo approximation of the Fourier coefficients of the characteristic function: Apply the inverse Fourier Transform to obtain the characteristic function. Extract the reconstruction an iso-surface of the characteristic function
22
Algorithm Implementation Efficiency: We show that the computation of the Fourier coefficients is actually a convolution, reducing the reconstruction complexity: O(R 5 ) → O(R 3 logR). Non-Uniformity: We provide a simple heuristic for assigning weights to samples that may be non-uniformly distributed.
23
Outline Introduction Related Work Approach Results Resolution Sample Count Non-Uniformity Related Work Conclusion
24
Results (Resolution) res=128 3 tris=49,008 time=0:01 res=256 3 tris=199,796 time=0:07 100,000 Points res=64 3 tris=11,672 time<0:01
25
Results (Sample Count) res=256 3 tris=200,704 time=0:07 res=256 3 tris=206,216 time=0:07 100,000 Points1000 Points res=256 3 tris=199,796 time=0:07 10,000 Points
26
Results (Non-Uniform Sampling) res=256 3 tris=111,680 time=0:09 res=256 3 tris=220,324 time=0:09 100,000 Points res=256 3 tris=199,712 time=0:09
27
Results (Non-Uniform Sampling / Related Work) res=256 3 tris=302,000 time=5:23 res=256 3 tris=288,000 time=0:39 res=256 3 tris=286,916 time=0:09 100,000 Points RBF Reconstruction † MPU Reconstruction ‡ Our Reconstruction 100,000 Points † Carr et al. SIGGRAPH ‘01 ‡ Ohtake et al. ACM TOG ‘03
28
Results (Noise / Related Work) res=256 3 tris=200,000 time=24:10 points=100,000 res=256 3 tris=205,000 time=2:14 points=100,000 res=256 3 tris=174,824 time=0:07 points=100,000 Original Our Reconstruction RBF Reconstruction † MPU Reconstruction ‡ † Carr et al. SIGGRAPH ‘01 ‡ Ohtake et al. ACM TOG ‘03
29
Outline Introduction Related Work Approach Results Conclusion
30
Properties: Fast and simple to compute Independent of topology Robust to non-uniform sampling Robust to noise O(R 3 ) memory footprint for O(R 2 ) reconstruction
31
Conclusion Theoretical Contribution: Transformed the surface reconstruction problem into a Volume integral Used the Divergence Theorem to express the integral as a surface integral Used Monte-Carlo integration to approximate the surface integral as a summation over an oriented point sample
32
Conclusion We presented an algorithm for reconstruction that proceeds in three simple steps:
33
Conclusion We presented an algorithm for reconstruction that proceeds in three simple steps: 1.Splat the oriented points into a voxel grid
34
Conclusion We presented an algorithm for reconstruction that proceeds in three simple steps: 1.Splat the oriented points into a voxel grid 2.Convolve with a fixed filter
35
Conclusion We presented an algorithm for reconstruction that proceeds in three simple steps: 1.Splat the oriented points into a voxel grid 2.Convolve with a fixed filter 3.Extract the iso-surface
36
Thank You Source and Executables: http://www.cs.jhu.edu/~misha/Reconstruct3D
37
Choosing the Functions F lmn
38
There are many solutions to the equation:
39
Choosing the Functions F l,m,n There are many solutions to the equation: Examples:
40
Choosing the Functions F l,m,n There are many solutions to the equation: Examples:
41
Choosing the Functions F l,m,n There are many solutions to the equation: In our implementation, we choose the function: This is the unique definition of F lmn with the property that the reconstruction commutes with translation and rotation.
42
Choosing the Functions F l,m,n Commutes: Does not Commute: 0o0o 30 o 45 o
43
Choosing the Functions F l,m,n Commutes: Does not Commute:
44
Non-Uniform Sampling
45
Non-Uniform Samples Challenge: In a direct implementation of Monte-Carlo integration, it is assumed that the samples are uniformly distributed:
46
Non-Uniform Samples Challenge: In a direct implementation of Monte-Carlo integration, it is assumed that the samples are uniformly distributed: However, often the oriented point samples may not be uniformly distributed over the surface: Parts of scans may overlap Faces parallel to the view plane may be more densely sampled Compressed representations may store fewer points in regions of low curvature
47
Non-Uniform Samples Challenge: If we have a sampling density i associated to each sample x i, we can modify the summation:
48
Non-Uniform Samples Challenge: If we have a sampling density i associated to each sample x i, we can modify the summation: However, when we get an oriented point sample, we usually aren’t given the sampling density at each sample.
49
Non-Uniform Samples Challenge: If we have a sampling density i associated to each sample x i, we can modify the summation: However, when we get an oriented point sample, we usually aren’t given the sampling density at each sample. Non-Uniform SamplesUnweighted Reconstruction
50
Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it:
51
Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it: i =1/2
52
Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it: i =1/1
53
Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it: i =1/3
54
Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it: i =1/4
55
Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it. To do this efficiently, we “splat” the points into a voxel grid and convolve with a low-pass filter.
56
Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it. To do this efficiently, we “splat” the points into a voxel grid and convolve with a low-pass filter. We set i equal to the reciprocal of the value of the convolution at point p i.
57
Non-Uniform Samples Approach: Compute the sampling density at each sample by counting the number of samples around it. To do this efficiently, we “splat” the points into a voxel grid and convolve with a low-pass filter. We set i equal to the reciprocal of the value convolution at point p i. Non-Uniform SamplesUnweighted ReconstructionWeighted Reconstruction
58
Completing the Characteristic Function
59
In the generation of the characteristic function we use the functions F lmn with : And we approximated an integral using the Monte- Carlo approximation:
60
Completing the Characteristic Function In the generation of the characteristic function we use the functions F lmn with : And we approximated an integral using the Monte- Carlo approximation: The function F lmn is not defined when l=m=n=0. So, we can only reconstruct the characteristic function up to an additive constant additive.
61
Completing the Characteristic Function In the generation of the characteristic function we use the functions F lmn with : And we approximated an integral using the Monte- Carlo approximation: To approximate the surface integral, we need to know the area of the surface | V|. Since this is not given, we can only reconstruct the characteristic function up to a multiplicative constant.
62
Completing the Characteristic Function To address the missing constants, we sample the reconstructed characteristic function at the sample points and compute the average value:
63
Completing the Characteristic Function To address the missing constants, we sample the reconstructed characteristic function at the sample points and compute the average value: Then we can set the values of the characteristic function to be:
64
More Results
65
Results (Positional Noise) disp=radius/128 res=256 3 tris=139,468 time=0:07 points=100,000 disp=0 res=256 3 tris=141,808 time=0:07 points=100,000 disp=radius/32 res=256 3 tris=124,300 time=0:07 points=100,000 disp=radius/64 res=256 3 tris=134,848 time=0:07 points=100,000
66
Results (Normal Noise) angle=15 o res=256 3 tris=141,776 time=0:07 points=100,000 angle=0 o res=256 3 tris=141,808 time=0:07 points=100,000 angle=30 o res=256 3 tris=141,876 time=0:07 points=100,000 angle=45 o res=256 3 tris=142,048 time=0:07 points=100,000
67
Results (Holes) Reconstruction Original res=256 3 tris=267,736 time=0:07 points=25,000
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.