Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.

Similar presentations


Presentation on theme: "Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University."— Presentation transcript:

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 VVVV =

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


Download ppt "Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University."

Similar presentations


Ads by Google