5 Feb 2019

The Eye in the Sky

Satellite Image Segmenation

Problem statement and Objective

Aim of this project is to propose and implement a satellite image classification technique for a given data set of satellite imagery into 9 categories namely, Roads, Buildings, Trees, Grass, Bare Soil, Water, Railways, Swimming pools and Unlabelled areas.

Table of contents


When we visualized the problem statement and the dataset, we tried to find resources related to the same and also started analysing the techniques which could be applied for the solution. On the first go we foundthat the dataset has some missing labels meaning where there is clearly visible that a particular class has to be present but in ground truth it is unlabelled.

Existing work

Work has been done before in this domain of segmenting satellite imagery, using a number of techniques. Various versions of Convolutional Neural Networks are observed to be used to solve this and related problems. The use of the special type of CNN termed as U-net for image segmentation was first observed in the paper titled U-Net: Convolutional Networks for Biomedical Image Segmentation. In the next 3 years, this technique has also found its applications in related domains like satellite imagery.

Standard U-net Model

U-net Standard model

Vegetation and Aqua Indices

Keras(TensorFlow backend)


Optimizer and Activation functions

Cost Function

Evaluation metrics


Larger U-net with 8-channel input

Double U-net with a larger standard and smaller incorporating indices

Threshold variations and learning rate variation




Model and Architecture



Final prediction



Unique Network Architecture Design

Reflection Padding for Global Boundary loss minimisation

Reflections Padding

Overlapping Patches and Selection Procedure for Local Boundary loss minimisation

Rotate Augmentation for Smooth Segmentation

Rotate Augumentation


Accuracy and Cohen Kappa Coefficient

Confusion Matrix

Confusion Matrix