GithubHelp home page GithubHelp logo

asdlei99 / sarpn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xt-chen/sarpn

0.0 1.0 0.0 2.9 MB

Structure-Aware Residual Pyramid Network for Monocular Depth Estimation IJCAI 2019

Python 100.00%

sarpn's Introduction

Structure-Aware Residual Pyramid Network for Monocular Depth Estimation

This is the implementation of the paper Structure-Aware Residual Pyramid Network for Monocular Depth Estimation, IJCAI 2019, Xiaotian Chen, Xuejin Chen, and Zheng-Jun Zha.

Citation

@inproceedings{Chen2019structure-aware,
             title = {Structure-Aware Residual Pyramid Network for Monocular Depth Estimation},
             author = {Chen, Xiaotian and Chen , Xuejin and Zha, Zheng-Jun},
	     conference={International Joint Conferences on Artificial Intelligence},
             year = {2019}   
} 

Contents

  1. Introduction
  2. Usage
  3. Results
  4. Acknowledgements

Introduction

Monocular depth estimation is an essential task for scene understanding. The underlying structure of objects and stuff in a complex scene is critical to recovering accurate and visually-pleasing depth maps. Global structure conveys scene layouts,while local structure reflects shape details. Recently developed approaches based on convolutional neural networks (CNNs) significantly improve the performance of depth estimation. However, few of them take into account multi-scale structures in complex scenes. In this paper, we propose a Structure-Aware Residual Pyramid Network (SARPN) to exploit multi-scale structures for accurate depth prediction. We propose a Residual Pyramid Decoder (RPD) which expresses global scene structure in upper levels to represent layouts, and local structure in lower levels to present shape details. At each level, we propose Residual Refinement Modules (RRM) that predict residual maps to progressively add finer structures on the coarser structure predicted at the upper level. In order to fully exploit multi-scale image features, an Adaptive Dense Feature Fusion (ADFF) module, which adaptively fuses effective features from all scales for inferring structures of each scale, is introduced. figure

Usage

Dependencies

Train

As an example, use the following command to train SARPN on NYUDV2.

CUDA_VISIBLE_DEVICES="0,1,2,3" python train.py --trainlist_path (the path of trainlist(nyu2_train.csv))\
					       --checkpoint_dir (the directory to save the checkpoints)\
					       --root_path (the root path of dataset)\
					       --logdir (the directory to save logs and checkpoints)\
					       --pretrained_dir (the path of pretrained models)\
					       --do_summary

Evaluation

Use the following command to evaluate the trained SARPN on NYUDV2 test data.

CUDA_VISIBLE_DEVICES="0" python evaluate.py --testlist_path (the path of testlist(nyu2_test.csv))\
					    --root_path (the root path of dataset)\
					    --loadckpt (the path of the loaded model)\
					    --pretrained_dir (the path of pretrained models)\
					    --threshold (threshold of the pixels on edges)

Pretrained Model

You can download the pretrained model:
NYUDV2

Pre-processed Data

You can download the pre-processed data from this link, which is shared by Junjie Hu.

Results

Acknowledgements

Thanks to Junjie Hu for opening source of his excellent work. Our work is inspired by this work and part of codes.

sarpn's People

Contributors

xt-chen avatar

Watchers

 avatar

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.