Skip to content

Notebooks describing how to find road networks from satellite imagery using Res-Unet DNN architecture and graphs.

Notifications You must be signed in to change notification settings

viktorossmark/satellite-road-detector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Satellite road detector

Notebooks illustrating how to find road networks and represent them as graphs from satellite imagery. For the road segmentation we are using a U-net with ResNet-blocks (skip connections) DNN architecture. The segmented imagery is then represented as graphs, which will allow us to efficiently find optimal paths within the road networks.

U-net with ResNet-blocks architecture

The code for constructing and training the network below can be found in the notebook -> segmentation.ipynb.

resnet_unet_scheme

Sample predictions

Model trained on 918 satellite images taken over Las Vegas (with corresponding ground truth masks). The data can be found and downloaded at https://spacenet.ai/spacenet-roads-dataset/.

vegas_sample_pred

Image-to-graph vizualizations

The code for representing a predicted mask (output from DNN model) as a graph can found in the notebook -> image2graph.ipynb.

Step 1: Post-process

post_process_stp

Step 2: Skeletonize

skeleton_ex

Step 3: Build graph

mask_graph_ex

Optimal routing using Dijkstra

The implementation of Dijkstas shortest path algorithm can also be found in -> image2graph.ipynb. The evaluation of how effective we can find optimal routes (compared to the ground truth optimal paths) can be found in -> evaluate.ipynb. The metric we use is denoted as the Optimal Top-to-Bottom Similarity score and is defined according to the equation below. In the example below, the OTBS-score is 0.98.

opt_path_eval

otbs2

About

Notebooks describing how to find road networks from satellite imagery using Res-Unet DNN architecture and graphs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published