Skip to content
Differential Surface Splatting
Python Cuda C++ Shell
Branch: master
Clone or download
Latest commit 5231327 Jul 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
DSS options Jun 10, 2019
example_data change default camera position for gif production Jun 11, 2019
images add yoga images Jun 10, 2019
pytorch_points @ 6509e4f submodule pytorch_points Jun 26, 2019
scripts remove unused files Jun 11, 2019
trained_models add missing download_data.sh Jun 11, 2019
.gitignore init commit Jun 5, 2019
.gitmodules submodule pytorch_points Jun 26, 2019
README.md Update README.md Jul 8, 2019
finetune_shape.py init commit Jun 5, 2019
learn_image_filter.py
learn_shape_from_target.py init commit Jun 5, 2019
requirements.txt options Jun 10, 2019
setup.py init commit Jun 5, 2019

README.md

DSS: Differentiable Surface Splatting (Arxiv)

bunny

installation

  1. clone
git clone --recursive https://github.com/yifita/DSS.git
cd dss
  1. install prequisitories. Our code uses python3.7, the installation instruction requires the latest anaconda.
# install cuda, cudnn, nccl from nvidia
# we tested with cuda 10.1, cudnn 7.5, nccl 1.3.5
# update conda
conda update -n base -c defaults conda
# install requirements
conda config --add channels pytorch
conda config --add channels conda-forge
conda create --name DSS --file requirements.txt
conda activate DSS
# plyfile package is not on conda
pip install plyfile
  1. compile cuda library
cd pytorch_points
python setup.py install
cd ..
python setup.py develop 

Demos

inverse rendering - shape deformation

sphere to teapot
# inverse rendering test: optimize point positions and normals to transform sphere to teapot
python learn_shape_from_target.py example_data/scenes/sphere.json -t example_data/scenes/teapot.json

teapot

cube to yoga
python learn_shape_from_target.py example_data/scenes/cube_20k.json  -t example_data/scenes/yoga6.json --name yoga6_z_paper_1

yoga1

python finetune_shape.py learn_examples/yoga6_z_paper_1/final_scene.json  -t example_data/scenes/yoga6.json --name yoga6_z_paper_1_1

yoga2

denoising

cd trained_models
# unix system can run this command directly
./download_data.sh

# 0.3% noise
python learn_image_filter.py example_data/scenes/pix2pix_denoise.json --cloud example_data/pointclouds/noisy03_points/a72-seated_jew_aligned_pca.ply

# 1.0% noise
python learn_image_filter.py example_data/scenes/pix2pix_denoise_noise01.json --cloud example_data/noisy1_points/a72-seated_jew_aligned_pca.ply

denoise_0.3noise

You can’t perform that action at this time.