Gap filling in flood detection
feat. GEE and Python
Ian Davies
School of Environmental and Forest Sciences, UW
Motivation
Flood detection
Ideal:
Flood detection
Less ideal:
Flood detection
Much less ideal:
Radar
Sentinel-1
Landsat 8
Question: What can we infer from cloud-covered floods (and with what certainty) when all we have is optical sensors?
Idea: Use auxiliary data
Idea: Use auxiliary data
Goals
Rule out flooding
(High specificity)
Accurately predict flooding (High recall)
Workflow (in progress!)
Workflow
Find known flood events
Find imagery that overlaps flood event date/area
Calculate auxiliary features underneath imagery
Generate fake cloud cover, mask images
Sample pixels in clear imagery
Train classifier on sample pixels
Test on “cloudy” pixels
GEE
Python
Find flood events from DFO
Event 4591, �April 4-11, 2018
Find clear imagery of flood events
Calculate auxiliary features
Map floods and mask out any clouds, shadows, snow
Map floods and mask out any clouds, shadows, snow
From Feyisa et al. (2014)
Stack, generate cloud cover, and mask
Clear pixels
Cloudy pixels
Slope
Aspect
Distance from river
Etc ...
Clear flood event image
Cloudy image over same area
+
Sample from clear image
Export to Python, clean, convert to sparse matrix
Export to Python, clean, convert to sparse matrix
Export to Python, clean, convert to sparse matrix
Train exhaustively or extensively?
Train exhaustively or extensively?
SVM
Lots of bugs still, but how much can SVM improve?
TensorFlow CNNs
Thanks!