This repository contains the code and resources for the paper "Mapping Building Heights at Large Scales Using Sentinel-1 Radar Imagery and Nighttime Light Data" by M. Kakooei and Y. Baleghi.
Kakooei, M.; Baleghi, Y. Mapping Building Heights at Large Scales Using Sentinel-1 Radar Imagery and Nighttime Light Data. Remote Sens. 2024, 16, 3371. https://doi.org/10.3390/rs16183371
This project uses Sentinel-1 radar data and nighttime light data to estimate building heights using a deep learning model (U-Net). The generated height maps contribute to Sustainable Development Goal 11 (sustainable cities).
Clone this repository and install the required packages:
git clone https://github.com/Mohammadkakooei/Building_Height.git
cd Building_Height
pip install -r requirements.txt
Data repository includes downloaindg data samples for shallow models and data patches for deep models. Furthermore, it contains pre-preocessing of data cleaning, generating TFrecords etc.
Export CSV samples for feature analysis and training shallow models Python Script
Export satellite data patches for training deep models for building height estimation Python Script
Data cleaning of patches Python Script
Convert raster to TFrecord Python Script
Shallow regression algorithms are applied to reduce model uncertainty and explore how different feature configurations contribute to building height estimation. Various scenarios are compared to identify the most informative features. The following regressors are utilized in this phase: Ridge Regression (RR), Support Vector Regression with a Linear kernel (SVRL), Multi-Layer Perceptron Neural Networks (NNs), Gradient Boosting (GB), Random Forest (RF) with 100 tree estimators, and Voting (VOT).
Feature analysis where Sentinel data just has VV and VH bands Python Script
Feature analysis where Sentinel data has VV, VH, HH, and HV bands Python Script
Training the deep model Jupyter Notebook
Load the trained model and predict the building height per patch and save it as GeoTif Jupyter Notebook
Generate a mosaic building height map from predicted GeoTifs Jupyter Notebook