Skip to content

Latest commit

 

History

History
71 lines (60 loc) · 6.17 KB

README.md

File metadata and controls

71 lines (60 loc) · 6.17 KB

Analysis and application of multispectral data for water segmentation using machine learning

Water Segementation from Sentinel-2. Work published in CVMI 2022

Abstract

Monitoring water is a complex task due to its dynamic nature, added pollutants, and land build-up. The availability of high-resolution data by Sentinel-2 multispectral products makes implementing remote sensing applications feasible. However, overutilizing or underutilizing multispectral bands of the product can lead to inferior performance. In this work, we compare the performances of ten out of the thirteenbands available in a Sentinel-2 product for water segmentation using eight machine learning algorithms. We find that the shortwave infrared bands (B11 and B12) are the most superior for segmenting water bodies.B11 achieves an overall accuracy of 71% while B12 achieves 69% across all algorithms on the test site. We also find that the Support Vector Machine (SVM) algorithm is the most favourable for single-band water segmentation. The SVM achieves an overall accuracy of 69% across the tested bands over the given test site. Finally, to demonstrate the effectiveness of choosing the right amount of data, we use only B11 reflectance data to train an artificial neural network, BandNet. Even with abasic architecture, BandNet is proportionate to known architectures for semantic and water segmentation, achieving a 92.47 mIOU on the test site. BandNet requires only a fraction of the time and resources to train and run inference, making it suitable to be deployed on web applications to run and monitor water bodies in localized regions. Our codebase is available at https://github.com/IamShubhamGupto/BandNet


workflow

Environment

All dependencies are prvided in the form of a conda environment yml file. The file is generated on a Windows 11 machine.

cd BandNet
conda env create -f environment.yml

Additional software and resources

Users are required to download and install SNAP to setup the python interface snappy. This cannot be installed by conda or pip directly. This link might be helpful in setting up snappy.

Dataset

We use Sentinel-2 products available from Copernicus. Data used to train bandnet is available under the data folder. For training DeepLabv3+, we release our generated dataset here

Pretrained weights

NOTE: The goal of BandNet is to quickly train and segment water bodies over localized regions and we do not expect it to generalize over other geographical terrains.

We release our pretrained models weights here.

Results

Annotation DeepWaterMapv2 WatNet BanNet
annotation 1 deepwatermap 1 watnet 1 bandnet 1
annotation 2 deepwatermap 2 watnet 2 bandnet 2

Reference

If you find our work useful, please cite using

bibtex

@InProceedings{10.1007/978-981-19-7867-8_56,
author="Gupta, Shubham
and Uma, D.
and Hebbar, R.",
editor="Tistarelli, Massimo
and Dubey, Shiv Ram
and Singh, Satish Kumar
and Jiang, Xiaoyi",
title="Analysis and Application of Multispectral Data for Water Segmentation Using Machine Learning",
booktitle="Computer Vision and Machine Intelligence",
year="2023",
publisher="Springer Nature Singapore",
address="Singapore",
pages="709--718",
abstract="Monitoring water is a complex task due to its dynamic nature, added pollutants, and land build-up. The availability of high-resolution data by Sentinel-2 multispectral products makes implementing remote sensing applications feasible. However, overutilizing or underutilizing multispectral bands of the product can lead to inferior performance. In this work, we compare the performances of ten out of the thirteen bands available in a Sentinel-2 product for water segmentation using eight machine learning algorithms. We find that the shortwave-infrared bands (B11 and B12) are the most superior for segmenting water bodies. B11 achieves an overall accuracy of {\$}{\$}71{\backslash}{\%}{\$}{\$}71{\%}while B12 achieves {\$}{\$}69{\backslash}{\%}{\$}{\$}69{\%}across all algorithms on the test site. We also find that the Support Vector Machine (SVM) algorithm is the most favorable for single-band water segmentation. The SVM achieves an overall accuracy of {\$}{\$}69{\backslash}{\%}{\$}{\$}69{\%}across the tested bands over the given test site. Finally, to demonstrate the effectiveness of choosing the right amount of data, we use only B11 reflectance data to train an artificial neural network, BandNet. Even with a basic architecture, BandNet is proportionate to known architectures for semantic and water segmentation, achieving a 92.47 mIOU on the test site. BandNet requires only a fraction of the time and resources to train and run inference, making it suitable to be deployed on web applications to run and monitor water bodies in localized regions. Our codebase is available at https://github.com/IamShubhamGupto/BandNet.",
isbn="978-981-19-7867-8"
}

License

This work is licensed under the MIT License