DiffFuSR / README.md
nielsr's picture
nielsr HF Staff
Improve model card: add pipeline tag, library name, paper link, GitHub link, and usage example
41d86c4 verified
|
raw
history blame
2.87 kB
metadata
license: mit
pipeline_tag: image-to-image
library_name: diffusers

DiffFuSR: Super-Resolution of all Sentinel-2 Multispectral Bands using Diffusion Models

This model is presented in the paper DiffFuSR: Super-Resolution of all Sentinel-2 Multispectral Bands using Diffusion Models.

DiffFuSR is a modular pipeline designed for super-resolving all 12 spectral bands of Sentinel-2 Level-2A imagery to a unified ground sampling distance (GSD) of 2.5 meters. The pipeline operates in two stages:

  1. A diffusion-based super-resolution (SR) model trained on high-resolution RGB imagery from the NAIP and WorldStrat datasets, harmonized to simulate Sentinel-2 characteristics.
  2. A learned fusion network that upscales the remaining multispectral bands by utilizing the super-resolved RGB image as a spatial prior.

This approach introduces a robust degradation model and contrastive degradation encoder to support blind SR, outperforming current SOTA baselines in reflectance fidelity, spectral consistency, spatial alignment, and hallucination suppression.

The official implementation, including code and training/evaluation scripts, can be found on GitHub: https://github.com/NorskRegnesentral/DiffFuSR.

Sample Usage

To use the DiffFuSR models, you can follow the instructions provided in the official GitHub repository.

First, set up your Python environment and install dependencies:

# Create a virtual environment (optional but recommended) Python version used 3.11.4
python -m venv .venv
source .venv/bin/activate          # Windows: venv\Scripts\activate

# Install all Python dependencies
pip install -r requirements.txt

Then, download the pretrained checkpoints from the Hugging Face Hub using git lfs:

git lfs install
git clone https://huggingface.co/NorskRegnesentralSTI/DiffFuSR && mv DiffFuSR/logs logs

After downloading, you can run one of the provided test scripts. For example, to test RGB SR for OpenSR metric using the WorldStrat SR model:

python 2_test_rgb_for_opensr_metric.py --checkpoint logs/blindsrsnf_aniso_worldstrat_degraded_harmfac_10000_large/version_7/checkpoints/last.ckpt

You can change the --checkpoint flag to test other available models (NAIP-no-harm SR or NAIP-harm SR).

More detailed usage and training instructions are available in the GitHub repository.

Citation

If you use this pipeline in your research, please cite our paper:

@article{,
      title={DiffFuSR: Super-Resolution of all Sentinel-2 Multispectral Bands using Diffusion Models},
      author={{}},
      year={2025},
      eprint={2506.11764},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2506.11764},
}