kakaxi314 / GuideNet

Implementation for our paper 'Learning Guided Convolutional Network for Depth Completion'
MIT License
154 stars 14 forks source link

Learning Guided Convolutional Network for Depth Completion.

Introduction

This is the pytorch implementation of our paper.

Dependency

PyTorch 1.4
PyTorch-Encoding v1.4.0

Setup

Compile the C++ and CUDA code:

cd exts
python setup.py install

Dataset

Please download KITTI depth completion dataset. The structure of data directory:

└── datas
    └── kitti
        ├── data_depth_annotated
        │   ├── train
        │   └── val
        ├── data_depth_velodyne
        │   ├── train
        │   └── val
        ├── raw
        │   ├── 2011_09_26
        │   ├── 2011_09_28
        │   ├── 2011_09_29
        │   ├── 2011_09_30
        │   └── 2011_10_03
        ├── test_depth_completion_anonymous
        │   ├── image
        │   ├── intrinsics
        │   └── velodyne_raw
        └── val_selection_cropped
            ├── groundtruth_depth
            ├── image
            ├── intrinsics
            └── velodyne_raw

Configs

The config of different settings:

Compared to GN, GNS uses fewer parameters to generate the guided kernels, but achieves slightly better results.

Trained Models

You can directly download the trained model and put it in checkpoints:

Train

You can also train by yourself:

python train.py

Pay attention to the settings in the config file (e.g. gpu id).

Test

With the trained model, you can test and save depth images.

python test.py

Citation

If you find this work useful in your research, please consider citing:

@article{guidenet,
  title={Learning guided convolutional network for depth completion},
  author={Tang, Jie and Tian, Fei-Peng and Feng, Wei and Li, Jian and Tan, Ping},
  journal={IEEE Transactions on Image Processing},
  volume={30},
  pages={1116--1129},
  year={2020},
  publisher={IEEE}
}