Home

Awesome

A Higher Performance Pytorch Implementation of DeepLab V3 Plus

Introduction

This repo is an (re-)implementation of Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation in PyTorch for semantic image segmentation on the PASCAL VOC dataset. And this repo has a higher mIoU of 79.19% than the result of paper which is 78.85%.

Requirements

Python(3.6) and Pytorch(0.4.1) is necessary before running the scripts. To install the required python packages(expect PyTorch), run

pip install -r requirements.txt

Datasets

To train and validate the network, this repo use the augmented PASCAL VOC 2012 dataset which contains 10582 images for training and 1449 images for validation. To use the dataset, you can download the PASCAL VOC training/validation data (2GB tar file) here and download the SegmentationClassAug from dropbox or Baidu Netdisk

Training

Before training, you should clone this repo:

git clone git@github.com:hualin95/Deeplab-v3plus.git

You can begin training by running the train.py.

#training
cd Deeplab-v3plus-master/tools/   
python train.py

You are expected to achieve PA:94.77%, MPA:88.48%, MIoU:79.19%, FWIoU:90.53% on the validation.

#Monitoring
tensorboard --logdir=runs/ --port=80

Performance

VOC2012: after 30k iterations with a batch size of 16.

Backbonetrain OSeval OSMSmIoU papermIoU repo
Resnet1011616No78.85%79.19%

TODO