An implementation of Depth Map Prediction from a Single Image using a Multi-Scale Deep Network by David Eigen et al. in PyTorch.
The paper firstly proposed a coarse-fine convolutional deep neural network approach to estimate depth from a single image.
- depth_eigen.ipynb
- model, preprocessing, train, validation and test
- data_prepare.ipynb
- data preparation and cleaning
NYU Depth I used 2807 train samples and 694 validation samples for a light train and validation.
- Coarse networks per epoch
- Fine networks per epoch
The validation loss is lower than train loss, mostly because dropout is used in coarse6 layer of coarse network. Dropout is prohibited during validation, which leads to better inference results.
Though not so accurate, the depth can be slightly predicted by fine network. The output of coarse network seems unchanged to different input images, which is a problem. Anyway, the losses of both networks are highly above the losses provided in the paper, which are merely around 0.2. I believe better accuracy can be achieved by using more training data and learning iterations.
MIT License