Skip to content
The reference implementaiton for the paper "Deep Geometric Prior for Surface Reconstruction"
Python
Branch: master
Clone or download
Latest commit 1a063a0 Jun 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data derp Apr 1, 2019
.gitignore first commit Apr 1, 2019
README.md Update README.md Jun 12, 2019
environment.yml environment.yml Jun 12, 2019
export_point_cloud.py
plot_reconstruction.py checkpoint Jun 12, 2019
reconstruct_single_patch.py
reconstruct_surface.py checkin Jun 12, 2019
utils.py checkpoint Jun 12, 2019

README.md

Deep Geometric Prior for Surface Reconstruction

The reference implementaiton for the CVPR 2019 paper Deep Geometric Prior for Surface Reconstruction.

There are several programs in this repository explained in detail below. The documentation for each program can be seen by running it with the -h flag. The code is also extensively commented and should be easy to follow. Please create GitHub issues or reach out to me by email if you run into any problems.

  • reconstruct_surface.py:

    Compute a set of patches which represent a surface.

    This program produces a file (defaulting to out.pt) as output which can be used to upsample a point cloud with export_point_cloud.py. You can optionally plot the reconstruction with plot_reconstruction.py.

  • reconstruct_single_patch.py

    Compute a single surface patch fitted to a point cloud.

    As with reconstruct_surface.py, this program produces a file (defaulting to out.pt) as output which can be used to upsample a point cloud with export_point_cloud.py. You can optionally plot the reconstruction with plot_reconstruction.py.

  • plot_reconstruction.py

    Plots a reconstructed point cloud produced by reconstruct_surface.py or reconstruct_single_patch.py

  • export_point_cloud.py

    Exports a dense point cloud from a reconstruction file produced by reconstruct_surface.py or reconstruct_single_patch,py. This can be fed into a standard algorithm such as Screened Poisson Surface Reconstruction to extract a triangle mesh.

Dependencies

With conda (Recommended)

All dependencies can be automatically installed with conda using the provided environment.yml Simply run the following from the root of the repository:

conda env create -f environment.yml

This will create a conda environment named deep-surface-prior with all the correct dependencies installed. You can activate the environment by running:

conda activate deep-surface-prior

Note: this code will not work on Windows due to lack of support by the Point Cloud Utils dependency.

Installing Dependencies Manually (Not Recommended)

If you are not using Conda, you can manually install the following dependencies:

  • Python 3.6 (or later)
  • PyTorch 1.0
  • NumPy 1.15 (or later)
  • SciPy 1.1.0 (or later)
  • FML 0.1 (or later)
  • Point Cloud Utils 0.52 (or later)
  • Maxavi 4.6.2 (or later)
You can’t perform that action at this time.