GithubHelp home page GithubHelp logo

crmauceri / rgbd_deeplab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jfzhang95/pytorch-deeplab-xception

1.0 0.0 0.0 287.91 MB

DeepLab v3+ model in PyTorch supporting RGBD input

License: MIT License

Python 1.05% Jupyter Notebook 98.65% C++ 0.19% Cuda 0.10% C 0.01%
semantic-segmentation rgbd-segmentation rgbd xception resnet deeplab-v3-plus deeplab depth-map depth-image depth-camera

rgbd_deeplab's Introduction

pytorch-deeplab-xception

Differences to parent repository

  • Load RGB-D datasets Cityscapes, COCO, SUNRGBD, and SceneNetRGBD
  • Optional RGB-D network input using 4th channel in first convolutional layer
  • YACS configuration files

Introduction

This is a PyTorch(1.4) implementation of DeepLab-V3-Plus. It can use Modified Aligned Xception and ResNet as backbone.

Installation

The code was tested with Anaconda and Python 3.8. After installing the Anaconda environment:

  1. Clone the repo:

    git clone https://github.com/jfzhang95/pytorch-deeplab-xception.git
    cd pytorch-deeplab-xception
  2. Install dependencies:

    For PyTorch dependency, see pytorch.org for more details.

    Other dependencies:

    conda install matplotlib pillow tqdm protobuf tabulate scipy numpy pandas
    pip install tensorboardX yacs

    Coco tools

    conda install -c conda-forge pycocotools scikit-image
  3. Install dataloader repo

    This is a seperate repo for use in different projects. For more details, see the repo README

    git clone https://github.com/crmauceri/dataset_loaders.git
    cd dataset_loaders/datasets
    make
    cd ../..
    pip install -e .
  4. Compile CUDA code

    The depth-aware convolution and depth-aware average pooling operations are under folder modeling/backbone/ops/, to build them, simply use python setup.py install to compile.

    cd modeling/backbone/ops/depthconv/
    python setup.py install
    
    cd ../depthavgpooling/
    python setup.py install
    
    cd ../../../..
  5. Compile SceneNetRGBD protobuf files

    cd dataloaders/datasets
    make
  6. Install as module:

    cd $root
    pip install -e .

Model Zoo

RGB Models

From parent repo,

Backbone Dataset mIoU in val Pretrained Model
ResNet (pretrained) Pascal VOC 2012 78.43% google drive

New models,

Backbone Dataset mIoU in val Pretrained Model
ResNet (pretrained) COCO google drive
ResNet COCO google drive

RGBD Models

Backbone Dataset mIoU in val Pretrained Model
ResNet COCO + Synthetic Depth google drive
ResNet Cityscapes google drive
ResNet SceneNetRGBD google drive

Training

Follow steps below to train your model:

  1. Configuration files use YACS. Full list of defaults is in deeplab3/config/defaults.py. Configurations used to train model zoo are in configs/. You must set DATASET.ROOT to match your dataset location, otherwise, you can change as many or as few parameters as you desire.

  2. Run training script as To train deeplabv3+ using COCO dataset and ResNet as backbone:

    python deeplab3/train.py <config_file> <optional_parameter_overrides>

    For example, to train deeplabv3+ using SUNRGBD dataset and ResNet as backbone:

    python deeplab3/train.py configs/sunrgbd.yaml

Visualization

Jupyter notebook COCO_Data_Browser.ipynb is provided for visualizing data and trained network results.

Tensorboard can also be used to visualize loss and accuracy metrics during training.

tensorboard serve --log=run/<output_path>

Acknowledgement

PyTorch-Encoding

Synchronized-BatchNorm-PyTorch

drn

rgbd_deeplab's People

Contributors

crmauceri avatar jfzhang95 avatar

Stargazers

 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.