This repository contains the implementation for a U-Net (Ronneberg et al. 2015) model that leverages multiple remote sensing data for flood extent mapping using the dataset from the FDSI sub-task from the Multimedia Satellite Task of the MediaEval 2017. The presented U-Net leverages a dense connectivity pattern (removing the need for distant layers to re-learn redundant feature maps), and Channel and Spatial Squeeze and Excite blocks (re-calibrating the learned feature maps adaptively).
@article{Ronneberger2015UNetCN,
title = {U-Net: Convolutional Networks for Biomedical Image Segmentation},
author = {Olaf Ronneberger and Philipp Fischer and Thomas Brox},
journal = {ArXiv},
year = {2015},
volume = {abs/1505.04597}
}
The dataset files are too big to put on a github repository, so it is necessary to download them from this Google Drive folder and place them in the following hierarchy:
project
│ README.md
│ main.py
│ ...
└─── flood-data
│ │ devset_01_elevation_and_slope
│ │ devset_01_imperviousness
│ │ devset_01_NDVI
│ │ devset_01_NDWI
│ │ devset_01_satellite_images
│ │ devset_01_segmentation_masks
│ │ ...
The code was developed and tested in Python 3.6.7 with Keras 2.2.4, using Tensorflow 1.13.2 as backend. The code supports re-training and model loading from a previous saved model. To run the script simply execute:
$ python3 main.py --mode {train, load} --channels {three, four, six, seven, eight}