Inspiration
During catastrophic flood events, rapid humanitarian response is crippled by two fatal bottlenecks:
- Zero Optical Visibility: Severe cloud cover, dense fog, and continuous precipitation render standard optical satellite imaging (RGB) completely blind.
- Disconnected Static Routing: Traditional consumer navigation services rely on static road networks and do not dynamically sever submerged road links in real-time. This routinely directs evacuees and emergency response units straight into impassable or life-threatening water corridors.
FloodLens AI bridges remote sensing space technology and dynamic graph computing to detect submerged zones through heavy cloud cover and calculate safe, verified detour evacuation corridors in real time.
What it does
FloodLens AI is a multimodal geospatial intelligence platform built specifically for disaster command centers:
- Pierces Cloud Cover with Radar Remote Sensing: Employs dual-polarization Synthetic Aperture Radar (SAR VV/VH bands) from Sentinel-1 satellites to continuously monitor ground conditions regardless of cloud cover, day or night.
- Deep Inundation Segmentation: Runs a neural U-Net with a ResNet-34 encoder optimized via binary Dice Loss to delineate flood water bodies despite extreme spatial class imbalance.
- Dynamic Road Graph Pruning: Ingests OpenStreetMap vector road networks (via OSMnx and NetworkX) centered on Mandi, Himachal Pradesh, performs spatial polygon intersections with Shapely, and instantly severs submerged road edges from the drivable graph.
- Calculates Safe Evacuation Corridors: Executes Dijkstra's shortest path algorithm strictly over dry, passable subgraphs, guaranteeing that generated evacuation routes do not cross flood hazards.
- Mission-Control Operations Dashboard: Provides a dark-mode interactive command UI (Leaflet.js, Esri satellite/street layers, Tailwind CSS) powered by a high-throughput FastAPI microservice with live telemetry and interactive pin placement.
How we built it
- Computer Vision & Remote Sensing: PyTorch,
segmentation-models-pytorch, and NumPy simulating specular radar backscatter attenuation physics (a characteristic $\approx -10\text{ dB}$ drop across calm open water). - Geospatial Graph Computing: OSMnx, NetworkX, and Shapely for street multigraph extraction, geometric intersection tests, and dynamic edge severing.
- Backend Microservice: FastAPI and Pydantic v2 exposing
/healthandPOST /api/v1/rerouteendpoints serializing RFC 7946 compliant GeoJSON paths and transit metadata. - Frontend Command Center: Leaflet.js with dual Esri Tile layers (Street Map & World Imagery Satellite), responsive telemetry HUD, and interactive click-to-place origin/shelter pickers.
- Testing & Verification: PyTest test suite verifying model tensor shapes, metric benchmarks (Mean IoU, Dice F1), and API response schemas.
Challenges we ran into
- Spatial Class Imbalance: In satellite scenes, flood corridors often occupy less than 8% of the total pixel area. Standard Binary Cross-Entropy (BCE) loss resulted in severe false negatives because the model biased toward majority background land. Switching to Dice Loss directly penalizing boundary discrepancies resolved the issue.
- Real-Time Graph Pruning: Intersecting thousands of multigraph edge geometries with arbitrary flood polygons can be computationally intensive. We optimized boundary lookups by performing bounding-box pre-filtering prior to full geometric intersections.
- Volunteer Tile Server Limits: Standard OSM Overpass tile servers frequently throttle automated traffic. We resolved this by adopting reliable Esri ArcGIS tile servers and implementing local road graph caching (
.graphml).
Accomplishments that we're proud of
- Achieved a 100% pass rate across 11 critical unit tests covering tensor shapes, metric mathematics, and graph logic.
- Built a sub-50ms Dijkstra graph recalculation pipeline capable of rerouting around dynamic hazard zones in real time.
- Integrated an end-to-end working system running locally, complete with an intuitive UI and a Swagger-documented API.
What we learned
- How specular scattering distinguishes smooth open water from rough terrain in dual-polarization radar.
- How to bridge raster-based computer vision outputs with vector-based graph networks for actionable disaster response.
- Managing asynchronous geospatial payloads and GeoJSON serialization in production-grade FastAPI microservices.
What's next for FloodLens AI
- Direct integration with the Copernicus Open Access Hub for live Sentinel-1 GRD pipeline ingestion.
- Multi-hazard expansion to model landslide susceptibility and road blockages across steep Himalayan terrains.
- Edge deployment for field rescue vehicles with offline raster caches.
AI Assistance & Transparency Disclosure
- AI Coding Assistants Used: Google Antigravity / Gemini, ChatGPT.
- Assisted Workflows: Architecture planning, synthetic dataset scaffolding (
src/dataset.py), frontend layout structure (static/index.html), and PyTest boilerplate. - Human Verification: All core domain logic (SAR attenuation physics, U-Net ResNet-34 configuration, Dijkstra edge-severing algorithms, and geospatial coordinates for Mandi, HP) was designed, verified, and audited by the author.
Built With
- earth-observation
- fastapi
- gemini
- google-antigravity
- html5
- javascript
- leaflet.js
- networkx
- osmnx
- python
- pytorch
- sar
- shapely
- tailwindcss
- uvicorn
Log in or sign up for Devpost to join the conversation.