Image Segmentation With Deeplab
Image Segmentation using Deeplab v3+
Summary
Experimenting with Quantization of Tensorflow Models on various datasets with the DeepLab v3 Decoder architecture and MobileNet v2 Encoder architecture using a variety of techniques including
- Quantization aware training
- Quantization aware training with delay
- Post training Quantization
- Quantized Inference/Evalulation
Presentation Slide
DeepLab: Deep Labelling for Semantic Image Segmentation
@inproceedings{deeplabv3plus2018, title={Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation}, author={Liang-Chieh Chen and Yukun Zhu and George Papandreou and Florian Schroff and Hartwig Adam}, booktitle={ECCV}, year={2018} }
Installation
pip install all the following required packages.
Requirement
- TensorFlow 1.15
- Jupyter Notebook
- Python 3.6
- Numpy
- Pillow
- matplotlib
- conda
Note: For a ready to use envirenment, a deeplearning ami on an EC2 instance would come with all the required packages needed to run this repo immediatly.
Usage on Colab
- Fine-tuning and Quantization
- Inference
Usage on AWS
- clone the repo
- navigate to ImageSegmentationWithDeeplab (command: cd ImageSegmentationWithDeeplab)
- run the command "jupyter notebook"
- use the provided url (default: localhost:8888)
- open the "inference_deeplab.ipynb" notebook
- From drop down list Cell > Run All
Results
- FLOAT32 Segmentation
- Post-Quantization UINT8 Segmentation (no fine-tuning)
- Post-Quantization UINT8 Segmentation (10K-iteration fine-tuning)
- Quantization-Aware-Training UNIT8 Segmentation
About:
This page (code, report and presentation) is the group "E" submission for Final project for CS256: Selected Topics in Artificial Intelligence, Section 2. Leb by Instructor: Mashhour Solh, Ph.D. The group members are:
- Sherif Elsaid
- Inhee Park
- Sagar Shahi
- Sriram Priyatham Siram
- Anand Vishwakarma
Credits
This project was conducted with free credits provided by AWS educate team.