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 ยท Paper

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

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 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.

Quick start

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 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

@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.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support