How gauravsrc/drishti-disaster-ai works
Drishti turns uploaded aerial images into disaster classifications, confidence-aware alerts, visual explanations, and area maps. The main user workflow runs through the Gradio interface and inference engine; the engine loads a trained checkpoint, classifies images, and supports Grad-CAM and tiled scans. A separate documented notebook trains and evaluates models on AIDER and exports weights for the app. Response guidance and uncertain-case review are part of the result. The notebook’s internal stages are documented in the README but its source was not sampled, so those details are not expanded.
Main entry points: app.py Gradio app · drishti_core.py Inference engine · drishti-training.ipynb Model training pipeline · drishti_model.pt Trained weights
Components 18
User interface
- Gradio app
app/app.py - Image preparation
app/app.py
Inference and analysis
- Inference engine
app/drishti_core.py - Trained weights
app/model/drishti_model.pt - CNN classifier
app/drishti_core.py - Confidence calibration
app/drishti_core.py - Grad-CAM
app/drishti_core.py - Heatmap overlay
app/drishti_core.py - Tile scan
app/drishti_core.py - Scan map
app/drishti_core.py
Training and evaluation
- Model training pipeline
notebooks/drishti-training.ipynb - AIDER dataset
- Model evaluation
notebooks/drishti-training.ipynb
Response guidance
- Alert card
app/drishti_core.py - Response playbook
app/drishti_core.py
Other components
- Analyst
- Human analyst
- Emergency responders
Connections 21
- Analyst → Gradio app: uploads image
app/app.py - Gradio app → Image preparation: prepares input
app/app.py - Gradio app → Inference engine: initializes
app/app.py - Gradio app → Inference engine: requests prediction
app/app.py - Gradio app → Grad-CAM: requests explanation
app/app.py - Gradio app → Tile scan: requests scan
app/app.py - Gradio app → Heatmap overlay: renders explanation
app/app.py - Gradio app → Scan map: renders scan
app/app.py - Gradio app → Alert card: builds alert
app/app.py - Gradio app → Human analyst: presents uncertain cases
app/app.py - Inference engine → Trained weights: loads weights
app/drishti_core.py - Inference engine → CNN classifier: runs inference
app/drishti_core.py - Inference engine → Confidence calibration: calibrates probabilities
app/drishti_core.py - Inference engine → Grad-CAM: computes explanations
app/drishti_core.py - Inference engine → Tile scan: classifies tiles
app/drishti_core.py - Tile scan → Scan map: provides tile predictions
app/drishti_core.py - Alert card → Response playbook: uses response guidance
app/drishti_core.py - Response playbook → Emergency responders: recommends actions
app/drishti_core.py - AIDER dataset → Model training pipeline: trains on
README.md - Model training pipeline → Model evaluation: evaluates models
README.md - Model training pipeline → Trained weights: exports weights
README.md