Skip to content

corentin-dfg/graph4sen2dwater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Forecasting water resources from satellite image time series using a graph-based learning strategy: GraphCast for Satellite Image Time Series

Source code for the paper "Forecasting water resources from satellite image time series using a graph-based learning strategy" by Corentin Dufourg, Charlotte Pelletier, Stéphane May and Sébastien Lefèvre, at ISPRS Technical Commission II Symposium 2024.

We propose to adapt a recent weather forecasting architecture, called GraphCast, to a water resources forecasting task using high-resolution satellite image time series (SITS). Based on an intermediate mesh, the data geometry used within the network is adapted to match high spatial resolution data acquired in two-dimensional space. In particular, we introduce a predefined irregular mesh based on a segmentation map to guide the network’s predictions and bring more detail to specific areas.

# Params RMSE (↓) PSNR (↑) SSIM (↑) Runtime (min)
Input average - 0.1550 23.32 0.7465 -
Persistence - 0.1332 25.03 0.7897 -
LSTM 17,345 0.1162±0.0005 25.53±0.05 0.8282±0.0005 22
ConvLSTM 150,721 0.1197±0.0029 25.28±0.19 0.8113±0.0030 26
TDCNN-ConvLSTM 407,681 0.1111±0.0008 25.68±0.08 0.8083±0.0008 46
Ours 228,673 0.1097±0.0035 26.42±0.27 0.8170±0.0070 41

Table: Number of parameters, RMSE, PSNR, SSIM and runtimefor baseline models and our GraphCast adaptation. The results are provided with average and standard deviation on three random initializations (best).

Overview

  • ndwi_tiny_generate_dataset.py can be used to generate a reduced version of the SEN2DWATER dataset, retaining only the NDWI channel over a limited number of dates.
  • relocated_splitted_patches.py fixes the geolocation of the splitted patches from the SEN2DWATER dataset.
  • train_baseline_train-val-test.py is the method to train the baseline models (LSTM, ConvLSTM, TDCNN-ConvLSTM).
  • train_graphcast_train-val-test.py is the method to train our adaptation of GraphCast. The NB_SPXL, T_LEN and SLIC_MULTITEMPORAL constants can be set to reproduce auxiliary results.
  • train_graphcast_train-val-test_noSPE-noTPE.py, train_graphcast_train-val-test_SPE-noTPE.py and train_graphcast_train-val-test_noSPE-TPE.py are used to perform the ablation study of the temporal and spatial encodings.
  • dataset/ should contain the data from SEN2DWATER to train and evaluate the models.
  • data/ contains data structure and dataset classes.
  • dataio/ contains the reading functions of the SEN2DWATER dataset, adapted from its GitHub repository.
  • models/ contains the architectures implemented with PyTorch and PyG.

License Information

The data derived from SEN2DWATER dataset are governed by the Legal Notice on the use of Copernicus Sentinel Data and Service Information.

Reproducibility

The split used for the data is given in folder datasets/. The seeds used for the 3 random initializations are 0,1,2. Note that the pyg.utils.scatter operation use in Graph Neural Networks may behave nondeterministically when given tensors on a CUDA device.

Citation

If you use this work, consider citing our paper:

@article{dufourg2024forecasting,
  title={Forecasting water resources from satellite image time series using a graph-based learning strategy},
  author={Dufourg, Corentin and Pelletier, Charlotte and May, St{\'e}phane and Lef{\`e}vre, S{\'e}bastien},
  journal={The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences},
  volume={48},
  pages={81--88},
  year={2024},
  publisher={Copernicus GmbH}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages