Mapping road networks is currently both expensive and labor-intensive. High-resolution aerial imagery provides a promising avenue to automatically infer a road network. Prior work uses convolutional neural networks (CNNs) to detect which pixels belong to a road (segmentation), and then uses complex post-processing heuristics to infer graph connectivity. We show that these segmentation methods have high error rates because noisy CNN outputs are difficult to correct. We propose RoadTracer, a new method to automatically construct accurate road network maps from aerial images. RoadTracer uses an iterative search process guided by a CNN-based decision function to derive the road network graph directly from the output of the CNN. We compare our approach with a segmentation method on fifteen cities, and find that at a 5% error rate, RoadTracer correctly captures 45% more junctions across these cities.
We use satellite imagery from Google Maps and ground truth road network data from OpenStreetMap. The imagery is copyrighted so we cannot release the dataset, but we include scripts in the Code to download the data. See the README for more details (use 1_sat.go and 2_mkgraphs.go).
We release some other files:
Here is visualization of the road network graphs from RoadTracer and OpenStreetMap (ground truth) in the 15 test cities. We also include visualizations for the two baselines: our implementation of DeepRoadMapper and our segmentation approach.