All Projects → YvanYin → DiverseDepth

YvanYin / DiverseDepth

Licence: other
The code and data of DiverseDepth

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to DiverseDepth

rectified-features
[ECCV 2020] Single image depth prediction allows us to rectify planar surfaces in images and extract view-invariant local features for better feature matching
Stars: ✭ 57 (-62%)
Mutual labels:  depth-estimation, single-image-depth-prediction, monocular-depth-estimation
FisheyeDistanceNet
FisheyeDistanceNet
Stars: ✭ 33 (-78%)
Mutual labels:  depth-estimation, depth-prediction, monocular-depth-estimation
SGDepth
[ECCV 2020] Self-Supervised Monocular Depth Estimation: Solving the Dynamic Object Problem by Semantic Guidance
Stars: ✭ 162 (+8%)
Mutual labels:  depth-estimation, depth-prediction, monocular-depth-estimation
Visualizing-CNNs-for-monocular-depth-estimation
official implementation of "Visualization of Convolutional Neural Networks for Monocular Depth Estimation"
Stars: ✭ 120 (-20%)
Mutual labels:  depth-estimation, monocular-depth-estimation
temporal-depth-segmentation
Source code (train/test) accompanying the paper entitled "Veritatem Dies Aperit - Temporally Consistent Depth Prediction Enabled by a Multi-Task Geometric and Semantic Scene Understanding Approach" in CVPR 2019 (https://arxiv.org/abs/1903.10764).
Stars: ✭ 20 (-86.67%)
Mutual labels:  depth-prediction, monocular-depth-estimation
adareg-monodispnet
Repository for Bilateral Cyclic Constraint and Adaptive Regularization for Unsupervised Monocular Depth Prediction (CVPR2019)
Stars: ✭ 22 (-85.33%)
Mutual labels:  depth-prediction, single-image-depth-prediction
Depth estimation
Deep learning model to estimate the depth of image.
Stars: ✭ 62 (-58.67%)
Mutual labels:  depth-estimation, monocular-depth-estimation
EPCDepth
[ICCV 2021] Excavating the Potential Capacity of Self-Supervised Monocular Depth Estimation
Stars: ✭ 105 (-30%)
Mutual labels:  depth-estimation, monocular-depth-estimation
monodepth
Python ROS depth estimation from RGB image based on code from the paper "High Quality Monocular Depth Estimation via Transfer Learning"
Stars: ✭ 41 (-72.67%)
Mutual labels:  depth-estimation
Reversing
Code for "Reversing the cycle: self-supervised deep stereo through enhanced monocular distillation"
Stars: ✭ 43 (-71.33%)
Mutual labels:  monocular-depth-estimation
DepthPrediction-CoreML
The example of running Depth Prediction using Core ML
Stars: ✭ 118 (-21.33%)
Mutual labels:  depth-prediction
tf-monodepth2
Tensorflow implementation(unofficial) of "Digging into Self-Supervised Monocular Depth Prediction"
Stars: ✭ 75 (-50%)
Mutual labels:  depth-estimation
Self-Supervised-depth
Self-Supervised depth kalilia
Stars: ✭ 20 (-86.67%)
Mutual labels:  depth-estimation
DSGN
DSGN: Deep Stereo Geometry Network for 3D Object Detection (CVPR 2020)
Stars: ✭ 276 (+84%)
Mutual labels:  depth-estimation
MVSNet pl
MVSNet: Depth Inference for Unstructured Multi-view Stereo using pytorch-lightning
Stars: ✭ 49 (-67.33%)
Mutual labels:  depth-prediction
Dual-CNN-Models-for-Unsupervised-Monocular-Depth-Estimation
Dual CNN Models for Unsupervised Monocular Depth Estimation
Stars: ✭ 36 (-76%)
Mutual labels:  depth-estimation
Monodepth2
[ICCV 2019] Monocular depth estimation from a single image
Stars: ✭ 2,714 (+1709.33%)
Mutual labels:  depth-estimation
diode-devkit
DIODE Development Toolkit
Stars: ✭ 58 (-61.33%)
Mutual labels:  depth-estimation
Normal-Assisted-Stereo
[CVPR 2020] Normal Assisted Stereo Depth Estimation
Stars: ✭ 95 (-36.67%)
Mutual labels:  depth-estimation
All4Depth
Self-Supervised Depth Estimation on Monocular Sequences
Stars: ✭ 58 (-61.33%)
Mutual labels:  depth-estimation

DiverseDepth Project

This project aims to improve the generalization ability of the monocular depth estimation method on diverse scenes. We propose a learning method and a diverse dataset, termed DiverseDepth, to solve this problem. The DiverseDepth contents have been published in our "Virtual Normal" TPAMI version.

This repository contains the source code of our paper (the DiverseDepth part):

  1. Wei Yin, Yfan Liu, Chunhua Shen, Virtual Normal: Enforcing Geometric Constraints for Accurate and Robust Depth Prediction.
  2. Wei Yin, Xinlong Wang, Chunhua Shen, Yifan Liu, Zhi Tian, Songcen Xu, Changming Sun, Dou Renyin. DiverseDepth: Affine-invariant Depth Prediction Using Diverse Data

Training codes have been released!!

Some Results

Any images online Point cloud

Some Dataset Examples

Dataset


Hightlights

  • Generalization: Our method demonstrates strong generalization ability on several zero-shot datasets. The predicted depth is affine-invairiant.

Installation

Datasets

We collect multi-source data to construct our DiverseDepth dataset. The It consists of three parts: Part-in (collected from taskonomy): contains over 100K images Part-out (collected from DIML, we have reprocessed its disparity): contains over 120K images Part-fore (collected from webstereo images and videos): contains 109703 images. We used the GNet method to recompute the disparity of DIML data instead of original provided disparity maps. We provide two ways to download data.

  1. Download from Cloudstor. You can download them with the following method.
sh download_data.sh
  1. Download from Google Drive. See here. for details.

Quick Start (Inference)

  1. Download the model weights

  2. Prepare data.

    • Move the downloaded weights to <project_dir>/
    • Put the testing RGB images to <project_dir>/Minist_Test/test_images/. Predicted depths and reconstructed point cloud are saved under <project_dir>/Minist_Test/test_images/outputs
  3. Test monocular depth prediction. Note that the predicted depths are affine-invariant.

export PYTHONPATH="<PATH to DiverseDepth>"
# run the ResNet-50
python ./Minist_Test/tools/test_depth.py --load_ckpt model.pth
 

Training

  1. Download the ResNeXt pretrained weight and put it under Train/datasets/resnext_pretrain
  2. Download the training data. Refer to 'download_data.sh'. All data are organized under the Train/datasets. The structure of all data are as follows.
|--Train
|--data
|--tools
|--scripts
|--datasets
|    |--DiverseDepth
|    |   |--annotations
|    |   |--depths
|    |   |--rgbs
|    |--taskonomy
|    |   |--annotations
|    |   |--depths
|    |   |--rgbs
|    |   |--ins_planes
|    |--DIML_GANet
|    |   |--annotations
|    |   |--depth
|    |   |--rgb
|    |   |--sky_mask
|    |--resnext_pretrain
|    |   |--resnext50_32x4d.pth
  1. Train the network. The default setting used 4 gpus. If you want to use more gpus, please set $CUDA_VISIBLE_DEVICES, such as export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7. The --batchsize is the number of samples on a single gpu.

    cd Train/scripts
    sh train.sh
    
  2. Test the network on a benchmark. We provide a sample code for testing on NYU. Please download the NYU testing data test.mat for evaluation. If you want to test on other benchmarks, you can follow the sample code.

    cd Train/scripts
    sh test.sh
    

Citation

@article{yin2021virtual,
  title={Virtual Normal: Enforcing Geometric Constraints for Accurate and Robust Depth Prediction},
  author={Yin, Wei and Liu, Yifan and Shen, Chunhua},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI)},
  year={2021}
}

Contact

Wei Yin: [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].