Git Product home page Git Product logo

dps-net's Introduction

DPS-Net: Deep Polarimetric Stereo Depth Estimation

This repository is the official PyTorch implementation of the method present in

DPS-Net: Deep Polarimetric Stereo Depth Estimation

Chaoran Tian, Weihong Pan, Zimo Wang, Mao Mao, Guofeng Zhang, Hujun Bao, Ping Tan, Zhaopeng Cui

This repository is based on the Lipson's implementation of RAFT-Stereo. It is trained and tested in Ubuntu 20.04 + PyTorch 1.10.2 + RTX 3090.

Install

git clone https://github.com/Ethereal-Tiansss/DPS-Net.git
cd DPS-Net
conda env create -f environment.yml
conda activate dpsnet

Run

Data Preparation

Synthetic Data

Please follow IPS-Generator to synthetic polarimetric stereo dataset named as IPS dataset in our paper.

Real Data

The real polarimetric dataset is provide as well. The RPS dataset utilized in DPS-Net can be download from Google Drive.

Training

For convenience, we encapsulate all training and finetuning commands in scripts/train_<dataset>.sh To train our model, simply run:

python ./cmd/train_ips.sh
python ./cmd/train_rps.sh

Evaluation

To evaluate a trained model on a test set, run

python ./cmd/evaluate_ips.sh
python ./cmd/evaluate_rps.sh

Citing

We will appreciate it if you would like to cite our work via:

@inproceedings{tian2023dps,
  title={DPS-Net: Deep polarimetric stereo depth estimation},
  author={Tian, Chaoran and Pan, Weihong and Wang, Zimo and Mao, Mao and Zhang, Guofeng and Bao, Hujun and Tan, Ping and Cui, Zhaopeng},
  booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
  pages={3569--3579},
  year={2023}
}

Acknowledgement

Thanks RAFT-Stereo, for providing nice and inspiring implementations of RAFT-Stereo. Thanks IRS for the open source stereo dataset, which includes the accurate surface normal and depth.

dps-net's People

Contributors

ethereal-tian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dps-net's Issues

gradient computation has been modified by an inplace operation

when I run python ./cmd/train_rps.sh , get Error: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [6, 2, 40, 90]] is at version 9; expected version 7 instead. Hint: enable anomaly detection to find the operation that failed to compute its gradient, with torch.autograd.set_detect_anomaly(True).

This Error is positioned on line 220, in train.py -> scaler.scale(loss).backward().

I couldn't find the location for the 'inplace operation'. Can someone help me?thanks

What are the input polarizing images in dataset?

Your work is really great! However, I encounter some problems while reproducing the experiment. I got a really good result using the dataset you provided while get a bad result using my own dataset. I thought it could be wrong input of network. In your paper, the input of network are 6 images, 2 RGB image and 4 polarizing images(I guess they are aolp images and dolp images?). But in your code, you only input 4 images, 2 RGB images and 2 polarizing images. The polarizing image in your dataset is like below:
lpL_0
Is this image a combination of aolp image and dolp image? I will really appreciated it if you can solve my problem.

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.