Research that converges
Flood-GAN
A physics-aware GAN that translates all-weather SAR radar into optical-quality flood imagery at 1024×1024 — published research, with a dual-head generator that learns flood boundaries as water, not texture.
Floods do their worst under storm clouds — exactly when optical satellites go blind. SAR radar sees through cloud, but raw SAR is unreadable to the analysts who draw flood boundaries and route relief. The research question: can a model translate radar to optical-quality imagery faithful enough that the water in it is really water — not a convincing hallucination?
- FID
- 28.4
- at 1024×1024
- PSNR
- 31.25
- vs. ground truth
- SSIM
- 0.94
- flood-mask IoU
- 0.87
- NDWI boundary
- resolution
- 1024²
- training
- ~200 GPU-h
- tracked in W&B
the bar it had to clear
- Flood boundaries must be physically faithful, not merely photorealistic — a pretty map that misplaces the waterline is worse than none.
- Preserve SAR speckle structure through augmentation; destroy the physics and the model just learns texture.
- Reach a stable adversarial equilibrium at 1024×1024 within a fixed GPU budget — reproducibly, not by a lucky seed.
- Report against standard generative + reconstruction metrics so the result stands as research, not a demo.
how it actually works
hover or tab a step to see how it works — or trace a route above.
- 01
Radar sees through clouds
Synthetic-aperture radar penetrates cloud cover but reads as speckled intensity — useless to a human analyst without translation.
- 02
Honest augmentation
Augmentations preserve SAR speckle statistics — synthetic variety must not destroy the physics the model is meant to learn.
- 03
Two heads, one truth
Head one renders optical imagery; head two predicts NDWI water masks. Supervising on the water index injects physics into an otherwise aesthetic loss.
- 04
Published resultFID 28.4
FID 28.4 at 1024×1024 — with PSNR 31.25 and SSIM 0.94 against ground truth optical imagery.
see what the model sees
The generator translates radar to optical. Drag the handle: raw SAR speckle on the left, the mapped flood extent on the right.
Illustrative — drag to translate raw SAR speckle into the mapped flood extent (the water index the generator is supervised on). Real quality lives in the numbers above: FID 28.4 · PSNR 31.25 · SSIM 0.94.
the problem
Floods hide under clouds. Optical satellites can’t see through them; SAR radar can, but humans can’t read raw SAR. The task: translate radar to optical-quality flood imagery faithful enough to map flood boundaries — where a GAN’s natural instinct, to synthesize a plausible-looking picture, is exactly the failure mode to defeat.
the approach
- A dual-head U-Net generator translates SAR to optical; the second head is supervised on NDWI (a water index), injecting physics into the loss — flood boundaries are learned as water, not texture.
- A speckle-preservation term keeps SAR’s structural noise from being smoothed into false land; EMA weight averaging stabilizes adversarial training.
- The discriminator’s confidence is the training signal made visible: it decays from near-certain toward 50/50 as the generator converges — equilibrium you can watch.
- ~200 GPU-hours in Docker, every run tracked in Weights & Biases. FID 28.4 at 1024×1024; PSNR 31.25, SSIM 0.94.
the calls that mattered
Every architecture is a set of trade-offs taken on purpose. These are the load-bearing ones.
Give the generator a second head supervised on a water index (NDWI).
A single rendering head optimizes an aesthetic loss and will invent convincing texture. The NDWI head forces the network to predict where water physically is, so flood boundaries are learned as water and survive cloud and lighting.
the trade-offA multi-task loss to balance and NDWI ground truth to prepare — more supervision, to earn a physical faithfulness the adversarial loss alone will not give.
Penalize smoothing with a speckle-preservation term.
SAR’s structural noise carries signal; a generator left to minimize error alone smooths it into false, flat “land.” The speckle term keeps the radar physics intact end to end.
the trade-offSlightly noisier optical output than a pure-smoothing model — the honest trade, since the noise is where the water boundary lives.
Stabilize the duel with EMA weight averaging + a visible convergence signal.
GANs at 1024×1024 are notoriously unstable. EMA-averaged generator weights damp the oscillation, and the discriminator’s decaying confidence (near-certain → 50/50) makes convergence something you diagnose, not guess.
the trade-offEMA adds a shadow copy of the weights and a warmup before it helps — cheap insurance against a run that diverges after 150 GPU-hours.
what shipped
The model translates SAR to 1024×1024 optical flood imagery at FID 28.4, PSNR 31.25, and SSIM 0.94 against ground-truth optical — with flood boundaries that hold because they are supervised as water, not texture. Training reaches a stable adversarial equilibrium in ~200 GPU-hours, every run tracked in Weights & Biases and reproducible from a fixed config. Published research.
what’s next
- Temporal input — a short SAR time series instead of a single frame, so rising vs. receding water becomes legible.
- A calibrated uncertainty map beside each flood boundary, so responders see confidence, not just a line.
- Distillation to a lighter generator for near-real-time inference on operational SAR feeds.