GithubHelp home page GithubHelp logo

voxlets's Introduction

Depth Completion Code

@inproceedings{firman-cvpr-2016,
  author = {Michael Firman and Oisin Mac Aodha and Simon Julier and Gabriel J Brostow},
  title = {{Structured Completion of Unobserved Voxels from a Single Depth Image}},
  booktitle = {Computer Vision and Pattern Recognition (CVPR)},
  year = {2016}
}

Downloading the dataset

The tabletop dataset can be downloaded from:

https://dl.dropboxusercontent.com/u/495646/voxlets/voxlets_dataset.zip

This is a 395MB zip file. You will have to change some of the paths in src/pipeline/real_data_paths.py to the location you have extracted the dataset to.

Getting started with the tabletop dataset

An example iPython notebook file loading a ground truth TSDF grid and plotting on the same axes as a depth image is given in src/examples/Voxel_data_io_example.ipynb

Code overview

The code is roughly divided into three areas:

  1. src/common/ is a Python module containing all the classes and functions used for manipulation of the data and running of the routines. Files included are:

    • images.py - classes for RGBD images and videos
    • camera.py - a camera class, enabling points in 3D to be projected into a virtual depth image and vice versa
    • mesh.py - a class for 3D mesh data, including IO and marching cubes conversion
    • voxel_data.py - classes for 3D voxel grids, including various manipulation routines and ability to copy data between grids at different locations in world space
    • carving.py - classes for reconstructing 3D volumes from extrinsicly calibrated depth images.
    • features.py - classes for computing normals and other features from depth images
    • random_forest_structured.py - structured RF class
    • scene.py - class which contains a voxel grid and one or more images with corresponding coordinate frames.
    • voxlets.py - class for storing and predicting voxlets, and for doing the final reconstruction of the output voxel grid.
  2. src/pipeline/ - Contains scripts for loading data, performing processing and saving files out.

  3. src/examples/ - iPython notebooks containing examples of use of the data and code.

Prerequisites

I have run this code using a fairly up-to-date version of Anaconda on Ubuntu 14.04. This probably includes everything you need.

How to run the pipeline on the tabletop dataset

Navigate to src/pipeline

>> python 06_compute_pca.py
>> python 08_extract_all_voxlets.py
>> python 09_train_forest.py
>> python 10_predict.py
>> python 11_render.py

How to run the pipeline on the synthetic NYU dataset

Navigate to src/pipeline

>> python 06_compute_pca.py training_params_nyu_silberman.yaml
>> python 08_extract_all_voxlets.py training_params_nyu_silberman.yaml
>> python 09_train_forest.py training_nyu_silberman.yaml
>> python 10_predict.py testing_params_nyu_silberman.yaml
>> python 11_render.py testing_params_nyu_silberman.yaml

Precomputed predictions

... for the tabletop dataset

You can download our voxelised predictions on the tabletop dataset from here:

https://dl.dropboxusercontent.com/u/495646/voxlets/voxlets_results.zip

This is a 40MB zip file. An example of loading and visualising the predictions are given in the examples folder.

...for the NYU dataset

...coming soon!

voxlets's People

Contributors

mdfirman avatar macaodha avatar

Watchers

Michael Koval avatar Siddhartha Srinivasa 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.