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:
- U-Net
- Attention U-Net
- CBAM U-Net
- Residual Attention U-Net
- scAG U-Net
- DenseNet121 U-Net
- MobileNetV2 U-Net
- ResNet34 U-Net
- VGG11 U-Net
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.