Skip to content

Repository files navigation

Spatiotemporal Deep Learning for Land Use Change Prediction

Bengaluru, 2015–2030 — ConvLSTM and CNN-LSTM models trained on multitemporal Sentinel-2 and Landsat imagery to forecast land-cover evolution through 2030, with classical CA-Markov and Random Forest baselines for comparison.

📊 Read the full project report → — results, figures, methodology, and limitations. 📑 Also available as REPORT.docx (Word) and REPORT.pptx (presentation deck).

Headline Result

Between 2015 and 2030, U-Net + ConvLSTM forecasts that built-up area in the Bengaluru AOI grows from 53.0% to 72.8% (+19.8 pp), with dense vegetation declining from 35.4% to 18.3% (−17.0 pp). Total green cover is forecast to fall from 44.0% to 24.0% — nearly half of the city's existing green cover lost in 15 years.

2015 vs 2030 forecast

Authors

  • Shivek Ranjan (IMT2023042)
  • Navish Malik (IMT2023060)
  • Digvijaysinh Pawar (IMT2023099)

Project Structure

.
├── configs/             # YAML configs for data, models, training
├── data/
│   ├── aoi/             # Bengaluru AOI shapefile/GeoJSON
│   ├── raw/             # GEE exports (untouched)
│   ├── interim/         # Cloud-masked, composited rasters
│   └── processed/       # Tiled, normalized tensors ready for training
├── notebooks/           # Exploration, GEE prep, results visualization
├── scripts/             # Entry-point CLIs (gee_export, preprocess, train, evaluate, predict)
├── src/
│   ├── data/            # Dataset, transforms, tiling
│   ├── models/          # ConvLSTM, CNN-LSTM, U-Net + ConvLSTM, baselines
│   ├── training/        # Trainer, losses
│   ├── evaluation/      # Metrics (IoU, F1, Kappa, Fuzzy Kappa, LEI), back-testing
│   ├── visualization/   # Maps, animations, change trajectories
│   └── utils/           # Config loading, logging, geo helpers
├── outputs/
│   ├── checkpoints/
│   ├── predictions/
│   └── figures/
└── tests/

Quick Start

1. Environment

# Create a Python 3.10+ virtual environment
python -m venv .venv
.venv\Scripts\activate          # Windows
# source .venv/bin/activate     # Linux/Mac

pip install -r requirements.txt

2. Authenticate Google Earth Engine

earthengine authenticate

You need a Google account with GEE access (https://earthengine.google.com/signup).

3. Export imagery for the AOI

Place a Bengaluru boundary GeoJSON at data/aoi/bengaluru.geojson (BBMP / Greater Bengaluru), then:

python scripts/gee_export_sentinel2.py --years 2015 2025 --out data/raw/s2
python scripts/gee_export_landsat.py   --years 2015 2025 --out data/raw/landsat

Exports go to your Google Drive — sync them back into data/raw/.

4. Preprocess

python scripts/preprocess.py --config configs/data.yaml

This produces tiled .npy patches in data/processed/ with one file per (tile, year) pair.

5. Train

# Local quick-check (tiny patches, batch size 1) — your GTX 1650 can handle it
python scripts/train.py --config configs/model_convlstm.yaml --device cuda --debug

# Full training on Colab/Kaggle (T4 16GB)
python scripts/train.py --config configs/model_convlstm.yaml --device cuda

6. Predict 2026–2030

python scripts/predict_future.py \
    --checkpoint outputs/checkpoints/convlstm_best.pt \
    --years 2026 2027 2028 2029 2030 \
    --out outputs/predictions/

7. Evaluate (back-test against 2023–2024)

python scripts/evaluate.py --checkpoint outputs/checkpoints/convlstm_best.pt

Compute Strategy

Stage Recommended environment
GEE export, preprocessing Local PC (Ryzen 5, 16GB RAM)
Exploratory training, debug Local PC (GTX 1650, batch=1, patch=64×64)
Full training, hyperparam tune Google Colab Pro / Kaggle (T4 16GB / P100)
Evaluation, visualization Local PC

Why hybrid? ConvLSTM with 5-band input × 10 timesteps × 256×256 patches blows past 4GB VRAM at any reasonable batch size. The free T4 on Colab gives you 4× the VRAM and a 2× faster GPU at zero cost.

See Also

  • ROADMAP.md — phased timeline with milestones
  • configs/ — all hyperparameters and paths
  • Deep Learning Land Use Prediction (2).pdf — original project proposal

About

Spatiotemporal deep learning (ConvLSTM, U-Net+ConvLSTM, CNN-LSTM) for forecasting Bengaluru's land use 2026–2030 from 10 years of Sentinel-2 + Landsat imagery, with MC Dropout uncertainty.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages