README.md

March 30, 2026 Β· View on GitHub

DiffCR: A Fast Conditional Diffusion Framework for Cloud Removal from Optical Satellite Images

This repository is the official PyTorch implementation of the TGRS 2024 paper DiffCR.

arXiv Paper Project Page HugginngFace Models HugginngFace Visualization

DiffCR

Requirements

To install dependencies:

pip install -r requirements.txt

To download datasets:

Training

To train the models in the paper, run these commands:

python run.py -p train -c config/ours_sigmoid.json

Testing

To test the pre-trained models in the paper, run these commands:

python run.py -p test -c config/ours_sigmoid.json

Evaluation

To evaluate my models on two datasets, run:

python evaluation/eval.py -s [ground-truth image path] -d [predicted-sample image path]

Pretrained Model Weights

You can download pretrained models here:

Visualization

The visualization results of 12 methods (including DiffCR) on the test sets of Sen2_MTC_Old and Sen2_MTC_New datasets, along with evaluation code for direct comparison by researchers, are available at: πŸ€— HuggingFace Visualization

β”œβ”€β”€ paper-report.png          ← reference metrics table from the paper
β”‚
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ Sen2_MTC_New/
β”‚   β”‚   β”œβ”€β”€ GT/               ← 687 cloud-free ground-truth images  ({id}.png)
β”‚   β”‚   └── inputs/           ← 687 Γ— 3 cloudy input images
β”‚   β”‚                            ({id}_A1.png  {id}_A2.png  {id}_A3.png)
β”‚   └── Sen2_MTC_Old/
β”‚       β”œβ”€β”€ GT/               ← 313 ground-truth images
β”‚       └── inputs/           ← 313 Γ— 3 cloudy inputs
β”‚
β”œβ”€β”€ results/
β”‚   β”œβ”€β”€ Sen2_MTC_New/
β”‚   β”‚   β”œβ”€β”€ ae/               ← prediction images for each method ({id}.png)
β”‚   β”‚   β”œβ”€β”€ crtsnet/
β”‚   β”‚   β”œβ”€β”€ ctgan/
β”‚   β”‚   β”œβ”€β”€ ddpmcr/
β”‚   β”‚   β”œβ”€β”€ diffcr/           ← DiffCR [Ours]
β”‚   β”‚   β”œβ”€β”€ dsen2cr/
β”‚   β”‚   β”œβ”€β”€ mcgan/
β”‚   β”‚   β”œβ”€β”€ pix2pix/
β”‚   β”‚   β”œβ”€β”€ pmaa/
β”‚   β”‚   β”œβ”€β”€ stgan/
β”‚   β”‚   β”œβ”€β”€ stnet/
β”‚   β”‚   └── uncrtaints/
β”‚   └── Sen2_MTC_Old/
β”‚       └── (same 12 methods)
β”‚
└── eval/
    β”œβ”€β”€ metrics.py            ← PSNR / SSIM / FID / LPIPS evaluation
    β”œβ”€β”€ plot.py               ← comparison figure generation
    └── requirements.txt      ← Python dependencies

Citation

If you use our code or models in your research, please cite with:

@ARTICLE{diffcr,
  author={Zou, Xuechao and Li, Kai and Xing, Junliang and Zhang, Yu and Wang, Shiying and Jin, Lei and Tao, Pin},
  journal={IEEE Transactions on Geoscience and Remote Sensing}, 
  title={DiffCR: A Fast Conditional Diffusion Framework for Cloud Removal From Optical Satellite Images}, 
  year={2024},
  volume={62},
  number={},
  pages={1-14},
}

Acknowledgments

Janspiry/Palette-Image-to-Image-Diffusion-Models

openai/guided-diffusion

Visit Count

XavierJiezou@DiffCR