As some of you might know, Facebook has been using machine learning algorithms to help human mappers edit and validate geometry faster. Over the past year, we have completed mapping all the roads in Thailand and most of Indonesia. Watch the video below to see the progress.
Video on Thailand Mapping
Based on this work, many NGO’s, local communities, and tech companies have requested the data, which we have been sharing when available, like we did for last year’s Kerala Floods to help with disaster response. In the case of disasters, many enthusiastic OSM volunteers offer up their time to help fill in an area’s missing data. However, new volunteers often encounter two challenges: it’s hard to get started quickly and there’s a steep learning curve to master high-quality edits. To address these challenges, we’ve created a version of the primary OSM iD editor that we call RapiD to helps every mapper make edits quickly using roads suggested by our Map With AI service. It also has strong integrity checks to ensure edit quality. Special thanks to the original makers of the iD tool for building an incredible foundation.
In a previous diary, we shared our internal workflow for mapping using AI. Since that time, we have made some significant changes in order to allow greater accessibility and simplicity when working with the data. These enhancements and simplifications have coalesced into the current version of the RapiD editor. Over the next few weeks, we are happy to announce that we’ll start testing RapiD using the Humanitarian OpenStreetMap Assisted Mapping for Good Tasking Manager with selected partners to gather critical feedback. Based on that feedback, we will be exploring the possibility of opening the RapiD editor source code and how-to service documentation to the entire OSM community.
With or without AI assistance, mapping is a time-consuming process. It took our internal mapping team about a year and half to map all of Thailand, even with the AI roads speeding up the editing process. To improve global OSM coverage at a faster pace and in a more collaborative manner, we believe the best way to move forward is to team up with the whole OSM community and create tools that empower every mapper.
After spending a lot of time researching the mapping techniques and preferences of various OSM communities, we decided it was best that we change our workflow. While Facebook mappers have over a month of training to ramp up before they start making live edits in the map, this is not true for most other mappers. So, we focused on two major changes:
- First, we needed to make our roads available on-demand for users. Our original process used static XML files that offered less flexibility in terms of task size and had to be uploaded all at once.Often times, OSM users only partially map an area and will upload frequently so as to not lose their edits.
- Second, we needed to build a tool that was accessible and familiar to OSM users. The previous version of our internal iD fork was highly customized for mapping AI roads, but this came at the cost of different styling and hotkeys from official iD. Users would have been forced to relearn iD instead of just hopping in and immediately understanding what they saw. So, we worked closely with the developers of the original iD team to re-factor and created the RapiD editor, porting many integrity changes to both versions.
RapiD Editor
RapiD takes all the power of our AI-assisted mapping and makes it accessible to all levels of users. Upon opening a task area, the user will be presented with an additional RapiD Assist layer in magenta. These magenta ways are road predictions that a user can choose to add to the map. To avoid causing data errors, the predicted ways will automatically crop themselves at task edges. Furthermore, a round of real-time conflation is done to make sure they do not duplicate existing OSM roads. Any predicted road not specifically chosen for inclusion by the user will not be uploaded.
To use RapiD, a user selects a road then clicks “Use This Feature” to bring the predicted way onto the map. From there the feature is like any other newly digitized road and can be further edited as needed.
If an editor decides they don’t want to use the predicted road, they can mark “Remove This Feature” to make it disappear.
To aid in tagging these newly created roads correctly, we have added a hotkey to cycle through the most common road tags.
The AI layer can be toggled on and off as needed.
So how do we actually generate roads from satellite imagery?
We use a type of machine learning called a Deep Neural Network segmentation model that we run against satellite imagery. The actual output of this is an image giving the probability of each pixel being part of a road. Bright magenta means there is high confidence of the pixel being a road, while transparent means there is low confidence. For a much more in depth look at this subject, check out our DeepGlobe Challenge website or research paper.
Once we generate this magenta output layer, we convert it from a raster image into a vector data format. Then we conflate this vector data with OSM and drop any predicted roads that already exist in OSM. The magenta roads available in RapiD are the final result of this post-processing.
Ensuring Data Quality
Official iD now has a powerful built-in validation panel, which was the result of a collaborative effort among a group of iD developers, including engineers from the Facebook Maps Team. RapiD incorporates this panel and adds a set of additional checks that are specifically relevant to our AI data.
Short road checks look for roads that may need extension or deletion.
We have enhanced the disconnected road check to check when a newly-added cluster of roads is disconnected from the already existing road network. This enhancement has also been integrated into the latest release of the primary iD editor.
Additionally, we have created a hotkey to let users track where they have edited ways. When toggled on, the segments of a way that have been modified will turn green as well as the entirety of any AI road added. This gives users far more visual clarity on what they have and have not touched while editing than is currently possible in iD.
Now that you know more about what RapiD does, you might enjoy this comparison video of manual mapping in iD versus using the Map with AI service in RapiD.
Mapping Speed Comparison Using RapiD
Data Integrity and tracking our edits
To further ensure the quality during this process, we will be running a number of tracking tools daily to check on the changesets submitted to OSM through the RapiD editor. This includes the OSMCha flags, KeepRight and OSMOSE. At this beginning stage, all data issues will be reviewed by the Facebook internal mapping team and fixed accordingly. Eventually, we intend to build a project issue tracking system into Tasking Manager 3 to allow a more integrated approach to data validation.
The indicators to track changesets submitted through RapiD are these tags:
- on each feature: source=digitalglobe, AND;
- on each changeset: created_by=RapiD (version number)
How to reach the team
- You can e-mail the team at osm@fb.com
- Profiles for some of the team members
- We have created a #mapwithai_feedback slack channel on OSM US. Members of the team will be available to answer questions immediately during these time below.
- Friday 31st May - 11:30am-12:30pm PST
- Tuesday 4th June - 9am-10am PST
- Thursday 7th June - 11am-12pm PST
- Monday 10th June - 9am-10am PST
We look forward to sharing the feedback and findings of our testing phase. Stay tuned for more!