Skip to content

This implementation uses python to seamlessly integrate Sentinel-1 SAR image preparation in GEE with deep learning in Tensorflow for SAR image despeckling.

License

Notifications You must be signed in to change notification settings

lantainlya/deSpeckNet-TF-GEE

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 

Repository files navigation

deSpeckNet-TF-GEE

This repository contains the re-implementation of our paper deSpeckNet: Generalizing Deep Learning Based SAR Image Despeckling published in IEEE Transactions on Geoscience and Remote Sensing. The original paper version of the code was implemented in Matlab but I think implementing the method in Tensorflow and Google Earth Engine (GEE) will improve its usabiltiy in the remote sensing community. The implementation uses python and seamlessly integrates Sentinel-1 SAR image preparation in GEE with deep learning in Tensorflow.

Note: I have made some modificatons from the original implementation, such as the data is processed in dB scale, patch density is different from the original Matlab implementation and the optimizer is Adam. I have also implemented multi-channel despeckling and data augmentation, which were not available in the original version.

Architecture

deSpeckNet uses a siamese architecture to reconstruct the clean image and the original noisy image using two mean square error loss functions. To fine tune the model to new images with unknown speckle distribution, the model does not require any clean reference image.
drawing1 drawing_finetune

If interested, the pre-print version of the article is freely available here

Usage

To train a model, the user needs to provide an area of interest in GEE geometry format and run the prepare_data.py first to prepare the training datasets. The user needs to select training mode to run the script. The user needs to also specify their preference for storage of data as 'GCS' or 'Drive'. For users that prefer to use google drive, the drive should be mounted at /content/drive for the scripts to run.

A jupyter notebook version of the scripts is also included in the notebook folder, which should make it easier for users to run the code in Google colab without worrying about software dependencies.

Dependencies

The scripts are written in Tensorflow 2.7 so there may be issues with earlier versions of Tensorflow.

Acknowledgment

Some functions were adopted from Google Earth Engine example workflow page.

Reference

A. G. Mullissa, D. Marcos, D. Tuia, M. Herold and J. Reiche, "deSpeckNet: Generalizing Deep Learning-Based SAR Image Despeckling," in IEEE Transactions on Geoscience and Remote Sensing, vol. 60, pp. 1-15, 2022, Art no. 5200315, doi: 10.1109/TGRS.2020.3042694.

About

This implementation uses python to seamlessly integrate Sentinel-1 SAR image preparation in GEE with deep learning in Tensorflow for SAR image despeckling.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%