Point Cloud Geometry Representations


1. Surface Reconstruction from Unorganized Points

H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle
Computer Graphics (SIGGRAPH)
Volume 26, Pages 19-26
1992

Motivation: Laser range scanners and other devices produce a point cloud representing the surface they scanned. To be able to manipulate and analyze this surface, it is useful to automatically reconstruct this surface from the point cloud.

Goal of This Research: Describe and demonstrate an algorithm which takes unorganized points X = {x1, ..., xn} in 3D space which are on or near an unknown surface M and produces a simplicial surface (a surface made up entirely of triangular faces) M' approximating M.

Goal of This Paper: Introduce a general algorithm that solves this problem for all applications, rather than giving different algorithms for different applications. The algorithm has two stages:

  1. Define a function f where f(x, y, z) estimates the distance from the point (x, y, z) to the unknown surface M. The domain of f is restricted to only a relevant region in 3D space. We will use the zero set Z(f) of f, i.e. the set {(x, y, z) : f(x, y, z) = 0}, as our approximation of M. To define the function, we calculate a tangent plane Tp(xi) to M' at xi. Also we assign an orientation, i.e. a normal vector ni, to each tangent plane. We also choose a point si on each tangent plane to be the center of the plane. Finally we define f(p) to be the dot product of (p - si) and ni. Finding a consistent way to assign orientations to the tangent planes is a nontrivial problem--this paper uses a graph optimization technique to solve the problem.
  2. Use contouring algorithm to approximate Z(f) by a simplicial surface. This paper uses a modified version of the marching cubes algorithm, which samples f at the vertices of a cube, breaks the cube into tetrahedra, and finds the intersection with the zero set inside those tetrahedra. Only cubes intersecting the zero set are visited.

Related Work: Earlier work includes surface reconstruction algorithms for:

  1. Surfaces from range data
  2. Surfaces from contours
  3. Interactive surface sketching
Reconstruction techniques include:
  1. Implicit reconstruction methods
  2. Parametric reconstruction methods
  3. Hybrid implicit and parametric methods
  4. Function reconstruction methods (very limited)

Results: The algorithm correctly reconstructed the four kinds of surfaces shown in the paper: meshes, ray traced points, range images, and contours. There are some ways to speed up the algorithm using faster algorithms for computing:

  1. Euclidean minimum spanning tree (EMST) for a graph
  2. k-nearest neighbors to a given point
  3. Nearest tangent plane center to a given point


2. Reconstruction and Representation of 3D Objects with Radial Basis Functions

J. C. Carr, R. K. Beatson, J. B. Cherrie, T. J. Mitchell, W. R. Fright, B. C. McCallum, and T. R. Evans
Computer Graphics (SIGGRAPH)
Pages 67-76
2001

Motivation: Same as in the above paper. Except, we would like to make use of the advantages of radial basis functions (RBFs), including:

  1. RBF gives compact functional description of surface data, making interpolation and extrapolation easy
  2. There are fast fitting and evaluation methods for RBFs
  3. Derivatives (and hence gradients and normals) can be computed analytically
  4. Level sets without self-intersection can be extracted
  5. Above methods model a surface by a single RBF instead of many RBFs
  6. Significant compression: greedy algorithm reduces number of centers needed to represent a surface
  7. Energy minimization of polyharmonic RBFs gives a smoothest interpolant
  8. Scale independence: non-uniform data can be reconstructed well
  9. RBFs make mesh simplification and remeshing easier

Goal of This Research: Find efficient solutions to problems related to point clouds by exploiting the advantages of RBFs.

Goal of This Paper: Similar to last paper, except we focus on fitting the zero set of radial basis functions (RBFs) to the point cloud. Specifically this paper presents the following:

  1. Describe advantages of fast fitting and evaluation methods for RBFs
  2. Describe how to reduce the number of centers needed to describe a RBF
  3. Show how to model large and topologically complex data
  4. Use RBF approximation to reconstruct smooth surfaces from noisy data
  5. Use RBFs for mesh repair (hole-filling) and point cloud surface fitting

Related Work: Problems related to surface reconstruction for Computer Aided Design (CAD), including blending between surfaces, ensuring surfaces are manifold, and smoothing and remeshing noisy surfaces have independently been considered in existing work; see Bernardini et al. The previous paper by Hoppe et al solves the same problem, but with a different method: namely, it uses a signed-distance function to estimate normals, while this paper does not. Radial basis functions have been used in the past for efficiently modeling small data sets. Implicit surfaces in general have been used in a variety of modeling problems, mainly due to their ability to represent complex shapes with relatively simple algebraic expressions, and the speed of set operations such as intersections of implicit surfaces. It should be straightforward to take a global RBF, as produced by the methods of this paper, and decompose it into a piecewise mesh of implicit surface patches as done by Bajaj, Chen, and Xu.

Results: RBFs give smooth, well-fitted representations of arbitrarily complex objects. RBFs have wide applicability in constructive solid geometry (CSG) for modeling scanned objects. RBFs can also help visualize irregularly sampled volume data for medical and geophysical data.


3. Statistical Point Geometry

A. Kalahia and A. Varshney
Eurographics Symposium on Geometry Processing
Pages 107-115
2003

Motivation: So far, methods for representing data on a computer used deterministic methods, that is, methods which represent the data in full precision. But for large, detailed data sets, it may be more practical to use nondeterministic methods to represent the data more efficiently, albeit less precisely.

Goal of This Research: To use statistical analysis to represent point cloud data in an efficient but nondeterministic way.

Goal of This Paper: This paper presents a hierarchical statistical analysis technique called Principal Component Analysis (PCA) to create a representation of a given highly-detailed data set. Using PCA allows:

  1. Geometry bandwidth reduction: PCA creates a compact representation of data including the geometric and appearance attributes of each point in a point cloud.
  2. Randomized rendering: we are using a statistical representation of data, so we can use randomized rendering to display the data. An advantage of randomized rendering is that the output image is high-quality and sensitive to output size.
The advantages of the PCA-based representation presented in this paper include:
  1. Each local geometry is decoded independently of every other local geometry so memory requirements are low, the data can be transmitted over networks or buses progressively in small pieces, and rendering of the data is fast.
  2. We have a uniform framework for compressing other attributes associated with points such as color, normal, and texture coordinates.
  3. Lower geometry bandwidth makes it faster to transmit data over a network or system bus connecting the CPU, GPU, and memory.

Related Work: Traditional ways of modeling in computer graphics include:

  1. Triangle meshes
  2. Parametric surfaces
  3. Implicit methods
  4. Representations based on points, images, and volumes
  5. Procedural modeling
Operations commonly done on geometric models, which need to be efficiently done, include:
  1. Surface reconstruction
  2. Editing
  3. Simplification
  4. Signal processing
Current point-based representations of data, which try to reproduce the original sample points, include:
  1. Bounding balls hierarchy
  2. Octree hierarchy
  3. Progressive implicit surface representations
Other representations which don't worry about reproducing the original sample points can do better compression.

Point clouds themselves have evolved from being modeled as a set of points, to being modeled as a set of point primitives: instead of having just a set of points, we may instead have a set of tangential disks, spheres, quadratic surfaces, or higher-degree polynomial patches. Using point primitives instead of just points helps fill in spaces between points, as well as efficiently rendering small regions of triangle meshes.

The approach of this paper models local geometry by randomly generating points, using ideas related to procedural rendering and the randomized z-buffer algorithm for triangle meshes. This paper also uses variance analysis, which is used conventionally for antialiasing.

Results: Compression and network transmission speed are very good. However, there is a nontrivial approximation error as a result of the compression. Also, since PCA gives a hierarchical structure to the data, the approximation error decreases dramatically as we go to greater levels of detail. Error is almost as good as that of a triangle mesh for high levels of detail. But higher detail levels take longer to compute. Possible improvements to the methods in this paper include better antialiased rendering, better clustering methods to separate distinct regions of a point cloud, and bigger point sizes to reduce the bandwidth.