D2HC-RMVSNet

April 8, 2021 ยท View on GitHub

Here is the official repository of our paper "Dense Hybrid Recurrent Multi-view Stereo Net with Dynamic Consistency Checking" (ECCV2020 Spotlight).

How to Use

Requirements

  • python 3.6
  • Pytorch >= 1.0.0
  • CUDA >= 9.0

Install

./conda_install.sh

Training

  • Download the preprocessed DTU training data (also available at Baiduyun, code: s2v2), and upzip it as the MVS_TRANING folder.
  • Set dtu_data_root to your MVS_TRAINING path in env.sh Create a log folder and a model folder in wherever you like to save the training outputs. Set the log_dir and save_dir in train.sh correspondingly.
  • Train: ./train.sh

Testing

  • Download our pretrained model.
  • Set DTU_TESTING path or TP_TESTING path for testing in env.sh.
  • Set MODEL_FOLDER to ckpt and model_ckpt_index to checkpoint_list to choose pretrained model.
  • Run ./eval_dtu.sh for DTU, or ./eval_tanks.sh for Tanks and Temples.

Fusion

  • Run ./fusion.sh for DTU or Tanks and Temples.

Benchmark results

Results on DTU

Acc.Comp.Overall.
0.3950.3780.386

D2HC-RMVSNet point cloud results are provided: DTU evaluation point clouds.

Evaluate the point clouds using the DTU evaluation code.

Results on Tanks and Temples

MeanFamilyFrancisHorseLighthouseM60PantherPlaygroundTrain
59.2074.6956.0449.4260.0859.8159.6160.0453.92

As shown on Tanks and Temples leaderboard.

Results on BlendedMVS

The corresponding point cloud is provided: BlendedMVS result.

The rest reconstructed point clouds of the validation dataset of BlendedMVS are also provided.

Citation

If you find this project useful for your research, please cite:

@inproceedings{yan2020dense,
  title={Dense Hybrid Recurrent Multi-view Stereo Net with Dynamic Consistency Checking},
  author={Yan, Jianfeng and Wei, Zizhuang and Yi, Hongwei and Ding, Mingyu and Zhang, Runze and Chen, Yisong and Wang, Guoping and Tai, Yu-Wing},
  booktitle={ECCV},
  year={2020}
}

Changelog

2020 December 28

Add pretrained model on BlendedMVS.