# CNN-DSO **Repository Path**: itking666/CNN-DSO ## Basic Information - **Project Name**: CNN-DSO - **Description**: Direct Sparse Odometry with CNN Depth Prediction - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-11-25 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CNN-DSO: A combination of Direct Sparse Odometry and CNN Depth Prediction ### 1. Overview

This code provides a combination of [DSO](https://vision.in.tum.de/research/vslam/dso) and [Monodepth](http://visual.cs.ucl.ac.uk/pubs/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](https://arxiv.org/pdf/1810.01011.pdf)) |Sequence on KITTI|CNN-DSO|DSO|ORB-SLAM| |---|---|---|---:| |00|**15.13**|113.18|77.95| |01|**5.901**|X|X| |02|**12.53**|116.81|41.00| |03|1.516|1.3943|**1.018**| |04|**0.100**|0.422|0.930| |05|**20.3**|47.46|40.35| |06|**1.547**|55.61|52.22| |07|**8.369**|16.71|16.54| |08|**10.53**|111.08|51.62| |09|**14.00**|52.22|58.17| |10|**4.10**|11.09|18.47| ### 2. Installation #### 2.1 Dependencies ##### DSO - Setup dependencies of DSO (https://github.com/JakobEngel/dso) ##### Monodepth - Build TensorFlow C++ API (https://github.com/yan99033/monodepth-cpp/tree/master/Tensorflow_build_instructions). **This is the hardest part!** - Build monodepth-cpp (https://github.com/yan99033/monodepth-cpp). - Prepare Monodepth pre-trained model. You can freaze .ckpt or download the model trained on cityscapes and fine-tuned on kitti [here](https://github.com/yan99033/monodepth-cpp/tree/master/model). #### 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 * **Direct Sparse Odometry**, *Engel, Jakob, Vladlen Koltun, and Daniel Cremers*, IEEE transactions on pattern analysis and machine intelligence 40.3 (2018): 611-625. (https://github.com/JakobEngel/dso) * **Unsupervised monocular depth estimation with left-right consistency**, *Godard, Clément, Oisin Mac Aodha, and Gabriel J. Brostow. *, CVPR. Vol. 2. No. 6. 2017. (https://github.com/mrharicot/monodepth) * **CNN-SVO: Improving the Mapping in Semi-Direct Visual Odometry Using Single-Image Depth Prediction.**, Loo, S. Y., Amiri, A. J., Mashohor, S., Tang, S. H., and Zhang, H, arXiv preprint arXiv:1810.01011 (2018). (https://github.com/yan99033/CNN-SVO) * **stereo_dso by HorizonAD:** https://github.com/HorizonAD/stereo_dso ### 5 License GPLv3 license. I don't take any credit from DSO, Monodepth and monodepth-cpp. Please check them.