Detecting Roads in Low Resolution satellite imagery

Daniel Moraite
3 min readMay 18, 2021

--

An important part of EO/GIS is to detect infrastructure, as roads, for different purposes.
We have seen in the past years, with the increase of high resolution satellites and deep learning algorithms, an increase in solutions for image labelling based on high resolution datasets. Now, we still have much unexplored low resolution data that it is cheaper and might be more useful in some cases.

What I propose in this proof of concept project is to use transfer learning by training a model on an already labelled dataset of 1m resolution and then test it on 30m resolution imagery. For fun purposes I have picked the city where one needs to wear a flower in her/his hair when visiting.

First I have acquired a Landsat 8 image of San Francisco and pansharpened it to make sure I have the best results later.

1. pansharpened 2. raw true color

Secondly, I have had a look at several papers and works just to compare the results. First try was not that exciting: an Unet, a fully convolutional network, with 3 cross-connections:

Second try, another U-net that got some exciting results on validation set(for different training image sizes and resolutions):

Testing it further on unseen data of different resolution looked also promising:

And finally got the courage to have a shot at the SF image:

I would say quite good results keeping in mind the huge gap in resolution: 30x. And of course one can play further with the mask in many ways:

Conclusion: if we would have trained the model on labeled 30m images then we would have have awesome results — who knows maybe in a year time will find such labelled data sets available.

I hope you enjoyed this!
Thanks! 🙏

--

--

Daniel Moraite

My passion for technology and previous roles inspired me to get closer to the practical side of things and I started studying data science and coding on my own.