Poisson Surface Reconstruction on non-Cartesian lattices
Joshua Horacsek, Usman Alim, Torsen Möller
Surface reconstruction
(Calakli 2011)

Given a set of points, find a triangular mesh that "best" fits these points
- Interpolating?
- Noisy data?
- Uniform data?
- What assumptions about the data are made?
Some review...
A Brief Survey
- Surface Reconstruction From Unorganized Points (Hoppe 1992)
- Smoothed Signed Distance Field (Calaki 2011)
-
Reconstruction and representation of 3D objects with radial basis functions (Carr 2001)
-
Hermite radial basis functions Implicits (Macedo 2011)
-
Floating scale surface reconstruction (Fuhrmann 2014)
-
Reconstruction of solid models from oriented point sets (Kahzdan 2005)
-
Poisson Surface Reconstruction (Kahzdan 2006, 2014)
-
Surface Reconstruction from Oriented Point Cloud Using a Box-Spline on the BCC Lattice (Kim 2015)
Poisson Surface Reconstruction
If you can construct a "good" approximation for V, then you can obtain an indicator function via solving the poisson problem

Consider a model M
(Kazhdan 2006)
Poisson Surface Reconstruction
If we N have oriented points, denoted by the set
(Kazhdan 2006)
Then the we have
So we define
Poisson Surface Reconstruction
This is then distributed over nodes of an oct-tree, then a multi-grid conjugate gradient solver is used to invert the problem.
(Kazhdan 2006)
Problems?
- Cartesian structure
- Smoothing in vector field equation
What if we choose a non Cartesian lattice?
A 30% reduction in samples can be achieved on the BCC lattice v.s. the CC lattice
Poisson Surface Reconstruction
A 30% reduction in samples can be achieved on the BCC lattice v.s. the CC lattice.
The Body Centred Cubic lattice

Cartesian
Body Centered Cubic (BCC)
Face Centered Cubic (FCC)
Optimal Lattices
Think about the Fourier transform of a sampled signal

(Entezari 2009)
A sampling of a function is equivalent to a periodization about its dual lattice.
Optimal Lattices

Cartesian
Body Centered Cubic (BCC)
Face Centered Cubic (FCC)
FCC is the optimal sphere packing lattice, so the BCC lattice is the optimal sampling lattice.
A 30% reduction in samples can be achieved on the BCC lattice v.s. the CC lattice
Optimal Lattices
The BCC lattice is generated by the matrix

Pipeline

- a) Start with the input pointset
- b) Construct an approximation for V(x)
- c) Approximate the divergence of V(x)
- d) Invert the Poisson problem
Then extract the iso surface
Constructing V(x)

We want to take the initial point-set and resample it onto a regular grid. But we want to respect the geometry of that grid.
Constructing V(x)
We define V(x) as
Where L is a basis for
Using a minimization procedure, we find the functions that minimize

For every component.
Function Spaces
In general the form we use to define a function space is

Box Splines
Box splines are piecewise polynomial functions that we use to span these spaces (think multivariate b-splines)
Defined by an s by n direction matrix

Box Splines
Example

Irregular sampling
If we have scattered data, how do we extrapolate those data?
But really, how do we approximate V(x)?
Intuitively, what do we want?
- The approximation should try to interpolate the data, perhaps not perfectly
- The approximation should be compact, so as to not over smooth the data
- The approximation should still be smooth
Irregular sampling
Suppose we look for some function

That minimizes the function

We get interpolation, but what about this energy function E(g)?
Irregular sampling
Define
Inner Product
Beppo-Levi Inner Product
We have the induced norms
Forces coefficients to be zero
(Volumetric) Smoothness
Our energy term is then
Divergence of V(x)

We can define filters that respect the geometry and approximation order of the space
Divergence of V(x)
Notice that
So we can use directional derivatives to take the divergence of V. This is a more natural approach on the BCC lattice
Use the digital filter
Taking the Divergence of V(x)
We can also do reconstructions on shifted bases, and reconstruct from an overdetermined basis....
Inverse Poisson

Consider this as a "resampling" from the regular grid on to another regular grid, and a filtering that solves the Poisson problem.
We want to respect the approximation order of the space.
Error Analysis
Fourier error kernel
It's possible to quantify the approximation error for a function given its sampling and reconstruction scheme

Error Analysis
Extension to linear operators, residual error becomes

Here we have
We can use this to discretize the Laplacian and find an inverse filter that respects the approximation power of the space.
Error Analysis
This leads to the proposition
Proposition:
Inverse Poisson
We just need an appropriate filter, then we can transform the approximation into the Fourier domain, apply the filter, and take the inverse transform.
Extracting the Iso-surface
Find a level-set
Use an unambiguous marching cubes algorithm at a high resolution to extract
Experiments
Use Surface Reconstruction Benchmark (Berger 2013) to compare between BCC and CC (plus FFT and Poisson Methods). Grid size is chosen carefully...
- Fixing the model and alternating grid size
- Fix grid size and alternate the model
Look at noisy datasets
Try to get some quantitate results by
Look at average distance from the original model, and angular deviation
Experiments
CC lattice
Function Space:
Basis:
Inverse Laplacian Filter:
Experiments
BCC lattice
Function Space:
Basis:
Inverse Laplacian Filter:
Results
Fixed model

Results
Variable model

Results


Results

Conclusion
Decent reconstructions, some problems
- Regular grid = huge memory requirement
- Optimization problem is sparse, but still very computationally intensive
- Uniform point sampling
Thanks!
Poisson Surface Recon
By Joshua Horacsek
Poisson Surface Recon
- 1,223