Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

DeepSurfels: Learning Online Appearance Fusion

Paper | Video | Project Page


This is the official implementation of the CVPR 2021 submission DeepSurfels: Learning Online Appearance Fusion

DeepSurfels is a novel 3D representation for geometry and appearance information that combines planar surface primitives with voxel grid representation for improved scalability and rendering quality.

If you find our code or paper useful, please consider citing

    title = {{DeepSurfels}: Learning Online Appearance Fusion},
    author = {Mihajlovic, Marko and Weder, Silvan and Pollefeys, Marc and Oswald, Martin R.},
    booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month = {June},
    year = {2021},

Contact Marko Mihajlovic for questions or open an issue / a pull request.


The prerequest is to install python packages specified in the requirements.txt file, which can conveniently accomplished by using an Anaconda environment.

# clone the repo
git clone
cd ./deep_surfels

# create environment
conda env create -f environment.yml
conda activate deep_surfels

Then install the deep_surfel package via pip

pip install ./deep_surfel


Directory ./data_prep/data_samples contains preprocessed toy data samples. See ./data_prep/ on how to prepare your own dataset.


To run the deterministic fusion:

cd appearance_fusion
python -c ../configurations/sample_deterministic.yml --extract_meshes

To trained the learned module:

python -c ../configurations/sample.yml

To evaluate the trained module:

python -c ../configurations/sample.yml --extract_meshes

The rendered images will be stored in the specified logging_root_dir directory. See ./appearance_fusion/ for all available configuration parameters.