Boosting Monocular Depth Estimation Models to High-Resolution via Content-Adaptive Multi-Resolution Merging

Overview

Boosting Monocular Depth Estimation Models to High-Resolution via Content-Adaptive Multi-Resolution Merging

This repository contains an implementation of our CVPR2021 publication:

Boosting Monocular Depth Estimation Models to High-Resolution via Content-Adaptive Multi-Resolution Merging. S. Mahdi H. Miangoleh, Sebastian Dille, Long Mai, Sylvain Paris, Yağız Aksoy. Main pdf, Supplementary pdf, Project Page.

Teaserimage

Change log:

Setup

We Provided the implementation of our method using MiDas-v2 and SGRnet as the base.

Environments

Our mergenet model is trained using torch 0.4.1 and python 3.6 and is tested with torch<=1.8.

Download our mergenet model weights from here and put it in

.\pix2pix\checkpoints\mergemodel\latest_net_G.pth

To use MiDas-v2 as base: Install dependancies as following:

conda install pytorch torchvision opencv cudatoolkit=10.2 -c pytorch
conda install matplotlib
conda install scipy
conda install scikit-image

Download the model weights from MiDas-v2 and put it in

./midas/model.pt

activate the environment
python run.py --Final --data_dir PATH_TO_INPUT --output_dir PATH_TO_RESULT --depthNet 0

To use SGRnet as base: Install dependancies as following:

conda install pytorch=0.4.1 cuda92 -c pytorch
conda install torchvision
conda install matplotlib
conda install scikit-image
pip install opencv-python

Follow the official SGRnet repository to compile the syncbn module in ./structuredrl/models/syncbn. Download the model weights from SGRnet and put it in

./structuredrl/model.pth.tar

activate the environment
python run.py --Final --data_dir PATH_TO_INPUT --output_dir PATH_TO_RESULT --depthNet 1

Different input arguments can be used to generate R0 and R20 results as discussed in the paper.

python run.py --R0 --data_dir PATH_TO_INPUT --output_dir PATH_TO_RESULT --depthNet #[0or1]
python run.py --R20 --data_dir PATH_TO_INPUT --output_dir PATH_TO_RESULT --depthNet #[0or1]

Evaluation

Fill in the needed variables in the following matlab file and run:

./evaluation/evaluatedataset.m

  • estimation_path : path to estimated disparity maps
  • gt_depth_path : path to gt depth/disparity maps
  • dataset_disp_gttype : (true) if ground truth data is disparity and (false) if gt depth data is depth.
  • evaluation_matfile_save_dir : directory to save the evalution results as .mat file.
  • superpixel_scale : scale parameter to run the superpixels on scaled version of the ground truth images to accelarate the evaluation. use 1 for small gt images.

Training

Navigate to dataset preparation instructions to download and prepare the training dataset.

python ./pix2pix/train.py --dataroot DATASETDIR --name mergemodeltrain --model pix2pix4depth --no_flip --no_dropout
python ./pix2pix/test.py --dataroot DATASETDIR --name mergemodeleval --model pix2pix4depth --no_flip --no_dropout

Citation

This implementation is provided for academic use only. Please cite our paper if you use this code or any of the models.

@INPROCEEDINGS{Miangoleh2021Boosting,
author={S. Mahdi H. Miangoleh and Sebastian Dille and Long Mai and Sylvain Paris and Ya\u{g}{\i}z Aksoy},
title={Boosting Monocular Depth Estimation Models to High-Resolution via Content-Adaptive Multi-Resolution Merging},
journal={Proc. CVPR},
year={2021},
}

Credits

The "Merge model" code skeleton (./pix2pix folder) was adapted from the pytorch-CycleGAN-and-pix2pix repository.

For MiDaS and SGR inferences we used the scripts and models from MiDas-v2 and SGRnet respectively (./midas and ./structuredrl folders).

Thanks to k-washi for providing us with a Google Colaboratory notebook implementation.

Comments
  • Issue max res 720 * 1280 ?

    Issue max res 720 * 1280 ?

    I am running the LeRes and with input (3024, 5376, 3) It tried to downscale by factor of 0.23809523809523808 and result in depthmap output of 720 * 1280 Is this any option that i can adjust to match the original size?

    opened by StevenLi-phoenix 8
  • Possible Google Colab notebook?

    Possible Google Colab notebook?

    Fantastic work! Thanks for sharing. Is there any possibility you might consider creating a google colab notebook for the less technically inclined like myself to try this out?

    enhancement 
    opened by noobtoob4lyfe 6
  • Code section2 error

    Code section2 error

    Hallo. I have had this error pop up over the last couple of days while running Colab. I have Factory reset runtime, and terminated previous sessions. Any help will be much appreciated, thanks in advance, Jonathan

    Cloning into 'BoostingMonocularDepth'... remote: Enumerating objects: 298, done. remote: Counting objects: 100% (298/298), done. remote: Compressing objects: 100% (231/231), done. remote: Total 298 (delta 115), reused 217 (delta 58), pack-reused 0 Receiving objects: 100% (298/298), 55.49 MiB | 3.57 MiB/s, done. Resolving deltas: 100% (115/115), done. Access denied with the following error:

    Cannot retrieve the public link of the file. You may need to change
    the permission to 'Anyone with the link', or have had many accesses. 
    

    You may still be able to access the file from the browser:

     https://drive.google.com/u/0/uc?id=1cU2y-kMbt0Sf00Ns4CN2oO9qPJ8BensP 
    

    mv: cannot stat 'latest_net_G.pth': No such file or directory Access denied with the following error:

    Cannot retrieve the public link of the file. You may need to change
    the permission to 'Anyone with the link', or have had many accesses. 
    

    You may still be able to access the file from the browser:

     https://drive.google.com/uc?id=1nqW_Hwj86kslfsXR7EnXpEWdO2csz1cC 
    

    mv: cannot stat 'model.pt': No such file or directory --2022-02-18 10:13:33-- https://cloudstor.aarnet.edu.au/plus/s/lTIJF4vrvHCAI31/download Resolving cloudstor.aarnet.edu.au (cloudstor.aarnet.edu.au)... 202.158.207.20 Connecting to cloudstor.aarnet.edu.au (cloudstor.aarnet.edu.au)|202.158.207.20|:443... connected. HTTP request sent, awaiting response... 200 OK Syntax error in Set-Cookie: 5230042dc1897=jdrh0u0lfe457ebu190haj24n7; path=/plus;; Secure at position 53. Syntax error in Set-Cookie: oc_sessionPassphrase=tpTKJ%2B%2BsHMKirt%2BEZ4dF2UZOMzNclIR4jgr1AUEX%2BkxgZQbBKzvB9Z2qkVnETdoOSIE66u0s1vRyR%2BzLGfx7GdwhHYmpRShSJmtNYAKETV9YeL9wBN%2FQgPbYLIx364TS; path=/plus;; Secure at position 174. Length: 530760553 (506M) [application/octet-stream] Saving to: ‘download’

    download 100%[===================>] 506.17M 3.85MB/s in 2m 3s

    2022-02-18 10:15:38 (4.12 MB/s) - ‘download’ saved [530760553/530760553]

    opened by Joff1000 5
  • Temporal inconsistency on image sequences

    Temporal inconsistency on image sequences

    The results look awesome. However the result of processing image sequence from video introduces noticeable temporal inconsistency. Any plan to implement some solution to restore temporal consistency, or may be you can suggest any work around to solve that?

    opened by semel1 3
  • urllib.error.HTTPError: HTTP Error 404: Not Found

    urllib.error.HTTPError: HTTP Error 404: Not Found

    Hi all, I have successfully cloned the repository and run it on my Windows PC a few months ago. I am trying it on my Linux device now but I encounter an HTTP Error. I run using this: python run.py --Final --data_dir PATH_TO_INPUT --output_dir PATH_TO_RESULT --depthNet 0 I created a conda environment with python=3.7 and installed the following: conda install pytorch torchvision opencv cudatoolkit=10.2 -c pytorch conda install matplotlib conda install scipy conda install scikit-image

    with the --data_dir and --output_dir inserted and the exact error message I obtained is this:

    initialize network with normal loading the model from ./pix2pix/checkpoints/mergemodel/latest_net_G.pth Loading weights: midas/model.pt Downloading: "https://github.com/facebookresearch/WSL-Images/archive/master.zip" to /home/zhenkai/.cache/torch/hub/master.zip Traceback (most recent call last): File "run.py", line 580, in <module> run(dataset_, option_) File "run.py", line 59, in run midasmodel = MidasNet(midas_model_path, non_negative=True) File "/home/zhenkai/boosting_monocular/BoostingMonocularDepth/midas/models/midas_net.py", line 30, in __init__ self.pretrained, self.scratch = _make_encoder(features, use_pretrained) File "/home/zhenkai/boosting_monocular/BoostingMonocularDepth/midas/models/blocks.py", line 6, in _make_encoder pretrained = _make_pretrained_resnext101_wsl(use_pretrained) File "/home/zhenkai/boosting_monocular/BoostingMonocularDepth/midas/models/blocks.py", line 26, in _make_pretrained_resnext101_wsl resnet = torch.hub.load("facebookresearch/WSL-Images", "resnext101_32x8d_wsl") File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/site-packages/torch/hub.py", line 345, in load repo_dir = _get_cache_or_reload(github, force_reload, verbose) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/site-packages/torch/hub.py", line 144, in _get_cache_or_reload download_url_to_file(url, cached_file, progress=False) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/site-packages/torch/hub.py", line 379, in download_url_to_file u = urlopen(req) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 222, in urlopen return opener.open(url, data, timeout) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 531, in open response = meth(req, response) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 641, in http_response 'http', request, response, code, msg, hdrs) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 563, in error result = self._call_chain(*args) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 503, in _call_chain result = func(*args) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 755, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 531, in open response = meth(req, response) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 641, in http_response 'http', request, response, code, msg, hdrs) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 569, in error return self._call_chain(*args) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 503, in _call_chain result = func(*args) File "/home/zhenkai/anaconda3/envs/boosting/lib/python3.7/urllib/request.py", line 649, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found

    Feels like the problem lies with Downloading:"https://github.com/facebookresearch/WSL-Images/archive/master.zip". Any help is greatly appreciated. thank you!

    Update: Tried the google collab file as well, it gives a similar error.

    opened by Oreobun 3
  • KeyError: 'inner'

    KeyError: 'inner'

    Can anyone guide me to solve the following error:

    I'm trying to run the "test.py" after training by using this command: "python ./pix2pix/test.py --dataroot DATASETDIR --name mergemodeleval --model pix2pix4depth --no_flip --no_dropout"

    but I get this error:


    creating web directory /content/drive/MyDrive/BMD/net/BoostingMonocularDepth/pix2pix/checkpoints/mergemodeleval/test_latest OrderedDict(): OrderedDict() visual_ret[name]: tensor([[[[-0.3939, -0.5247, -0.5284, ..., -0.5045, -0.5042, -0.4400], [-0.5320, -0.5526, -0.5533, ..., -0.5138, -0.5113, -0.5006], [-0.5219, -0.5484, -0.5297, ..., -0.5128, -0.5091, -0.4998], ..., [ 0.3818, 0.3915, 0.3934, ..., -0.4403, -0.4513, -0.4354], [ 0.3901, 0.3910, 0.3884, ..., -0.4387, -0.4599, -0.4186], [ 0.3347, 0.3884, 0.3821, ..., -0.4316, -0.4241, -0.2628]]]], device='cuda:0') visual_ret: OrderedDict([('fake_B', tensor([[[[-0.3939, -0.5247, -0.5284, ..., -0.5045, -0.5042, -0.4400], [-0.5320, -0.5526, -0.5533, ..., -0.5138, -0.5113, -0.5006], [-0.5219, -0.5484, -0.5297, ..., -0.5128, -0.5091, -0.4998], ..., [ 0.3818, 0.3915, 0.3934, ..., -0.4403, -0.4513, -0.4354], [ 0.3901, 0.3910, 0.3884, ..., -0.4387, -0.4599, -0.4186], [ 0.3347, 0.3884, 0.3821, ..., -0.4316, -0.4241, -0.2628]]]], device='cuda:0'))]) processing (0000)-th image... 00380_colors_&0_0&.png Traceback (most recent call last): File "./pix2pix/test.py", line 71, in inner = visuals['inner'] KeyError: 'inner'

    opened by mahdis-sa 3
  • LeReS shape recovery with boosted depth

    LeReS shape recovery with boosted depth

    Thanks for the great work! Is it still possible to use the boosted depth for shape recovery as in the original LeReS work? It looks like the output of base depth model goes through several normalization steps before merging.

    opened by fmu2 3
  • ValueError: operands could not be broadcast together with shapes

    ValueError: operands could not be broadcast together with shapes

    !python run.py --Final --data_dir ./inputs --output_dir ./output1 --depthNet 0

    Traceback (most recent call last): File "run.py", line 498, in run(dataset_, option_) File "run.py", line 242, in run tobemergedto[h1:h2, w1:w2] = np.multiply(tobemergedto[h1:h2, w1:w2], 1 - mask) + np.multiply(merged, mask) ValueError: operands could not be broadcast together with shapes (672,671) (671,672)

    so, add code in run.py (244 - 246)

                h, w = tobemergedto[h1:h2, w1:w2].shape
                mask = cv2.resize(mask, (w, h), interpolation=cv2.INTER_LINEAR)
                merged = cv2.resize(merged, (w, h), interpolation=cv2.INTER_CUBIC)
    question 
    opened by k-washi 3
  • How to speed up the inference?

    How to speed up the inference?

    Hi! Thank you a lot for your work, the results I get with it are really great! I have a question however: is it possible to speed up the inference somehow? I have a dataset of 40k images of resolution 256x256 which I need to extract the depth maps for. I launched the inference with LeRes with the command you specified without changing the code:

    python run.py --Final --data_dir <input_path> --output_dir <output_path> --depthNet 2
    

    and after 9 hours on A100 80GB, it computed the depths maps for only 3K out of 40K images. So, it will take me 5 days on A100 80GB to do inference for my dataset. Is it possible to speed up this process somehow?

    opened by universome 2
  • Evaluate prediction depth on KITTI dataset using evaluatedataset.m

    Evaluate prediction depth on KITTI dataset using evaluatedataset.m

    I have a doubt about the evaluation of prediction results on the KITTI dataset. I tried to get the depth estimation of a particular image from the KITTI dataset and observe the result using a simple python code as shown below. The prediction is done using depthNet = 2 (The LeReS model)

    depth_gt = Image.open(path) depth_gt = np.asarray(depth_gt, dtype=np.float32)

    I printed the result and observe that the "pixel" value of the image is of range [0, 65535], and the ground truth returns a range of [0, 255]. I mainly want to know the ORD error of the image, may I know if there is any image transformation before I do the evaluation? Or I could provide the directory path into estimation_path = ''; gt_depth_path = ''; from evaluatedataset.m and get the ORD error directly.

    To be more specific the prediction depth map obtained from boosting monocular technique, followed by the ground truth and the original RGB are below. Should I rescale the range of the depth map? or I should perform normalization on both of the images before conducting the evaluation. 0000000069(pred) 0000000069 0000000069(rgb)

    Edit: I notice the difference in the "pixel" value is due to a different data type used to represent the image. Some images use float32 to represent their image and the values are in mm while others could be represented by uint8. My question now is how do I use the evaluation code in this case? I am currently doing testing on the DIODE dataset by scaling the ground truth & prediction depth map into uint8 representation before evaluation. Would really like to know if I am doing this correctly.

    opened by Oreobun 2
  • Interpreting results

    Interpreting results

    The resulting depth images have more details but also worse depth estimation comparing with other MiDaS implementations, false color and even exr output match poorly with scene.
    compare

    opened by Slazzo 2
  • Feature Request: Run on CPU or MPS for Apple M1/M2

    Feature Request: Run on CPU or MPS for Apple M1/M2

    I've been trying to get it to run on my M1 machine. Remove CUDA dependencies wherever I found them. But now I'm stuck here:

    initialize network with normal
    loading the model from ./pix2pix/checkpoints/mergemodel/latest_net_G.pth
    start processing
    processing image 0 : sample1
    (2964, 3820, 3)
    	 wholeImage being processed in : 2912
     	 	 DEBUG| GPU THRESHOLD REACHED 2912 ---> 1568
    Traceback (most recent call last):
      File "run.py", line 581, in <module>
        run(dataset_, option_)
      File "run.py", line 125, in run
        whole_estimate = doubleestimate(img, option.net_receptive_field_size, whole_image_optimal_size,
      File "run.py", line 401, in doubleestimate
        pix2pixmodel.test()
      File "/Users/jan/Documents/ML/BoostingMonocularDepth/pix2pix/models/base_model.py", line 106, in test
        self.forward()
      File "/Users/jan/Documents/ML/BoostingMonocularDepth/pix2pix/models/pix2pix4depth_model.py", line 116, in forward
        self.fake_B = self.netG(self.real_A)  # G(A)
      File "/opt/homebrew/Caskroom/miniforge/base/envs/sketch-simplyfication/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
        return forward_call(*input, **kwargs)
      File "/Users/jan/Documents/ML/BoostingMonocularDepth/pix2pix/models/networks.py", line 473, in forward
        return self.model(input)
      File "/opt/homebrew/Caskroom/miniforge/base/envs/sketch-simplyfication/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
        return forward_call(*input, **kwargs)
      File "/Users/jan/Documents/ML/BoostingMonocularDepth/pix2pix/models/networks.py", line 541, in forward
        return self.model(x)
      File "/opt/homebrew/Caskroom/miniforge/base/envs/sketch-simplyfication/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
        return forward_call(*input, **kwargs)
      File "/opt/homebrew/Caskroom/miniforge/base/envs/sketch-simplyfication/lib/python3.8/site-packages/torch/nn/modules/container.py", line 204, in forward
        input = module(input)
      File "/opt/homebrew/Caskroom/miniforge/base/envs/sketch-simplyfication/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
        return forward_call(*input, **kwargs)
      File "/opt/homebrew/Caskroom/miniforge/base/envs/sketch-simplyfication/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 463, in forward
        return self._conv_forward(input, self.weight, self.bias)
      File "/opt/homebrew/Caskroom/miniforge/base/envs/sketch-simplyfication/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 459, in _conv_forward
        return F.conv2d(input, weight, bias, self.stride,
    RuntimeError: Input type (MPSFloatType) and weight type (torch.FloatTensor) should be the same
    

    I don't know where to put a .to("mps") or whatever needs to be done. Anyone else got it to work?

    opened by krummrey 1
  • Repairing the Inference Notebook

    Repairing the Inference Notebook

    The inference notebook currently does not work. I rewrote the notebook setup a bit until it worked again, feel free to use this version. Until this is merged or otherwise fixed, feel free to use my notebook.

    opened by adiehl96 0
  • GPU thresh hold for nvidia A100 ??

    GPU thresh hold for nvidia A100 ??

    GPU_threshold = 1600 - 32 # Limit for the GPU (NVIDIA RTX 2080), can be adjusted

    how to find this out for a apecific gpu , does it imapact performance ??

    is it the numbers of cuda cores of a gpu ??

    opened by 1kaiser 2
  • Colab Notebook AttributeError again?

    Colab Notebook AttributeError again?

    Hi, it seems like this error is occuring often when I try to use the Colab Notebook lately. If I reset the runtime and start over, sometimes it works, and sometimes not. It happens with both MiDaS and LeReS, and I don't think it depends on what file(s) or filetypes are in the inputs folder. However, it does appear to work after this error if I create a new folder for the input images, move the images into that folder, and update the directory in the last code cell to match. But how can this be avoided? Please advise—thank you!

    I see this error was mentioned before and a bug was fixed—maybe it's the same issue again? A user also mentioned a .ipynb_checkpoint file in the inputs file, but when I try to run a command to remove it, it's not found. But the fact that using a different folder works suggest maybe it's a related problem?

    Traceback (most recent call last): File "run.py", line 580, in <module> run(dataset_, option_) File "run.py", line 107, in run for image_ind, images in enumerate(dataset): File "/content/BoostingMonocularDepth/utils.py", line 215, in __getitem__ return Images(self.rgb_image_dir, self.files, index) File "/content/BoostingMonocularDepth/utils.py", line 148, in __init__ self.rgb_image = read_image(os.path.join(self.root_dir, name)) File "/content/BoostingMonocularDepth/utils.py", line 27, in read_image if img.ndim == 2: AttributeError: 'NoneType' object has no attribute 'ndim'

    opened by WorldofDepth 5
Owner
Computational Photography Lab @ SFU
Computational Photography Lab at Simon Fraser University, lead by @yaksoy
Computational Photography Lab @ SFU
Monocular Depth Estimation Using Laplacian Pyramid-Based Depth Residuals

LapDepth-release This repository is a Pytorch implementation of the paper "Monocular Depth Estimation Using Laplacian Pyramid-Based Depth Residuals" M

Minsoo Song 205 Dec 30, 2022
(CVPR 2022 - oral) Multi-View Depth Estimation by Fusing Single-View Depth Probability with Multi-View Geometry

Multi-View Depth Estimation by Fusing Single-View Depth Probability with Multi-View Geometry Official implementation of the paper Multi-View Depth Est

Bae, Gwangbin 138 Dec 28, 2022
Apply our monocular depth boosting to your own network!

MergeNet - Boost Your Own Depth Boost custom or edited monocular depth maps using MergeNet Input Original result After manual editing of base You can

Computational Photography Lab @ SFU 142 Dec 17, 2022
Light-weight network, depth estimation, knowledge distillation, real-time depth estimation, auxiliary data.

light-weight-depth-estimation Boosting Light-Weight Depth Estimation Via Knowledge Distillation, https://arxiv.org/abs/2105.06143 Junjie Hu, Chenyou F

Junjie Hu 13 Dec 10, 2022
Neural Reprojection Error: Merging Feature Learning and Camera Pose Estimation

Neural Reprojection Error: Merging Feature Learning and Camera Pose Estimation This is the official repository for our paper Neural Reprojection Error

Hugo Germain 78 Dec 1, 2022
Official implementation of the network presented in the paper "M4Depth: A motion-based approach for monocular depth estimation on video sequences"

M4Depth This is the reference TensorFlow implementation for training and testing depth estimation models using the method described in M4Depth: A moti

Michaël Fonder 76 Jan 3, 2023
[CVPR 2021] Monocular depth estimation using wavelets for efficiency

Single Image Depth Prediction with Wavelet Decomposition Michaël Ramamonjisoa, Michael Firman, Jamie Watson, Vincent Lepetit and Daniyar Turmukhambeto

Niantic Labs 205 Jan 2, 2023
[ICCV 2021] Excavating the Potential Capacity of Self-Supervised Monocular Depth Estimation

EPCDepth EPCDepth is a self-supervised monocular depth estimation model, whose supervision is coming from the other image in a stereo pair. Details ar

Rui Peng 110 Dec 23, 2022
This repo is for Self-Supervised Monocular Depth Estimation with Internal Feature Fusion(arXiv), BMVC2021

DIFFNet This repo is for Self-Supervised Monocular Depth Estimation with Internal Feature Fusion(arXiv), BMVC2021 A new backbone for self-supervised d

Hang 3 Oct 22, 2021
the official code for ICRA 2021 Paper: "Multimodal Scale Consistency and Awareness for Monocular Self-Supervised Depth Estimation"

G2S This is the official code for ICRA 2021 Paper: Multimodal Scale Consistency and Awareness for Monocular Self-Supervised Depth Estimation by Hemang

NeurAI 4 Jul 27, 2022
SimpleDepthEstimation - An unified codebase for NN-based monocular depth estimation methods

SimpleDepthEstimation Introduction This is an unified codebase for NN-based monocular depth estimation methods, the framework is based on detectron2 (

null 8 Dec 13, 2022
ONNX-GLPDepth - Python scripts for performing monocular depth estimation using the GLPDepth model in ONNX

ONNX-GLPDepth - Python scripts for performing monocular depth estimation using the GLPDepth model in ONNX

Ibai Gorordo 18 Nov 6, 2022
ONNX-PackNet-SfM: Python scripts for performing monocular depth estimation using the PackNet-SfM model in ONNX

Python scripts for performing monocular depth estimation using the PackNet-SfM model in ONNX

Ibai Gorordo 14 Dec 9, 2022
Repository for "Toward Practical Monocular Indoor Depth Estimation" (CVPR 2022)

Toward Practical Monocular Indoor Depth Estimation Cho-Ying Wu, Jialiang Wang, Michael Hall, Ulrich Neumann, Shuochen Su [arXiv] [project site] DistDe

Meta Research 122 Dec 13, 2022
The implemention of Video Depth Estimation by Fusing Flow-to-Depth Proposals

Flow-to-depth (FDNet) video-depth-estimation This is the implementation of paper Video Depth Estimation by Fusing Flow-to-Depth Proposals Jiaxin Xie,

null 32 Jun 14, 2022
Code for our paper Domain Adaptive Semantic Segmentation with Self-Supervised Depth Estimation

CorDA Code for our paper Domain Adaptive Semantic Segmentation with Self-Supervised Depth Estimation Prerequisite Please create and activate the follo

Qin Wang 60 Nov 30, 2022
Re-implementation of the Noise Contrastive Estimation algorithm for pyTorch, following "Noise-contrastive estimation: A new estimation principle for unnormalized statistical models." (Gutmann and Hyvarinen, AISTATS 2010)

Noise Contrastive Estimation for pyTorch Overview This repository contains a re-implementation of the Noise Contrastive Estimation algorithm, implemen

Denis Emelin 42 Nov 24, 2022
Python scripts form performing stereo depth estimation using the high res stereo model in PyTorch .

PyTorch-High-Res-Stereo-Depth-Estimation Python scripts form performing stereo depth estimation using the high res stereo model in PyTorch. Stereo dep

Ibai Gorordo 26 Nov 24, 2022