3D Elevation Mapping from Satellite Imagery Using DNNs

Jake Tallman

Data Scientist
ML Engineer
Software Engineer
pandas
Python
TensorFlow

The task of this project was to create a neural network that could take satellite imagery and create a 3D mapping of the landscape. Mapping 3D elevation using LIDAR or other sensors to a high accuracy is extremely expensive. A model that could do so using satellite imagery would be incredibly useful for cutting costs.

Data

Copernicus Satellite Images (RGB) mapped over a desired region.

Copernicus over the California Central Coast
Copernicus over the California Central Coast

Copernicus LIDAR imagery mapped over the desired region. This was used for segmentation. Expensive to gather.

LIDAR over the Central Coast
LIDAR over the Central Coast

Model

The model structure we determined would work the best was the UNET. The UNET was asked to predict on the directional slope angle of elevation as a segmentation task broken into 10 classes consisting of a range of slopes.

The Unet Model structure

Data Transformation

The truth data was determined using the LIDAR dataset. This data was mapped into the 10 segmentation classes.

Satellite input vs Truth data to be used for training the UNET

Training

Initial training vs validation set. This shows overfitting to training data.

Spatial dropout was applied to mitigate overfitting. Validation improved.

Results

Input, Truth, Prediction

Post Processing

Slope data was used to construct a 3D image of the terrain.

Partner With Jake
View Services

More Projects by Jake