xingyuuchen / tri-depth

[WACV 2023] Self-Supervised Monocular Depth Estimation: Solving the Edge-Fattening Problem
GNU General Public License v3.0
78 stars 6 forks source link
computer-vision depth-estimation kitti monocular-depth pytorch self-supervised self-supervised-learning

TriDepth

The official Pytorch implementation of the paper "Self-Supervised Monocular Depth Estimation: Solving the Edge-Fattening Problem" (WACV 2023)

We introduce TriDepth, a high-performance depth estimator with a highly generalizable redesigned triplet loss.

πŸ“ˆ KITTI Results

State-of-the-Art Performance:

sota_result

Also Highly Generalizable:

generalizability

✏️ Citation

If you find our work useful or interesting, please consider citing our paper:

@inproceedings{chen2023self,
  title={{Self-Supervised Monocular Depth Estimation: Solving the Edge-Fattening Problem}},
  author={Chen, Xingyu and Zhang, Ruonan and Jiang, Ji and Wang, Yan and Li, Ge and Li, Thomas H},
  booktitle={Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision},
  pages={5776--5786},
  year={2023}
}

πŸ‘€ Training

Our code is build upon Manydepth.

KITTI-RAW dataset and pre-computed segmentation images provided by FSRE-Depth are needed for training.

🐷 Note: The pre-computed segmentation is NOT needed for evaluating.

KITTI-RAW/
    β”œβ”€β”€ 2011_09_26/             
    β”œβ”€β”€ 2011_09_28/                    
    β”œβ”€β”€ 2011_09_29/
    β”œβ”€β”€ 2011_09_30/
    β”œβ”€β”€ 2011_10_03/
    └── segmentation/   # download and unzip "segmentation.zip" 

Training command goes like:

python -m manydepth.train --data_path {YOUR_KITTI_DATASET_PATH} --batch_size 8 --model_name {MODEL_NAME_YOU_LIKE}

To evaluate, run:

python -m manydepth.evaluate_depth --data_path {YOUR_KITTI_DATASET_PATH} --eval_mono --load_weights_folder {YOUR_MODEL_PATH}

🐷 Note: Make sure you have run export_gt_depth.py to generate ground truth depth before evaluating.

🌟 Pretrained Model

Pretrained model (640x192) is now available!!