All Projects → Hippogriff → Csgnet

Hippogriff / Csgnet

Licence: mit
CSGNet: Neural Shape parser for Constructive Solid Geometry

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Csgnet

Curated List Of Awesome 3d Morphable Model Software And Data
The idea of this list is to collect shared data and algorithms around 3D Morphable Models. You are invited to contribute to this list by adding a pull request. The original list arised from the Dagstuhl seminar on 3D Morphable Models https://www.dagstuhl.de/19102 in March 2019.
Stars: ✭ 375 (+581.82%)
Mutual labels:  3d-graphics, generative-model
3DCSGNet
CSGNet for voxel based input
Stars: ✭ 34 (-38.18%)
Mutual labels:  generative-model, 3d-graphics
Ksim
The little simulator that could.
Stars: ✭ 11 (-80%)
Mutual labels:  3d-graphics
Opencv Tutorials
Tutorials for learning OpenCV in Python from Scratch
Stars: ✭ 36 (-34.55%)
Mutual labels:  computervision
Dcgan Pytorch
PyTorch Implementation of DCGAN trained on the CelebA dataset.
Stars: ✭ 32 (-41.82%)
Mutual labels:  generative-model
Simple Variational Autoencoder
A VAE written entirely in Numpy/Cupy
Stars: ✭ 20 (-63.64%)
Mutual labels:  generative-model
Wavegan Pytorch
PyTorch implementation of " Synthesizing Audio with Generative Adversarial Networks"
Stars: ✭ 33 (-40%)
Mutual labels:  generative-model
Mnist inception score
Training a MNIST classifier, and use it to compute inception score (ICP)
Stars: ✭ 25 (-54.55%)
Mutual labels:  generative-model
Fspy
A cross platform app for quick and easy still image camera matching
Stars: ✭ 1,056 (+1820%)
Mutual labels:  3d-graphics
Vktk
Vulkan Toolkit
Stars: ✭ 32 (-41.82%)
Mutual labels:  3d-graphics
Okutama Action
Okutama-Action: An Aerial View Video Dataset for Concurrent Human Action Detection
Stars: ✭ 36 (-34.55%)
Mutual labels:  computervision
Discogan Pytorch
PyTorch implementation of "Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"
Stars: ✭ 961 (+1647.27%)
Mutual labels:  generative-model
Osgearth
A 3D Mapping Engine & SDK for OpenSceneGraph.
Stars: ✭ 908 (+1550.91%)
Mutual labels:  3d-graphics
Awesome Creative Coding
Creative Coding: Generative Art, Data visualization, Interaction Design, Resources.
Stars: ✭ 8,696 (+15710.91%)
Mutual labels:  3d-graphics
Dcgan Tensorflow
A tensorflow implementation of "Deep Convolutional Generative Adversarial Networks"
Stars: ✭ 6,963 (+12560%)
Mutual labels:  generative-model
Ligdream
Novel molecules from a reference shape!
Stars: ✭ 47 (-14.55%)
Mutual labels:  generative-model
Earth Defender
🚀 A distributed soft real-time 3D single/multiplayer game build with Erlang/OTP and Three.js
Stars: ✭ 7 (-87.27%)
Mutual labels:  3d-graphics
Vkquake
Vulkan Quake port based on QuakeSpasm
Stars: ✭ 955 (+1636.36%)
Mutual labels:  3d-graphics
Pytorch Mnist Vae
Stars: ✭ 32 (-41.82%)
Mutual labels:  generative-model
Notes
The notes for Math, Machine Learning, Deep Learning and Research papers.
Stars: ✭ 53 (-3.64%)
Mutual labels:  generative-model

CSGNet: Neural Shape Parser for Constructive Solid Geometry

This repository contains code accompaning the paper: CSGNet: Neural Shape Parser for Constructive Solid Geometry, CVPR 2018.

Here we only include the code for 2D CSGNet. Code for 3D is available on this repository.

Dependency

  • Python 3.*
  • Please use conda env using environment.yml file.
    conda env create -f environment.yml -n CSGNet
    source activate CSGNet
    

Data

  • Synthetic Dataset:

    Download the synthetic dataset and CAD Dataset. Pre-trained model is available here. Synthetic dataset is provided in the form of program expressions, instead of rendered images. Images for training, validation and testing are rendered on the fly. The dataset is split in different program lengths.

    tar -zxvf synthetic.tar.gz -C data/
    
  • CAD Dataset

    Dataset is provided in H5Py format.

    mv cad.h5 data/cad/
    

Supervised Learning

  • To train, update config_synthetic.yml with required arguments. Default arguments are already filled. Then run:

    python train_synthetic.py
    
  • To test, update config_synthetic.yml with required arguments. Default arguments are already filled. Then run:

    # For top-1 testing
    python test_synthetic.py
    
    # For beam-search-k testing
    python test_synthetic_beamsearch.py
    

RL fintuning

  • To train a network using RL, fill up configuration in config_cad.yml or keep the default values and then run:

    python train_cad.py
    

    Make sure that you have trained a network used Supervised setting first.

  • To test the network trained using RL, fill up configuration in config_cad.yml or keep the default values and then run:

    # for top-1 decoding
    python test_cad.py
    
    # beam search decoding
    python test_cad_beamsearch.py
    

    For post processing optmization of program expressions (visually guided search), set the flag REFINE=True in the script test_cad_beam_search.py, although it is little slow. For saving visualization of beam search use SAVE_VIZ=True

  • To optmize some expressions for cad dataset:

    # To optmize program expressions from top-1 prediction
    python refine_cad.py path/to/exp/to/optmize/exp.txt  path/to/directory/to/save/exp/
    

    Note that the expression files here should only have 3k expressions corresponding to the 3k test examples from the CAD dataset.

  • To optmize program expressions from top-1 prediction

    python refine_cad_beamsearch.py path/to/exp/to/optmize/exp.txt  path/to/directory/to/save/exp/
    

    Note that the expression files here should only have 3k x beam_width expressions corresponding to the 3k test examples from the CAD dataset.

  • To visualize generated expressions (programs), look at the script visualize_expressions.py

Cite:

@InProceedings{Sharma_2018_CVPR,
author = {Sharma, Gopal and Goyal, Rishabh and Liu, Difan and Kalogerakis, Evangelos and Maji, Subhransu},
title = {CSGNet: Neural Shape Parser for Constructive Solid Geometry},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2018}
}

Contact

To ask questions, please email.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].