Please note that this repository is longer functional and only exists for archival purposes. Since the release of this repository, several other approaches (e.g. https://arxiv.org/abs/1609.03677) have produced superior results; therefore, I recommend that you explore these methods instead. Regardless, the model.py provides a "barebones" implementation without weights or display tools.
DepthNet is an unofficial Tensorflow implementation of Predicting Depth, Surface Normals and Semantic Labels with a Common Multi-Scale Convolutional Architecture. Note: This repository was created for a research project, not associated with NYU, to explore the implications of residual neural networks for monocular depth estimation and smartphone-based spatial mapping. These modifications were not included in this repository for compeleteness. If you would like these modification, please email me at rcbridendev@gmail.com.
There are two ways to install NYUDepthNet - Automatic and Manual. The latter is complex to configure, so it's recommended that you use the Automatic method.
This is the recommended way to install NYUDepthNet.
- Clone the repository.
- Install dependencies
- Run main.py to ensure NYUDepthNet was installed correctly.
This installation method is more complex; however, it does grant increased customizability.
- Clone the repository.
- Install dependencies
- Theano
- Install the dependencies mentioned in the Automatic method.
- There are two methods to setup the installation:
- Run setup_env.py
- Manually download an unpack weights
- Download weights and scripts from NYU
- Convert weights from .pk format to .npy or to tensorflow variables. NOTE: These weights are formatted as Theano tensors, so they must be converted to Tensorflow tensors. See TheanoUnpickler.
- Run main.py to ensure NYUDepthNet was installed correctly.