- Jupyter Notebook 99.6%
- Python 0.3%
- MATLAB 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| datasets | ||
| Evaluation | ||
| lists/dtu | ||
| models | ||
| Dissertation.ipynb | ||
| Dissertation_tpu.ipynb | ||
| eval.py | ||
| README.md | ||
| test.sh | ||
| train.py | ||
| train.sh | ||
| utils.py | ||
| visualize_pfm.py | ||
| visualize_ply.py | ||
An Unofficial Pytorch Implementation of MVSNet
MVSNet: Depth Inference for Unstructured Multi-view Stereo. Yao Yao, Zixin Luo, Shiwei Li, Tian Fang, Long Quan. ECCV 2018. MVSNet is a deep learning architecture for depth map inference from unstructured multi-view images.
This is an unofficial Pytorch implementation of MVSNet done as part of a Thesis project.
How to Use
Environment
- python >= 3.6 (Anaconda)
- pytorch >= 1.0.1
Download
The complete training and testing data can be downloaded from Gaurav-Gosain/dissertation_data (github.com).
Training
- Download the preprocessed DTU training data (Fixed training cameras, from Original MVSNet), and upzip it as the
MVS_TRANINGfolder - in
train.sh, setMVS_TRAININGas your training data path - create a logdir called
checkpoints - Train MVSNet:
./train.sh
Testing
- Download the preprocessed test data DTU testing data (from Original MVSNet) and unzip it as the
DTU_TESTINGfolder, which should contain onecamsfolder, oneimagesfolder and onepair.txtfile. - in
test.sh, setDTU_TESTINGas your testing data path andCKPT_FILEas your checkpoint file. You can also download my pretrained model. - Test MVSNet:
./test.sh
Fusion
in eval.py, I implemented a simple version of depth map fusion.
Evaluation
The matlab based evaluation code provided by the DTU Dataset is used to evaluate the results. The bare minimum code required for evaluation is present in the /Evaluation folder.
The Dissertation.ipynb is a Jupyter Notebook that contains the final code for the entire implementation.
The Dissertation_tpu.ipynb is a Jupyter Notebook that contains the code adapted to work with the pytorch lightning framework.