GeoCR: Learning a Generalist Cloud Removal Prior from Heterogeneous Observations
GeoCR is a generalist cloud removal model that unifies RGB-only and multispectral cloud removal from single- or multi-temporal cloudy observations, with optional SAR guidance, within a single network. Compact stems extend a frozen pretrained RGB autoencoder, and a single flow transformer jointly models clean RGB and non-RGB latents. One pretrained checkpoint is used directly (GeoCR (w/o FT)) or adapted with LoRA (GeoCR (LoRA)).
- Paper: arXiv:2609.32510
- Code: https://github.com/KAIST-VICLab/GeoCR
- Project page: https://kaist-viclab.github.io/GeoCR_site/
Files
| Path | Contents |
|---|---|
transformer/ |
GeoCR (w/o FT): the Stage 2 flow transformer, 3.853B parameters, three safetensors shards and config.json |
lora/<dataset>/ |
GeoCR (LoRA): adapter_model.safetensors (23.1M parameters, rank 16) and adapter_config.json, one per evaluation setting |
stems/stems.safetensors |
Stage 1 stems: ten-band TOA, ten-band BOA, NIR and SAR |
vae/ae.safetensors |
the frozen FLUX.2 autoencoder |
baselines/<dataset>/<method>/ |
the ten comparison methods retrained on each dataset, one checkpoint per method and dataset (baselines/README.md) |
LoRA adapters: sen12ms-cr, sen2-mtc-new, whus2-crv, t-cloud, cuhk-cr1, cuhk-cr2, sen12ms-cr-rgb,
sen2-mtc-new-rgb, whus2-crv-rgb.
Usage
The model runs with the code of the GitHub repository; see its README for installation and data preparation.
git clone https://github.com/KAIST-VICLab/GeoCR.git && cd GeoCR
hf download JeonghyeokDo/GeoCR --exclude "baselines/*" --local-dir weights
# GeoCR (w/o FT)
python -m geocr.infer --dataset sen12ms-cr --weights weights --out outputs/sen12ms-cr/wo-ft
# GeoCR (LoRA)
python -m geocr.infer --dataset sen12ms-cr --weights weights --lora sen12ms-cr --out outputs/sen12ms-cr/lora
python -m geocr.eval --dataset sen12ms-cr --pred outputs/sen12ms-cr/lora --metrics fid,dists,kid,lpips,ssim,psnr
Inference integrates the learned flow from Gaussian noise with four Euler steps on a uniform time grid, without classifier-free guidance, with a fixed per-sample noise seed.
Results
GeoCR (w/o FT) / GeoCR (LoRA), from Tables 2, 3, 4 and 10 of the paper. FID and DISTS are computed on RGB views; PSNR uses the bands of each setting. The full tables with every comparison method are in MODEL_ZOO.md.
| Setting | --dataset |
FID↓ | DISTS↓ | PSNR↑ |
|---|---|---|---|---|
| SEN12MS-CR, full-band | sen12ms-cr |
28.4 / 29.5 | 0.202 / 0.205 | 29.29 / 29.19 |
| Sen2_MTC_New, full-band | sen2-mtc-new |
52.9 / 52.7 | 0.182 / 0.181 | 20.77 / 20.76 |
| WHUS2-CRv, full-band | whus2-crv |
18.9 / 18.5 | 0.111 / 0.107 | 32.29 / 32.15 |
| T-CLOUD | t-cloud |
36.5 / 36.3 | 0.126 / 0.125 | 27.15 / 27.23 |
| CUHK-CR1 | cuhk-cr1 |
80.4 / 81.5 | 0.125 / 0.125 | 23.88 / 23.83 |
| CUHK-CR2 | cuhk-cr2 |
93.6 / 94.7 | 0.153 / 0.152 | 23.21 / 23.11 |
| SEN12MS-CR, RGB-only | sen12ms-cr-rgb |
43.9 / 52.1 | 0.244 / 0.263 | 22.15 / 24.59 |
| Sen2_MTC_New, RGB-only | sen2-mtc-new-rgb |
79.1 / 78.4 | 0.252 / 0.265 | 25.41 / 25.07 |
| WHUS2-CRv, RGB-only | whus2-crv-rgb |
21.6 / 20.7 | 0.137 / 0.138 | 27.16 / 25.35 |
Training data
GeoCR is pretrained on the training splits of ten cloud removal datasets comprising 883,331 cloud-free targets: AllClear, SEN12MS-CR, WHUS2-CRv, Sen2_MTC_Old, Sen2_MTC_New, T-CLOUD, RICE1, RICE2, CUHK-CR1 and CUHK-CR2. Each LoRA adapter is trained on the training split of its dataset. The datasets are not redistributed; download links, terms and split lists are in DATA.md.
Licence
This repository is mixed-licence.
| Artefact | Licence |
|---|---|
transformer/, stems/, lora/ |
CC BY-NC 4.0 |
vae/ae.safetensors |
Apache-2.0, the FLUX.2 autoencoder of black-forest-labs/FLUX.2-klein-base-4B |
baselines/ |
the terms of each method's upstream code (baselines/README.md, texts in baselines/licenses/) |
The GeoCR transformer was initialised from FLUX.2 [klein] 4B Base (Apache-2.0); attributions are in the NOTICE file and the weights licence in LICENSE-WEIGHTS.md. GeoCR is not a FLUX product and is not endorsed by Black Forest Labs.
Citation
@article{do2026geocr,
title={GeoCR: Learning a Generalist Cloud Removal Prior from Heterogeneous Observations},
author={Do, Jeonghyeok and Kim, Munchurl},
journal={arXiv preprint arXiv:2609.32510},
year={2026}
}
Model tree for JeonghyeokDo/GeoCR
Base model
black-forest-labs/FLUX.2-klein-base-4B