Deep Geometric Prior for Surface Reconstruction

11/27/2018 ∙ by Francis Williams, et al. ∙ 8

The reconstruction of a discrete surface from a point cloud is a fundamental geometry processing problem that has been studied for decades, with many methods developed. We propose the use of a deep neural network as a geometric prior for surface reconstruction. Specifically, we overfit a neural network representing a local chart parameterization to part of an input point cloud using the Wasserstein distance as a measure of approximation. By jointly fitting many such networks to overlapping parts of the point cloud, while enforcing a consistency condition, we compute a manifold atlas. By sampling this atlas, we can produce a dense reconstruction of the surface approximating the input cloud. The entire procedure does not require any training data or explicit regularization, yet, we show that it is able to perform remarkably well: not introducing typical overfitting artifacts, and approximating sharp features closely at the same time. We experimentally show that this geometric prior produces good results for both man-made objects containing sharp features and smoother organic objects, as well as noisy inputs. We compare our method with a number of well-known reconstruction methods on a standard surface reconstruction benchmark.



There are no comments yet.


page 5

page 6

page 8

Code Repositories


The reference implementaiton for the paper "Deep Geometric Prior for Surface Reconstruction"

view repo
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

3D geometry is commonly acquired in the form of collections of (possibly incomplete) range images (laser scanning, structured light, etc) or measurements of more complex structure (LIDAR). Unordered set of points (point clouds) is a commonly used representation of combined registered results of scanning objects or scenes. Point clouds can be obtained in other ways, e.g., by sampling an implicit surface using ray casting. Computing a continuous representation of a surface from the discrete point cloud (e.g., a polygonal mesh, an implicit surface, or a set of parameteric patches) in way that is robust to noise, and yet retains critical surface features and approximates the sampled surface well, is a pervasive and challenging problem.

Different approaches have been proposed, mostly grouped into several categories: (1) using the points to define a volumetric scalar function whose 0 level-set corresponds to the desired surface, (2) attempt to "connect the dots" in a globally consistent way to create a mesh, (3) fit a set of primitive shapes so that the boundary of their union is close to the point cloud, and (4) fit a set of patches to the point cloud approximating the surface.

We propose a novel method, based, on the one hand, on constructing a manifold atlas commonly used in differential geometry to define a surface, and, on the other hand, on observed remarkable properties of deep image priors [37]

, using an overfitted neural network for interpolation. We define a set of 2D parametrizations, each one mapping a square in parametric space to a region of a surface, ensuring consistency between neighbouring patches. This problem is inherently ambiguous: there are many possible valid parametrizations, and only a small subset will correspond to a faithful representation of the underlying surface. We compute each parametrization by overfiting a network to a part of the point cloud, while enforcing consistency conditions between different patches. We observe that the result is a reconstruction which is superior quantitatively and qualitatively to commonly used surface reconstruction methods.

We use the Wasserstein distance as a training loss, which is naturally robust to outliers, and has the added advantage of providing us explicit correspondences between the parametric domain coordinates and the fitted points, allowing us to explicitly measure, and thus minimize, the disagreement between neighbouring patches covering a surface.

We use a standard shape reconstruction benchmark to compare our method with 12 competing methods, showing that, despite the conceptual simplicity of our algorithm, our reconstructions are superior in terms of quantitative and visual quality.

2 Related work

Geometric Deep Learning

A variety of architectures were proposed for geometric applications. A few work with point clouds as input; in most cases however, these methods are designed for classification or segmentation tasks. One of the first examples are PointNet [33] and PointNet++ [34] originally designed for classification and segmentation, using a set-based neural architecture [39, 36]. PCPNet [14]

is version of PointNet architecture, for estimation of local shape properties. A number of learning architectures for 3D geometry work with voxel data converting input point clouds to this form (e.g.,

[38]). The closest problems these types of networks solve is shape completion and point cloud upsampling.

Shape completion is considered, e.g., in [9], where volumetric CNN is used to predict a very course shape completion, which is then refined using data-driven local shape synthesis on small volumetric patches. [16], follows a somewhat similar approach, combining multiview and volumetric low-resolution global data at a first stage, and using a volumetric network to synthesize local patches to obtain higher resolution. Neither of these methods aims to achieve high-quality surface reconstruction.

PU-Net, described in [41], is to the best of our knowledge, the only learning-based work addressing point cloud upsampling directly. The method proceeds by splitting input shapes into patches and learning hierarchical features using PointNet++ type architecture. Then feature aggregation and expansion is used to perform point set expansion in feature space, followed by the (upsampled) point set reconstruction.

In contrast to other methods, the untrained networks in our method take parametric coordinates in square parametric domains as inputs and produce surface points as output. An important exception is the recent work [12] defining an architecture, AtlasNet, in which the decoder part is similar to ours, but with some important distinctions discussed in Section 3. Finally, [4]

studied the ability of neural networks to approximate low-dimensional manifolds, showing that even two-layer ReLU networks have remarkable ability to encode smooth structures with near-optimal number of parameters. In our setting, we rely on overparametrisation and leverage the implicit optimization bias of gradient descent.

Surface Reconstruction

is an established research area dating back at least to the early 1990s (e.g, [17]); [6] is a recent comprehensive survey of the area. We focus our discussion on the techniques that we use for comparison, which are a superset of those included in the surface reconstruction benchmark of Berger et al [5]. Berger tested 10 different techniques in their paper; we will follow their nomenclature. They separate techniques into four main categories: indicator function, point-set surfaces, multi-level partition of unity, and scattered point meshing.

Indicator function techniques define a scalar function in space that can be used for testing if a given point is inside or outside the surface. There are multiple ways to define such a function from which a surface is generated by isocontouring. Poisson surface reconstruction (Poisson[21] inverts the gradient operator by solving a Poisson equation to define the indicator function. Fourier surface reconstruction (Fourier[20] represents the indicator function in the Fourier basis, while Wavelet surface reconstruction (Wavelet[27] employs a Haar or a Daubechies (4-tap) basis. Screened Poisson surface reconstruction (Screened[22] is an extension of [21] that incorporates point constraints to avoid over smoothing of the earlier technique. This technique is not considered in [5], but is considered by us.

Point-set surfaces [2] define a projection operator that moves points in space to a point on the surface, where the surface is defined to be the collection of stationary points of the projection operator. Providing a definition of the projection operators are beyond the scope of our paper (see [5]). In our experiments, we have used simple point set surfaces (SPSS[1], implicit moving least squares (IMLS[24], and algebraic point set surfaces (APSS[13].

Edge-Aware Point Set Resampling (EAR[18] (also not considered in [5], but considered by us) works by first computing reliable normals away from potential singularities, followed by a resampling step with a novel bilateral filter towards surface singularities. Reconstruction can be done using different techniques on the resulting augmented point set with normals.

Multi-level Partition of Unity defines an implicit function by integrating weight function of a set of input points. The original approach of [29] (MPU) uses linear functions as low-order implicits, while [28] (MPUSm) defines differential operators directly on the MPU function. The method of [31] (RBF

) uses compactly-supported radial basis functions.

Scattered Point Meshing [30] (Scattered) grows weighted spheres around points in order to determine the connectivity in the output triangle mesh.

The work in [32] uses a manifold-based approach to a direct construction of a global parametrization from a set of range images (a point cloud, or any other surface representation, can be converted to such a set by projection to multiple planes). It uses range images as charts with projections as chart maps; our method computes chart maps by fitting. [40] jointly optimizes for connectivity and geometry to produce a single mesh for an entire input point cloud. In contrast, our method produces a global chart map using only a local optimization procedure.

Deep Image Prior

Our approach is inspired, in part, by the deep image prior. [37]

demonstrated that an untrained deep network can be overfitted to input data producing a remarkably high-quality upsampling and even hole filling without training, with the convolutional neural network structure acting as a regularizer. Our approach to surface reconstruction is similar, in that we use untrained networks to represent individual chart embedding functions. However, an important difference is that our loss function measures geometric similarity.

3 Method

Our method for surface reconstruction uses a set of deep ReLU networks to obtain local charts or parametrizations (Section 3.1). These parameterizations are then made consistent with each other on the parts where they overlap (Section 3.2). The networks are trained using the 2-Wasserstein distance as a loss function. The overall architecture of our technique is illustrated in Figure 1.

Figure 1: Overview of our proposed surface reconstruction architecture. An input point cloud is split into overlapping patches , where a local chart is obtained via the minimisation of a Wasserstein loss (2). The local charts are made globally consistent thanks to the correspondences arising during the Wasserstein loss minimization (Section 3.2)


In the following, we denote by a smooth surface (possibly with a boundary) in . The goal of surface reconstruction is to estimate from a possibly noisy point cloud , where models the acquisition noise.

3.1 Local Parametrization Model

Let us first consider the reconstruction of a given neighborhood of around a point , denoted as , from the corresponding point cloud . If is sufficiently small, from the implicit function theorem, one can characterize as the image of the open square by a differentiable mapping .

We propose to approximate using a neural network, , where

is a vector of parameters, that we fit so that the image of

approximates . For that purpose, we first consider a sample of points in using a Poisson disk distribution, and the associated Earth Movers or 2-Wasserstein Distance (EMD) between and :


where is the set of permutations of points. The computation of the EMD in (1) requires solving a linear assignment problem, which can be done in using, for instance, the Hungarian algorithm [25]. Since this is prohibitive for typical values of , we rely instead on the Sinkhorn regularized distance [8]:


where is the set of bi-stochastic matrices and is the entropy, . This distance provably approximates the Wasserstein metric as and can be computed in near-linear time [3]. Figure 13 in the supplemental material shows the effect of varying the regularization parameter on the results.

We choose

to be a MLP with the half-rectified activation function:

where , , are per-layer weight matrices. This choice of activation function implies that we are fitting a piece-wise linear approximation to . We choose to overparametrize the network such that the total number of trainable parameters , where dim refers to the total number of entries in the matrix, satisfies , which is the number of constraints.

Under such overparametrized conditions, one verifies that gradient-descent converges to zero-loss in polynomial time for least-squares regression tasks [10]. By observing that

and that is convex with respect to , it follows that gradient-descent can find global minimsers of in polynomial time.

As , the entropic constraint disappears, which implies that by setting to any arbitrary permutation matrix , we can still obtain zero loss (). In other words, the model has enough capacity to produce any arbitrary correspondence between the points and the targets in the limit . A priori, this is an undesirable property of our model, since it would allow highly oscillatory and irregular surface reconstructions. However, our experiments (Section 4) reveal that the gradient-descent optimization of

remarkably biases the model towards solutions with no apparent oscillation. This implicit regularisation property is reminiscent of similar phenomena enjoyed by gradient-descent in logistic regression

[35, 15] or matrix factorization [26]. In our context, gradient-descent appears to be favoring solutions with small complexity, measured for instance in terms of the Lipschitz constant of , without the need of explicit regularization. We leave the theoretical analysis of such inductive bias for future work (Section 5). Note that, in practice, we set to a large value, which may have an extra regularizing effect.

3.2 Building a Global Atlas

Section 3.1 described a procedure to obtain a local chart around a point , with parametric domain and its associated fitted parametrization . In this section, we describe how to construct an atlas by appropriately selecting a set of anchor points and by ensuring consistency between charts.


To define atlas consistency more precisely, we need to separate the notions of parametric coordinate-assignment and surface approximation, since the local chart functions define both. We say that two charts and overlap, if . Each discrete chart is equipped with a permutation , assigning indices of points in to indices of parametric positions in . Two overlapping charts and are consistent on the surface samples if

i.e., for any point in the patch overlap, the values of the two chart maps at corresponding parametric values coincide. If all chart maps are interpolating, then consistency is guaranteed by construction, but this is in general not the case. We enforce consistency explicitly by minimizing a consistency loss (4).

Constructing the Atlas.

We construct the set of patch centers using Poisson disk sampling [7] of , with a specified radius, . For each , we first extract a neighborhood by intersecting a ball of radius centered at with (), where is another hyper-parameter. To reduce boundary effects, we consider a larger radius and use to fit the local chart for . In general, the intersection of with the ball

consists of multiple connected components, possibly of nontrivial genus. We use the heuristic described below to filter out points we expect to be on a different sheet from the ball center


To ensure consistency as defined above, we fit the charts in two phases. In the first phase, we locally fit each chart to its associated points. In the second phase, we compute a joint fitting of all pairs of overlapping charts.

Let and denote the parameters and permutations of the patches and respectively at some iteration of the optimization. We compute the first local fitting phase as


We define the set of indices of parametric points in chart of the intersection as

where is the corresponding set in chart . The map between indices of corresponding parametric points in two patches is given by: .

Equipped with this correspondence, we compute the second joint fitting phase between all patch pairs as:


Observe that by the triangle inequality,

Therefore, the joint fitting term (4) is bounded by the sum of two separate fitting terms (3) for each patch (note that ). Consistent transitions are thus enforced by the original Wasserstein loss if the charts are interpolating, i.e. for all . However, in presence of noisy point clouds, the joint fitting phase enables a smooth transition between local charts without requiring an exact fit through the noisy samples.

If the Sinkhorn distance is used instead of the EMD, then we project the stochastic matrices , to the nearest permutation matrix by setting to one the maximum entry in each row.

Filtering Sample Sets .

In our experiments, we choose the ball radius to be sufficiently small to avoid most of the artifacts related to fitting patches to separate sheets of the surface-intersection with . The radius can be easily chosen adaptively, although at a significant computational cost, by replacing a ball by several smaller balls whenever the quality of the fit is bad. Instead, we use a cheaper heuristic to eliminate points from each set that are likely to be on a different sheet: We assume that the input point cloud also contains normals. If normals are unavailable, they can be easily estimated using standard local fitting techniques. We then discard all vertices in each whose normals form an angle greater than a fixed threshold with respect to the normal at the center. In all our experiments (Section 4) we used of the bounding box diagonal enclosing the point cloud, , degrees.


Fitted surface

Figure 2: Single patch fitting with uv-mapping illustrated with a checkerboard texture.
Figure 3: Evolution of single-patch reconstruction as the loss is minimised. The jumps in the loss are a side-effect of the adaptive gradient descent scheme ADAM.

4 Experiments

Figure 4: Fitted points on the different models of the benchmark, the color illustrates the error with respect to the ground truth.

Experimental Setup.

We run our experiments on a computing node with an Intel(R) Xeon(R) CPU E5-2690 v4, 256 GBgb of memory, and 4 NVIDIA Tesla P40 GPUs. The runtime of our algorithm are considerably higher than competing methods, requiring around 0.45 minutes per patch, for a total of up to 6.5 hours to optimize an the entire model.

We optimize the losses (3) and (4) using the ADAM [23]

implementation in PyTorch with default parameters. Specifically for ADAM, we use a learning rate of

, , , and no weight decay. For the Sinkhorn loss, we use a regularization parameter, . For the networks, , we use an MLP with fully connected layer sizes: (2, 128, 256, 512, 512, 3) and ReLU activations. Our reference implementation is available at

Single Patch Fitting.

Our first experiment shows the behaviour of a single-patch network overfitted on a complex point cloud (Figure 2 left). Our result is a tight fit to the point cloud. An important side effect of our construction is an explicit local surface parametrization, which can be used to compute surface curvature, normals, or to apply an image onto the surface as a texture map (Figure 2 right).

Figure 3 shows the evolution of the fitting and of the parameterisation as the optimization of progresses. We observe that the optimization path follows a trajectory where does not exhibit distortions, supporting the hypothesis that gradient descent biases towards solutions with low complexity.

Global Consistency.

As described in Section 3.2, reconstructing an entire surface from local charts requires consistent transitions, leading to the formulation in (3) and (4) which reinforces consistency across overlapping patches. Figure 5 illustrates the effect of adding the extra consistency terms. We verify that these terms significantly improve the consistency.

First patches

Final patches

Figure 5: Initial patch fitting (left), we clearly see the ‘‘un-mixed’’ colors due to the disagreeing patches. After optimization (right) all patches are overlapping producing a mix of color.

Surface Reconstruction Benchmark.

To evaluate quantitatively the performance of our complete reconstruction pipeline, we use the setup proposed by [5], using the first set of range scans for each of the 5 benchmark models. Figure 4 shows the results (and percentage error) of our method on the five models of the benchmark. We compare our results against the baseline methods described in Section 2, and use the following metrics to evaluate the quality of the reconstruction: Let denote the input point cloud. From the ground-truth surface and the reconstruction , we obtain two dense point clouds that we denote respectively by and . We consider


That is, measures a notion of precision of the reconstruction, while measures a notion of recall. Whereas is an indication of overall quality, it does not penalize the methods for not covering undersampled regions of the input. Figure 6 illustrates these one-sided correspondence measures. A naive reconstruction that copies the input satisfies but since in general the input point cloud consists of noisy measurements, we will have .

Figure 6: Diagram illustrating the evaluation measures we use to compare different reconstructions.

Figures 7 and 8 show respectively the percentage of vertices of and such that and is below a given error.

Figure 7: Percentage of fitted vertices (-axis, log scale) to reach a given error (, -axis) for different methods. The errors are computed from the fitted surface to the ground truth. The plots for the remaining models of the dataset are provided in the supplementary document.
Figure 8: Percentage of fitted vertices (-axis) to reach a given error (), -axis) for different methods. The errors are measured as distance from the input data to the fitted surface. The plots for the remaining models of the dataset are provided in the supplementary document.
Figure 9: EAR (left) versus Ours (right). The input point cloud contains noise which is smoothed out by our reconstruction (while preserving sharp features quite well) but interpolated by EAR. The result is that EAR produces spurious points and visible artifacts.

Our technique outperforms all the technique we tested, and it is on par with the state-of-the art EAR method [19], which achieves a similar score for these 5 models. But, as we will discuss in the next paragraph, EAR is unable to cope with noisy inputs. This is a remarkable result considering that our method, differently from all the others, produces an explicit parametrization of the surface, which can be resampled at arbitrary resolutions, used for texture mapping, or to compute analytic normals and curvature values.

EAR is an interpolative method, which by construction satisfies . It follows that the noise in the measurements is necessarily transferred to the surface reconstruction. Figure 9 illustrates that our deep geometric prior preserves the sharp structures while successfully denoising the input point cloud. The mathematical analysis of such implicit regularisation is a fascinating direction of future work.

Noise and Sharp Features.

As discussed above, the behavior of surface reconstruction methods is particularly challenging in the presence of sharp features and noise in the input measurements. We performed two additional experiments to compare the behaviour of our architecture with the most representative traditional methods on both noisy point clouds and models with sharp features. Schreened Poisson Surface Reconstruction [22] (Figure 10, left) is very robust to noise, but fails at capturing sharp features. EAR (Figure 10, middle) is the opposite: it captures sharp features accurately, but being an interpolatory method fails at reconstructing noisy inputs, thus introducing spurious points and regions during the reconstruction. Our method (Figure 10, right) does not suffer from these limitations, robustly fitting noisy inputs and capturing sharp features.

Sharp Features


Reference Poisson Ear Our

Figure 10: Example of reconstruction on extreme conditions for our method versus the most representative traditional methods. The red dots in the Reference are the input points for the reconstruction.

Generating a Triangle Mesh.

Our method generates a collection of local charts, which can be sampled at an arbitrary resolution. We can generate a triangle mesh by using off-the-shelf-techniques such as Poisson Surface Reconstruction [22] on our dense point clouds. We provide meshes reconstructed in this way for all the benchmark models at

Comparison with AtlasNet [12].


Wasserstein (w/ Sinkhorn)

Figure 11: Surface reconstruction of stacked cubes using a single chart, with two different choices of metric. We verify that the Wasserstein metric, even with the Sinkhorn entropy-regularization, provides a more uniform parametrisation, as well as bijective correspondences between overlapping charts.

Our atlas construction is related to the AtlasNet model introduced in [12]

. AtlasNet is a data-driven reconstruction method using an autoencoder architecture. While their emphasis was on leveraging semantic similarity of shapes and images on several 3D tasks, we focus on high-fidelity point cloud reconstruction in data-sparse regimes, i.e. in absence of any training data. Our main contribution is to show that in such regimes, an even simpler neural network yields state-of-the-art results on surface reconstruction. We also note the following essential differences between our method and AtlasNet.

  • No Learning: Our model does not require any training data, and, as a result, we do not need to consider an autoencoder architecture with specific encoders.

  • Transition Functions: Since we have pointwise correspondences, we can define a transition function between overlapping patches and by consistently triangulating corresponding parametric points in and . In contrast, AtlasNet does not have such correspondences and thus does not produce a true manifold atlas.

  • Patch Selection: We partition the input into point-sets that we fit separately. While it is theoretically attractive to attempt to fit each patch to the whole set as it is done in AtlasNet, and let the algorithm figure out the patch partition automatically, in practice the difficulty of the optimization problem leads to unsatisfactory results. In other words, AtlasNet is approximating a global matching whereas our model only requires local matchings within each patch.

  • Wasserstein vs. Chamfer Distance: As discussed above, the EMD automatically provides transition maps across local charts. AtlasNet considers instead the Chamfer distance between point clouds, which is more efficient to compute but sacrifices the ability to construct bijections in the overlapping regions. Moreover, as illustrated in Figure 11, we observe that Chamfer distances may result in distortion effects even within local charts.

  • Chart Consistency: We explicitly enforce consistency (4) which has a significant effect on quality, as illustrated in Section 4, whereas AtlasNet does not produce a real manifold atlas, since it has no definition of transition maps.

We provide quantitative and qualitative comparisons to assess the impact of our architecture choices by adapting AtlasNet to a data-free setting. In this setting, we overfit AtlasNet on a single model with the same number of patches used for our method. Figure 12 reports both and cumulative histograms on a twisted cube surface using local charts. We verify that when the Atlasnet architecture is trained to fit the surface using our experimental setup, it is clearly outperformed both quantitatively and qualitatively by our deep geometric prior. We emphasize however that AtlasNet is designed as a data-driven approach, and as such it can leverage semantic information from large training sets.

Figure 12: Comparison with Atlasnet. Top: and cumulative histograms. Bottom: surface reconstruction visualization. Observe that local charts do not have consistent transitions in the Atlasnet output.

5 Discussion

Neural networks -- particularly in the overparametrised regime -- are remarkably efficient at curve fitting

in high-dimensional spaces. Despite recent progress in understanding the dynamics of gradient descent in such regimes, their ability to learn and generalize by overcoming the curse of dimensionality remains a major mystery. In this paper, we bypass this high-dimensional regime and concentrate on a standard low-dimensional interpolation problem: surface reconstruction. We demonstrate that in this regime neural networks also have an intriguing capacity to reconstruct complex signal structures while providing robustness to noise.

Our model is remarkably simple, combining two key principles: (i) construct local piece-wise linear charts by means of a vanilla ReLU fully-connected network, and (ii) use Wasserstein distances in each neighborhood, enabling consistent transitions across local charts. The resulting architecture, when combined with gradient descent, provides a ‘‘deep geometric prior’’ that is shown to outperform existing surface-reconstruction methods, which rely on domain-specific geometric assumptions. The theoretical analysis of this deep geometric prior is our next focus, which should address questions such as how the geometry of the surface informs the design the neural network architecture, or why is gradient descent biasing towards locally regular reconstructions.

Despite these promising directions, we also note the limitations our approach is facing. In particular, our method is currently substantially more expensive than alternatives. One natural possibility to accelerate it, would be to train a separate neural network model to provide an efficient initialization for the local chart minimisation (2), similarly as in neural sparse coders [11]. Another important question for future research is the adaptive patch selection, which would leverage the benefits of multiscale approximations.

6 Acknowledgements

We are grateful to the NYU HPC staff for providing computing cluster service. This project was partially supported by the NSF CAREER award 1652515, the NSF grant IIS-1320635, the NSF grant DMS-1436591, the NSF grant DMS-1835712, the NSF grant RI-IIS 1816753, the SNSF grant P2TIP2_175859, the Alfred P. Sloan Foundation, the Moore-Sloan Data Science Environment, the DARPA D3M program, NVIDIA, Samsung Electronics, Labex DigiCosme, DOA W911NF-17-1-0438, a gift from Adobe Research, and a gift from nTopology. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of DARPA. The authors would also like to thank the anonymous reviewers for their time and effort.


Appendix A Supplementary Experiments

a.1 Effect of the parameter

In Figure 13, we demonstrate the effect of varying the Sinkhorn regularization parameter on the final reconstruction of a surface. Smaller values of yield a better approximation of the Wasserstein distance, and thus, produce better reconstructions of the original points.

a.2 Kinect reconstruction

To demonstrate the effectiveness of our technique on reconstructing point clouds with large quantities of noise and highly non-uniform sampling, we reconstruct a raw point cloud acquired with a Kinect V2 (Figure 14). In spite of the challenging input, we are still able to produce a smooth reconstruction approximating the geometry of the original object.

Figure 14: Example of reconstruction form Kinect data (red dots).

a.3 Surface Reconstruction Benchmark

We provide cumulative histograms for the results of the Surface Reconstruction Benchmark [5] on all 5 models shown in Figure 4. Figures 15 and 16 show respectively the percentage of vertices of and such that and is below a given error.

a.4 Surface Reconstruction Benchmark Statistics

In addition to the cumulative histograms above, we tabulate the mean, standard deviation, and maximum values for each method and model in the benchmark. Table 

1 show the distance from the input to the reconstruction () and Table 2 show the distance from the reconstruction to the input ().

Figure 15: Percentage of fitted vertices (-axis, log scale) to reach a certain error level (-axis) for different methods. The errors are computed from the fitted surface to the ground truth.
Figure 16: Percentage of fitted vertices (-axis) to reach a certain error level (-axis) for different methods. The errors are measured as distance from the input data to the fitted surface.
min avg std max
Anchor Apss 1.32e-05 8.78e-04 8.78e-04 9.21e-03
Ear 3.30e-09 3.18e-07 3.18e-07 7.75e-07
Fourier 8.95e-06 1.34e-03 1.34e-03 1.34e-01
Imls 1.11e-05 9.00e-04 9.00e-04 9.43e-03
Mpu 4.07e-06 8.73e-04 8.73e-04 8.45e-03
Mpusmooth 9.50e-06 9.13e-04 9.13e-04 1.06e-02
Poisson 1.09e-05 1.63e-03 1.63e-03 1.17e-01
Screen Poisson 6.99e-06 7.45e-04 7.45e-04 1.79e-02
Rbf 1.46e-05 8.61e-04 8.61e-04 9.89e-03
Scattered 1.33e-05 8.18e-04 8.18e-04 1.06e-02
Spss 8.67e-06 1.03e-03 1.03e-03 1.06e-02
Wavelet 8.30e-06 2.19e-03 2.19e-03 6.27e-02
Our 4.91e-06 7.21e-04 7.21e-04 2.55e-02
Daratech Apss 9.98e-06 7.87e-04 7.87e-04 1.05e-02
Ear 1.34e-09 2.79e-07 2.79e-07 8.18e-07
Fourier 7.86e-06 1.06e-03 1.06e-03 1.94e-02
Imls 5.73e-06 8.35e-04 8.35e-04 1.05e-02
Mpu 5.33e-06 8.47e-04 8.47e-04 8.55e-03
Mpusmooth 9.87e-06 9.31e-04 9.31e-04 1.87e-02
Poisson 1.28e-05 1.58e-03 1.58e-03 3.18e-02
Screen Poisson 3.80e-06 6.98e-04 6.98e-04 1.72e-02
Rbf 2.12e-06 7.52e-04 7.52e-04 1.08e-02
Scattered 7.48e-06 6.97e-04 6.97e-04 1.70e-02
Spss 8.36e-06 1.12e-03 1.12e-03 1.12e-02
Wavelet 6.13e-06 1.88e-03 1.88e-03 2.27e-02
Our 5.30e-06 4.23e-04 4.23e-04 1.79e-02
Dc Apss 6.20e-06 4.98e-04 4.98e-04 1.45e-02
Ear 9.81e-10 3.18e-07 3.18e-07 8.28e-07
Fourier 7.69e-06 6.23e-04 6.23e-04 2.65e-02
Imls 9.09e-06 5.88e-04 5.88e-04 1.43e-02
Mpu 1.07e-05 5.54e-04 5.54e-04 7.08e-03
Mpusmooth 8.10e-06 6.14e-04 6.14e-04 2.75e-02
Poisson 6.76e-06 1.02e-03 1.02e-03 2.63e-02
Screen Poisson 7.12e-06 4.34e-04 4.34e-04 2.70e-02
Rbf 9.15e-06 6.40e-04 6.40e-04 2.77e-02
Scattered 4.45e-06 5.20e-04 5.20e-04 2.69e-02
Spss 3.76e-06 7.66e-04 7.66e-04 1.55e-02
Wavelet 1.76e-05 1.82e-03 1.82e-03 2.68e-02
Our 6.10e-06 3.98e-04 3.98e-04 2.48e-02
Gargoyle Apss 7.80e-06 5.62e-04 5.62e-04 6.92e-03
Ear 1.73e-09 3.18e-07 3.18e-07 7.52e-07
Fourier 3.94e-06 7.02e-04 7.02e-04 2.55e-02
Imls 8.39e-06 6.09e-04 6.09e-04 6.49e-03
Mpu 1.10e-05 6.27e-04 6.27e-04 6.75e-03
Mpusmooth 4.57e-06 7.25e-04 7.25e-04 8.81e-03
Poisson 1.20e-05 1.05e-03 1.05e-03 2.73e-02
Screen Poisson 1.04e-05 4.87e-04 4.87e-04 1.81e-02
Rbf 6.44e-06 7.30e-04 7.30e-04 5.86e-03
Scattered 7.73e-06 5.78e-04 5.78e-04 1.03e-02
Spss 5.30e-06 7.74e-04 7.74e-04 1.34e-02
Wavelet 1.14e-05 1.56e-03 1.56e-03 2.73e-02
Our 5.40e-06 4.50e-04 4.50e-04 1.81e-02
Lord Quas Apss 8.64e-06 4.76e-04 4.76e-04 7.55e-03
Ear 1.05e-09 3.22e-07 3.22e-07 8.91e-07
Fourier 1.15e-05 5.64e-04 5.64e-04 1.79e-02
Imls 8.29e-06 5.29e-04 5.29e-04 8.60e-03
Mpu 7.94e-06 5.44e-04 5.44e-04 5.01e-03
Mpusmooth 1.07e-05 5.70e-04 5.70e-04 8.18e-03
Poisson 5.70e-06 8.24e-04 8.24e-04 4.38e-02
Screen Poisson 4.74e-06 4.29e-04 4.29e-04 1.08e-02
Rbf 1.01e-05 6.48e-04 6.48e-04 7.27e-03
Scattered 6.72e-06 4.88e-04 4.88e-04 1.69e-02
Spss 6.66e-06 6.03e-04 6.03e-04 7.66e-03
Wavelet 9.27e-06 1.49e-03 1.49e-03 4.71e-02
Our 1.38e-06 4.15e-04 4.15e-04 2.14e-02

Table 1: Distance from the input to the reconstruction.
min avg std max
Anchor Apss 6.28e-06 1.79e-03 1.79e-03 2.80e-02
Ear 4.96e-06 1.53e-03 1.53e-03 9.93e-03
Fourier 1.45e-06 2.01e-03 2.01e-03 6.59e-02
Imls 6.49e-06 1.92e-03 1.92e-03 2.82e-02
Mpu 2.23e-06 2.08e-03 2.08e-03 4.59e-02
Mpusmooth 4.81e-06 1.87e-03 1.87e-03 3.66e-02
Poisson 8.75e-06 2.27e-03 2.27e-03 6.59e-02
Screen Poisson 7.12e-06 2.15e-03 2.15e-03 6.59e-02
Rbf 1.62e-06 2.98e-03 2.98e-03 6.60e-02
Scattered 4.30e-06 2.16e-03 2.16e-03 6.57e-02
Spss 4.15e-06 4.39e-03 4.39e-03 9.00e-02
Wavelet 5.36e-06 3.01e-03 3.01e-03 6.59e-02
Our 3.82e-06 1.53e-03 1.53e-03 9.69e-03
Daratech Apss 2.18e-06 1.68e-03 1.68e-03 2.16e-02
Ear 3.15e-06 1.50e-03 1.50e-03 1.68e-02
Fourier 4.68e-06 2.39e-03 2.39e-03 5.98e-02
Imls 3.46e-06 1.79e-03 1.79e-03 2.36e-02
Mpu 5.25e-06 2.06e-03 2.06e-03 4.11e-02
Mpusmooth 5.98e-06 2.14e-03 2.14e-03 4.92e-02
Poisson 3.25e-06 2.98e-03 2.98e-03 6.83e-02
Screen Poisson 4.30e-06 2.42e-03 2.42e-03 6.47e-02
Rbf 2.28e-06 3.59e-03 3.59e-03 6.44e-02
Scattered 5.40e-06 1.60e-03 1.60e-03 1.81e-02
Spss 5.99e-06 2.73e-03 2.73e-03 7.66e-02
Wavelet 4.04e-06 3.29e-03 3.29e-03 5.04e-02
Our 1.96e-06 1.51e-03 1.51e-03 1.67e-02
Dc Apss 5.53e-06 1.68e-03 1.68e-03 2.87e-02
Ear 2.54e-06 1.32e-03 1.32e-03 2.46e-02
Fourier 3.51e-06 1.60e-03 1.60e-03 2.53e-02
Imls 6.12e-06 1.75e-03 1.75e-03 2.93e-02
Mpu 3.98e-06 1.53e-03 1.53e-03 3.84e-02
Mpusmooth 3.51e-06 1.47e-03 1.47e-03 1.64e-02
Poisson 5.86e-06 1.87e-03 1.87e-03 2.53e-02
Screen Poisson 3.96e-06 1.49e-03 1.49e-03 2.25e-02
Rbf 1.15e-06 1.55e-03 1.55e-03 3.01e-02
Scattered 5.26e-06 1.89e-03 1.89e-03 5.27e-02
Spss 5.12e-06 1.96e-03 1.96e-03 2.93e-02
Wavelet 4.70e-06 2.63e-03 2.63e-03 2.56e-02
Our 3.10e-06 1.31e-03 1.31e-03 1.51e-02
Gargoyle Apss 2.64e-06 1.50e-03 1.50e-03 3.41e-02
Ear 4.04e-06 1.22e-03 1.22e-03 8.81e-03
Fourier 2.29e-06 1.37e-03 1.37e-03 2.15e-02
Imls 2.11e-06 1.71e-03 1.71e-03 4.37e-02
Mpu 4.60e-06 1.57e-03 1.57e-03 2.98e-02
Mpusmooth 1.20e-06 1.37e-03 1.37e-03 2.17e-02
Poisson 6.48e-06 1.57e-03 1.57e-03 2.17e-02
Screen Poisson 2.82e-06 1.30e-03 1.30e-03 2.09e-02
Rbf 3.19e-06 7.66e-03 7.66e-03 9.17e-02
Scattered 2.48e-06 1.36e-03 1.36e-03 2.17e-02
Spss 5.03e-06 1.85e-03 1.85e-03 4.65e-02
Wavelet 4.79e-06 1.89e-03 1.89e-03 2.11e-02
Our 2.34e-06 1.19e-03 1.19e-03 1.45e-02
Lord Quas Apss 3.90e-06 1.24e-03 1.24e-03 2.14e-02
Ear 2.26e-06 1.14e-03 1.14e-03 7.49e-03
Fourier 5.01e-06 1.30e-03 1.30e-03 1.96e-02
Imls 3.30e-06 1.31e-03 1.31e-03 2.36e-02
Mpu 2.30e-06 1.35e-03 1.35e-03 2.94e-02
Mpusmooth 4.70e-06 1.28e-03 1.28e-03 1.54e-02
Poisson 1.91e-06 1.39e-03 1.39e-03 1.94e-02
Screen Poisson 2.07e-06 1.24e-03 1.24e-03 1.62e-02
Rbf 2.26e-06 1.29e-03 1.29e-03 1.80e-02
Scattered 4.48e-06 1.17e-03 1.17e-03 1.32e-02
Spss 1.49e-06 1.38e-03 1.38e-03 2.28e-02
Wavelet 4.42e-06 1.87e-03 1.87e-03 1.52e-02
Our 3.94e-06 1.14e-03 1.14e-03 8.74e-03

Table 2: Distance from the reconstruction to the input.