Screened Poisson Surface Reconstruction
Screened Poisson Surface Reconstruction
MICHAEL KAZHDAN
Johns Hopkins University
and
HUGUES HOPPE
Microsoft Research
Poisson surface reconstruction creates watertight surfaces from oriented are defined over different domain types. Whereas gradients are
point sets. In this work we extend the technique to explicitly incorporate constrained over the full 3D space, positional constraints are
the points as interpolation constraints. The extension can be interpreted as introduced only over the input points, which lie near a 2D manifold.
a generalization of the underlying mathematical framework to a screened We show how these two types of constraints can be efficiently
Poisson equation. In contrast to other image and geometry processing integrated, so that we can leverage the original multigrid structure
techniques, the screening term is defined over a sparse set of points rather to solve the linear system without incurring a significant overhead
than over the full domain. We show that these sparse constraints can in space or time.
nonetheless be integrated efficiently. Because the modified linear system
To demonstrate the benefits of screening, Figure 1 compares results
retains the same finite-element discretization, the sparsity structure is
of the traditional Poisson surface reconstruction and the screened
unchanged, and the system can still be solved using a multigrid approach.
Poisson formulation on a subset of 11.4M points from the scan of
Moreover we present several algorithmic improvements that together
Michelangelo’s David [Levoy et al. 2000]. Both reconstructions are
reduce the time complexity of the solver to linear in the number of points,
computed over a spatial octree of depth 10, corresponding to an
thereby enabling faster, higher-quality surface reconstructions.
effective voxel resolution of 10243 . Screening generates a model
that better captures the input data (as visualized by the surface
Categories and Subject Descriptors: I.3.5 [Computer Graphics]: Compu- cross-sections overlaid with the projection of nearby samples),
tational Geometry and Object Modeling even though both reconstructions have similar complexity (6.8M
and 6.9M triangles respectively) and required similar processing
Additional Key Words and Phrases: screened Poisson equation, adaptive time (230 and 272 seconds respectively, without parallelization).1
octree, finite elements, surface fitting
Another contribution of our work is to modify both the octree
ACM Reference Format: structure and the multigrid implementation to reduce the time
complexity of solving the Poisson system from log-linear to linear
Kazhdan, M., and Hoppe, H. Screened Poisson surface reconstruction.
in the number of input points. Moreover we show that hierarchical
ACM Trans. Graph. NN, N, Article NN (Month YYYY), PP pages.
point clustering enables screened Poisson reconstruction to attain
DOI = 10.1145/XXXXXXX.YYYYYYY
this same linear complexity.
http://doi.acm.org/10.1145/XXXXXXX.YYYYYYY
2. RELATED WORK
Fig. 1: Reconstruction of the David head‡ , comparing traditional Poisson surface reconstruction (left) and screened Poisson surface reconstruction which
incorporates point constraints (center). The rightmost diagram plots pixel depth (z) values along the colored segments together with the positions of nearby
samples. The introduction of point constraints significantly improves fit accuracy, sharpening the reconstruction without amplifying noise.
Bajaj et al. 1995; Curless and Levoy 1996]. If the input points are 3. REVIEW OF POISSON SURFACE
unoriented, an important step is to correctly infer the sign of the RECONSTRUCTION
resulting distance field [Mullen et al. 2010].
Our work extends Poisson surface reconstruction [Kazhdan et al. The approach of Poisson surface reconstruction is based on the
2006], in which the implicit function corresponds to the model’s observation that the (inward pointing) normal field of the boundary
indicator function χ. The function χ is often defined to have value 1 of a solid can be interpreted as the gradient of the solid’s
inside and value 0 outside the model. To simplify the derivations, in indicator function. Thus, given a set of oriented points sampling the
boundary, a watertight mesh can be obtained by (1) transforming
this paper we define χ to be 12 inside and −1
2 outside, so that its zero the oriented point samples into a continuous vector field in 3D,
isosurface passes near the points. The function χ is solved using a
(2) finding a scalar function whose gradients best match the vector
Laplacian system discretized over a multiresolution B-spline basis,
field, and (3) extracting the appropriate isosurface.
as reviewed in Section 3.
Because our work focuses primarily on the second step, we review
Alliez et al. [2007] form a Laplacian system over a tetrahedral- it here in more detail.
ization, and constrain the solution’s biharmonic energy; the de-
sired function is obtained as the solution to an eigenvector prob- Scalar Function Fitting. Given a vector field ~V : R3 → R3 , the
lem. Manson et al. [2008] represent the indicator function χ using goal is to solve for the scalar function χ : R3 → R minimizing:
a wavelet basis, and efficiently compute the basis coefficients using Z
simple local sums over an adapted octree. E(χ) = k∇χ(p) − ~V (p)k2 d p. (1)
Calakli and Taubin [2011] optimize a signed-distance function
to have value zero at the points, have derivatives that agree Using the Euler-Lagrange formulation, the minimum is obtained
with the point normals, and minimize a Hessian smoothness by solving the Poisson equation:
norm. The resulting optimization involves a bilaplacian operator, ∆χ = ∇ · ~V .
which requires estimating derivatives of higher order than in the
Laplacian. The reconstructed surfaces are shown to have good System Discretization. The Galerkin formulation is used to
accuracy, strongly suggesting the importance of explicitly fitting transform this into a finite-dimensional system [Fletcher 1984].
the points within the optimization. This motivated us to explore First, a basis {B1 , . . . , BN } : R3 → R is chosen, namely a collection
whether a Laplacian system could be extended in this respect, and of trivariate (usually triquadratic) B-spline functions. With respect
also be compatible with a multigrid solver. to this basis, the discretization becomes:
h∆χ, Bi i[0,1]3 = h∇ · ~V , Bi i[0,1]3 1≤i≤N
Screened Poisson Surface Fitting. The method of Nehab et al.
[2005], which simultaneously fits position and normal constraints, where h·, ·i[0,1]3 is the standard inner-product on the space of
may also be viewed as the solution of a screened Poisson equation. (scalar- and vector-valued) functions defined on the unit cube:
The fitting algorithm assumes that a 2D parametric domain (i.e., Z
a plane or triangle mesh) is already established. The position and hF, Gi[0,1]3 = F(p) · G(p) d p,
derivative constraints are both defined over this 2D domain. [0,1]3
Z
In contrast, in Poisson surface reconstruction the 2D domain ~ ~V i[0,1]3 =
hU, ~
hU(p), ~V (p)i d p.
[0,1]3
manifold is initially unknown, and therefore the goal is to infer an
indicator function χ rather than a parametric function. This leads Since the solution is itself expressed in terms of the basis functions:
to a hybrid problem with derivative (Laplacian) constraints defined N
densely over 3D and position constraints defined sparsely on the set χ(p) =
of points sampled near the unknown 2D manifold.
∑ xi Bi (p),
i=1
ACM Transactions on Graphics, Vol. VV, No. N, Article XXX, Publication date: Month YYYY.
Screened Poisson Surface Reconstruction • 3
finding the coefficients {xi } of the solution reduces to solving the 4. INCORPORATING POINT CONSTRAINTS
linear system Ax = b where:
The original Poisson surface reconstruction algorithm adjusts the
Ai j = h∇Bi , ∇B j i[0,1]3 and bi = h~V , ∇Bi i[0,1]3 . (2)
implicit function using a single global offset such that its average
The basis functions {B1 , . . . , BN } are chosen to be compactly value at all points is zero. However, the presence of errors can cause
supported, so most pairs of functions do not have overlapping the implicit function to drift so that no global offset is satisfactory.
support, and thus the matrix A is sparse. Instead, we seek to explicitly interpolate the points.
Because the solution is expected to be smooth away from the input Given the set of input points P with weights w : P → R≥0 , we
samples, the linear system is discretized by first adapting an octree add to the energy of Equation 1 a term that penalizes the function’s
to the input samples and then associating an (appropriately scaled deviation from zero at the samples:
and translated) trivariate B-spline function to each octree node. Z
α · Area(P)
This provides high-resolution detail in the vicinity of the surface E(χ)= k~V (p)−∇χ(p)k2 d p + ∑ w(p)χ 2 (p) (3)
while reducing the overall dimensionality of the system. ∑ p∈P w(p) p∈P
0
Here, Add is the Nd × Nd 0 matrix used to transform solution 4.2 Discretization
coefficients at depth d 0 into constraints at depth d:
0 0 We apply a discretization similar to that in Section 3 to the
Add d d
i j = h∇Bi , ∇B j i[0,1]3 . minimization of the energy in Equation 4. The coefficients of the
solution χ with respect to the basis {B1 , . . . , BN } are again obtained
Note that, by definition, Ad = Add . by solving a linear system of the form Ax = b. The right-hand-side b
is unchanged because the constrained value at the sample points is
Isosurface Extraction. Solving the Poisson equation, one obtains zero. Matrix A now includes the point constraints:
a function χ that approximates the indicator function. Ideally, the
function’s zero level-set should therefore correspond to the desired Ai j = h∇Bi , ∇B j i[0,1]3 + αhBi , B j i(w,P) . (5)
surface. In practice however, the function χ can differ from the true
indicator function due to several sources of error: Note that incorporating the point constraints does not change the
sparsity of matrix A because Bi (p) · B j (p) is nonzero only if the
—The point sampling may be noisy, possibly containing outliers. supports of the two functions overlap, in which case the Poisson
—The Galerkin discretization is only an approximation of the equation has already introduced a nonzero entry in the matrix.
continuous problem. As in Section 3, we solve this linear system using a cascadic
—The point sampling density is approximated during octree multigrid algorithm – iterating over the octree depths from coarsest
construction. to finest, adjusting the constraints, and relaxing the system. Similar
to Equation 5, the matrix used to transform a solution at depth d 0 to
To mitigate these errors, in [Kazhdan et al. 2006] the implicit a constraint at depth d is expressed as:
function is adjusted by globally subtracting the average value of 0 0 0
the function at the input samples. Add d d d d
i j = h∇Bi , ∇B j i[0,1]3 + αhBi , B j i(w,P) .
ACM Transactions on Graphics, Vol. VV, No. N, Article XXX, Publication date: Month YYYY.
4 • M. Kazhdan and H. Hoppe
Fig. 2: Visualizations of the reconstructed implicit function along a planar To see this, we consider the two energies that guide the reconstruc-
slice through the cow‡ (shown in blue on the left), for the original tion, E~V (χ) measuring the extent to which the gradients of the so-
Poisson solver, and for the screened Poisson solver without and with scale- lution match the prescribed vector field, and E(w,P) (χ) measuring
independent screening. the extent to which the solution meets the screening constraint:
Z
2
~
E~V (χ) =
V (p) − ∇χ(p)
d p
This operator adjusts the constraint bd (line 3 of Algorithm 1)
not only by removing the Poisson constraints met at coarser
Area(P)
resolutions, but also by modifying the constrained values at points E(w,P) (χ) = ∑ w(p)χ 2 (p).
where the coarser solution does not evaluate to zero. ∑ p∈P w(p) p∈P
Scaling by 1/2, we obtain a new point set (w̃, P̃) with positions
4.3 Scale-Independent Screening scaled by 1/2, unchanged weights, w̃(p) = w(2p), and scaled area,
Area(P̃) = Area(P)/4; a new scalar field, χ̃(p) = χ(2p); and
To balance the two energy terms in Equation 3, it is desirable to
a new vector field, ~V˜ (p) = 2~V (2p). Computing the corresponding
adjust the screening parameter α such that (1) the reconstructed
energies, we get:
surface shape is invariant under scaling of the input points with
respect to the solver domain, and (2) the prolongation of a solution 1 1
at a coarse depth is an accurate estimate of the solution at a E~˜ (χ̃) = E~V (χ) and E(w̃,P̃) (χ̃) = E(w,P) (χ).
V 2 4
finer depth in the cascadic multigrid approach. We achieve both
these goals by adjusting the relative weighting of position and Thus, scaling the screening weight by a factor of two with each
gradient constraints across the different octree depths. Noting that successive depth ensures that the sum of energies is unchanged (up
the magnitude of the gradient constraint scales with resolution, we to multiplication by a constant) so the minimizer remains the same.
double the weight of the interpolation constraint with each depth:
0 0 0
Add d d d d d
i j = h∇Bi , ∇B j i[0,1]3 + 2 αhBi , B j i(w,P) .
4.4 Boundary Conditions
0
For the screened solver, the complexity of computing Add
is O(|P|) since defining the coefficients requires accumulating
the screening contribution from each of the points, and each point
contributes to a constant number of rows. Thus, the overall time
complexity is dominated by the cost of evaluating the coefficients
0
of Add which is:
D d−1
∑ ∑ O(|P|) = O(|P| · D2 ) = O(|P| · log2 |P|).
d=0 d 0 =0
Fig. 3: Reconstructions of the Angel point set‡ (left) using Dirichlet (center) 5.2 Hierarchical Clustering of Point Constraints
and Neumann (right) boundary conditions.
Our first modification is based on the observation that since the
Similar results can be seen at the bases of the models in Figures 1 basis functions at coarser resolutions are smooth, it is unnecessary
and 4a, with the original Poisson reconstructions obtained using to constrain them at the precise sample locations. Instead, we
Dirichlet constraints and the screened reconstructions obtained cluster the weighted points as in [Rusinkiewicz and Levoy 2000].
using Neumann constraints. Specifically, for each depth d, we define (wd , P d ) where pi ∈ P d
is the weighted average position of the points falling into octree
node i at depth d, and wd (pi ) is the sum of the associated weights.3
5. IMPROVED ALGORITHMIC COMPLEXITY If all input points have weight w(p) = 1, then wd (pi ) is simply the
number of points falling into node i.
In this section we discuss the efficiency of our reconstruction al-
This alters the computation of the system matrix coefficients:
gorithm. We begin by analyzing the complexity of the algorithm
0 0 0
described above. Then, we present two algorithmic improvements. Add d d d d d
i j = h∇Bi , ∇B j i[0,1]3 + 2 αhBi , B j i(wd ,P d ) .
The first describes how hierarchical clustering can be used to re-
0
duce the screening overhead at coarser resolutions. The second ap- Note that since d > d 0 , the value hBdi , Bdj i(wd ,P d ) is obtained by
plies to both the unscreened and screened solver implementations, summing over points stored with the finer resolution.
showing that the asymptotic time complexity in both cases can be
0
reduced to be linear in the number of input points. In particular, the complexity of computing Add for the screened
solver becomes O(|P d |) = O(4d ), which is the same as that of the
unscreened solver, and both implementations now have an overall
5.1 Efficiency of basic solver time complexity of O(|P| · log |P|).
Let us begin by analyzing the computational complexity of the On typical examples, hierarchical clustering reduces execution time
unscreened and screened solvers. We assume that the points P are by a factor of almost two, and the reconstructed surface is visually
evenly distributed over a surface, so that the depth of the adapted indistinguishable.
octree is D = O(log |P|) and the number of octree nodes at depth d
is O(4d ). 5.3 Conforming Octrees
0
We also note that the number of nonzero entries in matrix Add
To account for the adaptivity of the octree, Algorithm 1 subtracts
is O(4d ), since the matrix has O(4d ) rows and each row has at
off the constraints met at all coarser resolutions before relaxing
most 53 nonzero entries. (Since we use second-order B-splines, at a given depth (steps 2-3), resulting in an algorithm with log-
basis functions are supported within their one-ring neighborhoods linear time complexity. We obtain an implementation with linear
and the support of two functions will overlap only if one is within complexity by forcing the octree to be conforming. Specifically,
the two-ring neighborhood of the other.) we define two octree cells to be mutually visible if the supports of
0
Assuming that the matrices Add have already been computed, the their associated B-splines overlap, and we require that if a cell at
computational complexity for the different steps in Algorithm 1 is: depth d is in the octree, then all visible cells at depth d −1 must also
be in the tree. Making the tree conforming requires the addition of
0
Step 3: O(4d ) – since Add has O(4d ) nonzero entries. new nodes at coarser depths, but this still results in O(4d ) nodes at
Step 4: O(4d ) – since Ad has O(4d ) nonzero entries and the depth d.
number of relaxation steps performed is constant. While the conforming octree does not satisfy the condition that
Steps 2-3: ∑d−1 d d
d 0 =0 O(4 ) = O(4 · d).
a coarser solution can be prolonged into a finer one, it has the
Steps 2-4: O(4d · d + 4d ) = O(4d · d). property that the solution obtained at depths {0, . . . , d − 1} that
is visible to a node at depth d can be expressed entirely in terms
Steps 1-4: ∑D d D
d=0 O(4 · d) = O(4 · D) = O(|P| · log |P|). of the coefficients at depth d − 1. Using an accumulation vector
0 to store the visible part of the solution, we obtain the linear-time
There still remains the computation of matrices Add . implementation in Algorithm 2.
0
For the unscreened solver, the complexity of computing Add
is O(4d ), since each entry can be computed in constant time. Thus, 3 Note that the weight wd (p) is unrelated to the screening weight 2d
the overall time complexity remains O(|P| · log |P|). introduced in Section 4.3 for scale-independent screening.
ACM Transactions on Graphics, Vol. VV, No. N, Article XXX, Publication date: Month YYYY.
6 • M. Kazhdan and H. Hoppe
d
Here, Pd−1 is the B-spline prolongation operator, expressing a Real Scanner Data. To evaluate the accuracy of the different
solution at depth d − 1 in terms of coefficients at depth d. The reconstruction algorithms on real-world data, we gathered several
d
number of nonzero entries in Pd−1 is O(4d ), since each column scanned datasets: the Awakening (10M points), the Stanford Bunny
3 (0.2M points), the David (11M points), the Lucy (1.0M points),
has at most 4 nonzero entries, so steps 2-5 of Algorithm 2 all and the Neptune (2.4M points). For each dataset, we randomly
have complexity O(4d ). Thus, the overall complexity of both the partitioned the points into two equal-sized subsets: input points
unscreened and screened solvers becomes O(|P|). for the reconstruction algorithms, and validation points to measure
point-to-reconstruction distances.
Figure 4a shows reconstructions results for the Neptune and David
Algorithm 2: Conforming Cascadic Poisson Solver
models at depth 10. It also shows surface cross-sections overlaid
1 For d ∈ {0, . . . , D} Iterate from coarse to fine. with the validation points in their vicinity. These images reveal
d−1 d−1 d−2 Upsample coarser that the Poisson reconstruction (far left), and to a lesser extent
2 x̂ = Pd−2 x̂ accumulation vector. the SSD reconstruction (center left), over-smooth the data, while
3 x̂d−1 = x̂d−1 + xd−1 Add in coarser solution. the Wavelet reconstruction (center left) has apparent derivative
d
b = b −Ad d d−1 d−1 Remove constraints discontinuities. In contrast, our screened Poisson approach (far
4 x̂ met at coarser depths. right) provides a reconstruction that faithfully fits the samples
5 Relax Ad xd = bd Adjust the system at depth d. without introducing noise.
Figure 4b shows quantitative results across all datasets, in the
form of RMS errors, measured using the distances from the
validation points to the reconstructed surface. (We also computed
5.4 Implementation Details the maximum error, but found that its sensitivity to individual
outlier points made it an unreliable and unindicative statistic.) As
The algorithm is implemented in C++, using OpenMP for multi- the figure indicates, the Screened Poisson reconstruction (blue) is
threaded parallelization. We use a conjugate-gradient solver to re- always more accurate than both the original Poisson reconstruction
lax the system at each multigrid level. With the exception of the algorithm (red) and the Wavelet reconstruction (purple), and
octree construction, most of the operations involved in the Poisson generates reconstruction whose RMS errors are comparable to or
reconstruction can be categorized as operations that either “accu- smaller than those of the SSD reconstruction (green).
mulate” or “distribute” information [Bolitho et al. 2007, 2009]. The
former do not introduce write-on-write conflicts and are trivial to Clean Uniformly Sampled Data. To evaluate reconstruction
parallelize. The latter only involve linear operations, and are par- accuracy on clean data, we used the approach of Osada et al. [2001]
allelized using a standard map-reduce approach: in the map phase to generate oriented point sets by uniformly sampling the surfaces
we create a duplicate copy of the data for each thread to distribute of the Fandisk, Armadillo Man, Dragon, and Raptor models. For
values into, and in the reduce phase we merge the copies by taking each model, we generated datasets of 100K and 1M points and
their sum. reconstructed surfaces from each point set using the four different
reconstruction algorithms.
As an example, Figure 5a shows the reconstructions of the fandisk
6. RESULTS and raptor models using 1M point samples at depth 10. Despite
the lack of noise in the input data, the Wavelet reconstruction has
We evaluate the algorithm (Screened) by comparing its accuracy spurious high-frequency detail. Focusing on the sharp edges in the
and computational efficiency with several prior methods: the model, we also observe that the screened Poisson reconstruction
original Poisson reconstruction of Kazhdan et al. [2006] (Poisson), introduces less smoothing, providing a reconstruction that is truer
the Wavelet reconstruction of Manson et al. [2008] (Wavelet), and to the original data than either the original Poisson or the SSD
the Smooth Signed Distance reconstruction of Calakli and Taubin reconstructions.
[2011] (SSD). Figure 5b plots RMS errors across all models, measured bidirec-
tionally between the original surface and the reconstructed surface
For the new algorithm, we set the screening weight to α = 4 and
using the Metro tool [Cignoni and Scopigno 1998]. As in the case
use Neumann boundary conditions in all experiments. (Numerical
of real scanner data, screened Poisson reconstruction always out-
results obtained using Dirichlet boundaries were indistinguishable.)
performs the original Poisson and Wavelet reconstructions, and is
For the prior methods, we set algorithmic parameters to values
comparable to or better than the SSD reconstruction.
recommended by the authors, using Haar Wavelets in the Wavelet
reconstruction and setting the value/normal/Hessian weights to
1/1/0.25 in the SSD reconstruction. For Poisson, SSD, and Reconstruction Benchmark. We use the benchmark of
Screened we set the “samples-per-node” parameter to 1 and the Berger et al. [2011] to evaluate the accuracy of the algorithms
“bounding-box-scale” parameter to 1.1. (For Wavelet the bounding under different simulations of scanner error, including nonuniform
box scale is hard-coded at 1 and there is no parameter to adjust the sampling, noise, and misalignment. The dataset consists of mul-
sampling density.) tiple virtual scans of implicit surfaces representing the Anchor,
Dancing Children, Daratech, Gargoyle, and Quasimodo models.
As an example, Figure 6a visualizes the error in the reconstructions
6.1 Accuracy of the anchor model from a virtual scan consisting of 210K points
(demarked with a dashed rectangle in Figure 6b) at depth 9. The
We run three different types of experiments. error is visualized using a red-green-blue scale, with red signifying
ACM Transactions on Graphics, Vol. VV, No. N, Article XXX, Publication date: Month YYYY.
Screened Poisson Surface Reconstruction • 7
(a) Depth 10 reconstructions of the Neptune and David models‡ . The 2D visualizations in the bottom row show cross-section curves from the reconstructions
of the mustache and the iris, overlaid with adjacent validation points.
(b) For all models, plots of one-sided RMS errors, measured from the evaluation points to the reconstructed surface, as a function of the resolution depth (8,
9, and 10). In these experiments half the points were provided as input to the reconstruction algorithms, and the other half were used for evaluation.
low error and blue signifying high error. The top row shows the More generally, Figure 6b shows the results of these experiments
distance from the reconstructed surfaces to the ground-truth, and with reconstructions computed at depth 9, giving the average dis-
the bottom row shows the distance from the input samples to tance from the reconstructions to the original implicit surface (top)
the reconstructed surfaces. Examining the top row, we note that and the average angle between the normals of points on the recon-
only the SSD reconstruction produces a low error surface inside struction and the normals of the corresponding points on the im-
the cylindrical hole. Looking at the point sets in the bottom row, plicit surface (bottom), as a function of the number of point samples
we observe that this region does not contain input samples, and in the virtual scan. The results are visualized as scatter plots giving
therefore the success of the SSD reconstruction reflects its ability the ratio of the errors for the Wavelet, SSD, and screened Poisson
to better extrapolate the reconstruction into regions of missing reconstructions to the errors of the original Poisson reconstruction.
data. However, if we only consider the fit of the reconstructions Thus, values less than one indicate improved accuracy over Poisson
to the input point set (bottom row of Figure 6a) we find again reconstruction.
that our screened Poisson reconstruction outperforms both the
original Poisson reconstruction and the Wavelet reconstructions, The results in Figure 6b therefore indicate that SSD reconstructs a
and produces a surface whose fit to the input samples is comparable surface that is closest to the original model. Visual analysis as in
to that of the SSD reconstruction. Figure 6a reveals that this improved accuracy is primarily due to
the quality of the extrapolated surface in regions of missing data.
ACM Transactions on Graphics, Vol. VV, No. N, Article XXX, Publication date: Month YYYY.
8 • M. Kazhdan and H. Hoppe
(a) Depth 10 reconstructions from 1M point uniformly sampled on the fandisk and raptor surface models‡ . Note how the Wavelet reconstruction introduces
high-frequency texture even on the smooth surfaces of the fandisk. The screened Poisson surface reconstruction is the sharpest.
(b) Accuracy of reconstruction techniques on “clean” point sets obtained by uniformly sampling 100K and 1M oriented points from various meshes.
Reconstructions are obtained at depths 8, 9, and 10. Plots show RMS errors, measured in both directions between each reconstruction and original surface.
Thus, measuring distances with respect to the ground-truth model level, giving linear complexity in the number N of octree nodes.
leads to relatively large errors in occluded surface regions, which Thus, increasing the depth by one roughly quadruples the compu-
naturally dominate the overall error statistics. This is corroborated tation time.4 In contrast, the SSD reconstruction uses conjugate-
by the angular errors plotted in the bottom row. Since these errors gradients to solve for all the coefficients simultaneously, which has
are formulated in terms of angles between normals, they emphasize a complexity of O(N 1.5 ), resulting in significantly slower perfor-
the quality of the high-frequency component of the reconstruction. mance at higher resolutions.
As such, they give lower weight in regions of missing data (where
the reconstructions tend to be smooth) – so the comparable quality Interestingly, it might be possible to implement the SSD recon-
of the SSD and screened Poisson reconstructions indicate that they struction technique using second-order B-splines as basis func-
are of similar quality away from the missing data. tions, just as in the Poisson reconstruction algorithms, and also ben-
efit from a similar multigrid framework. However, we believe that
this may not completely alleviate the performance bottleneck. In
6.2 Computational Efficiency particular, the technique of Calakli and Taubin incorporates a Hes-
sian smoothness term in the linear system. For the same discretiza-
Table I compares the (wall-clock) running time and memory usage tion complexity, the condition number of the resulting system ma-
of all four algorithms in reconstructing surfaces at depths 8, 9, 10, trix is square that of the Laplacian matrix used in the Poisson re-
and 11 from the Neptune and David datasets. All experiments were constructions. Consequently, we expect the solver to require more
run on a laptop with a quad-core Intel Core i7 and 8GB of RAM. iterations on large problem sizes.
Running Time. The Wavelet reconstruction is fast; its use of com- Table I also highlights the speedup due to our algorithmic
pactly supported, orthogonal basis functions lets the reconstruction complexity improvements. When setting α = 0, the new algorithm
algorithm compute the implicit function coefficients through inte- (shown in brackets) is 2–3 times faster than the original Poisson
gration – never requiring the explicit solution of a linear system. reconstruction algorithm. A small portion of this improvement
(×1.1 to ×1.6) is due to multithreaded parallelization.
In contrast, the other three techniques use non-orthogonal basis
functions, thus requiring a global system solution. For the origi-
nal and screened Poisson reconstructions, the multigrid solver per- 4 Although the octree construction phase is log-linear, the constant tends to
forms a constant number of conjugate-gradient iterations at each be small so this step does not dominate the running time in practice.
ACM Transactions on Graphics, Vol. VV, No. N, Article XXX, Publication date: Month YYYY.
Screened Poisson Surface Reconstruction • 9
(a) Visualization of errors for reconstructions of the Anchor model‡ . The top rows show the distance of the reconstructed surfaces from the ground-truth
original surface, while the bottom row shows the distance from the input samples to the reconstructions. Errors are visualized using a red-green-blue colormap,
with red corresponding to small error and blue to large.
(b) Reconstruction accuracy as measured by the benchmarks tests of Berger et al. [2011]. For each of the 5 datasets (columns), the two plots show the ratios
of the mean distance (top) and mean normal (bottom) errors of the SSD, Wavelet, and Screened Poisson reconstructions, relative to the original Poisson
reconstruction algorithm. Each symbol is one benchmark test, and the horizontal axis indicates the number of points in that test.
Table I. : Runtime performance of the different reconstruction techniques on the David and Neptune datasets at depths 8, 9, 10, and 11. The numbers in brackets
are timing results obtained using our method without screening (α = 0) i.e., after the algorithmic improvements of Section 5.
† Since the memory usage of SSD exceeds the available RAM, we report the CPU user time for this experiment rather than the wall-clock time.
Even with the additional overhead of screening (which requires ex- voxel locations and cannot leverage the advantages of homogeneity
plicit evaluation of the piecewise polynomial basis functions at sub-
ACM Transactions on Graphics, Vol. VV, No. N, Article XXX, Publication date: Month YYYY.
10 • M. Kazhdan and H. Hoppe
Screening Parameter α. Empirically we have found that a value parameter from its default value of 1. The resulting coarsening
of α = 4 works well for many types of datasets. We use this value of the octree structure helps to reduce reconstruction noise, but
for all examples in this paper. One nice property of the screened the simultaneous reduction in mesh resolution results in loss of
Poisson equation (3) is that with sufficient discretization, both its detail. For this noisy example, the best strategy is to reduce the
energy terms (gradient and screening) approach zero for the case screening parameter α while keeping the samples/node parameter
of a uniform, noise-free sampling. Intuitively, the two terms are at 1. At an extreme setting α = 0 we obtain an unscreened
compatible for the case of clean data. In contrast, for the SSD Poisson reconstruction as in [Kazhdan et al. 2006]. (The slight
reconstruction approach the smoothness energy only reaches zero differences between our result with α = 0 and the original Poisson
for a planar surface. Because curved surfaces are penalized, the reconstruction, particularly at the base of the Eagle’s neck, derive
relative weighting of the different energy terms is important, and from our use of a conforming octree. Because we introduce
the smoothness parameter may need adjustment depending on the additional leaf nodes near regions of sparse sampling, we obtain
model geometry and the amount of noise. (See discussion below.) a correspondingly refined triangulation at those locations.)
Over-Fitting. Although the screening of the Poisson equation By comparison, when applying the SSD approach on this noisy
helps to more closely fit the input samples, there are circumstances data (Figure 9), it is difficult to find a smoothing parameter
under which this may lead to undesirable reconstructions. Specifi- that simultaneously preserves detail and avoids the formation of
cally, when the input data contains significant amounts of misalign- spurious geometry (e.g., the ballooning at the tip of the beak).
ment or noise, the screened Poisson reconstruction will generate a
surface that interpolates these artifacts. Figure 7 shows an example Comparison with data interpolation. The recent scale-space
of this situation for the reconstruction of the Lucy model, with the meshing of Digne et al. [2011] is more akin to computational
results of the original Poisson reconstruction shown on the left and geometry approaches in that it directly interpolates a filtered subset
the results of the screened reconstruction shown on the right. Be- of the original points.
cause the input scans from the right side of the face are misaligned Figure 10 compares our approach to such an interpolating recon-
(the points in the cross-section at the bottom cluster along two dis- struction for a 1.6M point set obtained from a noise-free scan of the
tinct curves), the screened reconstruction generates a pock-marked Tanagra statue [Digne et al. 2011]. As the figure shows, introduc-
surface that undulates somewhat between the two scans. ing screening improves the quality of the reconstruction, producing
This example also highlights a limitation of using the point-to- surfaces that more closely resemble the result of scale-space mesh-
surface distance. As shown in Figure 4b, although the screened ing (right). While interpolation is able to better reproduce sharp
Poisson reconstruction has lower visual quality, it still provides a detail in the seal (bottom), it also results in a mesh with more high-
tighter fit to the data, resulting in RMS errors that are noticeably frequency oscillation of the surface normal in the head (top).
smaller than those of the unscreened reconstruction.
Figure 8 shows an example with significantly noisy points, obtained 7. CONCLUSION
using a multiview stereo algorithm.In this case, the screening term
accentuates the noise in the reconstructed surface. Note however Adding a dualized screening term to the Poisson surface recon-
that the surface is stable, even over a wide range of α values. struction framework significantly improves its geometric fidelity,
The figure also shows the effect of increasing the samples/node while still allowing an efficient multigrid solver. The reconstruction
ACM Transactions on Graphics, Vol. VV, No. N, Article XXX, Publication date: Month YYYY.
Screened Poisson Surface Reconstruction • 11
Fig. 8: Reconstruction of the noisy Eagle dataset‡ using the original scheme [Kazhdan et al. 2006] and our new algorithm, with various settings of the
screening parameter (α) and samples per node (SPN). (The highlighted results are those with the default parameters used for evaluation in Section 6.1.)
Fig. 9: Reconstruction of the noisy Eagle dataset‡ using the Smoothed Signed Distance reconstruction [Calakli and Taubin 2011] using various settings of the
Hessian weighting parameter (h). (The highlighted results are those with the default parameters used for evaluation in Section 6.1.)
accuracy is comparable to or exceeds that of the Smooth Signed —Adaptive refinement of the octree based on residuals measured
Distance reconstruction algorithm, yet the processing times are sig- at coarser levels, to allow the output mesh complexity to adapt
nificantly faster. Hierarchical clustering of the points and a con- not only to sampling density but also to solution quality.
forming octree structure enables a multigrid algorithm with linear
complexity on the number of input points.
APPENDIX
Experiments show that the SSD algorithm is able to better extrapo-
late the surface into regions of missing data. An interesting area for
future work would be to develop a scheme that incorporates both A. DUALIZED SCREENING
the Laplacian and bilaplacian operators, such that the bilaplacian
(which has higher cost in terms of convergence rate) is only acti- Following the Euler-Lagrange formulation, the function χ mini-
vated in the challenging, under-constrained regions of the domain. mizes Equation 4 if, for any function D : [0, 1]3 → R,
Some other avenues for future work include: E(χ + εD) − E(χ)
0 = lim
ε→0 ε
—Generalization of the multigrid solver to support full V- and W-
cycles. ⇔ 0 = h∇ · ~V − ∆χ, Di[0,1]3 + αhχ, Di(w,P) .
—Parallelization of the algorithm for GPU computation. Thus, setting I˜ to be the operator defined by
˜
hI(F), Gi[0,1]3 = hF, Gi(w,P) ∀G,
—Reconstruction of surfaces with boundaries.
it follows that χ is a minimizer of the energy if and only if
—Extension of the algorithm to incorporate additional knowledge
of the scanned surface, such as range maps and silhouettes. ˜ Di[0,1]3 = h∇ · ~V , Di[0,1]3 , ∀D,
h(∆ − α I)χ,
ACM Transactions on Graphics, Vol. VV, No. N, Article XXX, Publication date: Month YYYY.
12 • M. Kazhdan and H. Hoppe
Fig. 10: Comparison of Poisson reconstruction with the interpolation technique of Digne et al. [2011] for the head (top) and seal (bottom) of the Tanagra
model‡ . (The highlighted results are those with the default parameters used for evaluation in Section 6.1.)
i.e., iff χ satisfies the equation fandisk, and cow models, Calakli and Taubin for the Angel model,
Berger et al. for the Anchor model, and Digne et al. for the Tanagra
˜ = ∇ · ~V .
(∆ − α I)χ (6) model. We also thank Fatih Calakli and Gabriel Taubin for
One can interpret Equation 6 as a (dually) screened Poisson publishing their SSD implementation, Julie Digne and colleagues
equation. Specifically, the inner-products h·, ·i[0,1]3 and h·, ·i(w,P) for sharing their reconstruction results, and Berger et al. for making
available their surface reconstruction benchmark. This work was
define maps I[0,1]3 and I(w,P) from the space of functions into its funded in part by the NSF Career Grant (#6801727).
dual, with:
I[0,1]3 ( f ) (g) = h f , gi[0,1]3 I(w,P) ( f ) (g) = h f , gi(w,P) REFERENCES
for all functions f and g. A LLIEZ , P., C OHEN -S TEINER , D., T ONG , Y., AND D ESBRUN ,
M. 2007. Voronoi-based variational reconstruction of unoriented
Using this notation, the operator I˜ is the composition point sets. Symposium on Geometry processing, 39–48.
−1
I˜ = I[0,1]3 ◦ I(w,P) . In traditional filtering applications the
A MENTA , N., C HOI , S., AND KOLLURI , R. 2001. Power crust.
two inner-products are the same, so I˜ is the identity and we ACM Symposium on Solid Modeling and Applications, 249–260.
get a screened Poisson equation. In our case the gradient and
interpolation constraints are defined over different domains and we BAJAJ , C., B ERNARDINI , F., AND X U , G. 1995. Automatic
require the operator I˜ to transition between the two. reconstruction of surfaces and scalar fields from 3D scans. ACM
SIGGRAPH, 109–18.
For infinite-dimensional spaces, it is not always the case that I˜
is well defined. However, for finite-dimensional spaces, one B ERGER , M., L EVINE , J., N ONATO , L., TAUBIN , G., AND
can always define such an operator by choosing a basis and S ILVA , C. 2011. An end-to-end framework for evaluating
−1
representing I˜ by M[0,1]3 ◦M(w,P) , where M[0,1]3 and M(w,P) are the
surface reconstruction. Technical Report UUSCI-2011-001, SCI
mass matrices for the chosen basis, defined with respect to the two Institute, University of Utah.
inner-products.5 (Note that the above expression for I˜ only requires B HAT, P., C URLESS , B., C OHEN , M., AND Z ITNICK , L. 2008.
that the mass-matrix M[0,1]3 be invertible, so the operator is well- Fourier analysis of the 2D screened Poisson equation for gradient
defined even when there are basis functions whose support does not domain problems. European Conference on Computer Vision,
intersect P.) 114–128.
B OISSONNAT, J. AND O UDOT, S. 2005. Provably good sampling
‡ Acknowledgements and meshing of surfaces. Graphical Models 67, 5, 405–451.
B OLITHO , M., K AZHDAN , M., B URNS , R., AND H OPPE , H.
We thank the EPFL Computer Graphics and Geometry Laboratory 2007. Multilevel streaming for out-of-core surface reconstruc-
for the Eagle model, the Stanford 3D Scanning Repository for the tion. Symposium on Geometry Processing, 69–78.
Lucy and David models, Aim@Shape for the Neptune, Raptor,
B OLITHO , M., K AZHDAN , M., B URNS , R., AND H OPPE , H.
2009. Parallel Poisson surface reconstruction. International
5 To see that this is the case, we observe that if {B∗1 , . . . , B∗N } is the basis for
Symposium on Visual Computing.
the dual space, with B∗i (B j ) = δi j then the mass matrix M[0,1]3 (respectively
M(w,P) ) is the matrix expression for the map I[0,1]3 (respectively I(w,P) ) C ALAKLI , F. AND TAUBIN , G. 2011. SSD: Smooth signed dis-
with respect to the bases {B1 , . . . , BN } and {B∗1 , . . . , B∗N }. tance surface reconstruction. Computer Graphics Forum 30, 7.
ACM Transactions on Graphics, Vol. VV, No. N, Article XXX, Publication date: Month YYYY.
Screened Poisson Surface Reconstruction • 13
C ARR , J., B EATSON , R., C HERRIE , H., M ITCHELL , T., F RIGHT, N EHAB , D., RUSINKIEWICZ , S., DAVIS , J., AND R AMAMOOR -
W., M C C ALLUM , B., AND E VANS , T. 2001. Reconstruction THI , R. 2005. Efficiently combining positions and normals for
and representation of 3D objects with radial basis functions. precise 3D geometry. ACM Trans. Graphics 24, 3, 536–543.
ACM SIGGRAPH, 67–76.
O HTAKE , Y., B ELYAEV, A., AND A LEXA , M. 2005. Sparse
C AZALS , F. AND G IESEN , J. 2006. Delaunay triangulation low-degree implicits with applications to high quality rendering,
based surface reconstruction: Ideas and algorithms. In Effective feature extraction, and smoothing. Symposium on Geometry
Computational Geometry for Curves and Surfaces. Springer, Processing, 149–158.
231–273. O SADA , R., F UNKHOUSER , T., C HAZELLE , B., AND D OBKIN ,
C HUANG , M. AND K AZHDAN , M. 2011. Interactive and D. 2001. Matching 3d models with shape distributions. In
anisotropic geometry processing using the screened Poisson Proceedings of the International Conference on Shape Modeling
equation. ACM Trans. Graphics 30, 4. & Applications. SMI ’01. 154–166.
C IGNONI , P. AND S COPIGNO , R. 1998. Metro: Measuring error P ODOLAK , J. AND RUSINKIEWICZ , S. 2005. Atomic volumes for
on simplified surfaces. Computer Graphics Forum 17, 2. mesh completion. Symposium on Geometry Processing.
C URLESS , B. AND L EVOY, M. 1996. A volumetric method for RUSINKIEWICZ , S. AND L EVOY, M. 2000. Qsplat: a multireso-
building complex models from range images. ACM SIGGRAPH, lution point rendering system for large meshes. In ACM SIG-
303–312. GRAPH. 343–352.