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.
- Host: GitHub
- URL: https://github.com/pagraf/magicbathynet
- Owner: pagraf
- License: other
- Created: 2024-01-25T10:21:08.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-26T09:26:44.000Z (about 1 month ago)
- Last Synced: 2025-03-28T00:41:09.511Z (about 1 month ago)
- Topics: 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
- Language: Jupyter Notebook
- Homepage: https://www.magicbathy.eu
- Size: 800 KB
- Stars: 30
- Watchers: 1
- Forks: 4
- Open Issues: 1
- Releases: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
README.md
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.
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."
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.
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
- Name: Panagiotis Agrafiotis
- Login: pagraf
- Email:
- Kind: user
- Description:
- Website: http://users.ntua.gr/pagraf/
- Location: Athens Greece
- Twitter:
- Company: National Technical University of Athens
- Icon url: https://avatars.githubusercontent.com/u/35768562?v=4
- Repositories: 1
- Last ynced at: 2023-07-06T13:40:59.383Z
- Profile URL: https://github.com/pagraf
GitHub Events
Total
- Issues event: 1
- Watch event: 7
- Issue comment event: 2
- Push event: 17
- Fork event: 3
Last Year
- Issues event: 1
- Watch event: 7
- Issue comment event: 2
- Push event: 17
- Fork event: 3
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 | 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
Top Issue Authors
- vinson2233 (1)
Top Pull Request Authors
Top Issue Labels
Top Pull Request Labels
Dependencies
- 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