Carr Et Al - 2001 - Reconstruction and Representation of 3D Objects With Radial Basis Functions
Carr Et Al - 2001 - Reconstruction and Representation of 3D Objects With Radial Basis Functions
Functions
J. C. Carr1,2 R. K. Beatson2 J. B. Cherrie1 T. J. Mitchell1,2 W. R. Fright1 B. C. McCallum1
T. R. Evans1
(a) (b)
Figure 1: (a) Fitting a Radial Basis Function (RBF) to a 438,000 point-cloud. (b) Automatic mesh repair using the biharmonic RBF.
Abstract 1 Introduction
We use polyharmonic Radial Basis Functions (RBFs) to reconstruct Interpolating incomplete meshes (hole-filling) and reconstructing
smooth, manifold surfaces from point-cloud data and to repair in- surfaces from point-clouds derived from 3D range scanners are
complete meshes. An object’s surface is defined implicitly as the ubiquitous problems in computer graphics and Computer Aided
zero set of an RBF fitted to the given surface data. Fast methods for Design (CAD). Smoothly blending between surfaces and ensuring
fitting and evaluating RBFs allow us to model large data sets, con- surfaces are manifold, and therefore manufacturable, are related
sisting of millions of surface points, by a single RBF—previously problems in CAD. Similarly, smoothing and remeshing existing
an impossible task. A greedy algorithm in the fitting process re- noisy surfaces are important problems in both CAD and computer
duces the number of RBF centers required to represent a surface and graphics. These problems have mostly been considered indepen-
results in significant compression and further computational advan- dent from one another and received much attention in the litera-
tages. The energy-minimisation characterisation of polyharmonic ture (see [8] and the references therein). In this paper we propose
splines result in a “smoothest” interpolant. This scale-independent that the implicit representation of object surfaces with Radial Basis
characterisation is well-suited to reconstructing surfaces from non- Functions (RBFs) simplifies many of these problems and offers a
uniformly sampled data. Holes are smoothly filled and surfaces unified framework that is simple and elegant. An RBF offers a com-
smoothly extrapolated. We use a non-interpolating approximation pact functional description of a set of surface data. Interpolation
when the data is noisy. The functional representation is in effect a and extrapolation are inherent in the functional representation. The
solid model, which means that gradients and surface normals can RBF associated with a surface can be evaluated anywhere to pro-
be determined analytically. This helps generate uniform meshes duce a mesh at the desired resolution. Gradients and higher deriva-
and we show that the RBF representation has advantages for mesh tives are determined analytically and are continuous and smooth,
simplification and remeshing applications. Results are presented depending on the choice of basic function. Surface normals are
for real-world rangefinder data. therefore reliably calculated and iso-surfaces extracted from the im-
CR Categories: I.3.5 [Computer Graphics]: Computational Ge-
ometry and Object Modeling—Curve, surface, solid, and object
representations;
Keywords: Variational implicit surfaces, Radial Basis Function,
RBF, mesh repair, point-cloud surfacing, surface reconstruction,
geometry compression, solid modeling.
∗ Applied Research Associates NZ Ltd, PO Box 3894, Christchurch,
• apply RBFs to the problem of mesh repair (hole-filling) and • Fitting an RBF to the resulting distance function.
point-cloud surface fitting.
• Iso-surfacing the fitted RBF.
1.1 Implicit surfaces Section 2 of this paper describes how we formulate the surface
fitting problem as a scattered data interpolation problem. Section 3
The surface representation or reconstruction problem can be ex- introduces RBFs and Section 4 describes the use of new fast meth-
pressed as ods which overcome problems that have prevented the use of RBFs
in the past. Section 5 introduces RBF center reduction which re-
Problem 1.1. Given n distinct points {(xi , yi , zi )}ni=1 on a surface
sults in a compact surface representation as well as faster fitting
M in R3 , find a surface M 0 that is a reasonable approximation to and evaluation times. Section 6 introduces RBF approximation as a
M. means of smoothing noisy surface data and demonstrates this by re-
constructing smooth surfaces from noisy LIDAR (laser rangefinder)
Our approach is to model the surface implicitly with a function
data. Section 7 describes iso-surface extraction. Section 8 demon-
f (x, y, z). If a surface M consists of all the points (x, y, z) that satisfy
strates the abilities of RBFs to reconstruct non-trivial surfaces from
the equation
point-clouds and interpolate incomplete meshes. Section 9 draws
f (x, y, z) = 0, (1)
conclusions and discusses future work.
then we say that f implicitly defines M. Describing surfaces im-
plicitly with various functions is a well-known technique [9]. off-surface ‘normal’ points
In Constructive Solid Geometry (CSG) an implicit model is
formed from simple primitive functions through a combination of
Boolean operations (union, intersection etc) and blending func-
tions. CSG techniques are more suited to the design of objects in
CAD rather than their reconstruction from sampled data. Piece-
wise low-order algebraic surfaces, sometimes referred to as im-
plicit patches or semi-algebraic sets, have also been used to define
surfaces implicitly. These are analogous to piecewise parametric
splines except that the surface is implicitly defined by low degree surface points
polynomials over a piecewise tetrahedral domain. An introduction
to these techniques and further references can be found in [9].
The distinction between our approach and these well-known Figure 2: A signed-distance function is constructed from the sur-
techniques is that we wish to model the entire object with a single face data by specifying off-surface points along surface normals.
function which is continuous and differentiable. A single functional These points may be specified on either or both sides of the surface,
description has a number of advantages over piecewise parametric or not at all.
surfaces and implicit patches. It can be evaluated anywhere to pro-
duce a particular mesh, i.e., a faceted surface representation can
be computed at the desired resolution when required. Sparse, non- 2 Fitting an implicit function to a surface
uniformly sampled surfaces can be described in a straightforward
manner and the surface parameterization problem, associated with We wish to find a function f which implicitly defines a surface M 0
piecewise fitting of cubic spline patches, is avoided. and satisfies the equation
The representation of objects with single functions has pre-
viously been restricted to modeling “blobby” objects such as f (xi , yi , zi ) = 0, i = 1, . . . , n,
(a) (b) (c)
Figure 3: Reconstruction of a hand from a cloud of points with and without validation of normal lengths.
where {(xi , yi , zi )}ni=1 are points lying on the surface. In order been chosen to lie a fixed distance from the surface. The result-
to avoid the trivial solution that f is zero everywhere, off-surface ing surface, where f is zero, is distorted in the vicinity of the fin-
points are appended to the input data and are given non-zero val- gers where opposing normal vectors have intersected and generated
ues. This gives a more useful interpolation problem: Find f such off-surface points with incorrect distance-to-surface values, both in
that sign and magnitude. In Fig. 3(a) & (b) validation of off-surface dis-
tances and dynamic projection has ensured that off-surface points
f (xi , yi , zi ) = 0, i = 1, . . . , n (on-surface points), produce a distance field consistent with the surface data. Fig. 4 is a
f (xi , yi , zi ) = di 6= 0, i = n + 1, . . . , N (off -surface points). cross section through the fingers of the hand. The figure illustrates
how the RBF function approximates a distance function near the
This still leaves the problem of generating the off-surface points object’s surface. The approximately equally spaced iso-contours at
{(xi , yi , zi )}N +1, 0 and −1 in the top of the figure and the corresponding function
i=n+1 and the corresponding values di .
An obvious choice for f is a signed-distance function, where profile below, illustrate how the off-surface points have generated
the di are chosen to be the distance to the closest on-surface point. a function with a gradient magnitude close to 1 near the surface
Points outside the object are assigned positive values, while points (which corresponds to the zero-crossings in the profile shown).
inside are assigned negative values. Similar to Turk & O’Brien [23],
these off-surface points are generated by projecting along surface
normals. Off-surface points may be assigned either side of the sur-
face as illustrated in Fig. 2.
Experience has shown that it is better to augment a data point
with two off-surface points, one either side of the surface. In
Fig. 3(a) surface points from a laser scan of a hand are shown in
green. Off-surface points are color coded according to their dis-
tance from their associated on-surface point. Hot colors (red) rep-
resent positive points outside the surface while cold colors (blue) lie
inside. There are two problems to solve; estimating surface normals
and determining the appropriate projection distance.
If we have a partial mesh, then it is straightforward to define off-
surface points since normals are implied by the mesh connectivity
at each vertex. In the case of unorganised point-cloud data, nor-
mals may be estimated from a local neighbourhood of points. This
requires estimating both the normal direction and determining the
sense of the normal. We locally approximate the point-cloud data
with a plane to estimate the normal direction and use consistency
and/or additional information such as scanner position to resolve
the sense of the normal. In general, it is difficult to robustly es-
timate normals everywhere. However, unlike other methods [16]
which also rely on forming a signed-distance function, it is not crit-
ical to estimate normals everywhere. If normal direction or sense Figure 4: Cross section through the fingers of a hand reconstructed
is ambiguous at a particular point then we do not fit to a normal at from the point-cloud in Fig. 3. The iso-contours corresponding to
that point. Instead, we let the fact that the data point is a zero-point +1, 0 and -1 are shown (top) along with a cross sectional profile of
(lies on the surface) tie down the function in that region. the RBF (bottom) along the line shown.
Given a set of surface normals, care must be taken when pro-
jecting off-surface points along the normals to ensure that they
do not intersect other parts of the surface. The projected point is 3 Radial Basis Function interpolation
constructed so that the closest surface point is the surface point
that generated it. Provided this constraint is satisfied, the recon- Given a set of zero-valued surface points and non-zero off-surface
structed surface is relatively insensitive to the projection distance points we now have a scattered data interpolation problem: we want
|di |. Fig. 3(c) illustrates the effect of projecting off-surface points to approximate the signed-distance function f (x) by an interpolant
inappropriate distances along normals. Off-surface points have s(x). The problem can be stated formally as follows,
Problem 3.1. Given a set of distinct nodes X = {xi }N 3
i=1 ⊂ R and More generally, if the polynomial in Equation (6) is of degree m
a set of function values { fi }N ⊂ R, find an interpolant s : R 3→R then the side conditions imposed on the coefficients are
i=1
such that N
s(xi ) = fi , i = 1, . . . , N. (2)
∑ λi q(xi ) = 0, for all polynomials q of degree at most m. (7)
Note that we use the notation x = (x, y, z) for points x ∈ R3 . i=1
The interpolant will be chosen from BL(2) (R3 ), the Beppo-Levi These side conditions along with the interpolation conditions of
space of distributions on R3 with square integrable second deriva- Equation (2) lead to a linear system to solve for the coefficients
tives. This space is sufficiently large to have many solutions to that specify the RBF.
Problem 3.1, and therefore we can define the affine space of inter- Let {p1 , . . . , p` } be a basis for polynomials of degree at most m
polants: and let c = (c1 , . . . , c` ) be the coefficients that give p in terms of this
basis. Then Equations (2) and (7) may be written in matrix form as
S = {s ∈ BL(2) (R3 ) : s(xi ) = fi , i = 1, . . . , N}. (3)
λ λ
A P f
The space BL(2) (R3 ) is equipped with the rotation invariant semi- = B = , (8)
PT 0 c c 0
norm defined by
where
2 2 2
∂2 s(x) ∂2 s(x) ∂2 s(x)
Z
ksk2 = + + Ai, j = φ(|xi − x j |), i, j = 1, . . . , N,
R3 ∂x2 ∂y2
∂z2
2 2 2 Pi, j = p j (xi ), i = 1, . . . , N, j = 1, . . . , `.
∂ s(x) ∂ s(x) ∂ s(x)
2 2 2
+2 +2 +2 dx. (4) In the specific case of the biharmonic spline in 3D, if it is assumed
∂x∂y ∂x∂z ∂y∂z
that the polynomial part of the RBF in Equation (5) has the form
This semi-norm is a measure of the energy or “smoothness” of func- p(x) = c1 + c2 x + c3 y + c4 z, then
tions: functions with a small semi-norm are smoother than those
with a large semi-norm. Duchon [12] showed that the smoothest Ai, j = |xi − x j |, i, j = 1, . . . , N,
interpolant, i.e.,
s? = arg min ksk, P is the matrix with ith row (1, xi , yi , zi ), λ = (λ1 , . . . , λN )T and
s∈S c = (c1 , c2 , c3 , c4 )T .
has the simple form Solving the linear system (8) determines λ and c, and hence s(x).
However, the matrix B in Equation (8) typically has poor condi-
N
s? (x) = p(x) + ∑ λi |x − xi |,
tioning as the number of data points N gets larger. This means that
(5)
i=1
substantial errors will easily creep into any standard numerical so-
lution.
where p is a linear polynomial, the coefficients λi are real numbers On initial inspection, the essentially local nature of the Gaus-
and | · | is the Euclidean norm on R3 . sian, inverse multiquadric (φ(r) = (r2 + c2 )−1/2 ) and compactly
This function is a particular example of a radial basis function supported basic functions appear to lead to more desirable prop-
(RBF). In general, an RBF is a function of the form erties in the RBF. For example, the matrix B now has special struc-
N ture (sparsity) which can be exploited by well-known methods and
s(x) = p(x) + ∑ λi φ(|x − xi |), (6) evaluation of Equation (6) only requires that the sum be over nearby
i=1 centers instead of all N centers. However, non-compactly supported
basic functions are better suited to extrapolation and interpolation
where p is a polynomial of low degree and the basic function φ of irregular, non-uniformly sampled data. Indeed, numerical exper-
is a real valued function on [0, ∞), usually unbounded and of non- iments using Gaussian and compactly supported piecewise polyno-
compact support (see, e.g., Cheney & Light [11]). In this context mials for fitting surfaces to point-clouds have shown that these basic
the points xi are referred to as the centers of the RBF. functions yield surfaces with many undesirable artifacts in addition
Popular choices for the basic function φ include the thin-plate to the lack of extrapolation across holes.
spline φ(r) = r2 log(r) (for fitting smooth functions of two vari- The energy minimisation properties of biharmonic splines make
ables), the Gaussian φ(r) = exp(−cr√2 ) (mainly for neural net- them well suited to the representation of 3D objects. Since the
works), and the multiquadric φ(r) = r2 + c2 (for various appli- corresponding basic function φ(r) = r is not compactly supported
cations, in particular fitting to topographical data). For fitting and grows arbitrarily large as r tends to infinity, the correspond-
functions of three variables, good choices include the biharmonic ing matrix B of Equation (8) is not sparse and, except for symme-
(φ(r) = r, i.e., Equation (5)) and triharmonic (φ(r) = r3 ) splines. try, has no obvious structure that can be exploited in solving the
RBFs are popular for interpolating scattered data as the associ- system. Storing the lower triangle of matrix B requires space for
ated system of linear equations is guaranteed to be invertible under N(N + 1)/2 real numbers. Solution via a symmetric solver will re-
very mild conditions on the locations of the data points [11, 18]. quire N 3 /6 + O (N 2 ) flops. For a problem with 20, 000 data points
For example, the biharmonic spline of Equation (5) only requires this is a requirement for approximately 1.6 × 109 bytes (1.5GB)
that the data points are not co-planar, while the Gaussian and mul- of core memory, and 1013 flops, which is impractical. Further-
tiquadric place no restrictions on the locations of the points. In par- more, ill-conditioning of the matrix B is likely to make any solution
ticular, RBFs do not require that the data lie on any sort of regular one gets from such a direct computation highly unreliable. Thus,
grid. it is clear that direct methods are inappropriate for problems with
An arbitrary choice of coefficients λi in Equation (5) will yield N & 2, 000. Moreover, a single direct evaluation of Equation (6)
a function s? that is not a member of BL(2) (R3 ). The requirement requires O (N) operations. These factors have led many authors to
that s? ∈ BL(2) (R3 ) implies the orthogonality or side conditions conclude that, although RBFs are often the interpolant of choice,
they are only suitable for problems with at most a few thousand
N N N N
∑ λi = ∑ λi xi = ∑ λi yi = ∑ λi zi = 0. points [13, 14, 20]. The fast methods described in the following
section demonstrate that this is no longer the case.
i=1 i=1 i=1 i=1
Figure 6: A greedy algorithm iteratively fits an RBF to a point cloud resulting in fewer centers in the final function. In this case the 544,000
point cloud is represented by 80,000 centres to a relative accuracy of 5 × 10−4 in the final frame.
Figure 8: RBF approximation of noisy LIDAR data. (a) 350,000 point-cloud, (b) the smooth RBF surface approximates the original point-
cloud data, (c) cut-away view illustrating the RBF distance field and the preservation of the gap between the arm and the torso.
Figure 9: (a) Exact fit, (b) medium amount of smoothing applied (the RBF approximates at data points), (c) increased smoothing.
gradient is approximately constant near the surface. Local minima ted. Two off-surface points were generated for every second point
have not been observed in our experience, but this is not surprising in the original surface data, hence the number of interpolation nodes
since we deliberately constructed the function in Section 2 to have to which an RBF is fitted is approximately twice the number of sur-
these properties. In any case, only a small subset of centers is re- face points. Center reduction was used throughout, except in the
quired to seed the surface, one for each distinct surface section. The LIDAR example, where the number of RBF centers consequently
surface-following strategy avoids the conventional requirement for equals the number of interpolation nodes. Fitting and evaluation
a 3D array of sample points and therefore minimises the number of was performed on a 550MHz PIII Pentium with 512MB RAM.
RBF evaluations. Consequently, the computational cost increases Figs. 1(a), 3, 6, 12, 13 and 14 illustrate fitting surfaces to point-
with the square of the resolution, rather than the cube, as it would if clouds while Figs. 1(b) and 11 illustrate fitting to partial meshes.
a complete volume were sampled. Memory overhead is also min- Fig. 8 demonstrates approximation with an RBF in the context of
imised since it is only necessary to retain the sample vertices as- fitting a smooth surface to noisy LIDAR data.
sociated with the advancing wavefronts. Quadrilateral meshes can
The dragon in Fig. 1(a), the Buddha figurine (Fig. 6) and the
also be produced in this manner. Surfacing ambiguities can be re-
skeleton hand (Fig. 12) demonstrate the ability of fast methods to
solved easily due to the ability to analytically evaluate the gradient
model large complicated data sets to high accuracy and the com-
of the RBF.
pact nature of the RBF representation. The dragon data was derived
from a mesh consisting of 438,000 vertices and 871,000 faces, the
Buddha from 544,000 vertices and 1,087,000 faces. Normals were
8 Results computed at vertices from the adjacent faces. Direct methods would
inevitably fail on these problems. For example, a direct approach
Table 2 quantifies the fitting and evaluation times for the figures to fitting the Buddha data would require 4,700GB of storage just
presented in this paper. In all cases the biharmonic spline was fit- to store the matrix of the interpolation system (8). The peak core
(a) (b)
Figure 10: Iso-surfacing an RBF. (a) Surface-following from a single seed, (b) example of an optimised mesh.
Figure Number of Number of inter- Number of Peak RAM Fitting Surfacing Relative
surface points -polation nodes RBF centers (MB) time time accuracy
Face 14,806 29,074 3,564 29 68s 27s 7 ×10−4
Hand 13,348 26,696 4,299 29 97s 32s 1 ×10−3
Dragon 437,645 872,487 72,461 306 2:51:09 0:04:40 8 ×10−4
Buddha 543,652 1,086,194 80,518 291 4:03:26 0:04:07 5 ×10−4
Cherub statue 331,135 662,269 83,293 187 3:09:06 0:06:41 4 ×10−4
Skeleton hand 327,323 654,645 85,468 188 3:08:44 0:04:04 3 ×10−4
LIDAR statue 345,910 518,864 518,864 390 3:08:21 0:25:39 6 ×10−3
Table 2: Comparison of RBF fitting and evaluation times on a 550MHz PIII with 512MB RAM.
memory requirements of the new fast methods in Table 2 are par- data that an RBF representation offers. We have also listed the size
ticularly noteworthy in this respect. of the meshes derived from evaluating the RBF at a comparable
Fig. 1(b) and Fig. 11 illustrate the application of RBFs to mesh resolution to the original data. It appears from initial results that a
repair. In Fig. 1(b) an RBF is fitted to a partial mesh obtained from a promising application of RBFs is the remeshing of existing meshes.
laser scanner. This figure demonstrates the ability of the biharmonic Fitting an RBF not only fills holes, but a more uniform (and hence
spline to smoothly interpolate across large irregular holes, for ex- more compact) mesh can be derived from it.
ample under the chin, and smoothly extrapolate a surface far from
the data. In Fig. 11 an RBF has been fitted to a large statue data
set. Although carefully scanned, the statue contains many small
holes and larger holes corresponding to occluded regions between
the embracing figures. The fitted RBF has automatically filled all
the holes and generated a water-tight model of the statue without Finally, for the doubting reader, we demonstrate in Figure 14 that
the user having to specify any parameters other than the desired fit- a single RBF can model an extremely complicated surface with a
ting accuracy. Note how the fragment of shoulder data on the right high genus. In this case 594,000 centers were required to model
figurine has been extrapolated to reconstruct the missing chest data. the turbine blade to 10−4 accuracy. The fast evaluation methods
Fig. 13 illustrates the reconstruction of the asteroid Eros from described in Section 4 are essential for working with RBFs of this
scattered range data. This is a good example of non-uniformly size. The RBF has reproduced intricate internal structure along with
distributed data, often difficult to reconstruct using other methods. surface detail present in the original data. The point-cloud data
Furthermore, in this example the accuracy associated with the range were only available as a Marching Cubes (MC) mesh derived from
measurements varies at each point. X-ray CT data. However, if the CT data were available, then we
Table 3 compares the size of the original meshes in the dragon, would fit an RBF directly to the CT values. Specifically, we would
Buddha and skeletal hand data sets with the size of the equivalent fit to a subset of the data with values in the vicinity of the threshold
RBF representation. The uncompressed mesh sizes were derived used by Marching Cubes to iso-surface the data. This would result
by assigning 3 floats (12 bytes) to each vertex and 3 integers (12 in a smaller fitting problem since the MC mesh contains extraneous
bytes) to each triangular facet. The uncompressed RBF file size vertices and the construction of a signed-distance function, which
corresponds to representing each center with 3 floats (12 bytes) and requires adding off-surface points, would be avoided. Smooth RBF
each coefficient (λi ) with a double precision number (8 bytes). It is interpolation of the CT data would also be preferable to the linear
likely that single precision would be adequate, which would result interpolation used in the MC algorithm, particularly between CT
in more compression, but we have not yet quantified the effect of slices, which are usually spaced further apart relative to the pixel
coefficient precision on the evaluated surface. This table demon- resolution within a slice. An approximating spline could also be
strates the significant compression of both point-cloud and mesh used to reduce noise in the CT data.
Original mesh New mesh RBF representation
Figure # vertices # facets Storage # vertices # facets Storage RBF centers Storage
Dragon 437,645 847,414 15.4MB 126,998 254,016 4.5MB 72,461 1.4MB
Buddha 543,652 1,086,798 19.6MB 96,766 193,604 3.5MB 80,518 1.6MB
Skeleton hand 327,323 654,666 11.8MB 81,829 163,698 2.9MB 85,468 1.7MB
Table 3: Comparison of storage requirements for RBF representations and derived meshes.
Figure 11: An RBF has automatically filled small holes and extrap- Figure 13: RBF reconstruction of the asteroid Eros from non-
olated across occluded regions in the scan data (left), to produce uniformly distributed range data (top). Photograph and model from
a closed, water-tight model (right). The complex topology of the a similar view (bottom).
statue has been preserved.