Sentinel-2 · U-Net · Iraq
How much open water is left?
Razzaza Lake, west of Karbala, measured from space every September since 2016.
Before and after
Open water each September
Click a year to show it on the map. Dynamic World is Google's land-cover product; the U-Net learnt from it, so the two are expected to agree. NDWI and MNDWI are classic water indices with one threshold per year (Otsu).
Show the numbers
Checked by hand
IoU is the overlap between the predicted water and the hand label, divided by their union. Brackets are 95% bootstrap intervals over tiles. “vs U-Net” is a paired bootstrap: an interval that stays below zero means the method is worse than the U-Net on these tiles.
By kind of tile
How it works
One clear picture per September
Every Sentinel-2 image of the month is cloud-masked and combined into a median composite at 10 m, using the Google Earth Engine API. September is the low-water month, before the winter rains.
Labels from Dynamic World
The U-Net learns from Dynamic World's monthly water label. These labels are noisy, so they are only used for training, never to judge the result.
Split by place, not by pixel
The scene is cut into 256 px tiles grouped in 10 km blocks. A whole block goes to training, validation or test, so the model is never tested on a place it has seen in any year.
A U-Net with six inputs
Blue, green, red, near-infrared and short-wave infrared, plus NDWI, go into a U-Net with a ResNet-34 encoder. It is trained with a masked BCE and Dice loss and the best checkpoint is picked on validation tiles.
Judged on hand labels
60 test tiles were labelled by hand under a written rule: open water only, wet salt counts as land. The thresholds and the model were fixed before the final scoring.
Area every year
The model runs over each full composite in overlapping windows, and the water pixels inside the area are added up to km².
What this does not say
- It measures change, not its cause. Rainfall, upstream releases and water use all play a part, and none of them is modelled here.
- One month per year. September only, so seasonal swings within a year are not shown.
- 2016 is not atmospherically corrected (Sentinel-2 L1C), which is why it looks hazier on the map. 2017 and 2018 have only two or three clear looks per pixel.
- The test set is small and from one lake. 60 tiles, labelled by one person; two of them still hold label noise and were left as they are, so the score was not tuned on the test set.
- Wet salt is counted as land. Its area is not reported yet.