Semantic Segmentation of Aerial Images with Fully Convolutional Network

This notebook presents a straightforward PyTorch implementation of a Fully Convolutional Network for semantic segmentation of aerial images. More specifically, we aim to automatically perform scene interpretation of images taken from a plane or a satellite by classifying every pixel into several land cover classes. Here, we adapt the baseline implementation of the SegNet model presented in "Beyond RGB: Very High Resolution Urban Remote Sensing With Multimodal Deep Networks ", Nicolas Audebert, Bertrand Le Saux and Sébastien Lefèvre, ISPRS Journal, 2018.

Datasets

The Vaihingen <https://www2.isprs.org/commissions/comm2/wg4/benchmark/2d-sem-label-vaihingen/> is a well-known dataset used of for urban semantic segmentation staring from the ISPRS 2D Semantic Labeling Contest - Vaihingen. The datasets is available at the ISPRS Challenge website.

Dataset format:
* images are 3-channel RGB geotiffs
* masks are 3-channel geotiffs with unique RGB values representing the class

Dataset classes:

0. Clutter/background
1. Impervious surfaces
2. Building
3. Low Vegetation
4. Tree
5. Car

Workspace utilities

UNET