Home

Awesome

Thesis Semantic Image Segmentation on Satellite Imagery using UNets

This project is part of the master thesis Possibilities to improve the performance and robustness of U-Nets for image segmentation in satellite images with a focus on attention mechanisms and transfer learning with the Department of Data Science and Knowledge Engineering at Maastricht University.

Abstract

This master thesis aims to perform semantic segmentation of buildings on satellite images from the SpaceNet challenge 1 dataset using the U-Net architecture. To enable a more focused use of feature-maps, soft attention mechanisms are integrated into the U-Net and examined. Furthermore, possibilities of transfer learning are investigated by using convolutional neural networks pre-trained on ImageNet as encoders for the U-Net. Finally, the performance and robustness for the segmentation task is evaluated for both approaches.

Prerequisites

It is assumed that you have anaconda Python installed. You can create a Python environment with the required dependencies by following:

conda create -n thesis_env python=3.7
conda activate thesis_env
conda install numpy pandas rasterio shapely geopandas matplotlib imageio scikit-image
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch
conda install tifffile

If your CUDA versions differ please refer to Start Locally | PyTorch.

Model weights

The model weights can be found at:

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details. The helper methods in Utils/SolarisHelpers.py are taken from the Solaris project that is licensed under the Apache-2.0 License. Please refer to that license if you plan on reusing that code.