Update README.md
Browse files
README.md
CHANGED
|
@@ -1,267 +1,22 @@
|
|
| 1 |
-
# 🛰️ GeoAI-DisasterMapper
|
| 2 |
-
|
| 3 |
-
> Automated Building Damage Detection from Satellite Imagery using Deep Learning and Climate Vulnerability Analysis
|
| 4 |
-
|
| 5 |
-

|
| 6 |
-

|
| 7 |
-

|
| 8 |
-

|
| 9 |
-
|
| 10 |
-
---
|
| 11 |
-
|
| 12 |
-
# 📌 Overview
|
| 13 |
-
|
| 14 |
-
GeoAI-DisasterMapper is an end-to-end GeoAI research project that combines deep learning, remote sensing, and climate analytics to automatically detect building damage from satellite imagery and assess climate vulnerability in affected regions.
|
| 15 |
-
|
| 16 |
-
The system uses before-and-after satellite image pairs to identify structural damage caused by natural disasters such as earthquakes, floods, hurricanes, wildfires, and tsunamis. Predicted damage regions are exported as geospatial GeoJSON files with real-world coordinates and further analyzed using NASA POWER climate datasets.
|
| 17 |
-
|
| 18 |
-
This project was built as a research portfolio project for Graduate Research Assistant applications in GeoAI, Remote Sensing, and Climate Change.
|
| 19 |
-
|
| 20 |
-
---
|
| 21 |
-
|
| 22 |
-
# 🗺️ Key Features
|
| 23 |
-
|
| 24 |
-
* Automated building damage detection from satellite imagery
|
| 25 |
-
* Deep learning segmentation using U-Net + ResNet50
|
| 26 |
-
* Multi-class damage classification
|
| 27 |
-
* GeoJSON export with exact geographic coordinates
|
| 28 |
-
* Climate vulnerability analysis using NASA POWER API
|
| 29 |
-
* Interactive Streamlit dashboard
|
| 30 |
-
* Geospatial visualization support for QGIS and ArcGIS
|
| 31 |
-
* Disaster assessment workflow for remote sensing research
|
| 32 |
-
|
| 33 |
-
---
|
| 34 |
-
|
| 35 |
-
# 🏗️ Project Pipeline
|
| 36 |
-
|
| 37 |
-
Satellite Imagery (Before + After)
|
| 38 |
-
↓
|
| 39 |
-
Preprocessing and Image Tiling
|
| 40 |
-
↓
|
| 41 |
-
U-Net Deep Learning Model Training
|
| 42 |
-
↓
|
| 43 |
-
Damage Segmentation Inference
|
| 44 |
-
↓
|
| 45 |
-
GeoJSON Damage Polygon Generation
|
| 46 |
-
↓
|
| 47 |
-
NASA POWER Climate Data Integration
|
| 48 |
-
↓
|
| 49 |
-
Climate Vulnerability Assessment
|
| 50 |
-
↓
|
| 51 |
-
Interactive Streamlit Web Application
|
| 52 |
-
|
| 53 |
-
---
|
| 54 |
-
|
| 55 |
-
# 🛠️ Tech Stack
|
| 56 |
-
|
| 57 |
-
| Component | Technology |
|
| 58 |
-
| ---------------------- | ------------------------------ |
|
| 59 |
-
| Deep Learning | PyTorch |
|
| 60 |
-
| Segmentation Framework | segmentation-models-pytorch |
|
| 61 |
-
| Model Architecture | U-Net with ResNet50 Encoder |
|
| 62 |
-
| Dataset | xBD / xView2 Challenge Dataset |
|
| 63 |
-
| Geospatial Processing | Rasterio, GeoPandas, Shapely |
|
| 64 |
-
| Satellite Imagery | Landsat 8 |
|
| 65 |
-
| Climate Data | NASA POWER API |
|
| 66 |
-
| Visualization | Folium, QGIS |
|
| 67 |
-
| Web Framework | Streamlit |
|
| 68 |
-
| Training Environment | Google Colab T4 GPU |
|
| 69 |
-
|
| 70 |
-
---
|
| 71 |
-
|
| 72 |
-
# 📦 Installation
|
| 73 |
-
|
| 74 |
-
## 1. Clone the Repository
|
| 75 |
-
|
| 76 |
-
git clone https://github.com/Melina-Singh/GeoAI-DisasterMapper.git
|
| 77 |
-
|
| 78 |
-
cd GeoAI-DisasterMapper
|
| 79 |
-
|
| 80 |
-
---
|
| 81 |
-
|
| 82 |
-
## 2. Create Virtual Environment
|
| 83 |
-
|
| 84 |
-
### Windows
|
| 85 |
-
|
| 86 |
-
venv\Scripts\activate
|
| 87 |
-
|
| 88 |
-
### Linux / Mac
|
| 89 |
-
|
| 90 |
-
source venv/bin/activate
|
| 91 |
-
|
| 92 |
-
---
|
| 93 |
-
|
| 94 |
-
## 3. Install Dependencies
|
| 95 |
-
|
| 96 |
-
pip install -r requirements.txt
|
| 97 |
-
|
| 98 |
-
---
|
| 99 |
-
|
| 100 |
-
## 4. Download Trained Model
|
| 101 |
-
Download:
|
| 102 |
-
best_model_resnet50.pth
|
| 103 |
-
|
| 104 |
-
from the Releases section and place it inside:
|
| 105 |
-
|
| 106 |
-
model/
|
| 107 |
-
|
| 108 |
-
---
|
| 109 |
-
|
| 110 |
-
## 5. Run the Application
|
| 111 |
-
|
| 112 |
-
streamlit run app.py
|
| 113 |
-
|
| 114 |
-
---
|
| 115 |
-
|
| 116 |
-
# 🚀 Usage
|
| 117 |
-
|
| 118 |
-
## Streamlit Dashboard
|
| 119 |
-
|
| 120 |
-
Run:
|
| 121 |
-
|
| 122 |
-
streamlit run app.py
|
| 123 |
-
|
| 124 |
-
Then open:
|
| 125 |
-
|
| 126 |
-
http://localhost:8501
|
| 127 |
-
|
| 128 |
-
---
|
| 129 |
-
|
| 130 |
-
## Damage Detection Workflow
|
| 131 |
-
|
| 132 |
-
1. Upload a before-disaster satellite image
|
| 133 |
-
2. Upload an after-disaster satellite image
|
| 134 |
-
3. Click RUN DAMAGE DETECTION
|
| 135 |
-
4. View predicted damage segmentation
|
| 136 |
-
5. Download GeoJSON damage polygons
|
| 137 |
-
|
| 138 |
-
---
|
| 139 |
-
|
| 140 |
-
## Climate Vulnerability Workflow
|
| 141 |
-
|
| 142 |
-
1. Select a disaster region or enter coordinates
|
| 143 |
-
2. Fetch NASA POWER climate data
|
| 144 |
-
3. Analyze:
|
| 145 |
-
|
| 146 |
-
* Temperature trends
|
| 147 |
-
* Rainfall patterns
|
| 148 |
-
* Humidity changes
|
| 149 |
-
4. Assess long-term vulnerability risk
|
| 150 |
-
|
| 151 |
---
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
---
|
| 162 |
-
|
| 163 |
-
## Damage Classes
|
| 164 |
-
|
| 165 |
-
| Class ID | Label |
|
| 166 |
-
| -------- | ------------ |
|
| 167 |
-
| 0 | Background |
|
| 168 |
-
| 1 | No Damage |
|
| 169 |
-
| 2 | Minor Damage |
|
| 170 |
-
| 3 | Major Damage |
|
| 171 |
-
| 4 | Destroyed |
|
| 172 |
-
|
| 173 |
-
---
|
| 174 |
-
|
| 175 |
-
# 🌍 Disaster Coverage
|
| 176 |
-
|
| 177 |
-
The model was evaluated on multiple disaster events from the xBD dataset.
|
| 178 |
-
|
| 179 |
-
| Disaster | Type | Year |
|
| 180 |
-
| ------------------- | ----------------- | ---- |
|
| 181 |
-
| Guatemala Volcano | Volcanic Eruption | 2018 |
|
| 182 |
-
| Hurricane Florence | Hurricane | 2018 |
|
| 183 |
-
| Hurricane Harvey | Hurricane | 2017 |
|
| 184 |
-
| Hurricane Matthew | Hurricane | 2016 |
|
| 185 |
-
| Hurricane Michael | Hurricane | 2018 |
|
| 186 |
-
| Mexico Earthquake | Earthquake | 2017 |
|
| 187 |
-
| Midwest Flooding | Flood | 2019 |
|
| 188 |
-
| Palu Tsunami | Tsunami | 2018 |
|
| 189 |
-
| Santa Rosa Wildfire | Wildfire | 2017 |
|
| 190 |
-
| SoCal Fire | Wildfire | 2017 |
|
| 191 |
-
|
| 192 |
-
---
|
| 193 |
-
|
| 194 |
-
# 🌡️ Climate Vulnerability Analysis
|
| 195 |
-
|
| 196 |
-
The project integrates NASA POWER climate datasets to analyze long-term environmental vulnerability in disaster-affected areas.
|
| 197 |
-
|
| 198 |
-
## Climate Parameters
|
| 199 |
-
|
| 200 |
-
| Parameter | Description | Unit |
|
| 201 |
-
| ----------- | ----------------------- | ------ |
|
| 202 |
-
| T2M | Air Temperature at 2m | °C |
|
| 203 |
-
| PRECTOTCORR | Corrected Precipitation | mm/day |
|
| 204 |
-
| RH2M | Relative Humidity | % |
|
| 205 |
-
|
| 206 |
-
---
|
| 207 |
-
|
| 208 |
-
## Why Climate Analysis Matters
|
| 209 |
-
|
| 210 |
-
Disaster-affected areas often face secondary climate risks after infrastructure damage.
|
| 211 |
-
|
| 212 |
-
Examples include:
|
| 213 |
-
|
| 214 |
-
* Flash flooding in damaged urban zones
|
| 215 |
-
* Landslides on weakened terrain
|
| 216 |
-
* Heat stress in areas with vegetation loss
|
| 217 |
-
* Long-term vulnerability from rising temperatures
|
| 218 |
-
|
| 219 |
-
This project connects immediate disaster impact with future climate resilience planning.
|
| 220 |
-
|
| 221 |
-
---
|
| 222 |
-
|
| 223 |
-
Supported Platforms:
|
| 224 |
-
|
| 225 |
-
* QGIS
|
| 226 |
-
* ArcGIS
|
| 227 |
-
* Google Earth
|
| 228 |
-
* Folium
|
| 229 |
-
* GeoPandas
|
| 230 |
-
|
| 231 |
-
---
|
| 232 |
-
|
| 233 |
-
# 🔮 Future Improvements
|
| 234 |
-
|
| 235 |
-
* Fine-tune on Nepal-specific disaster imagery
|
| 236 |
-
* Add Sentinel-2 multispectral support
|
| 237 |
-
* Integrate Himalayan GLOF risk analysis
|
| 238 |
-
* Deploy cloud inference API
|
| 239 |
-
* Add temporal disaster progression analysis
|
| 240 |
-
* Improve small-building segmentation accuracy
|
| 241 |
-
|
| 242 |
-
---
|
| 243 |
-
|
| 244 |
-
# 📚 References
|
| 245 |
-
|
| 246 |
-
Gupta, R., et al. (2019).
|
| 247 |
-
Creating xBD: A Dataset for Assessing Building Damage from Satellite Imagery.
|
| 248 |
-
CVPR Workshops.
|
| 249 |
-
|
| 250 |
-
Ronneberger, O., et al. (2015).
|
| 251 |
-
U-Net: Convolutional Networks for Biomedical Image Segmentation.
|
| 252 |
-
|
| 253 |
-
NASA POWER Project
|
| 254 |
-
https://power.larc.nasa.gov
|
| 255 |
-
|
| 256 |
-
xView2 Challenge
|
| 257 |
-
https://xview2.org
|
| 258 |
-
|
| 259 |
-
|
| 260 |
---
|
| 261 |
|
| 262 |
-
#
|
| 263 |
|
| 264 |
-
|
| 265 |
|
| 266 |
-
|
| 267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: GeoAI DisasterMapper
|
| 3 |
+
emoji: 🛰️
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: red
|
| 6 |
+
sdk: docker
|
| 7 |
+
pinned: false
|
| 8 |
+
license: mit
|
| 9 |
+
datasets:
|
| 10 |
+
- DrNerd/xBD-Training-Data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
---
|
| 12 |
|
| 13 |
+
# 🛰️ GeoAI DisasterMapper
|
| 14 |
|
| 15 |
+
Automated Building Damage Detection from Satellite Imagery using Deep Learning and Climate Vulnerability Analysis.
|
| 16 |
|
| 17 |
+
## How to use
|
| 18 |
|
| 19 |
+
1. Upload before and after disaster satellite images
|
| 20 |
+
2. Click Run Damage Detection
|
| 21 |
+
3. View damage map and download GeoJSON
|
| 22 |
+
4. Fetch climate data for the disaster location
|