Skip to content

ESAOpenSR/opensr-model

Repository files navigation

Latent Diffusion Super-Resolution - Sentinel 2 (LDSR-S2)

This repository contains the code of the paper Trustworthy Super-Resolution of Multispectral Sentinel-2 Imagery with Latent Diffusion.

🚀 Google Colab Demos – Interactive Notebooks

Run LDSR-S2 directly in Google Colab! These notebooks let you fetch Sentinel-2 imagery, apply super-resolution, and save results — with or without writing code.

Notebook Name Description Link
LDSR-S2 No-Code 🔘 No coding required — chose point on a map and download SR results as GeoTIFFs Open In Colab
LDSR-S2 Walkthrough 🧪 Code-level walkthrough with uncertainty estimation and advanced plotting Open In Colab
LDSR-S2 & SEN2SR 🔄 Use LDSR-S2 alongside SEN2SR to compare results on 10m + 20m bands Open In Colab

🧪 Status: LDSR-S2 has exited the experimental phase as of v1.0.0

📌 For super-resolving 20m bands, check out SEN2SR, or use it alongside LDSR-S2 in the third notebook.

Citation

If you use this model in your work, please cite

@ARTICLE{ldsrs2,
  author={Donike, Simon and Aybar, Cesar and Gómez-Chova, Luis and Kalaitzis, Freddie},
  journal={IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing}, 
  title={Trustworthy Super-Resolution of Multispectral Sentinel-2 Imagery With Latent Diffusion}, 
  year={2025},
  volume={18},
  number={},
  pages={6940-6952},
  doi={10.1109/JSTARS.2025.3542220}}

Install and Usage - Local

pip install opensr-model

Minimal Example

import opensr_model # import pachage
model = opensr_model.SRLatentDiffusion(config, device=device) # create model
model.load_pretrained(config.ckpt_version) # load checkpoint
sr = model.forward(torch.rand(1,4,128,128), custom_steps=100) # run SR

Run the 'demo.py' file to gain an understanding how the package works. It will SR and example tensor and save the according uncertainty map. Output of demo.py file: example
example

Weights and Checkpoints

The model should load automatically with the model.load_pretrained command. Alternatively, the checkpoints can be found on HuggingFace

Description

This package contains the latent-diffusion model to super-resolute 10 and 20m bands of Sentinel-2. This repository contains the bare model. It can be embedded in the "opensr-utils" package in order to be applied to Sentinel-2 Imagery.

S2 Examples

Example on real S2 image example2

Examples on S2NAIP training dataset example

Status

This repository has left the experimental stage with the publication of v1.0.0.

PyPI Downloads

About

Implementation of Latent Diffusion Super-Resolution model for RGB-NIR Sen2 imagery.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages