A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

MagicBathyNet

A Multimodal Remote Sensing Dataset for Benchmarking Learning-based Bathymetry and Pixel-based Classification in Shallow Waters.
https://github.com/pagraf/magicbathynet

Category: Hydrosphere
Sub Category: Ocean Models

Keywords

aerial-imagery bathymetry computer-vision dataset deep-learning depth-estimation earth-observation eu-project magicbathy models ocean-data ocean-mapping remote-sensing satellite-imagery seabed-mapping semantic-segmentation sentinel-2 shallow-water spot6

Last synced: about 17 hours ago
JSON representation

Repository metadata

Quick start guide for benchmarking MagicBathyNet dataset in learning-based bathymetry and pixel-based classification using Remote Sensing imagery.

README.md

magicbathynet

MagicBathyNet: A Multimodal Remote Sensing Dataset for Benchmarking Learning-based Bathymetry and Pixel-based Classification in Shallow Waters

MagicBathyNet is a benchmark dataset made up of image patches of Sentinel-2, SPOT-6 and aerial imagery, bathymetry in raster format and seabed classes annotations. Dataset also facilitates unsupervised learning for model pre-training in shallow coastal areas. It is developed in the context of MagicBathy project.


MagicBathy

Package for benchmarking MagicBathyNet dataset in learning-based bathymetry and pixel-based classification.

This repository contains the code of the paper "P. Agrafiotis, Ł. Janowski, D. Skarlatos and B. Demir, "MAGICBATHYNET: A Multimodal Remote Sensing Dataset for Bathymetry Prediction and Pixel-Based Classification in Shallow Waters," IGARSS 2024 - 2024 IEEE International Geoscience and Remote Sensing Symposium, Athens, Greece, 2024, pp. 249-253, doi: 10.1109/IGARSS53475.2024.10641355."

arXiv IEEE

Citation

If you find this repository useful, please consider giving a star ⭐.
If you use the code in this repository or the dataset please cite:

P. Agrafiotis, Ł. Janowski, D. Skarlatos and B. Demir, "MAGICBATHYNET: A Multimodal Remote Sensing Dataset for Bathymetry Prediction and Pixel-Based Classification in Shallow Waters," IGARSS 2024 - 2024 IEEE International Geoscience and Remote Sensing Symposium, Athens, Greece, 2024, pp. 249-253, doi: 10.1109/IGARSS53475.2024.10641355.

@INPROCEEDINGS{10641355,
  author={Agrafiotis, Panagiotis and Janowski, Łukasz and Skarlatos, Dimitrios and Demir, Begüm},
  booktitle={IGARSS 2024 - 2024 IEEE International Geoscience and Remote Sensing Symposium}, 
  title={MAGICBATHYNET: A Multimodal Remote Sensing Dataset for Bathymetry Prediction and Pixel-Based Classification in Shallow Waters}, 
  year={2024},
  volume={},
  number={},
  pages={249-253},
  doi={10.1109/IGARSS53475.2024.10641355}}

Getting started

Downloading the dataset

For downloading the dataset and a detailed explanation of it, please visit the MagicBathy Project website at https://www.magicbathy.eu/magicbathynet.html

Dataset structure

The folder structure should be as follows:

┗ 📂 magicbathynet/
  ┣ 📂 agia_napa/
  ┃ ┣ 📂 img/
  ┃ ┃ ┣ 📂 aerial/
  ┃ ┃ ┃ ┣ 📜 img_339.tif
  ┃ ┃ ┃ ┣ 📜 ...
  ┃ ┃ ┣ 📂 s2/
  ┃ ┃ ┃ ┣ 📜 img_339.tif
  ┃ ┃ ┃ ┣ 📜 ...
  ┃ ┃ ┣ 📂 spot6/
  ┃ ┃ ┃ ┣ 📜 img_339.tif
  ┃ ┃ ┃ ┣ 📜 ...
  ┃ ┣ 📂 depth/
  ┃ ┃ ┣ 📂 aerial/
  ┃ ┃ ┃ ┣ 📜 depth_339.tif
  ┃ ┃ ┃ ┣ 📜 ...
  ┃ ┃ ┣ 📂 s2/
  ┃ ┃ ┃ ┣ 📜 depth_339.tif
  ┃ ┃ ┃ ┣ 📜 ...
  ┃ ┃ ┣ 📂 spot6/
  ┃ ┃ ┃ ┣ 📜 depth_339.tif
  ┃ ┃ ┃ ┣ 📜 ...
  ┃ ┣ 📂 gts/
  ┃ ┃ ┣ 📂 aerial/
  ┃ ┃ ┃ ┣ 📜 gts_339.tif
  ┃ ┃ ┃ ┣ 📜 ...
  ┃ ┃ ┣ 📂 s2/
  ┃ ┃ ┃ ┣ 📜 gts_339.tif
  ┃ ┃ ┃ ┣ 📜 ...
  ┃ ┃ ┣ 📂 spot6/
  ┃ ┃ ┃ ┣ 📜 gts_339.tif
  ┃ ┃ ┃ ┣ 📜 ...
  ┃ ┣ 📜 [modality]_split_bathymetry.txt
  ┃ ┣ 📜 [modality]_split_pixel_class.txt
  ┃ ┣ 📜 norm_param_[modality]_an.txt
  ┣ 📂 puck_lagoon/
  ┃ ┣ 📂 img/
  ┃ ┃ ┣ 📜 ...
  ┃ ┣ 📂 depth/
  ┃ ┃ ┣ 📜 ...
  ┃ ┣ 📂 gts/
  ┃ ┃ ┣ 📜 ...
  ┃ ┣ 📜 [modality]_split_bathymetry.txt
  ┃ ┣ 📜 [modality]_split_pixel_class.txt
  ┃ ┣ 📜 norm_param_[modality]_pl.txt

The mapping between RGB color values and classes is:

For the Agia Napa area:
0 : (0, 128, 0),   #seagrass
1 : (0, 0, 255),   #rock
2 : (255, 0, 0),   #macroalgae
3 : (255, 128, 0), #sand
4 : (0, 0, 0)}     #Undefined (black)

For the Puck Lagoon area:
0 : (255, 128, 0), #sand
1 : (0, 128, 0) ,  #eelgrass/pondweed
2 : (0, 0, 0)}     #Undefined (black)

Clone the repo

git clone https://github.com/pagraf/MagicBathyNet.git

Installation Guide

The requirements are easily installed via Anaconda (recommended):

conda env create -f environment.yml

After the installation is completed, activate the environment:

conda activate magicbathynet

Open Jupyter Notebook:

jupyter notebook

Train and Test the models

To train and test the bathymetry models use MagicBathyNet_bathymetry.ipynb.

To train and test the pixel-based classification models use MagicBathyNet_pixelclass.ipynb.

Pre-trained Deep Learning Models

We provide code and model weights for the following deep learning models that have been pre-trained on MagicBathyNet for pixel-based classification and bathymetry tasks:

Pixel-based classification

Model Names Modality Area Pre-Trained PyTorch Models
U-Net Aerial Agia Napa unet_aerial_an.zip
SegFormer Aerial Agia Napa segformer_aerial_an.zip
U-Net Aerial Puck Lagoon unet_aerial_pl.zip
SegFormer Aerial Puck Lagoon segformer_aerial_pl.zip
U-Net SPOT-6 Agia Napa unet_spot6_an.zip
SegFormer SPOT-6 Agia Napa segformer_spot6_an.zip
U-Net SPOT-6 Puck Lagoon unet_spot6_pl.zip
SegFormer SPOT-6 Puck Lagoon segformer_spot6_pl.zip
U-Net Sentinel-2 Agia Napa unet_s2_an.zip
SegFormer Sentinel-2 Agia Napa segformer_s2_an.zip
U-Net Sentinel-2 Puck Lagoon unet_s2_pl.zip
SegFormer Sentinel-2 Puck Lagoon segformer_s2_pl.zip

Learning-based Bathymetry

Model Name Modality Area Pre-Trained PyTorch Models
Modified U-Net for bathymetry Aerial Agia Napa bathymetry_aerial_an.zip
Modified U-Net for bathymetry Aerial Puck Lagoon bathymetry_aerial_pl.zip
Modified U-Net for bathymetry SPOT-6 Agia Napa bathymetry_spot6_an.zip
Modified U-Net for bathymetry SPOT-6 Puck Lagoon bathymetry_spot6_pl.zip
Modified U-Net for bathymetry Sentinel-2 Agia Napa bathymetry_s2_an.zip
Modified U-Net for bathymetry Sentinel-2 Puck Lagoon bathymetry_s2_pl.zip

To achieve the results presented in the paper, use the parameters and the specific train-evaluation splits provided in the dataset. Parameters can be found here while train-evaluation splits are included in the dataset.

Example testing results

Example patch of the Agia Napa area (left), pixel classification results obtained by U-Net (middle) and predicted bathymetry obtained by MagicBathy-U-Net (right). For more information on the results and accuracy achieved read our paper.

img_410_aerial
aerial_410_unet
depth_410_aerial

Authors

Panagiotis Agrafiotis https://www.user.tu-berlin.de/pagraf/

Feedback

Feel free to give feedback, by sending an email to: [email protected]

Funding

This work is part of MagicBathy project funded by the European Union’s HORIZON Europe research and innovation programme under the Marie Skłodowska-Curie GA 101063294. Work has been carried out at the Remote Sensing Image Analysis group. For more information about the project visit https://www.magicbathy.eu/.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 240
Total Committers: 1
Avg Commits per committer: 240.0
Development Distribution Score (DDS): 0.0

Commits in past year: 98
Committers in past year: 1
Avg Commits per committer in past year: 98.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Panagiotis Agrafiotis a****s@g****m 240

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 1
Total pull requests: 0
Average time to close issues: N/A
Average time to close pull requests: N/A
Total issue authors: 1
Total pull request authors: 0
Average comments per issue: 2.0
Average comments per pull request: 0
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0

Past year issues: 1
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 2.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/pagraf/magicbathynet

Top Issue Authors

  • vinson2233 (1)

Top Pull Request Authors


Top Issue Labels

Top Pull Request Labels


Dependencies

environment.yml pypi
  • argon2-cffi ==21.3.0
  • argon2-cffi-bindings ==21.2.0
  • async-generator ==1.10
  • backcall ==0.2.0
  • bleach ==4.1.0
  • branca ==0.5.0
  • cartopy ==0.19.0.post1
  • cmocean ==2.0
  • comm ==0.1.4
  • decorator ==4.4.2
  • defusedxml ==0.7.1
  • dill ==0.3.4
  • entrypoints ==0.4
  • folium ==0.13.0
  • geoarray ==0.15.8
  • geojson ==2.5.0
  • imageio ==2.15.0
  • importlib-metadata ==4.8.3
  • ipykernel ==5.5.6
  • ipython ==7.16.3
  • ipython-genutils ==0.2.0
  • ipywidgets ==7.8.1
  • jedi ==0.17.2
  • jinja2 ==3.0.3
  • jsonschema ==3.2.0
  • jupyter ==1.0.0
  • jupyter-client ==7.1.2
  • jupyter-console ==6.4.3
  • jupyter-core ==4.9.2
  • jupyterlab-pygments ==0.1.2
  • jupyterlab-widgets ==1.1.7
  • markupsafe ==2.0.1
  • mistune ==0.8.4
  • nbclient ==0.5.9
  • nbconvert ==6.0.7
  • nbformat ==5.1.3
  • nest-asyncio ==1.6.0
  • networkx ==2.5.1
  • notebook ==6.4.10
  • packaging ==21.3
  • pandocfilters ==1.5.1
  • parso ==0.7.1
  • pexpect ==4.9.0
  • pickleshare ==0.7.5
  • pillow ==8.4.0
  • plotly ==5.13.1
  • prometheus-client ==0.17.1
  • prompt-toolkit ==3.0.36
  • ptyprocess ==0.7.0
  • py-tools-ds ==0.20.2
  • pyepsg ==0.4.0
  • pyfftw ==0.12.0
  • pygments ==2.14.0
  • pykrige ==1.6.1
  • pyrsistent ==0.18.0
  • pyshp ==2.3.1
  • pywavelets ==1.1.1
  • pyzmq ==25.1.2
  • qtconsole ==5.2.2
  • qtpy ==2.0.1
  • scikit-image ==0.17.2
  • send2trash ==1.8.3
  • spectral ==0.23.1
  • tenacity ==8.2.2
  • terminado ==0.12.1
  • testpath ==0.6.0
  • tifffile ==2020.9.3
  • traitlets ==4.3.3
  • wcwidth ==0.2.13
  • webencodings ==0.5.1
  • widgetsnbextension ==3.6.6
  • yellowbrick ==1.3.post1
  • zipp ==3.6.0

Score: 3.4339872044851463