# Semantic Segmentation Using DeepLab V3

## Introduction

DeepLab is a series of image semantic segmentation models, whose latest version, i.e. v3+, proves to be the state-of-art. Its major contribution is the use of atrous spatial pyramid pooling (ASPP) operation at the end of the encoder. While the model works extremely well, its open sourced code is hard to read. Here we re-implemented DeepLab v3, the earlier version of v3+, which only additionally employs the decoder architecture, in a much simpler and understandable way. This is a collaborative project developed by me and Shengjie Lin from Toyota Technological Institute at Chicago.

## Dependencies

• Python 3.5
• TensorFlow 1.8
• Tqdm 4.26.0
• Numpy 1.14
• OpenCV 3.4.3
• Pillow 5.3.0

## Files

The nets directory contains network definition files that are directly copied from tensorflow/models/research/slim/nets.

## Usages

Download and extract VOC2012 dataset, SBD dataset, and pretrained models to designated directories.

For example, to download and extract datasets and models into directories specified:

For simplicity, please just run the following command in terminal:

### Train Model

For simplicity, please run the following command in terminal:

With learning rate of 1e-5, the mIOU could be greater 0.7 after 20 epochs, which is comparable to the test statistics of DeepLab v3 in the publication.

### Demos

To show some demos, please run the following command in terminal:

Image Label Prediction
Image Label Prediction
Image Label Prediction
Image Label Prediction

## GitHub

Semantic Segmentation Using DeepLab V3

https://leimao.github.io/project/DeepLab-V3/

Lei Mao

12-11-2018

12-11-2018