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 18 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
DOI of GitHub Repository DOI

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 http://users.ntua.gr/pagraf/

Feedback

Feel free to give feedback, by sending an email to: pagraf@central.ntua.gr

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: 3 days ago

Total Commits: 245
Total Committers: 1
Avg Commits per committer: 245.0
Development Distribution Score (DDS): 0.0

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

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

Issue and Pull Request metadata

Last synced: 4 months 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


Package metadata

proxy.golang.org: github.com/pagraf/magicbathynet

proxy.golang.org: github.com/pagraf/MagicBathyNet


Dependencies

environment.yml conda
  • _libgcc_mutex 0.1
  • _openmp_mutex 4.5
  • affine 2.3.0
  • attrs 21.4.0
  • aws-c-common 0.4.57
  • aws-c-event-stream 0.1.6
  • aws-checksums 0.1.9
  • aws-sdk-cpp 1.8.185
  • blas 1.0
  • brotlipy 0.7.0
  • bzip2 1.0.8
  • c-ares 1.18.1
  • ca-certificates 2024.3.11
  • cairo 1.16.0
  • certifi 2021.5.30
  • cffi 1.14.6
  • cfitsio 3.470
  • cftime 1.5.0
  • charset-normalizer 2.0.4
  • click 7.1.2
  • click-plugins 1.1.1
  • cligj 0.7.2
  • colorama 0.4.4
  • cryptography 35.0.0
  • cuda-cudart 12.1.105
  • cuda-cupti 12.1.105
  • cuda-libraries 12.1.0
  • cuda-nvrtc 12.1.105
  • cuda-nvtx 12.1.105
  • cuda-opencl 12.4.127
  • cuda-runtime 12.1.0
  • cudatoolkit 11.3.1
  • curl 7.86.0
  • cycler 0.11.0
  • dataclasses 0.8
  • dbus 1.13.6
  • deprecated 1.2.12
  • expat 2.4.9
  • ffmpeg 4.3
  • fiona 1.8.13.post1
  • fontconfig 2.14.1
  • freetype 2.12.1
  • freexl 1.0.6
  • gdal 3.0.2
  • geopandas 0.9.0
  • geopandas-base 0.9.0
  • geos 3.8.0
  • geotiff 1.6.0
  • giflib 5.2.1
  • glib 2.69.1
  • gmp 6.2.1
  • gnutls 3.6.15
  • gst-plugins-base 1.14.0
  • gstreamer 1.14.0
  • hdf4 4.2.13
  • hdf5 1.10.6
  • icu 58.2
  • idna 3.3
  • intel-openmp 2022.1.0
  • joblib 1.0.1
  • jpeg 9e
  • json-c 0.13.1
  • kealib 1.4.14
  • kiwisolver 1.3.1
  • krb5 1.19.2
  • lame 3.100
  • lcms2 2.12
  • ld_impl_linux-64 2.38
  • lerc 3.0
  • libboost 1.73.0
  • libcublas 12.1.0.26
  • libcufft 11.0.2.4
  • libcufile 1.9.1.3
  • libcurand 10.3.5.147
  • libcurl 7.86.0
  • libcusolver 11.4.4.55
  • libcusparse 12.0.2.55
  • libdap4 3.19.1
  • libdeflate 1.8
  • libedit 3.1.20221030
  • libev 4.33
  • libffi 3.3
  • libgcc-ng 12.2.0
  • libgdal 3.0.2
  • libgfortran-ng 7.5.0
  • libgfortran4 7.5.0
  • libgomp 12.2.0
  • libiconv 1.16
  • libidn2 2.3.4
  • libkml 1.3.0
  • libnetcdf 4.6.1
  • libnghttp2 1.46.0
  • libnpp 12.0.2.50
  • libnvjitlink 12.1.105
  • libnvjpeg 12.1.1.14
  • libpng 1.6.37
  • libpq 12.9
  • libspatialindex 1.9.3
  • libspatialite 4.3.0a
  • libssh2 1.10.0
  • libstdcxx-ng 11.2.0
  • libtasn1 4.19.0
  • libtiff 4.2.0
  • libunistring 0.9.10
  • libuuid 1.41.5
  • libuv 1.44.2
  • libwebp-base 1.2.4
  • libxcb 1.15
  • libxml2 2.9.14
  • libzip 1.8.0
  • lz4-c 1.9.4
  • mapclassify 2.2.0
  • matplotlib 3.3.4
  • matplotlib-base 3.3.4
  • mkl 2020.2
  • mkl-service 2.3.0
  • mkl_fft 1.3.0
  • mkl_random 1.1.1
  • munch 2.5.0
  • ncurses 6.3
  • netcdf4 1.5.7
  • nettle 3.7.3
  • numpy 1.19.2
  • numpy-base 1.19.2
  • olefile 0.46
  • openh264 2.1.1
  • openjpeg 2.4.0
  • openssl 1.1.1w
  • pandas 1.1.5
  • pcre 8.45
  • pip 21.2.2
  • pixman 0.40.0
  • poppler 0.81.0
  • poppler-data 0.4.11
  • postgresql 12.9
  • proj 6.2.1
  • pycparser 2.21
  • pyopenssl 22.0.0
  • pyparsing 3.0.4
  • pyproj 2.6.1.post1
  • pyqt 5.9.2
  • pysocks 1.7.1
  • python 3.6.13
  • python-dateutil 2.8.2
  • python_abi 3.6
  • pytorch 1.10.2
  • pytorch-cuda 12.1
  • pytorch-mutex 1.0
  • pytz 2021.3
  • qt 5.9.7
  • rasterio 1.1.0
  • readline 8.2
  • requests 2.27.1
  • rtree 0.9.7
  • scikit-learn 0.24.2
  • scipy 1.5.2
  • setuptools 58.0.4
  • shapely 1.7.1
  • sip 4.19.8
  • six 1.16.0
  • snuggs 1.4.7
  • sqlite 3.40.1
  • tabulate 0.8.9
  • threadpoolctl 2.2.0
  • tiledb 2.2.9
  • tk 8.6.12
  • torchaudio 0.10.2
  • torchvision 0.11.3
  • tornado 6.1
  • tqdm 4.64.1
  • typing 3.10.0.0
  • typing_extensions 4.1.1
  • urllib3 1.26.8
  • wheel 0.37.1
  • wrapt 1.12.1
  • xerces-c 3.2.4
  • xz 5.2.8
  • zlib 1.2.13
  • zstd 1.4.9

Score: -Infinity