The goal of this project is to train and deploy an image segmentation model, the model is an encoder-decoder that was trained on a dataset of 80 images of the ISEM 2019 class, the images were first segmented manually using VGG Image Annotator tool that produces a csv file that contains the coordinates of the various segmentation polygons, using this file a mask was created for every image, since the dataset is kinda small, during the training a data pipeline was setup to apply various transformations to the training images and masks in order to help the model generalize better. a dockerized web app was created to explore various deployment options (tensorflowjs, flask web service, ...).
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
The main dependencies you need to install
pip install tensorflow
pip install keras
pip install Flask
pip install pymongo
Clone the repo
git clone https://github.com/mezanass/seg_app.git
cd seg_app/deployment/flask/
run without Docker
# uncomment lines 18 and 29 from seg_app/deployment/flask/seg_app.py and comment lines 19 and 30
# install nomgodb or comment line 45 from seg_app.py
./setup.sh
run with Docker
./dockerize.sh
- Tensorflow - Training the model
- Keras - Training the model
- Flask - The web framework used
- MongoDB - The noSQL database used
This project is licensed under the MIT License - see the LICENSE.md file for details
- Huge thanks to the author of this notebook that was a great help