How AI applied to HighRes Satellite Imagery can help OSM Mappers?

At Facebook, our mission is to make the world more open and connected. Through collaboration with the OpenStreetMap community, we believe we can enable greater transparency, deliver the best local experiences, and facilitate innovation at scale.

OpenStreetMap is the largest open map of the world with more than two million contributors, and it has been integral to popular Facebook product experiences like live maps (https://www.facebook.com/livemap/), as well as check-ins and place pages for countries such as Japan and South Korea. However, there are still parts of the world in which the map quality varies. Frequent road development and changes can also make mapping challenging, even for developed countries.

At Facebook, we’ve utilized crowdsourcing and AI to investigate and research new mapping techniques. While there have certainly been meaningful advances in computer vision research on extracting roads from aerial imagery, mapping the developing world still poses significant challenges due to factors such as poor road conditions and a wide range of road types. As illustrated in the images below, a large variance in roads types and conditions can be observed between Egypt, India, and Rwanda. In the figure of Egypt on the left, the roads are unpaved, grey, and blended-in with buildings. India’s roads on the top right are mixed with greenery, and can only be identified by fences. In Rwanda on the lower right, there is a full range of dirt roads comprised of major roads and narrow trails for pedestrians. Thus, it’s unclear as to which roads should appear on the map, as well as what type.

Figure1

Figure 1. There’s wide variance in the appearance of roads in developing countries, making it very difficult, even for humans, to draw the map correctly. Town in Egypt on left, village in India on top right, and town in Rwanda on lower right.

In partnership with DigitalGlobe, we are currently researching how to solve this problem by using a high resolution satellite imagery (up to 30cm per pixel). Combined with the use of advanced deep neural net models, we have been able to train models accurate enough to detect roads automatically in these countries. The figure below shows road masks generated by our models in Egypt and Thailand.

Figure2

Figure 2. Road detection near a town in Thailand (top), and for a village in Egypt (bottom).

Beyond generating road masks with deep neural net models, we have applied a novel algorithm to extract OSM-compatible road vectors from the raster mask. We first apply a threshold and extract road segments using a Voronoi diagram, and then connect road segments using the shortest path algorithm. Once that is completed, we trim any remaining disconnected road segments.

Prior to being uploaded to OSM, the machine learned roads are merged with the existing OSM roads in order to avoid duplicates. During this process, a team of editors manually verifies each road segment to make sure that they comply with the OSM guidelines and conventions. At that point, the OSM communities feedback has proven to be critical in helping us submit correct edits and helped us catch errors.

Figure3

Figure 3. Upload AI generated roads through OSM iD tool, modified to highlight generated roads in green to help editors

For small geographical areas, this technique has allowed our team to contribute additional secondary and residential roads to OSM, offering a noticeable improvement in the level of details of the map. Below is an example of before/after images of road geometries with OSM in Egypt.

Figure4

Figure 4. One area in Egypt where we submitted roads (left: before, right: after)

While mapping road locations is part of the challenge, road naming is another. We are in the midst of building an integration with our crowdsourcing platform that allows people to name roads near them based on their local knowledge. Our proposal is to start by generating candidates of road names from POIs that are on currently unnamed roads and then ask people to vote for the correct name. We have not yet submitted any crowdsourced road names since we are still analyzing these results, but we estimate that this approach could for instance improve road name coverage in Egypt by 20% - 30%.

We hope to continue developing this partnership with OpenStreetMap, and learn more about how we can use our platform to help improve the map. Over the last few months we’ve been learning a lot and are thankful for the feedback from the community. Our team will be at the State of The Map US conference July 21st - 23rd (http://stateofthemap.us/program/) to share more about the research we are doing around how AI can help us make maps.

Pierre, from Facebook

PRX_MPK thank you for your interesting contribution, but it would be far better suited for a posting to the “talk” mailing list or an OSM diary post.

Simon

Thanks for the suggestion Simon, we were indeed planning on distributing it on the “talk” mailing list but wanted to gauge the interest of the community for this topic first. This will be done throughout the weekend. Will also look at the OSM Diary alternative.

Pierre

These forums receive relatively little attention from English speaking members of the OpenStreetMap community, so a diary post (even if it just links to this forum post) would command more immediate interest.

Perhaps I’ve missed this through only a skimmed read of the original, but I wondered if you can also algorithmically infer the road class as well. I realised in reading this that work I did recently on finding urban areas from OSM road networks could also be applied to actually classifying the network. (See this blog post and it’s related follow-ups: http://sk53-osm.blogspot.co.uk/2015/11/urban-areas-4-derivation-from.html))

Fascinating talk at State of the Map US. I just tweeted the link to this forum post, so other people could find it easier. https://twitter.com/mappingmashups/status/756996185437511681

@Pierre I’m a tiny bit concerned with your last paragraph which would seem to imply that all roads have a name, this is not true even in Western Europe, not to mention developing countries.

Now while it might be convient to simply slap everything on roads, as google does, I believe their is at least some consensus that we would rather map stuff as it really is (an old blog post by me on the subject http://sosm.ch/skiing-vacation-street-names-and-all-that/)).

Simon

@Simon, our road naming effort is definitely focusing on roads that local users have stated have names already. We believe that we could improve the coverage by ~30% for these roads on top of what already exists in OSM. This is obviously a rough estimation at this point and it will for sure vary from country to country.

Figuring out which unnamed roads should be given one (~70% of all roads in the world) is an entirely different issue that we don’t tackle here.

Pierre

@Pierre, i am interested in this topic, is there some mailing list i can join in?

Would it be possible to have the option send a parameter to the converter to disable some of the error corrections? I find it useful to use GPSMapEdit to spot errors that aren’t easily found otherwise. Thanks! จีคลับ