This is a Keras based implementation of a deep UNet that performs satellite image segmentation.
Dataset
The dataset consists of 8-band commercial grade satellite imagery taken from SpaceNet dataset.
Train collection contains few tiff files for each of the 24 locations.
Every location has an 8-channel image containing spectral information of several wavelength channels (red, red edge, coastal, blue, green, yellow, near-IR1 and near-IR2). These files are located in data/mband/ directory.
Also available are correctly segmented images of each training location, called mask. These files contain information about 5 different classes: buildings, roads, trees, crops and water (note that original Kaggle contest had 10 classes).
Resolution for satellite images s 16-bit. However, mask-files are 8-bit.
Implementation
Deep Unet architecture is employed to perform segmentation.
Image augmentation is used for input images to significantly increases train data.
Image augmentation is also done while testing, mean results are exported to result.tif image.
Note: Training for this model was done on a Tesla P100-PCIE-16GB GPU.