Code Monkey home page Code Monkey logo

generate3d's Introduction

generate3D

With the recent advances in convolutional neural networks (CNNs) and the availability of large scale 3D datasets like Shapenet, there has been increased interest in learning based approaches for 3D shape reconstruction. Unlike images, there is no standard representation for 3D shapes. Until now, deep neural networks have used variety of representations for 3D shapes like voxel grids, point clouds, deformable meshes or patches and graph based structures. Voxel grids have been a popular choice to represent 3D shapes because of their underlying regular grid structure. Two most popular voxel grid representations used have been Occupancy Grids and Distance Fields. We have used both representations to reconstruct 3D shape of an object from a single image and provided a comparison of the accuracy of generated 3D models. We have experimented with two different architectures for our encoder-decoder network and provided a comparison of their performance. The details about our work can be found in the Report which is present in the literature folder.

Get started

  1. Clone repo:

git clone https://github.com/ParikaGoel/complete3D

  1. Ask for dataset: (You will need ShapeNet).

  2. Copy dataset content into ./Assets/.

  3. Compile c++ programs

cd {vox2mesh, dfgen}
make
  1. Voxelize CADs (shapenet):

python3 ./src/scripts/CADVoxelization.py

  1. Rendering images of the shapenet model from different viewpoints

python3 ./src/scripts/renderer.py

  1. Generating raycasted voxels for input to the network (For now the model id and category id are hardcoded in python file)

python3 ./src/scripts/raytracing.py

  1. Training the network (There are different scripts to train occupancy and distance field representation. Example commands are given below)

python3 trainer_occ.py --synset_id 04379243 --model_name Net3D --gt_type occ --train_batch_size 32 --val_batch_size 32 --truncation 3 --lr 0.001 --lr_decay 0.5 --n_vis 20

python3 trainer_df.py --synset_id 04379243 --model_name UNet3D --gt_type tdflog --use_logweight --train_batch_size 8 --val_batch_size 32 --truncation 3 --lr 0.001 --lr_decay 0.1 --n_vis 20 --num_epochs 50

More parameters can be customized which can be seen in the script

generate3d's People

Contributors

parikagoel avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.