CNN-DSO: A combination of Direct Sparse Odometry and CNN Depth Prediction

February 16, 2019 · View on GitHub

1. Overview

This code provides a combination of DSO and Monodepth. For every keyframe, depth values are initialized with the prediction from Monodepth.

Absolute keyframe trajectory RMSE (in meter) on KITTI dataset (DSO and ORB-SLAM numbers are from CNN-SVO paper)

Sequence on KITTICNN-DSODSOORB-SLAM
0015.13113.1877.95
015.901XX
0212.53116.8141.00
031.5161.39431.018
040.1000.4220.930
0520.347.4640.35
061.54755.6152.22
078.36916.7116.54
0810.53111.0851.62
0914.0052.2258.17
104.1011.0918.47

2. Installation

2.1 Dependencies

DSO
Monodepth

2.3 Build

  • Download the repository.

      git clone https://github.com/muskie82/CNN-DSO.git
    
  • Modify paths to include directories and libraries of TensorFlow and monodepth-cpp in CMakeLists.txt (4 lines of /abosolute/path/to/XXXXX).

  • Build

      cd CNN-DSO
      mkdir build
      cd build
      cmake ..
      make -j4
    

3 Usage

In addition to original DSO command line, you should specify the path to pre-trained model by cnn.

	bin/dso_dataset \
		files=XXXXX/sequence_XX/image_0 \
		calib=XXXXX/sequence_XX/camera.txt \
		cnn=XXXXX/model_city2kitti.pb \
		preset=0 \
		mode=1

4 Reference

5 License

GPLv3 license. I don't take any credit from DSO, Monodepth and monodepth-cpp. Please check them.