Home

Awesome

ResUnet-a

This repository contains implementation of the paper "ResUNet-a: a deep learning framework for semantic segmentation of remotely sensed data" in TensorFlow for the detection of plot boundaries specifically.

Usage

  1. Clone this repo using :
git clone https://github.com/Akhilesh64/ResUnet-a
  1. Install the requirements using :
pip install -r requirements.txt
  1. To start model training run the main.py file with following arguments :
python main.py --image_size 256 --batch_size 8 --num_classes 2 --validation_split 0.2 --epochs 100 --image_path ./images --gt_path ./gt --layer_norm batch --model_save_path ./ --checkpoint_mode epochs
  1. To produce model predictions on a directory of test images run script predict.py with the following arguments :
python predict.py --image_size 256 --num_classes 2 --image_path ./test --model_path ./model.h5 --output_path ./results

Results

                 Original Image                                          Groundtruth                                            Predicted

img1     gt1     result1

img2     gt2     result2

img3     gt3     result3

Citation

The arvix version of the paper can found at the following link.

If you find this repo useful please cite the original authors :

@article{DIAKOGIANNIS202094,
title = "ResUNet-a: A deep learning framework for semantic segmentation of remotely sensed data",
journal = "ISPRS Journal of Photogrammetry and Remote Sensing",
volume = "162",
pages = "94 - 114",
year = "2020",
issn = "0924-2716",
doi = "https://doi.org/10.1016/j.isprsjprs.2020.01.013",
url = "http://www.sciencedirect.com/science/article/pii/S0924271620300149",
author = "Foivos I. Diakogiannis and François Waldner and Peter Caccetta and Chen Wu",
keywords = "Convolutional neural network, Loss function, Architecture, Data augmentation, Very high spatial resolution"
}