|
|
--- |
|
|
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](https://huggingface.co/papers/2506.11764). |
|
|
|
|
|
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](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: |
|
|
|
|
|
```bash |
|
|
# 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`: |
|
|
|
|
|
```bash |
|
|
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: |
|
|
|
|
|
```bash |
|
|
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](https://github.com/NorskRegnesentral/DiffFuSR). |
|
|
|
|
|
## Citation |
|
|
|
|
|
If you use this pipeline in your research, please cite our paper: |
|
|
|
|
|
```bibtex |
|
|
@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}, |
|
|
} |
|
|
``` |