FloodDuo / README.md
Sk-21's picture
Update README.md
b8b66cc verified
|
Raw History Blame Contribute Delete
4.61 kB
---
license: mit
tags:
- remote-sensing
- flood-mapping
- segmentation
- earth-observation
- planetscope
pipeline_tag: image-segmentation
---
# FloodDuo
**A Dual Foundation-Encoder Architecture for Generalizable High-Resolution Flood Mapping**
Saurabh Kaushik, Beth Tellman, Qihao Weng — *ISPRS Journal of Photogrammetry and Remote Sensing*, 2026
· [Code](https://github.com/Sk-2103/FloodDuo) · [Paper](https://github.com/Sk-2103/FloodDuo#citation)
FloodDuo maps open water in high-resolution (3 m, 4-band B/G/R/NIR PlanetScope)
post flood imagery by pairing two **frozen** vision foundation-model encoders that carry
complementary information:
- **DINOv3-L** (RGB) — sharp spatial / boundary detail.
- **Clay v1.5** (all four bands) — wavelength-conditioned spectral discrimination.
FloodDuo is a flood segmentation model which excel at local spatial nuances while keeping global context. It use dual encoder architechture, adapted with
lightweight trainable modules (an in-block frequency-domain Earth-Adapter,
plus post-hoc atrous-convolution and pyramid-pooling adapters), and their
branch predictions are merged by a **disagreement-gated fusion** whose
per-pixel Jensen-Shannon divergence doubles as a label-free reliability map,
before a LinkNet decoder produces the full-resolution mask. Only ~65M
parameters are trained against ~614M frozen.
![FloodDuo architecture](figure_01_architecture.png)
## Results (leave-one-region-out, region-mean water IoU)
| Model | FloodPlanet | UFO |
|---|---|---|
| **FloodDuo (ours)** | **0.728** | **0.819** |
| TerraMind-L | 0.700 | 0.789 |
| Prithvi-EO-2 | 0.678 | 0.774 |
| DOFA-L | 0.687 | 0.766 |
| Clay v1.5-L | 0.675 | 0.773 |
| CROMA-L | 0.672 | 0.715 |
| SSL4EO-S12 DINO | 0.650 | 0.767 |
| U-Net (from scratch) | 0.648 | 0.782 |
FloodDuo significantly outperforms U-Net (+8.0 / +3.7 pp) and the strongest
single-encoder foundation model (+2.8 / +3.0 pp, paired Wilcoxon on both).
Every table (matched single-encoder controls, the fusion ablation,
boundary-resolved analysis, D-reliability calibration) is in
[results.md](https://github.com/Sk-2103/FloodDuo/blob/main/results.md) in the
code repo.
## This checkpoint vs. the numbers above
This is the **release model**: trained on all FloodPlanet + UFO data pooled
together (not held out by region), for actual use on new imagery. Its
validation IoU (0.80, on a random held-out 15% of tiles) is a different
measurement from the table above — that table is leave-one-region-out
cross-validation, a much stricter protocol specifically designed to measure
generalization to *unseen* regions. This release checkpoint is the practical
model to run on your own data, not the benchmark artifact; don't quote its
validation score as the paper's headline result.
## Files
- `floodduo_full.pt` (1.36 GB) — self-contained: model config + full state
dict, frozen DINOv3-L and Clay v1.5 backbones included. One download, no
other weights needed.
- `examples/sample_tile.tif`, `examples/sample_mask.tif` — one held-out
FloodPlanet test tile (Oklahoma) for a no-setup demo, from the public
[FloodPlanet benchmark](https://zenodo.org/records/19698577).
## Quick start
```python
from huggingface_hub import hf_hub_download
from src.inference import load_model, predict_file # from the GitHub repo
ckpt = hf_hub_download("Sk-21/FloodDuo", "floodduo_full.pt")
model = load_model(ckpt)
prob, mask, profile = predict_file(model, "your_tile.tif") # 4-band B,G,R,NIR
```
`predict_file` auto-detects and converts scaled integer DN (e.g. Planet's own
Surface Reflectance product or Sentinel-2 L2A, both uint16 x10000) to
reflectance automatically. Full walkthrough, including a no-setup example and
an explicit normalization step:
[`notebook/inference_demo.ipynb`](https://github.com/Sk-2103/FloodDuo/blob/main/notebook/inference_demo.ipynb)
in the code repo.
## Input format
4-band (B, G, R, NIR) PlanetScope-style imagery, single tile, roughly
512-1024 px per side (the size the model was evaluated at in the paper;
larger scenes should be tiled by the caller). Raw DN or reflectance both
work — see above.
## Citation
```bibtex
@article{kaushik2026floodduo,
title = {FloodDuo: A Dual Foundation-Encoder Architecture for Generalizable High-Resolution Flood Mapping},
author = {Kaushik, Saurabh and Tellman, Beth and Weng, Qihao},
journal = {ISPRS Journal of Photogrammetry and Remote Sensing},
year = {2026}
}
```
## License
MIT (code and this checkpoint). The underlying FloodPlanet and UFO benchmarks
have their own licenses — see their Zenodo records.