This is work that I did as part of my Senior thesis at Princeton University. It is an implementation in Tensorflow of the network described by Choy et al in 3D-R2N2: A Unified Approach for Single and Multi-view 3D Object Reconstruction. The project is a neural network capable of performing 3D reconstruction using a variable number of images.
See the video below to see the network in action over a period of 40 epochs. The more red a voxel is the more certain the network is of its prediction at that position.
The network was trainied using an AWS EC2 p2.xlarge instance.
The projects make use of the several python pacakges. It is possible install these package using pip. For example to install the numpy package use the following command.
pip install numpy
It is possible to install tensorflow using pip as shown above but if you are having issues installing tensorflow on your specific platform follow the instructions here.
You can use preexisting shell scripts to make some of the tasks easier. For example
To start training the network, one must first setup the network using a shell script. This creates folders for the data, models and a JSON file to store the parameters of the network being trained.
sh scripts/setup_dir.sh
After seting up the dirs, we use a shell script to download the renders and low dimensional voxel models used by choy et al to train the their network. We then preprocesses the dataset by serializing the data to numpy npy files for easy loading and manipulaiton.
sh scripts/preprocess_dataset.sh
After preparing the dataset for training, you can start training the network with the following shell script
sh scripts/train.sh