|
Download README.md from Sk-21/FloodDuo: direct link, hf CLI and curl.
- Browser
- Download file 4.61 kB
-
https://huggingface.co/Sk-21/FloodDuo/resolve/main/README.md
- Command line
-
hf download hf://Sk-21/FloodDuo/README.md
-
curl -L -o README.md https://huggingface.co/Sk-21/FloodDuo/resolve/main/README.md
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. | |
|  | |
| ## 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. | |