Git Product home page Git Product logo

semantic-segmentation-aerial-imagery-using-pspnet-unet's Introduction

Semantic Segmentation of Aerial Images from Hurricane Harvery Using PSPNET

This projects served as part of a requirement for the Foundations of Deep Learning at CentraleSupélec. The task is a semantic segmentation one requiring not only the prediction of of 26 different possible classes within an image but to generate masks to indicate where the classes exist within the images. Since the dataset is of images from Hurricane Harvey, the main objective would be to accurately determine segments of images that have been affected by flooding and identify the objects in the vicintiy of the flood. The project was a challenging one and a successful deployment could yield to an assistance in quicker indentification of flood zones to dispatch rescue teams.

Note: Only sample images have been added to this repository for illustration. Actual training was done on full dataset

Authors

The project is done by Karim El Hage, Ruining Ma

Project Content

1 - Understanding of the Class Distribution within the images

2 - Image Augmentation and Patching: Training Images are augmented using several techniques and split into segment patches

3 - Modeling, Evaluation, and Comparison: The model is trained using PSPNet and evalauted using a weighted multi-F1 dice score and Accuracy in Class Prediction

4- Demonstration of Algorithm: A few demonstration of the model's predictive capabilities compared to the True masks

Results

A demonstration of the results can be found below. Each image (left) in the provided training set had an associated mask generated by humans (middle). The prediction of the model's mask can then also be visualized (right). The best model trained was a model with a PSP-Net architecture acheiving a F1 dice score of 74% on an unseen testing set. We can see that the model is able to correctly predict classers in general but fails to work with the finer details in an mask.

image

Future Work

It has been observed during training that several training masks do not reflect the exact representation of an image, especially during the instance of a flooding. In the below example, we can see how a validation mask has not trees shown in a flooded region whereas the model predicted the exposed trees in the flooded area. This leads to the model outputting a lower accuracy even though it has technically produced the correct class. In future work, the dataset can be explored in detail to create a better image augmentation plan to integrate minority classes better and to deal with the situation of incorrect true masks.

image

Cite

A special shoutout to Dr. Sreenivas Bhattiprolu who's learning material on Image Augmentation and Semantic Segmentation have been a true help to understanding the application of Semantic Segmentation. Link to his repo: https://github.com/bnsreenu/python_for_microscopists

semantic-segmentation-aerial-imagery-using-pspnet-unet's People

Contributors

data-rk avatar karimelhage avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

data-rk

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.