Shape As Points: A Differentiable Poisson Solver

Songyou Peng1,2Chiyu “Max” Jiang∗ †Marc Pollefeys1,41

ETH Zurich
3

Yiyi Liao2,3†Michael Niemeyer2,3Andreas Geiger2,32
Max Planck Institute for Intelligent Systems, Tübingen
4
University of Tübingen
Microsoft

Abstract
In recent years, neural implicit representations gained popularity in 3D reconstruction due to their expressiveness and flexibility. However, the implicit nature ofneural implicit representations results in slow inference time and requires careful initialization. In this paper, we revisit the classic yet ubiquitous point cloud
representation and introduce a differentiable point-to-mesh layer using a differentiable formulation of Poisson Surface Reconstruction (PSR) that allows for a GPUaccelerated fast solution of the indicator function given an oriented point cloud.
The differentiable PSR layer allows us to efficiently and differentiably bridge theexplicit 3D point representation with the 3D mesh via the implicit indicator field,
enabling end-to-end optimization of surface reconstruction metrics such as Chamfer distance. This duality between points and meshes hence allows us to represent
shapes as oriented point clouds, which are explicit, lightweight and expressive.
Compared to neural implicit representations, our Shape-As-Points (SAP) model
is more interpretable, lightweight, and accelerates inference time by one order ofmagnitude. Compared to other explicit representations such as points, patches,and meshes, SAP produces topology-agnostic, watertight manifold surfaces. We
demonstrate the effectiveness of SAP on the task of surface reconstruction fromunoriented point clouds and learning-based reconstruction.

1

Introduction

Shape representations are central to many of the recent advancements in 3D computer vision andcomputer graphics, ranging from neural rendering [41,45,48,55,58] to shape reconstruction [10,26,40,
47, 50, 52, 70]. While conventional representations such as point clouds and meshes are efficient andwell-studied, they also suffer from several limitations: Point clouds are lightweight and easy to obtain,
but do not directly encode surface information. Meshes, on the other hand, are usually restricted to
fixed topologies. More recently, neural implicit representations [10, 40, 50] have shown promising
results for representing geometry due to their flexibility in encoding varied topologies, and theireasy integration with differentiable frameworks. However, as such representations implicitly encodesurface information, extracting the underlying surface is typically slow as they require numerous
network evaluations in 3D space for extracting complete surfaces using marching cubes [10, 40, 50],or along rays for intersection detection in the context of volumetric rendering [45, 47, 49, 70].
In this work, we introduce a novel Poisson solver which performs fast GPU-accelerated Differentiable
Poisson Surface Reconstruction (DPSR) and solves for an indicator function from an oriented point
cloud in a few milliseconds. Thanks to the differentiablility of our Poisson solver, gradients from aloss on the output mesh or a loss on the intermediate indicator grid can be efficiently backpropagatedto update the oriented point cloud representation. This differential bridge between points, indicator∗†Work done while at UC Berkeley.
Corresponding authors.

35th Conference on Neural Information Processing Systems (NeurIPS 2021).

Representations

Points[17]

Voxels[11]

Meshes[61]

Patches[20]

Implicits[40]

SAP(Ours)

Efficiency Grid Eval Time (1283 )PriorsEasy Initialization
Watertight
Quality
No Self-intersection
Topology-Agnostic

n/a
4
8
n/a
4

n/a
4
4
n/a
4

n/a
4
4
8
8

n/a
8
8
8
4

0.33s
8
4
4
4

0.012s44
4
4GT

Table 1: Overview of Different Shape Representations. Shape-As-Points produces higher quality
geometry compared to other explicit representations [11, 17, 20, 61] and requires significantly lessinference time for extracting geometry compared to neural implicit representations [40].

functions, and meshes allows us to represent shapes as oriented point clouds. We therefore call thisshape representation Shape-As-Points (SAP). Compared to existing shape representations, Shape-AsPoints has the following advantages (see also Table 1):
Efficiency: SAP has a low memory footprint as it only requires storing a collection of oriented
point samples at the surface, rather than volumetric quantities (voxels) or a large number of network
parameters for neural implicit representations. Using spectral methods, the indicator field can becomputed efficiently (12 ms at 1283 resolution3 ), compared to the typical rather slow query timeof neural implicit networks (330 ms using [40] at the same resolution). Accuracy: The resulting
mesh can be generated at high resolutions, is guaranteed to be watertight, free from self-intersections
and also topology-agnostic. Initialization: It is easy to initialize SAP with a given geometry suchas template shapes or noisy observations. In contrast, neural implicit representations are harder toinitialize, except for few simple primitives like spheres [1]. See supplementary for more discussions.
To investigate the aforementioned properties, we perform a set of controlled experiments. Moreover,
we demonstrate state-of-the-art performance in reconstructing surface geometry from unoriented
point clouds in two settings: an optimization-based setting that does not require training and isapplicable to a wide range of shapes, and a learning-based setting for conditional shape reconstructionthat is robust to noisy point clouds and outliers. In summary, the main contributions of this work are:
• We present Shape-As-Points, a novel shape representation that is interpretable, lightweight, andyields high-quality watertight meshes at low inference times.
• The core of the Shape-As-Points representation is a versatile, differentiable and generalizable
Poisson solver that can be used for a range of applications.
• We study various properties inherent to the Shape-As-Points representation, including inferencetime, sensitivity to initialization and topology-agnostic representation capacity.
• We demonstrate state-of-the-art reconstruction results from noisy unoriented point clouds at asignificantly reduced computational budget compared to existing methods.
Code is available at https://github.com/autonomousvision/shape_as_points.

2

Related Work

2.1

3D Shape Representations

3D shape representations are central to 3D computer vision and graphics. Shape representations
can be generally categorized as being either explicit or implicit. Explicit shape representations
and learning algorithms depending on such representations directly parameterize the surface of thegeometry, either as a point cloud [17, 38, 53, 54, 64, 67], parameterized mesh [22, 24, 27, 61] orsurface patches [2, 20, 37, 43, 65, 68, 69]. Explicit representations are usually lightweight and requirefew parameters to represent the geometry, but suffer from discretization, the difficulty to represent
On average, our method requires 12 ms for computing a 1283 indicator grid from 15K points on a single
NVIDIA GTX 1080Ti GPU. Computing a 2563 indicator grid requires 140 ms.
32

watertight surfaces (point clouds, surface patches), or are restricted to a pre-defined topology (mesh).
Implicit representations, in contrast, represent the shape as a level set of a continuous function
over a discretized voxel grid [14, 25, 33, 66] or more recently parameterized as a neural network,
typically referred to as neural implicit functions [10, 40, 50]. Neural implicit representations havebeen successfully used to represent geometries of objects [10, 16, 18, 35, 40, 44, 47, 50, 57, 59, 62, 63]
and scenes [8, 26, 34, 46, 52, 57]. Additionally, neural implicit functions are able to represent radiancefields which allow for high-fidelity appearance and novel view synthesis [39,45]. However, extracting
surface geometry from implicit representations typically requires dense evaluation of multi-layer
perceptrons, either on a volumetric grid or along rays, resulting in slow inference time. In contrast,
SAP efficiently solves the Poisson Equation during inference by representing the shape as an oriented
point cloud.
2.2

Optimization-based 3D Reconstruction from Point Clouds

Several works have addressed the problem of inferring continuous surfaces from a point cloud.
They tackle this task by utilizing basis functions, set properties of the points, or neural networks.
Early works in shape reconstruction from point clouds utilize the convex hull or alpha shapes forreconstruction [15]. The ball pivoting algorithm [5] leverages the continuity property of spherical ballsof a given radius. One of the most popular techniques, Poisson Surface Reconstruction (PSR) [28,29],
solves the Poisson Equation and inherits smoothness properties from the basis functions used in
the Poisson Equation. However, PSR is sensitive to the normals of the input points which must be
inferred using a separate preprocessing step. In contrast, our method does not require any normal
estimation and is thus more robust to noise. More recent works take advantage of the continuous
nature of neural networks as function approximators to fit surfaces to point sets [19, 23, 42, 65].
However, these methods tend to be memory and computationally intensive, while our method yields
high-quality watertight meshes in a few milliseconds.
2.3

Learning-based 3D Reconstruction from Point Clouds

Learning-based approaches exploit a training set of 3D shapes to infer the parameters of a reconstruction model. Some approaches focus on local data priors [2, 26] which typically result in better
generalization, but suffer when large surfaces must be completed. Other approaches learn objectlevel [33, 40, 50] or scene-level priors [12, 13, 26, 52]. Most reconstruction approaches directly reconstruct a meshed surface geometry, though some works [3, 4, 21, 31] first predict point set normals to
subsequently reconstruct the geometry via PSR [28, 29]. However, such methods fail to handle large
levels of noise, since they are unable to move points or selectively ignore outliers. In contrast, ourend-to-end approach is able to address this issue by either moving outlier points to the actual surface
or by selectively muting outliers either by forming paired point clusters that self-cancel or reducing
the magnitude of the predicted normals which controls their influence on the reconstruction.

3

MethodAt the core of the Shape-As-Points representation is a differentiable Poisson solver, which can be used
for both optimization-based and learning-based surface estimation. We first introduce the Poissonsolver in Section 3.1. Next, we investigate two applications using our solver: optimization-based 3D
reconstruction (Section 3.2) and learning-based 3D reconstruction (Section 3.3).
3.1

Differentiable Poisson Solver

The key step in Poisson Surface Reconstruction [28, 29] involves solving the Poisson Equation. Letx ∈ R3 denote a spatial coordinate and n ∈ R3 denote its corresponding normal. The Poisson
Equation arises from the insight that a set consisting of point coordinates and normals {p = (c, n)}can be viewed as samples of the gradient of the underlying implicit indicator function χ(x) that
describesP
the solid geometry. We define the normal vector field as a superposition of pulse functionsv(x) = (ci ,ni )∈{p} δ(x − ci , ni ), where δ(x, n) = {n if x = 0 and 0 otherwise}. By applying
the divergence operator, the variational problem transforms into the standard Poisson equation:∇2 χ := ∇ · ∇χ = ∇ · v(1)

In order to solve this set of linear Partial Differential Equations (PDEs), we discretize the function
values and differential operators. Without loss of generality, we assume that the normal vector fieldv and the indicator function χ are sampled at r uniformly spaced locations along each dimension.
Denote the spatial dimensionality of the problem to be d. Without loss of generality, we consider
3the three dimensional case where n := r × r × r for d = 3. We have the indicator function χ ∈ Rn ,the point normal field v ∈ Rn×d , the gradient operator ∇ : Rn 7→ Rn×d , the divergence operator(∇·) : Rn×d 7→ Rn , and the derived laplacian operator ∇2 := ∇ · ∇ : Rn 7→ Rn . Under such a
discretization scheme, solving for the indicator function amounts to solving the linear system by
inverting the divergence operator subject to boundary conditions of surface points having zero levelset. Following [28], we fix the overall scale to m = 0.5 at x = 0:
χ = (∇2 )−1 ∇ · vs.t.

χ|x∈{c} = 0 andabs(χ|x=0 ) = m(2)

Point Rasterization: We obtain the uniformly discretized point normal field v by rasterizing thepoint normals onto a uniformly sampled voxel grid. We can differentiably perform point rasterization
via inverse trilinear interpolation, similar to the approach in [28, 29]. We scatter the point normal
values to the voxel grid vertices, weighted by the trilinear interpolation weights. The point rasterization
process has O(n) space complexity, linear with respect to the number of grid cells, and O(N ) timecomplexity, linear with respect to the number of points. See supplementary for details.
Spectral Methods for Solving PSR: In contrast to the finite-element approach taken in [28, 29], we
solve the PDEs using spectral methods [7]. While spectral methods are commonly used in scientificcomputing for solving PDEs and in some cases applied to computer vision problems [32], we are thefirst to apply them in the context of Poisson Surface Reconstruction. Unlike finite-element approaches
that depend on irregular data structures such as octrees or tetrahedral meshes for discritizing space,spectral methods can be efficently solved over a uniform grid as they leverage highly optimized Fast
Fourier Transform (FFT) operations that are well supported for GPUs, TPUs, and mainstream deeplearning frameworks. Spectral methods decompose the original signal into a linear sum of functions
represented using the sine / cosine basis functions whose derivatives can be computed analytically.
This allows us to easily approximate differential operators in spectral space. We denote the spectral
domain signals with a tilde symbol, i.e., ṽ = FFT(v). We first solve for the unnormalized indicatorfunction χ0 , not accounting for boundary conditions
iu · ṽ
σ 2 kuk2 χ0 = IFFT(χ̃)χ̃ = g̃σ,r (u)
g̃
(u)
=
exp
−
2
(3)
σ,r
−2πkuk2
r2
where the spectral frequencies are denoted as u := (u, v, w) ∈ Rn×d corresponding to the x, y, zspatial dimensions, and IFFT(χ̃) represents the inverse fast Fourier transform of χ̃. g̃σ,r (u) is a
Gaussian smoothing kernel of bandwidth σ at grid resolution r in the spectral domain. The Gaussian
kernel is used to mitigate ringing effects as a result of the Gibbs phenomenon from rasterizing
the point normals. We denote the element-wise product as : Rn × Rn 7→ Rn , the L2-norm as
k · k2 : Rn×d 7→ Rn , and the dot product as (·) : Rn×d × Rn×d 7→ Rn . Finally, we subtract by themean of the indicator function at the point set and scale the indicator function to obtain the solution
to the PSR problem in Eqn. 2:


m
1 X 0
0
χ
|
(4)
χ=
χ
−
x=c
abs(χ0 |x=0 )
|{c}|
c∈{c}
|
{z
}
|
{z
}
scale
subtract by mean

A detailed derivation of our differentiable PSR solver is provided in the supplementary material.
3.2

SAP for Optimization-based 3D Reconstruction

We can use the proposed differentiable Poisson solver for various applications. First, we consider theclassical task of surface reconstruction from unoriented point clouds. The overall pipeline for thissetting is illustrated in Fig. 1 (top). We now provide details about each component.
Forward pass: It is natural to initialize the oriented 3D point cloud serving as 3D shape representation using the noisy 3D input points and corresponding (estimated) normals. However, to demonstrate
the flexibility and robustness of our model, we purposefully initialize our model using a generic 3D
sphere with radius r in our experiments. Given the orientated point cloud, we apply our Poisson solver
to obtain an indicator function grid, which can be converted to a mesh using Marching Cubes [36].
Backward pass: For every point pmesh sampled from the mesh M, we calculate a bi-directional L2
Chamfer Distance LCD with respect to the input point cloud. To backpropagate the loss LCD through4

Shape-As-Points
Optimize
Points and Normals

Optimization-based Setting

Features

Noisy Input

DPSR

Marching
Cubes

DPSR

Marching
Cubes

Offsets
Normals

TargetMesh Output

Optimize Parameters

PSR

Learning-based Setting

Indicator Function

SampleGround Truth

Figure 1: Model Overview. Top: Pipeline for optimization-based single object reconstruction. The
Chamfer loss on the target point cloud is backpropagated to the source point cloud w/ normals for
optimization. Bottom: Pipeline for learning-based surface reconstruction. Unlike the optimizationbased setting, here we provide supervision at the indicator grid level, since we assume access to watertight meshes for supervision, as is common practice in learning-based single object reconstruction.
pmesh to point p in our source oriented point cloud, we decompose the gradient using the chain rule:∂LCD ∂pmesh ∂χ
∂LCD
=
∂p
∂pmesh ∂χ ∂p

(5)

mesh
All terms in (5) are differentialable except for the middle one ∂p∂χwhich involves Marching Cubes.
However, this gradient can be effectively approximated by the inverse surface normal [56]:∂pmesh= −nmesh∂χ(6)where nmesh is the normal of the point pmesh . Different from MeshSDF [56] that uses the gradients to
update the latent code of a pretrained implicit shape representation, our method updates the source
point cloud using the proposed differentiable Poisson solver.
Resampling: To increase the robustness of the optimization process, we uniformly resample points
and normals from the largest mesh component every 200 iterations, and replace all points in theoriginal point clouds with the resampled ones. This resampling strategy eliminates outlier points thatdrift away during the optimization, and enforces a more uniform distribution of points. We provide
an ablation study in supplementary.
Coarse-to-fine: To further decrease run-time, we consider a coarse-to-fine strategy during optimization. More specifically, we start optimizing at an indicator grid resolution of 323 for 1000 iterations,from which we obtain a coarse shape. Next, we sample from this coarse mesh and continue optimization at a resolution of 643 for 1000 iterations. We repeat this process until we reach the target
resolution (2563 ) at which we acquire the final output mesh. See also supplementary.
3.3

SAP for Learning-based 3D Reconstruction

We now consider the learning-based 3D reconstruction setting in which we train a conditional modelthat takes a noisy, unoriented point cloud as input and outputs a 3D shape. More specifically, we train
the model to predict a clean oriented point cloud, from which we obtain a watertight mesh using ourPoisson solver and Marching Cubes. We leverage the differentiability of our Poisson solver to learn
the parameters of this conditional model. Following common practice, we assume watertight meshes
as ground truth and consequently supervise directly with the ground truth indicator grid obtained
5

from these meshes. Fig. 1 (bottom) illustrates the pipeline of our architecture for the learning-based
surface reconstruction task.
Architecture: We first encode the unoriented input point cloud coordinates {c} into a feature φ.
The resulting feature should encapsulate both local and global information about the input point
cloud. We utilize the convolutional point encoder proposed in [52] for this purpose. Note that in thefollowing, we will use φθ (c) to denote the features at point c, dropping the dependency of φ on theremaining points {c} for clarity. Also, we use θ to refer to network parameters in general.
Given their features, we aim to estimate both offsets and normals for every input point c in the point
cloud {c}. We use a shallow Multi-Layer Perceptron (MLP) fθ to predict the offset for c:∆c = fθ (c, φθ (c))(7)

where φ(c) is obtained from the feature volume using trilinear interpolation. We predict k offsets
per input point, where k ≥ 1. We add the offsets ∆c to the input point position c and call the
updated point position ĉ. Additional offsets allow us to densify the point cloud, leading to enhanced
reconstruction quality. We choose k = 7 for all learning-based reconstruction experiments (seeablation study in Table 4). For each updated point ĉ, we use a second MLP gθ to predict its normal:n̂ = gθ (ĉ, φθ (ĉ))(8)

We use the same decoder architecture as in [52] for both fθ and gθ . The network comprises 5 layersof ResNet blocks with a hidden dimension of 32. These two networks fθ and gθ do not share weights.
Training and Inference: During training, we obtain the estimated indicator grid χ̂ from thepredicted point clouds (ĉ, n̂) using our differentiable Poisson solver. Since we assume watertightand noise-free meshes for supervision, we acquire the ground truth indicator grid by running PSR
on a densely sampled point clouds of the ground truth meshes with the corresponding ground truth
normals. This avoids running Marching Cubes at every iteration and accelerates training. We use theMean Square Error (MSE) loss on the predicted and ground truth indicator grid:
LDPSR = kχ̂ − χk2(9)

We implement all models in PyTorch [51] and use the Adam optimizer [30] with a learning rate of
5e-4. During inference, we use our trained model to predict normals and offsets, use DPSR to solve
for the indicator grid, and run Marching Cubes [36] to extract meshes.

4

Experiments

Following the exposition in the previous section, we conduct two types of experiments to evaluate
our method. First, we perform single object reconstruction from unoriented point clouds. Next, weapply our method to learning-based surface reconstruction on ShapeNet [9], using noisy point clouds
with or without outliers as inputs.
Datasets: We use the following datasets for optimization-based reconstruction: 1) Thingi10K [71],2) Surface reconstruction benchmark (SRB) [65] and 3) D-FAUST [6]. Similar to prior works, we
use 5 objects per dataset [19, 23, 65]. For learning-based object-level reconstruction, we consider all
13 classes of the ShapeNet [9] subset, using the train/val/test split from [11].
Baselines: In the optimization-based reconstruction setting, we compare to network-based methods
IGR [19] and Point2Mesh [23], as well as Screened Poisson Surface Reconstruction4 (SPSR) [29] on
plane-fitted normals. To ensure that the predicted normals are consistently oriented for SPSR, we
propagate the normal orientation using the minimum spanning tree [72]. For learning-based surface
reconstruction, we compare against point-based Point Set Generation Networks (PSGN) [17], patchbased AtlasNet [20], voxel-based 3D-R2N2 [11], and ConvONet [52], which has recently reported
state-of-the-art results on this task. We use ConvOnet in their best-performing setting (3-plane
encoders). SPSR is also used as a baseline. In addition, to evaluate the importance of our differentiable
PSR optimization, we design another point-based baseline. This baseline uses the same networkarchitecture to predict points and normals. However, instead of passing them to our Poisson solver and4

We use the official implementation https://github.com/mkazhdan/PoissonRecon.

6Thingi10K
Thingi10K
SRB
D-FAUSTInput

IGR [19]

Point2Mesh [23] SPSR [29]Ours

GT meshFigure 2: Optimization-based 3D Reconstruction. Input point clouds are downsampled for visualization. Note that the ground truth of SRB is provided as point clouds.
DatasetThingi10K

SRB

D-FAUST

MethodIGR [19]
Point2Mesh [23]SPSR [29]Ours
IGR [19]
Point2Mesh [23]SPSR [29]Ours
IGR [19]
Point2Mesh [23]SPSR [29]Ours

Chamfer-L1 (↓)

F-Score (↑)

Normal C. (↑)

Time (s)

0.440
0.109
0.223
0.054
0.178
0.116
0.232
0.076
0.235
0.071
0.044
0.043

0.505
0.656
0.787
0.940
0.755
0.648
0.735
0.830
0.805
0.855
0.966
0.966

0.692
0.806
0.896
0.947
–
–
–
–
0.911
0.905
0.965
0.959

1842.33714.79.3
370.1
1847.64707.99.2
326.0
1857.23678.7
4.3
379.9

Table 2: Optimization-based 3D Reconstruction. Quantitative comparison on 3 datasets. Normal
Consistency cannot be evaluated on SRB as this dataset provides only unoriented point clouds.
Optimization time is evaluated on a single GTX 1080Ti GPU for IGR, Point2Mesh and our method.

calculate LDPSR on the indicator grid, we directly supervise the point positions with a bi-directional
Chamfer distance, and an L1 Loss on the normals as done in [37]. During inference, we also feed thepredicted points and normals to our PSR solver and run Marching Cubes to obtain meshes.
Metrics: We consider Chamfer Distance, Normal Consistency and F-Score with the default thresholdof 1% for evaluation, and also report optimization & inference time.
4.1

Optimization-based 3D Reconstruction

In this part, we investigate whether our method can be used for the single-object surface reconstruction
task from unoriented point clouds or scans. We consider three different types of 3D inputs: point
clouds sampled from synthetic meshes [71] with Gaussian noise, real-world scans [65], and highresolution raw scans of humans with comparably little noise [6].
Fig. 2 and Table 2 show that our method achieves superior performance compared to both classicalmethods and network-based approaches. Note that the objects considered in this task are challenging
7

Low NoiseHigh Noise
Outliers
Input

SPSR [29] 3D-R2N2 [11] AtlasNet [20] ConvONet [52]Ours

GT meshFigure 3: 3D Reconstruction from Point Clouds on ShapeNet. Comparison of SAP to baselines
on 3 different setups. More results can be found in supplementary.

(a) Noise=0.005(b) Noise=0.025(c) Noise=0.005, Outliers=50%

Chamfer-L1 F-Score Normal C. Chamfer-L1 F-Score Normal C. Chamfer-L1 F-Score Normal C. Runtime
SPSR [29]
0.298
0.612
0.772
0.499
0.324
0.604
1.317
0.164
0.636
PSGN [17]
0.147
0.259
0.151
0.247
0.736
0.007
0.010 s3D-R2N2 [11]
0.172
0.400
0.715
0.173
0.418
0.710
0.202
0.387
0.709
0.015 sAtlasNet [20]
0.093
0.708
0.855
0.117
0.527
0.821
1.822
0.057
0.609
0.025 sConvONet [52]
0.044
0.942
0.938
0.066
0.849
0.913
0.052
0.916
0.929
0.327 sOurs (w/o LDPSR )
0.044
0.942
0.935
0.067
0.841
0.907
0.085
0.819
0.903
0.064 s
Ours
0.034
0.975
0.944
0.054
0.896
0.917
0.038
0.959
0.936
0.064 sTable 3: 3D Reconstruction from Point Clouds on ShapeNet. Quantitative comparison between
our method and baselines on the ShapeNet dataset (mean over 13 classes).

due to their complex geometry, thin structures, noisy and incomplete observations. While someof the baseline methods fail completely on these challenging objects, our method achieves robust
performance across all datasets.
In particular, Fig. 2 shows that IGR occasionally creates meshes in free space, as this is not penalized
by its optimization objective when point clouds are unoriented. Both, Point2Mesh and our method
alleviate this problem by optimizing for the Chamfer distance between the estimated mesh and the
input point clouds. However, Point2Mesh requires an initial mesh as input of which the topology
cannot be changed during optimization. Thus, it relies on SPSR to provide an initial mesh for objects
with genus larger than 0 and suffers from inaccurate initialization [23]. Furthermore, compared toboth IGR and Point2Mesh, our method converges faster.
While SPSR is even more efficient, it suffers from incorrect normal estimation on noisy input point
clouds, which is a non-trivial task on its own. In contrast, our method demonstrates more robust
behavior as we optimize points and normals guided by the Chamfer distance. Note that in this single
object reconstruction task, our method is not able to complete large unobserved regions (e.g., thebottom of the person’s feet in Fig. 2 is unobserved and hence not completed). This limitation can beaddressed using learning-based object-level reconstruction as discussed next.
To analyze whether our proposed differentiable Poisson solver is also beneficial for learning-based
reconstruction, we evaluate our method on the single object reconstruction task using noise and outlieraugmented point clouds from ShapeNet as input to our method. We investigate the performance forthree different noise levels: (a) Gaussian noise with zero mean and standard deviation 0.005, (b)Gaussian noise with zero mean and standard deviation 0.025, (c) 50% points have the same noise asin a) and the other 50% points are outliers uniformly sampled inside the unit cube.
8Chamfer F-Score NormalC
3

128
Enc. Grid MC Total
ConvONet 0.010 0.280 0.037 0.327
0.013 0.012 0.039 0.064
Ours

3

256
Enc. Grid MC Total
0.010 3.798 0.299 4.107
0.019 0.140 0.374 0.533

Offset 1×
Offset 3×
Offset 5×
Offset 7×
2D Enc.
3D Enc.

0.041
0.039
0.039
0.038
0.043
0.038

0.952
0.958
0.957
0.959
0.939
0.959

0.928
0.934
0.934
0.936
0.928
0.936

Table 4: Ablation Study. Left: Runtime breakdown (encoding, grid evaluation, marching cubes) for
ConvONet vs. ours in seconds. Right: Ablation over number of offsets and 2D vs. 3D encoders.
4.2

Learning-based Reconstruction on ShapeNet

Fig. 3 and Table 3 show our results. Compared to the baselines, our method achieves similar or better
results on all three metrics. The results show that, in comparison to directly using Chamfer loss on
point positions and L1 loss on point normals, our DPSR loss can produce better reconstructions in all
settings as it directly supervises the indicator grid which implicitly determines the surface through the
Poisson equation. SPSR fails when the noise level is high or when there are outliers in the input point
cloud. We achieve significantly better performances than other representations such as point clouds,
meshes, voxel grids and patches. Moreover, we find that our method is robust to strong outliers. We
refer to the supplementary for more detailed visualizations on how SAP handles outliers.
Table 3 also reports the runtime for setting (a) for all GPU-accelerated methods using a single NVIDIAGTX 1080Ti GPU, averaged over all objects of the ShapeNet test set. The baselines [11, 17, 20]
demonstrate fast inference time but suffer in terms of reconstruction quality while the neural implicit
model [52] attains high quality reconstructions but suffers from slow inference. In contrast, ourmethod is able to produce competitive reconstruction results at reasonably fast inference time. In
addition, since ConvONet and our method share a similar reconstruction pipeline, we provide a moredetailed breakdown of the runtime at a resolution of 1283 and 2563 voxels in Table 4. We use thedefault setup from ConvONet5 . As we can see from Table 4, the difference in terms of point encoding
and Marching Cubes is marginal, but we gain more than 20× speed-up over ConvONet in evaluating
the indicator grid. In total, we are roughly 5× and 8× faster regarding the total inference time at aresolution of 1283 and 2563 voxels, respectively.
4.3

Ablation StudyIn this section, we investigate different architecture choices in the context of learning-based reconstruction. We conduct our ablation experiments on ShapeNet for the third setup (most challenging).
Number of Offsets: From Table 4 we notice that predicting more offsets per input point leads tobetter performance. This can be explained by the fact that with more points near the object surface,geometric details can be better preserved.
Point Cloud Encoder: Here we compare two different point encoder architectures proposed in [52]:a 2D encoder using 3 canonical planes at a resolution of 642 pixels and a 3D encoder using a featurevolume with a resolution of 323 voxels. We find that the 3D encoder works best in this setting andhypothesize that this is due to the representational alignment with the 3D indicator grid.

5Conclusion

We introduce Shape-As-Points, a novel shape representation which is lightweight, interpretable andproduces watertight meshes efficiently. We demonstrate its effectiveness for the task of surface
reconstruction from unoriented point clouds in both optimization-based and learning-based settings.
Our method is currently limited to small scenes due to the cubic memory requirements with respect
to the indicator grid resolution. We believe that processing scenes in a sliding-window manner andspace-adaptive data structures (e.g., octrees) will enable extending our method to larger scenes. Point
cloud-based methods are broadly used in real-world applications ranging from household robots to
self-driving cars, and hence share the same societal opportunities and risks as other learning-based
3D reconstruction techniques.
5

To be consistent, we use the Marching Cubes implementation from [60] for both ConvONet and ours.

9Acknowledgement: Andreas Geiger was supported by the ERC Starting Grant LEGO-3D (850533)
and the DFG EXC number 2064/1 - project number 390727645. The authors thank the Max Planck
ETH Center for Learning Systems (CLS) for supporting Songyou Peng and the International Max
Planck Research School for Intelligent Systems (IMPRS-IS) for supporting Michael Niemeyer. This
work was supported by an NVIDIA research gift. We thank Matthias Niessner, Thomas Funkhouser,
Hugues Hopp, Yue Wang for helpful discussions in early stages of this project. We also thank XuChen, Christian Reiser, Rémi Pautrat for proofreading.

References[1] M. Atzmon and Y. Lipman. Sal: Sign agnostic learning of shapes from raw data. In Proc. IEEE
Conf. on Computer Vision and Pattern Recognition (CVPR), 2020. 2[2] A. Badki, O. Gallo, J. Kautz, and P. Sen. Meshlet priors for 3d mesh reconstruction. In Proc.
IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2020. 2, 3
[3] Y. Ben-Shabat and S. Gould. Deepfit: 3d surface fitting via neural network weighted leastsquares. In Proc. of the European Conf. on Computer Vision (ECCV), 2020. 3[4] Y. Ben-Shabat, M. Lindenbaum, and A. Fischer. Nesti-net: Normal estimation for unstructured
3d point clouds using convolutional neural networks. In Proc. IEEE Conf. on Computer Vision
and Pattern Recognition (CVPR), 2019. 3[5] F. Bernardini, J. Mittleman, H. Rushmeier, C. Silva, and G. Taubin. The ball-pivoting algorithm
for surface reconstruction. IEEE Trans. on Visualization and Computer Graphics (VCG), 1999. 3[6] F. Bogo, J. Romero, G. Pons-Moll, and M. J. Black. Dynamic FAUST: registering human bodies
in motion. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2017. 6, 7
[7] C. Canuto, M. Y. Hussaini, A. Quarteroni, and T. A. Zang. Spectral methods: fundamentals insingle domains. Springer Science & Business Media, 2007. 4[8] R. Chabra, J. E. Lenssen, E. Ilg, T. Schmidt, J. Straub, S. Lovegrove, and R. Newcombe. Deep
local shapes: Learning local sdf priors for detailed 3d reconstruction. In Proc. of the European
Conf. on Computer Vision (ECCV), 2020. 3[9] A. X. Chang, T. A. Funkhouser, L. J. Guibas, P. Hanrahan, Q. Huang, Z. Li, S. Savarese,
M. Savva, S. Song, H. Su, J. Xiao, L. Yi, and F. Yu. Shapenet: An information-rich 3d model
repository. arXiv.org, 1512.03012, 2015. 6[10] Z. Chen and H. Zhang. Learning implicit fields for generative shape modeling. In Proc. IEEE
Conf. on Computer Vision and Pattern Recognition (CVPR), 2019. 1, 3
[11] C. B. Choy, D. Xu, J. Gwak, K. Chen, and S. Savarese. 3d-r2n2: A unified approach for single
and multi-view 3d object reconstruction. In Proc. of the European Conf. on Computer Vision(ECCV), 2016. 2, 6, 8, 9[12] A. Dai, C. Diller, and M. Nießner. SG-NN: sparse generative neural networks for self-supervised
scene completion of RGB-D scans. In Proc. IEEE Conf. on Computer Vision and Pattern
Recognition (CVPR), 2020. 3[13] A. Dai, C. Diller, and M. Nießner. Sg-nn: Sparse generative neural networks for self-supervised
scene completion of rgb-d scans. In Proc. IEEE Conf. on Computer Vision and Pattern
Recognition (CVPR), 2020. 3[14] A. Dai, D. Ritchie, M. Bokeloh, S. Reed, J. Sturm, and M. Nießner. Scancomplete: Large-scale
scene completion and semantic segmentation for 3d scans. In Proc. IEEE Conf. on Computer
Vision and Pattern Recognition (CVPR), 2018. 3[15] H. Edelsbrunner and E. P. Mücke. Three-dimensional alpha shapes. ACM Trans. on Graphics,
1994. 3[16] P. Erler, P. Guerrero, S. Ohrhallinger, M. Wimmer, and N. J. Mitra. Points2surf: Learning
implicit surfaces from point cloud patches. In Proc. of the European Conf. on Computer Vision(ECCV), 2020. 3[17] H. Fan, H. Su, and L. J. Guibas. A point set generation network for 3d object reconstruction
from a single image. Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR),
2017. 2, 6, 8, 9[18] K. Genova, F. Cole, A. Sud, A. Sarna, and T. A. Funkhouser. Local deep implicit functions for
3d shape. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2020. 3[19] A. Gropp, L. Yariv, N. Haim, M. Atzmon, and Y. Lipman. Implicit geometric regularization forlearning shapes. In Proc. of the International Conf. on Machine learning (ICML), 2020. 3, 6, 7
10

[20] T. Groueix, M. Fisher, V. G. Kim, B. C. Russell, and M. Aubry. AtlasNet: A papier-mâchéapproach to learning 3d surface generation. In Proc. IEEE Conf. on Computer Vision and
Pattern Recognition (CVPR), 2018. 2, 6, 8, 9[21] P. Guerrero, Y. Kleiman, M. Ovsjanikov, and N. J. Mitra. Pcpnet learning local shape properties
from raw point clouds. In Computer Graphics Forum, 2018. 3[22] K. Gupta and M. Chandraker. Neural mesh flow: 3d manifold mesh generation via diffeomorphic
flows. In Advances in Neural Information Processing Systems (NeurIPS), 2020. 2[23] R. Hanocka, G. Metzer, R. Giryes, and D. Cohen-Or. Point2mesh: a self-prior for deformablemeshes. In ACM Trans. on Graphics, 2020. 3, 6, 7, 8
[24] C. Jiang, J. Huang, A. Tagliasacchi, and L. J. Guibas. Shapeflow: Learnable deformation flows
among 3d shapes. In Advances in Neural Information Processing Systems (NeurIPS), 2020. 2[25] C. Jiang, P. Marcus, et al. Hierarchical detail enhancing mesh-based shape generation with 3d
generative adversarial network. arXiv preprint arXiv:1709.07581, 2017. 3[26] C. Jiang, A. Sud, A. Makadia, J. Huang, M. Nießner, and T. Funkhouser. Local implicit grid
representations for 3d scenes. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition(CVPR), 2020. 1, 3
[27] C. M. Jiang, J. Huang, K. Kashinath, Prabhat, P. Marcus, and M. Nießner. Spherical cnns on
unstructured grids. In Proc. of the International Conf. on Learning Representations (ICLR),
2019. 2[28] M. M. Kazhdan, M. Bolitho, and H. Hoppe. Poisson surface reconstruction. In Proceedings ofthe Fourth Eurographics Symposium on Geometry Processing, 2006. 3, 4[29] M. M. Kazhdan and H. Hoppe. Screened poisson surface reconstruction. ACM Trans. on
Graphics, 32(3):29, 2013. 3, 4, 6, 7, 8[30] D. P. Kingma and J. Ba. Adam: A method for stochastic optimization. In Proc. of theInternational Conf. on Machine learning (ICML), 2015. 6[31] J. E. Lenssen, C. Osendorfer, and J. Masci. Deep iterative surface normal estimation. In Proc.
IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2020. 3[32] J. Li and A. O. Hero. A spectral method for solving elliptic equations for surface reconstruction
and 3d active contours. In Proc. IEEE International Conf. on Image Processing (ICIP), 2001. 4[33] Y. Liao, S. Donne, and A. Geiger. Deep marching cubes: Learning explicit surface representations. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2018. 3[34] S. Lionar, D. Emtsev, D. Svilarkovic, and S. Peng. Dynamic plane convolutional occupancy
networks. In Proc. of the IEEE Winter Conference on Applications of Computer Vision (WACV),
2021. 3[35] S. Liu, Y. Zhang, S. Peng, B. Shi, M. Pollefeys, and Z. Cui. Dist: Rendering deep implicit
signed distance function with differentiable sphere tracing. In Proc. IEEE Conf. on Computer
Vision and Pattern Recognition (CVPR), 2020. 3[36] W. E. Lorensen and H. E. Cline. Marching cubes: A high resolution 3d surface construction
algorithm. In ACM Trans. on Graphics, 1987. 4, 6[37] Q. Ma, S. Saito, J. Yang, S. Tang, and M. J. Black. Scale: Modeling clothed humans witha surface codec of articulated local elements. In Proc. IEEE Conf. on Computer Vision and
Pattern Recognition (CVPR), 2021. 2, 7
[38] Q. Ma, J. Yang, S. Tang, and M. J. Black. The power of points for modeling humans in clothing.
In Proc. of the IEEE International Conf. on Computer Vision (ICCV), 2021. 2[39] R. Martin-Brualla, N. Radwan, M. S. M. Sajjadi, J. T. Barron, A. Dosovitskiy, and D. Duckworth.
NeRF in the Wild: Neural Radiance Fields for Unconstrained Photo Collections. In Proc. IEEE
Conf. on Computer Vision and Pattern Recognition (CVPR), 2021. 3[40] L. Mescheder, M. Oechsle, M. Niemeyer, S. Nowozin, and A. Geiger. Occupancy networks:
Learning 3d reconstruction in function space. In Proc. IEEE Conf. on Computer Vision and
Pattern Recognition (CVPR), 2019. 1, 2, 3[41] M. Meshry, D. B. Goldman, S. Khamis, H. Hoppe, R. Pandey, N. Snavely, and R. MartinBrualla. Neural rerendering in the wild. In Proc. IEEE Conf. on Computer Vision and Pattern
Recognition (CVPR), 2019. 1[42] G. Metzer, R. Hanocka, D. Zorin, R. Giryes, D. Panozzo, and D. Cohen-Or. Orienting point
clouds with dipole propagation. ACM Trans. on Graphics, 2021. 3[43] M. Mihajlovic, S. Weder, M. Pollefeys, and M. R. Oswald. Deepsurfels: Learning online
appearance fusion. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR),
2021. 211

[44] M. Mihajlovic, Y. Zhang, M. J. Black, and S. Tang. LEAP: Learning articulated occupancy ofpeople. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2021. 3[45] B. Mildenhall, P. P. Srinivasan, M. Tancik, J. T. Barron, R. Ramamoorthi, and R. Ng. NeRF:
Representing scenes as neural radiance fields for view synthesis. In Proc. of the European Conf.
on Computer Vision (ECCV), 2020. 1, 3
[46] M. Niemeyer and A. Geiger. Giraffe: Representing scenes as compositional generative neuralfeature fields. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2021. 3[47] M. Niemeyer, L. Mescheder, M. Oechsle, and A. Geiger. Differentiable volumetric rendering:
Learning implicit 3d representations without 3d supervision. In Proc. IEEE Conf. on Computer
Vision and Pattern Recognition (CVPR), 2020. 1, 3
[48] M. Oechsle, L. Mescheder, M. Niemeyer, T. Strauss, and A. Geiger. Texture fields: Learning
texture representations in function space. In Proc. of the IEEE International Conf. on Computer
Vision (ICCV), 2019. 1[49] M. Oechsle, S. Peng, and A. Geiger. Unisurf: Unifying neural implicit surfaces and radiancefields for multi-view reconstruction. In Proc. of the IEEE International Conf. on Computer
Vision (ICCV), 2021. 1[50] J. J. Park, P. Florence, J. Straub, R. A. Newcombe, and S. Lovegrove. Deepsdf: Learning
continuous signed distance functions for shape representation. In Proc. IEEE Conf. on Computer
Vision and Pattern Recognition (CVPR), 2019. 1, 3
[51] A. Paszke, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan, T. Killeen, Z. Lin,N. Gimelshein, L. Antiga, A. Desmaison, A. Kopf, E. Yang, Z. DeVito, M. Raison, A. Tejani,
S. Chilamkurthy, B. Steiner, L. Fang, J. Bai, and S. Chintala. Pytorch: An imperative style,high-performance deep learning library. In Advances in Neural Information Processing Systems(NeurIPS), 2019. 6[52] S. Peng, M. Niemeyer, L. Mescheder, M. Pollefeys, and A. Geiger. Convolutional occupancy
networks. In Proc. of the European Conf. on Computer Vision (ECCV), 2020. 1, 3, 6, 8, 9[53] C. R. Qi, H. Su, K. Mo, and L. J. Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition(CVPR), 2017. 2[54] C. R. Qi, L. Yi, H. Su, and L. J. Guibas. Pointnet++: Deep hierarchical feature learning on pointsets in a metric space. In Advances in Neural Information Processing Systems (NeurIPS), 2017. 2[55] C. Reiser, S. Peng, Y. Liao, and A. Geiger. Kilonerf: Speeding up neural radiance fields withthousands of tiny mlps. In Proc. of the IEEE International Conf. on Computer Vision (ICCV),
2021. 1[56] E. Remelli, A. Lukoianov, S. R. Richter, B. Guillard, T. Bagautdinov, P. Baque, and P. Fua.
Meshsdf: Differentiable iso-surface extraction. In Advances in Neural Information Processing
Systems (NeurIPS), 2020. 5[57] V. Sitzmann, J. N. Martel, A. W. Bergman, D. B. Lindell, and G. Wetzstein. Implicit neuralrepresentations with periodic activation functions. In Advances in Neural Information Processing
Systems (NeurIPS), 2020. 3[58] V. Sitzmann, J. Thies, F. Heide, M. Nießner, G. Wetzstein, and M. Zollhöfer. Deepvoxels:
Learning persistent 3d feature embeddings. In Proc. IEEE Conf. on Computer Vision and
Pattern Recognition (CVPR), 2019. 1[59] M. Tancik, P. Srinivasan, B. Mildenhall, S. Fridovich-Keil, N. Raghavan, U. Singhal, R. Ramamoorthi, J. Barron, and R. Ng. Fourier features let networks learn high frequency functions
in low dimensional domains. In Advances in Neural Information Processing Systems (NeurIPS),
2020. 3[60] S. Van der Walt, J. L. Schönberger, J. Nunez-Iglesias, F. Boulogne, J. D. Warner, N. Yager,
E. Gouillart, and T. Yu. scikit-image: image processing in python. PeerJ, 2014. 9[61] N. Wang, Y. Zhang, Z. Li, Y. Fu, W. Liu, and Y.-G. Jiang. Pixel2mesh: Generating 3d meshmodels from single rgb images. In Proc. of the European Conf. on Computer Vision (ECCV),
2018. 2[62] S. Wang, M. Mihajlovic, Q. Ma, A. Geiger, and S. Tang. Metaavatar: Learning animatable
clothed human models from few depth images. In Advances in Neural Information Processing
Systems (NeurIPS), 2021. 3[63] W. Wang, Q. Xu, D. Ceylan, R. Mech, and U. Neumann. Disn: Deep implicit surface networkfor high-quality single-view 3d reconstruction. In Advances in Neural Information Processing
Systems (NeurIPS), 2019. 3
12

[64] Y. Wang, Y. Sun, Z. Liu, S. E. Sarma, M. M. Bronstein, and J. M. Solomon. Dynamic graphcnn for learning on point clouds. ACM Trans. on Graphics, 2019. 2[65] F. Williams, T. Schneider, C. Silva, D. Zorin, J. Bruna, and D. Panozzo. Deep geometric priorfor surface reconstruction. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition(CVPR), 2019. 2, 3, 6, 7
[66] J. Wu, C. Zhang, T. Xue, B. Freeman, and J. Tenenbaum. Learning a probabilistic latent spaceof object shapes via 3d generative-adversarial modeling. In Advances in Neural Information
Processing Systems (NeurIPS), 2016. 3[67] G. Yang, X. Huang, Z. Hao, M. Liu, S. J. Belongie, and B. Hariharan. Pointflow: 3d point cloud
generation with continuous normalizing flows. In Proc. of the IEEE International Conf. on
Computer Vision (ICCV), 2019. 2[68] Y. Yang, C. Feng, Y. Shen, and D. Tian. Foldingnet: Point cloud auto-encoder via deep grid
deformation. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2018. 2[69] Z. Yang, Y. Chai, D. Anguelov, Y. Zhou, P. Sun, D. Erhan, S. Rafferty, and H. Kretzschmar.
Surfelgan: Synthesizing realistic sensor data for autonomous driving. In Proc. IEEE Conf. on
Computer Vision and Pattern Recognition (CVPR), 2020. 2[70] L. Yariv, Y. Kasten, D. Moran, M. Galun, M. Atzmon, B. Ronen, and Y. Lipman. Multiview
neural surface reconstruction by disentangling geometry and appearance. In Advances in Neural
Information Processing Systems (NeurIPS), 2020. 1[71] Q. Zhou and A. Jacobson. Thingi10k: A dataset of 10,000 3d-printing models. arXiv preprint
arXiv:1605.04797, 2016. 6, 7
[72] Q.-Y. Zhou, J. Park, and V. Koltun. Open3D: A modern library for 3D data processing.
arXiv:1801.09847, 2018. 6

13