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.
The code for constructing and training the network below can be found in the notebook -> segmentation.ipynb.
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/.
The code for representing a predicted mask (output from DNN model) as a graph can found in the notebook -> image2graph.ipynb.
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.