Skip to content


Repository files navigation


Satellite-Derived Bathymetry using Convolutional Neural Networks and Sentinel-2 multispectral images.

Bathymetric depth in shallow water regions is essential for coastal management and research purposes. The measurements using echo sounding or Lidar have high operational costs, require extensive measurement time, and leave data gaps. Satellite-Derived Bathymetry (SDB) becomes an alternative to extract shallow water depths using multispectral imagery. There are two approaches of SDB: analytical and empirical. The analytical method requires several water properties and assumptions. The empirical method relies on the linear relationship between reflectances and in-situ depths, while it may not be entirely linear due to variation in bottom types, water column, and noise. Machine learning approaches have been used to address nonlinearity, but the spatial correlation is still not considered. The spatial correlation also influences SDB computations assuming that adjacent reflectance pixels also have a relationship towards depth. This characteristic of the local connectivity can be detected by Convolutional Neural Networks (CNN). Therefore, this project conducts a study of SDB using the CNN approach.

This study focuses on the following discussion: (i) what kind of preprocessing needed for the data sets; (ii) what kind of CNN architecture can be used; (iii) what is the accuracy of the method; and (iv) to what extent does the pretrained model can be reused. In order to represent a variety of reflectances, this study chooses six areas of interest in three different coastal regions as follows: (i) Ponce, Lajas, and San Juan represent Puerto Rico; (ii) Key west represents the Florida Keys; and (iii) Makua and Honolulu represent Hawaii. These locations have different water conditions regarding the bottom types and turbidity.


Information about the data:

  • The Sentinel-2 Level-2A images are open and accessible through the Copernicus Open Access Hub.
  • The National Oceanic and Atmospheric Administration (NOAA) Bathymetric Data Viewer provides MBES and LiDAR bathymetry data sets.

You have to download the multispectral and bathymetric data manually and then perform several preprocessing tasks. The preprocessing can be carried out using QGIS, LAStools or PDAL if needed. Alternatively, you can use some preprocessing scripts provided under preprocess/ to stack the multispectral bands, clip the data, and perform image correction (can be skipped).

This repo provides an example data set, under data/, that has been preprocessed.

A baseline architecture of CNN for SDB


Shallow water depth extraction

Prepare the data:

python collect_all_data.npy

Run the training:


Run the evaluation:


Run the SDB generator:



Area RMSE R2
Ponce, Puerto Rico 1.11 0.96
Lajas, Puerto Rico 1.44 0.95
San Juan, Puerto Rico 2.36 0.70
Key West, Florida 0.56 0.97
Makua, Hawaii 0.79 0.98
Honolulu, Hawaii 1.34 0.94

More detailed description and results can be found in the project report.


    author = {Lumban-Gaol, Yustisi and Ohori, Ken Arroyo and Peters, Ravi},
    doi = {10.1080/01490419.2022.2091696},
    journal = {Marine Geodesy},
    number = {6},
    pages = {615--644},
    publisher = {Taylor & Francis},
    title = {{Extracting Coastal Water Depths from Multi- Temporal Sentinel-2 Images Using Convolutional Neural Networks Extracting Coastal Water Depths from Multi-Temporal Sentinel-2 Images Using Convolutional Neural Networks}},		
    url = {},		
    volume = {45},		
    year = {2022}		
    author = {Lumban-Gaol, Y. A. and Ohori, K. A. and Peters, R. Y.},
    booktitle = {International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences - ISPRS Archives},
    doi = {10.5194/isprs-archives-XLIII-B3-2021-201-2021},
    issn = {16821750},
    number = {B3-2021},
    title = {{Satellite-derived bathymetry using convolutional neural networks and multispectral sentinel-2 images}},
    volume = {43},
    year = {2021}


Satellite-Derived Bathymetry using Convolutional Neural Networks







No releases published


No packages published