Skip to content

๐Ÿ’ผ PaddleMono: A Unified Framework for Monocular Depth Estimation

Notifications You must be signed in to change notification settings

Zhao-Yian/PaddleMono

Repository files navigation

๐Ÿ’ผ PaddleMono: A Unified Framework for Monocular Depth Estimation

A lightweight, easy-to-extend, easy-to-learn, high-performance, and for-fair-comparison toolkit based on PaddlePaddle for Monocular Depth Estimation. It is a part of the PaddleDepth project.

๐Ÿ’ก Visualization

Monocular Depth Estimation

๐Ÿ“ฃ Implemented Algorithms

As initial version, we support the following algoirthms. We are working on more algorithms. Of course, you are welcome to add your algorithms here.

  1. Monodepth2 (ICCV2019)[1]
  2. MLDA-Net (TIP2021)[2]
  3. Depth Hints (ICCV2019)[3]
  4. BTS[4]

Please click the hyperlink of each algorithm for more detailed explanation.

๐Ÿ“ Installation

You can either git clone this whole repo by:

git clone https://github.com/Zhao-Yian/PaddleMono.git
cd PaddleMono
pip install -r requirements.txt

Please use PaddleMono in python 3.9.

๐Ÿ•๏ธ Dataset

see guidance in dataset_prepare for dataset preparation.

๐Ÿค– Usage

  1. Modify the configuration file in the corresponding directories in configs.
  2. Run the train.py with specified config, for example, python train.py --config configs/monodepthv2/mdp.yml
  • We provide shell scripts to help you reproduce our experimental results: bash configs/monodepth/mdp.sh.

โ™จ๏ธ Customization

It is easy to design your own method with following steps:

  1. Check and write your own model's to model
  2. Write your own config file (.sh or .yml)

๐Ÿš€ Results

We present results of our implementations on the popular KITTI benchmarks with Eigen split.

Note: We did not optimize the model results by additional tricks, so you can directly use the provided shell scripts to reproduce the accuracy we report in the table.

KITTI

Method abs_rel sq_rel rms log_rms a1 a2 a3
Monodepth2_640x192 0.112 0.839 4.846 0.193 0.875 0.957 0.980
Monodepth2_1024x32 0.112 0.833 4.748 0.191 0.880 0.960 0.981
Depth Hints_640x192 0.110 0.818 4.728 0.189 0.881 0.959 0.981
Depth Hints_1024x320 0.109 0.794 4.474 0.185 0.887 0.963 0.982
MLDANet_640x192 0.108 0.829 4.678 0.184 0.885 0.962 0.983
BTS Densenet121_704x352 0.050 0.201 2.547 0.082 0.970 0.995 0.999

๐ŸŒŸ Contribution

The toolkit is under active development and contributions are welcome! Feel free to submit issues or emails to ask questions or contribute your code. If you would like to implement new features, please submit a issue or emails to discuss with us first.

๐Ÿ‘ Acknowledgement

PaddleDepth is an open source project that is contributed by researchers and engineers from various colleges and companies. We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their new algorithms.

๐Ÿค References

[1] Godard C, Mac Aodha O, Firman M, et al. Digging into self-supervised monocular depth estimation[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 3828-3838.

[2] Song X, Li W, Zhou D, et al. MLDA-Net: Multi-level dual attention-based network for self-supervised monocular depth estimation[J]. IEEE Transactions on Image Processing, 2021, 30: 4691-4705.

[3] Watson J, Firman M, Brostow G J, et al. Self-supervised monocular depth hints[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 2162-2171.

[4] LEE J, HAN M, KO D, et al. From big to small: Multi-scale local planar guidance for monocular depth estimation[Z]//arXiv: Computer Vision and Pattern Recognition. 2019.

โœ๏ธ Citation

If you find this toolkit or the results are helpful to you and your research, please cite us!

@software{Zhao_PaddleMono_2024,
author = {Zhao, Yian and Shen, Zhelun and Zheng, Bopei},
license = {Apache-2.0},
month = dec,
title = {{PaddleMono: A Unified Framework for Monocular Depth Estimation}},
url = {https://github.com/Zhao-Yian/PaddleMono},
version = {1.0},
year = {2024}
}

โœจ Contact

About

๐Ÿ’ผ PaddleMono: A Unified Framework for Monocular Depth Estimation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published