Git Product home page Git Product logo

iterdepth's Introduction

IterDepth

The official code of IterDepth: Iterative Residual Refinement for Outdoor Self-Supervised Multi-Frame Monocular Depth Estimation

Cheng Feng, Zhen Chen, Congxuan Zhang, Weiming Hu, Bing Li, and Feng Lu. – TCSVT 2024

[Link to paper]

We introduce IterDepth, an iterative residual refinement network to dense depth estimation.

✏️ 📄 Citation

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

@article{DBLP:journals/tcsv/FengCZHLL24,
  author       = {Cheng Feng and
                  Zhen Chen and
                  Congxuan Zhang and
                  Weiming Hu and
                  Bing Li and
                  Feng Lu},
  title        = {IterDepth: Iterative Residual Refinement for Outdoor Self-Supervised
                  Multi-Frame Monocular Depth Estimation},
  journal      = {{IEEE} Trans. Circuits Syst. Video Technol.},
  volume       = {34},
  number       = {1},
  pages        = {329--341},
  year         = {2024},
  url          = {https://doi.org/10.1109/TCSVT.2023.3284479},
  doi          = {10.1109/TCSVT.2023.3284479},
  timestamp    = {Fri, 26 Jan 2024 07:57:10 +0100},
  biburl       = {https://dblp.org/rec/journals/tcsv/FengCZHLL24.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}
}

👀 Reproducing Paper Results

To recreate the results from our paper, run:

CUDA_VISIBLE_DEVICES=<your_desired_GPU> \
python train \
    --data_path <your_KITTI_path> \
    --log_dir <your_save_path>  \
    --model_name <your_model_name>
    --iters 6
    --png

Depending on the size of your GPU, you may need to set --batch_size to be lower than 8. Additionally you can train a high resolution model by adding --height 320 --width 1024.

For instructions on downloading the KITTI dataset, see Monodepth2

💾 Pretrained weights and evaluation

You can download weights for some pretrained models here:

To evaluate a model on KITTI, run:

CUDA_VISIBLE_DEVICES=<your_desired_GPU> \
python evaluate_depth \
    --data_path <your_KITTI_path> \
    --load_weights_folder <your_model_path>
    --iters 6
    --eval_mono
    --png

If you want to evaluate a teacher network (i.e. the monocular network used for consistency loss), then add the flag --eval_teacher. This will load the weights of mono_encoder.pth and mono_depth.pth, which are provided for our KITTI models.

In my experience, employing different software environments can yield varying evaluation results even when using the same weight file. The specific versions of the software utilized in this article are outlined below:

numpy                         1.21.5
opencv-python                 4.5.5.64
Pillow-SIMD                   9.0.0.post1
torch                         1.11.0
torchvision                   0.12.0

👩‍⚖️ Acknowledgement and License

The majority of the code for this project comes from Manydepth. We appreciate the outstanding contributions Project has made to this field.

Meanwhile, the licensing of this project is the same as that of Manydepth.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.