The Microsoft Maps AI Team has detected 47.8M km of all roads and 1.16M km of missing roads from Open Street Maps (OSM). These new roads were detected using Bing Maps imagery collected between 2020 and 2022 including sources from both Maxar and Airbus. The complete set of roads is now available to Bing Maps Users but also shared on Github with the open data community and is freely available for download and use under the Open Data Commons Open Database License (ODbL).
How did they do it?
Using a Neural Network Architecture and dataset of course! The Microsoft Maps AI team’s network was based on UNet and ResNet and the following papers [U-Net] (https://arxiv.org/abs/1505.04597), [Res U-Net] (https://arxiv.org/pdf/1512.03385.pdf), [Res U-Net] (https://arxiv.org/pdf/1711.10684.pdf). The model was trained using the Keras toolkit with Bing Maps 512x512 images, it is fully convolutional, which allows images of any size (that are divisible by 64) to be processed by the model (constrained to 1088x1088 with 100 cm/pixel resolution by GPU (graphics processing unit) memory in this instance). The dataset consisted of 20k labeled satellite images covering diverse areas worldwide. To achieve a good set representation, the set was also enriched with samples from various areas that included mountains, glaciers, forests, deserts, beaches, coasts, etc.
Once the model was trained, road extraction was done in four stages
- Semantic Segmentation – Recognizing road pixels on the aerial image using Convolutional Neural Network (CNN).
- Geometry Generation - A series of algorithms and processes transforming output of semantic segmentation into roads in geometry format.
- Image postprocessing
- Connectivity improvement
- Graph construction;
- Finalizing road shapes and network quality
- Stitching roads between neighboring images (where needed)
- Conflation & Cutting - Excluding roads and parts of roads that already exist in the road network (OSM).
- Classification - A classifier to filter out low-confidence roads and predict a road type.
How do we know if it is good?
The Microsoft Maps AI Team measured intermediate stage metrics to track performance of the models. This focused on Pixel metric measures for the performance of the Convolutional Neural Network and APLS metric (Average Path Length Similarity) to measure overall road connectivity after the road geometry generation stage.
The “Missing” OSM Data went through a final classifier to ensure that the precision is at least 95%. After classifiers filtered out potentially bad roads, the precision was remeasured and made sure that it is 95% before releasing results.
What does this mean for the future?
The vintage of the roads depends on the vintage of the underlying imagery. As Bing Maps Imagery is a composite of multiple sources it is difficult to know the exact dates for individual pieces of data but the Microsoft Maps AI Team is now connected to the direct imagery update pipeline for Bing Maps so will continue to refine and update this dataset as new imagery is acquired.
How can this data be used?
This set of road network data is useful for a range of different applications. Having an accurate map of rural and urban roads is a necessary condition for effective long-term planning and can save precious time and resources that would otherwise have been used for surveying access options to remote areas.
One of the most popular applications of our Microsoft Maps AI data, both these new roads and building footprints, can been seen in OpenStreetMap. The Humanitarian OpenStreetMap Team is effectively crowdsourcing the identification of potentially vulnerable areas with the use of road network data. Once identified areas are mapped and verified, humanitarian organizations can act quickly in times of need.
What format is the data stored in?
Microsoft’s building footprint and new roads data is easily accessible in the GeoJson format, which is commonly used to encode a range of different geographic data. This file format has been chosen due to its compactness relative to other XML formats, as well as its easy readability. For example, here is a GeoJson file with New York as a reference point.
"coordinates": [-74.006393, 40.714172]
"name": "New York",
"description": "New York"
Where can I find out more about Bing Maps?
Just head to Microsoft.com/maps to get started and create a Bing Maps API key to discover further applications of our location data and get started with a developer-friendly mapping experience today!