Author: Alex Wong [email protected]
If you use this code, please cite the following paper:
A. Wong, B. W. Hong and S. Soatto. Bilateral Cyclic Constraint and Adaptive Regularization for Unsupervised Monocular Depth Prediction.
https://arxiv.org/abs/1903.07309
@article{wong2018bilateral,
title={Bilateral Cyclic Constraint and Adaptive Regularization for Unsupervised Monocular Depth Prediction},
author={Wong, Alex and Hong, Byung-Woo and Soatto, Stefano},
journal={arXiv preprint arXiv:1903.07309},
year={2019}
}
The following guide assumes that you are located in the root directory of this repository
and that you have Tensorflow 1.0+ installed
Create a symbolic link to your dataset directory
ln -s /path/to/data/directory/containing/kitti/root/folder data
where /path/to/data/directory/containing/kitti/root/folder
contains your raw KITTI dataset and KITTI 2015 Stereo benchmark
/path/to/data/directory/containing/kitti/root/folder/kitti_raw_data
/path/to/data/directory/containing/kitti/root/folder/kitti_stereo_flow
Run the KITTI data setup script to generate text files containing KITTI training and validation filepaths:
python setup/prep_kitti_eigen_split_data.py
python setup/prep_kitti_kitti_split_data.py
For training on KITTI Eigen Split:
python src/train_monodispnet.py \
--trn_im0_path training/eigen_trn_im0.txt \
--trn_im1_path training/eigen_trn_im1.txt \
--learning_rates 1.8e-4,2.0e-4,1.0e-4,5.0e-5 \
--learning_bounds 0.01,0.90,0.95 \
--max_disparity 0.33 \
--w_ph 0.15 \
--w_st 0.85 \
--w_sm 0.10 \
--w_bc 1.05 \
--n_checkpoint 5000 \
--checkpoint_path checkpoints/eigen_model
For training on KITTI KITTI 2015 Split:
python src/train_monodispnet.py \
--trn_im0_path training/kitti_trn_im0.txt \
--trn_im1_path training/kitti_trn_im1.txt \
--learning_rates 1.8e-4,2.0e-4,1.0e-4,5.0e-5 \
--learning_bounds 0.01,0.90,0.95 \
--max_disparity 0.33 \
--w_ph 0.15 \
--w_st 0.85 \
--w_sm 0.10 \
--w_bc 1.05 \
--n_checkpoint 5000 \
--checkpoint_path checkpoints/kitti_model
Run the following script to evaluate your model:
Generating output for KITTI Eigen Split
python src/run_monodispnet.py \
--im0_path testing/eigen_tst_im0.txt \
--restore_path checkpoints/eigen_model/model.ckpt-000000 \
--output_path checkpoints/eigen_model/outputs \
--max_disparity 0.33
Evaluating KITTI Eigen Split
python src/evaluate_kitti.py \
--npy_path checkpoints/eigen_model/outputs/disparities.npy \
--ims_path testing/eigen_tst_im0.txt \
--gts_path testing/eigen_tst_gtd.txt \
--split eigen \
--max_depth 80
Generating output for KITTI KITTI 2015 Split
python src/run_monodispnet.py \
--im0_path testing/kitti_tst_im0.txt \
--restore_path checkpoints/kitti_model/model.ckpt-000000 \
--output_path checkpoints/kitti_model/outputs \
--max_disparity 0.33
Evaluating KITTI 2015 Split
python src/evaluate_kitti.py \
--npy_path checkpoints/kitti_model/outputs/disparities.npy \
--ims_path testing/kitti_tst_im0.txt \
--gts_path testing/kitti_tst_gtd.txt \
--split kitti
To get the pre-trained models on Eigen and KITTI split and output disparities please visit:
https://tinyurl.com/y2adhhb3