RobertoIV / Learning-pixel-level-depth-maps

depth estimation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Learning Pixel-level Depth Maps using an Encoder-decoder Model

Contents

  1. Introduction
  2. Quick Guide
  3. Models
  4. Results
  5. Citation

Introduction

This part contains pretrained models, which are stored in Google Drive.

The code and models verify the results in this paper "Learning Pixel-level Depth Maps using an Encoder-decoder Model". The CNN models trained for depth estimation is available in this directory of results. The results from RGB images are the same as that in this paper when inputs are the testing dataset in datasets. The results from sparse depths and RGBd data may be different from those in the paper slightly, due to the different depth samples. Additionally, the code provided can be used for inference on arbitrary images.

Quick Guide

This code was tested with Python 3.6 and PyTorch 0.3.1. Download the preprocessed NYU Depth V2 and KITTI Odometry dataset that are provided by Fangchang Ma and used by the paper "Sparse-to-Dense: Depth Prediction from Sparse Depth Samples and a Single Image".

Models

A number of trained models can be downloaded here which are used to obtain the results reported in the paper on the benchmark datasets NYU-Depth-v2 and KITTI for indoor and outdoor scenes, respectively. Run the main.py with options to obtain the prediction in this paper "Learning Pixel-level Depth Maps using an Encoder-decoder Model". For example, on the NYU-Depth-v2 dataset, the commands are:

python main.py -b 1 -m rgbd -s 20 --in_channels 512 --data [path_to_dataset] --epochs 30 --optimizer sgd --activation relu --dataset nyudepth --lr 0.01 --evaluate > log-rgbd-20-nyudepth-time.txt

python main.py -b 1 -m rgbd -s 50 --in_channels 512 --data [path_to_dataset] --epochs 30 --optimizer sgd --activation relu --dataset nyudepth --lr 0.01 --evaluate > log-rgbd-50-nyudepth-time.txt

python main.py -b 1 -m d -s 20 --in_channels 512 --data [path_to_dataset] --epochs 30 --optimizer sgd --activation relu --dataset nyudepth --lr 0.01 --evaluate > log-d-20-nyudepth-time.txt

python main.py -b 1 -m d -s 50 --in_channels 512 --data [path_to_dataset] --epochs 30 --optimizer sgd --activation relu --dataset nyudepth --lr 0.01 --evaluate > log-d-50-nyudepth-time.txt

python main.py -b 1 -m rgb -s 0 --in_channels 512 --data [path_to_dataset] --epochs 30 --optimizer sgd --activation relu --dataset nyudepth --lr 0.01 --evaluate > log-rgb-0-nyudepth-time.txt

On the KITTI dataset, the commands are:

python main.py -b 1 -m rgb -s 0 --in_channels 512 --data [path_to_dataset] --epochs 30 --optimizer sgd --activation relu --dataset kitti --lr 0.01 --evaluate > log-rgb-0-kitti-time.txt

python main.py -b 1 -m rgbd -s 50 --in_channels 512 --data [path_to_dataset] --epochs 30 --optimizer sgd --activation relu --dataset kitti --lr 0.01 --evaluate > log-rgbd-50-kitti-time.txt

python main.py -b 1 -m rgbd -s 100 --in_channels 512 --data [path_to_dataset] --epochs 30 --optimizer sgd --activation relu --dataset kitti --lr 0.01 --evaluate > log-rgbd-100-kitti-time.txt

Results

The results are in this paper "Learning Pixel-level Depth Maps using an Encoder-decoder Model".

Citation

If you use our method or code in your work, please consider citing our paper. The citation will be available after the paper is published.

About

depth estimation

License:Apache License 2.0


Languages

Language:Python 100.0%