OpenStreetMap prides itself with having fresh, localized, and up-to-date map data (in some instances even better than Google Maps).

A big part of this process is the data collection performed by the millions of OSM editors (~1.9 millions by the latest count): GPX tracks, pictures, notes on a piece of paper. All this data gets sanitized and manually inserted back to the map at a later stage.  Here’s how the normal flow would look for road signs.

Adding road signs information to OSM

Adding road signs information to OSM

There are a number of advantages and disadvantages to this flow.

The major advantage is that real people, who know the context of when/where a certain piece of data was collected, validate and add the data to OSM. This gives OSM the “localized” and “personalized” touch. No one knows the surroundings better than the locals.

The major disadvantage is that the process is rather slow, especially the data collection part. It’s always a tough decision to dedicate time to walking down the streets, taking notes, or taking pictures of road signs.

What if we could automate parts of this process? Take out the slow part (data collection, sanitizing it and importing it to an OSM editor), while keeping the added value part: human validation.

Introducing the ScoutSigns platform

The solution we’re presenting here tackles this problem with respect to one niche:  road signs. It consists of 3 components:

  1. a tool for automatic road sign detection to be used during normal navigation scenarios
  2. a backend that collects & processes these road signs
  3. a JOSM plugin that exposes the roadsigns and allows addition of this information directly to OSM

Automatically collecting road signs via the camera function of the Scout app (outside North America)

You will need to grab the “GPS NAVIGATION, MAPS & TRAFFIC – SCOUT” app from iTunes and install it on your iPhone.

After installing the app,  you will need to turn on the “Camera” function (the “camera” mode can be used both during & outside navigation scenarios).

Once the “camera” mode is initialized, you’ll be guided through a setup scenario, helping you to position the phone in your windscreen holder for idealroad sign detection.

While driving, the phone will automatically recognise images on the road (speed limits/end of all speed limits, overtaking restrictions/end of overtaking restrictions), will notify you of the changes affecting the current navigation (i.e. you are going too fast) and will also send this data to our servers, to be used by the OSM community to improve the map by means of a JOSM plugin.

Note: due to the differences in how roads signs look in US vs Europe, road sign recognition is currently only available in Europe

Visualising and using road signs data via the ScoutSigns JOSM plugin

You can get the ScoutSigns plugin (currently beta) from here and you  activate the plugin by clicking on its icon from the left panel. After activation, the road signs from the current view are displayed.

The plugin has two main components: the map and the ScoutSigns panel, located onthe right side of the editor.

The map display

The map displays the road signs from the current view (bounding box) and the road signs are reloaded as the map is panned, zoomed in or zoomed out.

Displays the road signs from the current view. The road signs are illustrated with different icons based on their types.

Displays the road signs from the current view. The road signs are illustrated with different icons based on their types.

Road signs are illustrated with different icons based on their types.
If the layer is active, road signs can be selected from the map. You can select a single road sign by clicking on it or you can select multiple road signs by pressing shift and clicking on the desired road signs.
In the ScoutSigns panel you can see the details of the selected road sign, or the details of the last selected road sign in the case of multiple selection.

The road sign’s captured photo during navigation can be viewed by clicking on the photo icon.  For each road sign a black & white image is captured and stored.

The road sign’s captured photo during navigation can be viewed by clicking on the photo icon. For each road sign a black & white image is captured and stored.

ScoutSigns panel:

In the first tab,  basic details are displayed such as: road sign identifier, coordinates, height, type, status, the date when the road sign was captured and confidence level – representing the percentage of confidence to which a road sign was correctly identified from the captured photo.
The “Car location” tab displays details related to the user’s whereabouts at the time of when the picture was taken: position, type, heading and vertical accuracy.
In the next tab the basic details of a trip are available: identifier, navigation mode, navigation profile, application name & version, device name and OS version.
In the last tab you can see the history of a collected road sign: the road sign’s comments and status changes.
The road sign’s captured photo during navigation can be viewed by clicking on the photo icon – for each road sign a black & white image is captured and stored.
You can create a comment for the by clicking on the comment icon -i n order to create a comment you also need to supply your OSM nickname.

You can create a comment for the selected road sign by clicking on the comment icon. In order to create a comment you also need to supply your OSM nickname.

You can create a comment for the selected road sign by clicking on the comment icon. In order to create a comment you also need to supply your OSM nickname.

By default all collected road signs have assigned an open status, since the collected road sign was not yet verified and potentially added in OSM.
After editing the road sign data, you can change its status from open to one of the following available statuses:

Solved – this represent the situation where the road signs was added into OSM.

Road signs that were added to OSM can be marked as solved.

Road signs that were added to OSM can be marked as solved.

Invalid – this can be used for signaling that the collected road sign is not valid.

This feature allows you to signal that the selected road sign data is unusable.

This feature allows you to signal that the selected road sign data is unusable.

Duplicate – this can be used for signaling that the selected road sign is a duplicate of another sign.

This feature allows you to signal that a selected road sing is the duplicate of another road sign. For this you need to supply also the parent road sign’s identifier.

This feature allows you to signal that a selected road sing is the duplicate of another road sign. For this you need to supply also the parent road sign’s identifier.

You can filter the road signs by clicking on the filter button. The following filters are available:

  • Time period – this allows you to visualize the collected road signs between a given periods of time.
  • Status – see only road signs of a given status
  • Type – see only road signs of the given type
  • Duplicate of – see the road signs that are duplicates of another road sign
  • Device – filter by device name and OS version
  • Application – filter by application name and version
Road signs can be filtered based on: time interval, status, type, duplicate of, device, application, confidence level and OSM username.

Road signs can be filtered based on: time interval, status, type, duplicate of, device, application, confidence level and OSM username.

So in order to actually correct or add the road sign data to OSM , you have to download the OSM data for that particular area (bounding box), verify what information is currently available in OSM and add the new data or  correct the existing information.

Which are the next steps for ScoutSigns?

This plugin was created in order to ease the road sign editing process. It’s a projects that will be permanently improved and for this, we have in the plan to add:

  • Road sign clustering (add images to slide) – we intend to cluster the road signs based on zoom level and density. For a small zoom level (city, country, continent level) only the clusters will be displayed, to indicate where are available the collected road signs. The actual road sign will be visible only at a big zoom level (street level).
  •  Trip visualization – display the collected GPS track before and after the road sign. Approximatively 30 m before and after will be displayed. The exact distance of displayed positions might change over time.
  • Adding two new filters: the first is the feeling good filter, this is based on the OSM nickname of the user. So basically anyone would see his or hers contribution. The second filter will be a validation filter, based on the confidence level. By using this filter you will be able to see only road signs with a high quality image.

To sum up, by using the data available via the ScoutSigns plugin we can edit road signs easier than before. Mappers can focus more in editing the map, and ensure that the map reflects the reality while leaving the data collection part in the hand of Scout users.

Get involved