Learning Depth from Monocular Videos using Direct Methods, CVPR 2018
Implementation of the methods in "Learning Depth from Monocular Videos using Direct Methods". If you find this code useful, please cite our paper:
@InProceedings{Wang_2018_CVPR,
author = {Wang, Chaoyang and Miguel Buenaposada, José and Zhu, Rui and Lucey, Simon},
title = {Learning Depth From Monocular Videos Using Direct Methods},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2018}
}
Python 3.6
PyTorch 0.3.1 (latter or eariler version of Pytorch is non-compatible.)
visdom, dominate
We refer "SfMLeaner" to prepare the training data from KITTI. We assume the processed data is put in directory "./data_kitti/".
Start visdom server before for inspecting learning progress before starting the training process.
python -m visdom.server -port 8009
bash run_train_posenet.sh
see run_train_posenet.sh for details.
Use pretrained posenet to give initialization for DDVO. Corresponds to the results reported as "PoseNet+DDVO" in the paper.
bash run_train_finetune.sh
see run_train_finetune.sh for details.
Pretrained depth network reported as "Posenet-DDVO(CS+K)" in the paper [download].
Depth prediction results on KITTI eigen test split(see Table 1 in the paper): [Posenet(K)], [DDVO(K)], [Posenet+DDVO(K)],[Posenet+DDVO(CS+K)]
To test yourself:
CUDA_VISIBLE_DEVICES=0 nice -10 python src/testKITTI.py --dataset_root $DATAROOT --ckpt_file $CKPT --output_path $OUTPUT --test_file_list test_files_eigen.txt
We again refer to "SfMLeaner" for their evaluation code.
Part of the code structure is borrowed from "Pytorch CycleGAN"