Eurographics Symposium on Geometry Processing (2006) Surface Reconstruction 2009.12.29
Some methods for surface reconstruction Classification 1. Based on Delaunay triangulation(or Voronoi diagram) Alpha shapes Crust and Power crust Spectral surface reconstruction Tight cocone 2. Implicit surface reconstruction ( f(x)=r ) Hoppe Radial basis function surface reconstruction Level set PDE 3. Parametric surface reconstrucion B-spline and NURBS
Hoppe s method 1.Tangent Plane Estimation is defined to be The center and unit normal are computed so that the plane is the least squares best fitting plane to ni is the eigenvector of minimal eigenvalue 2.Consistent Tangent Plane Orientation Using minimal spanning tree (MST) of the graph with weight for edge Eij 3.Signed Distance Function 4.Contour Tracing marching cubes f(x)=0
Marching Cubes
Radial basis function surface reconstruction This approach is to model the surface implicitly with a function f (x,y, z). If a surface M consists of all the points (x,y, z) that satisfy the equation f (x,y, z) = 0 This method involves three steps: 1.Constructing a signed-distance function. 2.Fitting an RBF to the resulting distance function. 3.Iso-surfacing the fitted RBF.
Radial Basis Functions interpolation ss(xx) = pp(xx) + λ i ϕ x x i p(x) is a low degree polynomial are real coefficients is the Euclidean norm in RR 3 ϕ(x), the basis function, is a real function Thin plate spline function φφ(rr) = rr oooo φφ(rr) = rr 3 Guassian φφ(rr) = eeeeee( cr 2 ) Biharmonic and triharmonic splines min ss Noisy Data : ii=1 ss measures the smoothness NN N i=1 (ρρ ss + 1 NN (ss(xx ii ) ff ii) ) AA 8NNππππII PP PP TT 0 λλ cc = ff 0 φφ(rr) = rr 2 log(r), r = x x i
Level set Given an arbitrary set S = {points, curves, surfaces in N dimensions}, the basic problem at hand is the determination of an N dimensional surface which minimises the error defined by where d(x) is the distance function d(x,s), which is the closest distance to the data-set S from a point x. Assuming to be the zero level set of a function ', i.e., we aim to solve the following equation to determine ', and hence
Level set Determine an appropriate Euler time-step size, dt from the values of the vector field contributions, curvature contributions (d(x)) and mesh size, to ensure stability.
2D Voronoi diagram and Delaunay triangulation 3D Delaunay triangulation
Alpha shapes Edelsbrunner's Algorithm
Crust algorithm
The power crust Definition: The poles of a sample are the farthest vertex of its Voronoi cell in the interior of F and the farthest vertex of its Voronoi cell on the exterior of F. Each pole v is the center of a Voronoi ball, which we shall call its polar ball. The polar balls corresponding to poles inside of F are inner polar balls; outer polar balls are defined analogously. The union of the inner polar balls forms a good approximation of the object bounded by F (we make this quite formal in [3]), and similarly the union of outer polar balls forms a good approximation of the complement of the object.
Spectral Surface Reconstruction (eigencrust) 1. Labeling the poles a. The Pole Graph construction b. Spectral Partitioning (Correcting Questionable Poles) 2. Labeling the Remaining Tetrahedra 3. Constructing Manifolds
Tight cocone 1. Marking 2. peeling
Eurographics Symposium on Geometry Processing (2006) Poisson Surface Reconstruction Michael Kazhdan1, Matthew Bolitho1 and Hugues Hoppe2 1Johns Hopkins University, Baltimore MD, USA 2Microsoft Research, Redmond WA, USA
Abstract We show that surface reconstruction from oriented points can be cast as a spatial Poisson problem. This Poisson formulation considers all the points at once, without resorting to heuristic spatial partitioning or blending, and is therefore highly resilient to data noise. our Poisson approach allows a hierarchy of locally supported basis functions, and therefore the solution reduces to a well conditioned sparse linear system. We describe a spatially adaptive multiscale algorithm whose time and space complexities are proportional to the size of the reconstructed model. we demonstrate reconstruction of surfaces with greater detail than previously achievable.
Given an oriented point set, we approach the problem of surface reconstruction using an implicit function framework. Specifically, we compute a 3D indicator function χ (defined as 1 at points inside the model,and 0 at points outside), and then obtain the reconstructed surface by extracting an appropriate isosurface.
Our key insight is that there is an integral relationship between oriented points sampled from the surface of a model and the indicator function of the model. Specifically, the gradient of the indicator function is a vector field that is zero almost everywhere (since the indicator function is constant almost everywhere), except at points near the surface, where it is equal to the inward surface normal. Thus, the oriented point samples can be viewed as samples of the gradient of the model s indicator function (Figure 1). The problem of computing the indicator function thus reduces to inverting the gradient operator, i.e. finding the scalar function χ whose gradient best approximates a vector field V defined by the samples, i.e. Min χ V. If we apply the divergence operator, this variational problem transforms into a standard Poisson problem: compute the scalar function χ whose Laplacian (divergence of gradient) equals the divergence of the vector field V,Δχ χ = V.
Main content Defining the gradient field Approximating the gradient field Solving the Poisson problem
Defining the gradient field Because the indicator function is a piecewise constant function, explicit computation of its gradient field would result in a vector field with Unbounded values at the surface boundary. To avoid this, we convolve the indicator function with a smoothing filter and consider the gradient field of the smoothed function. The following lemma formalizes the relationship between the gradient of the smoothed indicator function and the surface normal field. Lemma: Given a solid M with boundary M, let χ(m) denote the indicator function of M, N M (p) be the inward surface normal at p M, F (q) be a smoothing filter, and F p (q) = F (q p) its translation to the point p. The gradient of the smoothed indicator function is equal to the vector field obtained by smoothing the surface normal field:
Approximating the gradient field using the point set S to partition M into distinct patches Ps M, we can approximate the integral over a patchps by the value at point sample s.p, scaled by the area of the patch:
Solving the Poisson problem Having formed a vector field V, we want to solve for the function χsuch that χ =V. However, V is generally not integrable (i.e. it is not curlfree), so an exact solution does not generally exist. To find the best least-squares approximate solution, we apply the divergence operator to form the Poisson equation Δχ = V.
Problem Discretization we use the positions of the sample points to define an octree O and associate a function Fo to each node o O of the tree, choosing the tree and the functions so that the following conditions are satisfied: 1. The vector field V can be precisely and efficiently represented as the linear sum of the Fo. 2. The matrix representation of the Poisson equation, expressed in terms of the Fo can be solved efficiently. 3. A representation of the indicator function as the sum of the Fo can be precisely and efficiently evaluated near the surface of the model.
Defining the function space Given a set of point samples S and a maximum tree depth D, we define the octree O to be the minimal octree with the property that every point sample falls into a leaf node at depth D. we define a space of functions obtained as the span of translates and scales of a fixed, unit-integral, base function F : R 3 R. For every node o O, we set Fo to be the unit-integral node function centered about the node o and stretched by the size of o:
n = 3. Therefore, the function F is supported on the domain [-1.5,1.5] 3 and, for the basis function of any octree node,there are at most 5 3-1 = 124 other nodes at the same depth whose functions overlap with it.
Vector Field Definition where NgbrD(s) are the eight depth-d nodes closest to s.p and are the trilinear interpolation weights. Since the samples are uniform, we can assume that the area of a patch Ps is constant and V is a good approximation, up to a multiplicative constant, of the gradient of the smoothed indicator function. We will show that the choice of multiplicative constant does not affect the reconstruction.
Poisson Solution Having defined the vector field V, we would like to solve for the function χ such that the gradient of χis closest to V, i.e. a solution to the Poisson equation Δχ= V. One challenge of solving for χ is that though χ and the coordinate functions of V are in the space, it is not necessarily the case that the functions Δχand V are. To address this issue, we need to solve for the function χsuch that the projection of Δχonto the space is closest to the projection of V.
Let, so that we are solving for the vector Then, let us define the O O matrix L such that Lx returns the dot product of the Laplacian with each of the Fo. Specifically, for all o,o O, the (o,o )-th entry of L is set to: Isosurface Extraction We choose the isovalue so that the extracted surface closely approximates the positions of the input samples
Non-uniform Samples Estimating local sampling density Computing the vector field Selecting an isovalue
examples
Reference [1] Hoope H. Surface reconstruction from unorganized points, In Proceeding of SIGGRAPH'92[C], chicago:acm press, 1992:71-78. [2] Amenta N, Bern M, Kamvyssclis M. A new voronoi-based surface reconstruction algorithm. In Proceeding of SIGGRAPH'98[c],Orlando, ACM press, 1998:415-420. [3] Edelsbrunner H, Mucke E P. Three-dimensions alpha shapes[j], ACM Transactions on Graphics,1994,13(1):43-72. [4] LORENSEN W., CLINE H.: Marching cubes: A high resolution 3d surface reconstruction algorithm. SIGGRAPH (1987),163 169. [5] KOLLURI R., SHEWCHUK J., O BRIEN J.: Spectral surface reconstruction from noisy point clouds. In SGP (2004),11 21. [6] AMENTA N., CHOI S., KOLLURI R.: The Power Crust. In Proceedings of the Sixth Symposium on Solid Modeling (2001), Association for Computing Machinery, pp. 249 260. [7] CARR J., BEATSON R., CHERRIE H., MITCHEL T.,FRIGHT W., MCCALLUM B., EVANS T.: Reconstruction and representation of 3D objects with radial basis functions. SIGGRAPH (2001), 67 76. [8] ZHAO H.-K., OSHER S., FEDKIW R.: Fast Surface Reconstruction Using the Level Set Method. In First IEEE Workshop on Variational and Level Set Methods (2001), pp. 194 202. [9] DEY T. K., GOSWAMI S.: Tight Cocone: A Water-tight Surface Reconstructor. Journal of Computing and Information Science in Engineering 3, 4 (Dec. 2003), 302 307. [10] Michael Kazhdan1, Matthew Bolitho and Hugues Hoppe, Poisson Surface reconstruction, Eurographics Symposium on Geometry Processing (2006).