dkasuga / occupancy_networks_tf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Occupancy Networks

This repo contains a TensorFlow implementation of the paper Occupancy Networks - Learning 3D Reconstruction in Function Space. The codes are based on the original implementation.

Dependencies

pip install -r requirement.txt

Installation

Compile the extension modules. You can do this via

python setup.py build_ext --inplace

Usage

Training

To train a new network from scratch, run

python train.py CONFIG.yaml

where you replace CONFIG.yaml with the name of the configuration file you want to use.

Generation

To generate meshes using a trained model, use

python generate.py CONFIG.yaml

where you replace CONFIG.yaml with the correct config file.

Evaluation

For evaluation of the models, we provide two scripts: eval.py and eval_meshes.py.

The main evaluation script is eval_meshes.py. You can run it using

python eval_meshes.py CONFIG.yaml

The script takes the meshes generated in the previous step and evaluates them using a standardized protocol. The output will be written to .pkl/.csv files in the corresponding generation folder which can be processed using pandas.

For a quick evaluation, you can also run

python eval.py CONFIG.yaml

This script will run a fast method specific evaluation to obtain some basic quantities that can be easily computed without extracting the meshes. This evaluation will also be conducted automatically on the validation set during training.

Citation

@inproceedings{Occupancy Networks,
    title = {Occupancy Networks: Learning 3D Reconstruction in Function Space},
    author = {Mescheder, Lars and Oechsle, Michael and Niemeyer, Michael and Nowozin, Sebastian and Geiger, Andreas},
    booktitle = {Proceedings IEEE Conf. on Computer Vision and Pattern Recognition (CVPR)},
    year = {2019}
}

About


Languages

Language:Python 53.5%Language:C++ 18.7%Language:C 12.8%Language:Cython 8.1%Language:Mako 5.9%Language:Shell 1.1%