Last December and January, OpenStreetCam held a image collection competition in Australia and in New Zealand. The three mappers in each country who collected the most points during the months of December 2018 and January 2019 could each win a gift card: $100 for the winner, and $25 for the second and third place. We just announced the winners to the communities in both countries. Congratulations to steve91, robbie-bloggs, ConsEbt, david-blyth, ivss-xx, and nicknz!
We decided to do these competitions because we wanted more mappers in Australia and New Zealand to get acquainted with OpenStreetCam, and consider contributing to this free and open platform for street-level images. The more contributions, the more help OpenStreetCam can be for OSM mappers! There weren’t many contributions in either country yet, and if you go to the OpenStreetCam web site, you’ll quickly see that there are still large gaps to fill. Still, OpenStreetCam coverage grew by 800% since the beginning of December.
Head over to the ImproveOSM Blog for a step-by-step guide on how to get started with OpenStreetCam yourself!
OSM mappers can use the OpenStreetCam images to help with mapping. You can’t see everything from an aerial image. Signs are a great example of useful mapping information that requires an on the ground perspective. This is where OpenStreetCam is particularly handy, because we detect an increasing diversity of signs that appear on the photos for you automatically, using an open source machine learning platform.
For the sign detection platform to work and detect a variety of signs reliably, it needs training data. Your contributions during this competition have been invaluable to reach that goal. Our Map Team looked at tens of thousands of images collected by the community during the competition in Australia and New Zealand, and validated more than 160,000 traffic signs found in these images. After feeding that data into the platform, we can now reliably detect more than 80 types of signs in Australia and New Zealand. As we continue to look at more images that you contribute, the system will get smarter and we will detect more different types of signs.
Do you want to help train the OpenStreetCam sign recognition AI? You can do this right from the OpenStreetCam web site. Read all about it in this blog post.
The Telenav OSM team just released a new version of the OpenStreetCam JOSM plugin. In the last couple of months we had improved our sign detections and improved the detection map view, by displaying aggregated traffic sign detections instead of individual detections. Traffic signs are detected per OpenStreetCam photos, in dense areas the same traffic sign is detected several times. Checking several detected signs that represent the same traffic sign in real life is time-consuming and slows down the mapping process. In order to improve the mapping process, detections that represent the same traffic sign were aggregated into a single detection.
Map View Changes
Aggregated detections are displayed for high zoom levels starting with zoom level 16. Each aggregated detection is represented by a traffic sign cluster icon rotated based on the detection heading.
Aggregated detection data
An aggregated detection can be selected by a right click from the map and unselected by a double click. When an aggregated detection is selected the detection icon along with the belonging photo locations are highlighted on the map and its information is displayed in the right side OpenStreetCam Detection panel. The photo on which the detection has the best visibility is also loaded automatically.
Loading other photos that contains the detections can be done by either selecting a photo location from the map or by pressing the Next/Previous buttons from the OpenStreetCam Detection panel. For the associated shortcuts take a look at the OpenStreetCam shortcuts from JOSM Preferences.
By default, the plugin displays the photo locations of a selected cluster, but the plugin can be configured to display also the actual detections. This can be enabled from JOSM Preferences->OpenStreetCam plugin -> Aggregated detection settings.
If enabled individual detections are connected to the corresponding photo. This visualization is used mainly for debugging purposes.
The OSC plugin data can be filtered based on various new filters. Some of these filters were already present and others were extended.
data to display – the type of data to be displayed for high zoom levels; by default, we display OpenStreetCam photos and aggregated detections; if both detections and aggregated detections are selected then besides aggregated detections only the detections that do not belong to any aggregation are displayed
only mine – displays OpenStreetCam data contributed by the logged in user
not older than – filters out data based on a given timestamp
detection filters – are applied to detection/aggregated detection data
mode – is applicable only to individual detections; if set filters data based on detection mode; manual detections are detections that were manually marked on the OpenStreetCam photos, while automatic detections are detections recognized automatically by our platform
edit status – is applicable only to individual detections; if set filters detections based on edit status (if the user had edited or not in OSM the detection)
OSM comparison – filters the data based on the status; OSM comparison represents a status of a detection regarding its presence in OpenStreetMap; this filter is useful since the mapper can visualize only detections that need to added to the map
detection type – filter data based on detection type and subtype; this filter is useful if the mapper would like to focus on mapping only a certain type of signs
Default filter settings can be reset by pressing the “Reset” button.
Upcoming features The JOSM plugin is work on progress, we are working on improving the usability and plan to add new features from time to time. In the near feature, we plan to improve the detection mapping workflows.
We hope that you enjoy the new features! If you have ideas, suggestions or encounter any issue with the plugin during editing sessions please submit either to the GitHub issue page or to the Feedback forum .
Have fun improving the map by using OpenStreetCam images!
The Telenav OSM team just released a new version of the ImproveOsm plugin. We have added a location search box (helpful feature for reaching an area to be mapped) and a button for downloading previously selected ways.
Location search box
A new feature we added to the ImproveOSM plugin is the location search box. It enables the user to visualize the desired geographical point at a higher zoom level after entering its coordinates in the text field. The input of the search box should contain the values for latitude and longitude separated by a comma. If the plugin doesn’t understand your input, an intuitive message is displayed in order to help you. This works similar to the JOSM Jump to position but the search box brings advantages such as the single field for data collecting and more validations for the latitude-longitude values.
Download way button
Another feature is the download way button for the Traffic Flow Direction layer. This enables the user to download the ways of the selected road segments in a new Data layer. This option is only available if the Traffic Flow Detection Layer is active. Furthermore, the button becomes enabled when one or more road segments are selected.
In this post, we would like to guide you in making your very first contribution to OpenStreetCam.
In this post, we would like to guide you in making your very first contribution to OpenStreetCam. There are already 190 million images on OpenStreetCam covering more than 5 million kilometers of road, so obviously getting started is easy enough that it can be done without much guidance 😁 But in case you do need a little encouragement to record your first trip, or just want to see how it works before you try it yourself, read on.
The first thing you want to do is download the free app. OpenStreetCam apps exist for Android and iOS.
When you first run the app, it will give a quick introduction about OpenStreetCam. Flick through that to get to the main screen. Then go to your Profile, where you can log in.
You can create an OpenStreetCam account by logging in with your existing OpenStreetMap, Facebook or Google accounts. You won’t need to create a separate password.
After logging in through the platform of your choice, you will see your new OpenStreetCam profile 🙂
Your profile will look a little empty compared to mine, but we are here to change that! Let’s go out and drive some.
You will need some sort of phone mount in your car so you can point the camera straight ahead with a clear and unobstructed view of the road ahead. I use an iOttie brand mount (an older version of this one) but any mount that will hold your phone in landscape mode reliably will do.
You will also want to connect your phone to power. We have spent a lot of time optimizing the app, but the recording still drains the battery quite fast.
Okay, we’re almost ready to go. We just need to start recording mode so the app will start taking pictures as you start moving. Before you do that though, take a moment to scroll around the map looking for streets that have no purple lines. That means that nobody has captured any images there yet, so those streets are extra valuable. (You get 10x points for them too.)
When you’re done with that, press the blue camera button to start recording mode.
You may notice that the app mentions a thing called ‘OBD’. This refers to a port in your car that transmits data about the current state of the vehicle. Using a compatible OBD dongle, OpenStreetCam can use this for improved location accuracy. This is optional but gives you twice the points if detected! If you want to learn more, drop us a line.
The app will not immediately start taking pictures. Using your phone’s built in sensors, it will detect when you start and stop moving. As long as you’re stopped, no pictures are taken. This saves space, time spent uploading, and mappers wading through duplicate images of the same location.
In recording mode, you can switch between a big camera view and a small minimap, or the other way around. You switch by tapping on the minimap / mini camera in the left bottom.
As you drive, you will see your points increase as well as some other basic trip stats like number of pictures taken, space used, kilometers driven and recording time. As I mentioned before, roads that nobody has captured before are worth 10x the points. As you collect more points, you get higher up in the leaderboards and level up!
When you’re done driving, hit the record button to end the trip. You will now see a summary screen for your trip, showing where, how long and how far you’ve driven, as well as how many points you have collected on this trip.
Now that you’re done collecting your first images, it’s time to upload them to OpenStreetCam. This does not happen automatically by default (but you can go into settings to change that.) So as soon as you’re connected to wi-fi, go back to the app and go to ‘Upload’. There you will see the trip you just created.
You can tap on the trip to get more details. One cool thing you can do is ‘scrub’ through the trip.
Tap ‘Upload all’ in the top right corner to upload. You will notice that the file size is actually relatively small. That is because internally, the app compresses the images into a video stream that is unpacked into separate photos again at the server side, saving you time and upload bandwidth.
Once the upload is finished, you can go to openstreetcam.org and log in there. Use the same login method you used in the app, so if you used OpenStreetMap to log in on the app, use OpenStreetMap as your login provider on the web site as well.
Once you’re logged in, you can go to your profile to see your trip.
You can click on the trip to see the uploaded images. (Here is the trip I recorded for this demonstration.)
Notice that I should have wiped the snow ❄ off my car before I started recording.. 😬
Finally, I highlighted two icons you see on the lft hand side of your trip detail window. If you are in the U.S., you may see a number badges. They indicate how many street signs were recognized (the bottom one) and how many of those represent data that doesn’t seem to exist in OSM yet. That’s for a future post though!
Telenav open-sourced the machine learning based sign detection platform that powers the automatic detection of nearly 100 sign types in the OpenStreetCam images you contributed. You can already see these detections in the latest version of the OpenStreetCam JOSM plugin to help you map, and iD integration will come soon as well.
Machine learning gets better with training. The more known instances of a particular sign that are fed into the system, the more reliable the automatic detections for that sign type will become.
Our Map Team has spent thousands of hours manually tagging and validating traffic signs in images, and the resulting training data is open source as well. But did you know you can help improve the detection system yourself as well? Let us show you how.
If you go to the trip details on the OpenStreetCam web site, you will see three ‘tabs’ on the left. The first one takes you to the main trip info. The second one takes you to an OSM edit mode, that lets you quickly go over detections and see if they need to be added to OSM. (Separate post! The third tab is the sign validation mode. If the tab icon has a number with it, there are unverified signs to work on.
The bottom part of the screen shows all detected signs. The ones that have been validated already will have a green checkmark with them. The ones that have been invalidated will have a red ‘X’.
You can validate or invalidate the automatic detection if the sign on the image exactly matches / doesn’t match the automatic detection, by clicking the corresponding button on the left.
Power Validator Workflow
You can validate entire trips with many detected signs very quickly by using some of the power functions available:
Next to the trip slider, underneath the image, you will find a small magnifying glass button. Clicking this will automatically zoom and pan the image to the detection
Use Cmd (Mac) / Alt (Windows / Linux) and the left and right arrows to quickly jump to the next detection
Use Cmd / Alt up and down to validate or invalidate the currently highlighted detection.
It has been an exciting summer! Besides our regular work, there was the annual State of the Map conference that we were all really looking forward to. We launched a new ImproveOSM web site. OpenStreetCam dash-cams are distributed to OSM US members. And more. Read all about it in our Summer Dispatch below!
State of the Map
Quite a few of us got to go to State of the Map in Milan, Italy! Our team hosted four presentations at the conference, and we are really happy with the interest and feedback we received. We made a lot of new map friends as well!
All SOTM presentations were recorded and posted on YouTube, so if you missed any of us, you can watch the presentations at your leisure:
Alina and Bogdan talked about our ongoing effort to extract signs and other meaningful data from the more than 160 million OpenStreetCam images.
We also had a booth at the conference where we talked about ImproveOSM and OpenStreetCam, and where 6 lucky winners received a Waylens OpenStreetCam dashboard camera!
We continue to map in Canada, the United States, and Mexico. As always you can track our work on GitHub. We have been focusing a lot on adding missing road names for the larger metropolitan areas in the US. Our typical workflow is to identify local government road centerline data sources, verify the license, process them with Cygnus to find changed / new names, and manually add the names if we can verify them.
Right on time for State of the Map, we launched a complete redesign of improveosm.org, our portal for everything Telenav❤️OSM. The new site gives you quick access to our OSM initiatives, data and tools. Check it out!We also released more than 20 thousand new missing roads locations. These are added to the existing database of currently more than 2.4 million missing road locations. An easy way to start editing based on these locations is to download the ImproveOSM plugin for JOSM.
The steady growth of OpenStreetCam continues. Almost 4.5 million kilometers of trips are in the OSC database. This amounts to about 165 million images!
We started a collaboration with OpenStreetMap US to run a Camera Lending program. Through the program, OSM US members can apply to borrow a custom Waylens Horizon camera for up to three months. The camera captures high resolution images for OSC and uploads them automatically. Almost 20 mappers have a camera already, and they have driven about 30 thousand kilometers in the past couple of months!
That’s a wrap for our summer dispatch folks! Thanks for reading and keep an eye on the blog for more from the Telenav Map Team. Be sure to follow us on Twitter as well @improveOSM and @openstreetcam. 👋🏼
The tools of digital map-making today look nothing like those we had even a decade ago. Driven by a mix of grassroots energy and passion combined with innovations in technology, we have seen a rapid evolution marked by three inflection points: the dawn of consumer GPS, availability of high-resolution aerial imagery at scale, and lastly a shift to large scale AI powered map-making tools in which we find ourselves today.
For OpenStreetMap (OSM), the availability of affordable and accurate consumer GPS devices was a key enabler in 2004, when Steve Coast and an emergent community of trailblazers (literally!) biked around, captured GPS traces, and created the first version of the map using rudimentary tooling.
The wide availability of high-resolution, up-to-date aerial and satellite imagery became the next map-making game changer around 2009-2010. It empowered people worldwide to contribute to the map, not just in places they knew, but anywhere in the world where imagery was available. This led to the rapid growth of mappers worldwide and the further expansion of a global map, aiding notable humanitarian support efforts, such as the enormous mapping response immediately following the 2010 earthquake in Haiti.
Fast forward to today, and we find ourselves in the midst of yet another massive change in map-making, this time fueled by the ubiquity of sensors, artificial intelligence (AI), and machine learning (ML). The three-prong combo of the availability of mature software frameworks, a thriving developer and research community, and commoditized GPU-based hardware enable an unprecedented wave of AI-powered technology for consumers as well as businesses.
It did not take long for the map-making community to harness this power and begin applying it to ortho- and street-level imagery to automate the generation of observed changes to the map. When directed to the human mapping community, these outcomes will reduce, without a doubt, the effort to create and enhance maps by a factor 10.
An important element, however, has been holding back a more rapid adoption and perfection of machine learning-based map generation: the lack of openness in the space. For various reasons, both data and software have largely been kept in silos and have not been open to contributions by the community. In our view, creating an open ecosystem around new map-making technology is vital – openness and creativity are what made OSM a success in the first place, because mappers could capture what they deeply cared about.
We are convinced that an open ecosystem around machine learning for map-making is the only way to ensure that this technology can be embraced and appropriated by the community. To that end, Telenav is opening up three key components of the OpenStreetCam stack:
A training set of images. We have invested more than five-man years creating a training set of street-level images aimed at common road signs. The set consists of well over 50,000 images, which will be available to anybody under a CC-BY-SA license. We will continue to manually annotate images to double this set by the end of 2018, by which time it will be the largest set of truly open images.
Core machine-learning technology. Currently, our stack detects more than 20 different types of signs and traffic lights. We will continue to develop the system to add features important to the navigation and driving-use cases, such as road markings including lanes.
Detection results. Lastly, we will release all results from running the stack on the more than 140-million street-level images already in OpenStreetCam to the OSM community as a layer to enhance the map.
Our hope is that opening our stack and data will enable others to enhance both the training sets as well as the detection nets and put them to new, creative uses that fulfill the needs and wants of the diverse mapmaker and map-user communities.
Additionally, by openly licensing the data and software, we want to make sure that the next era of mapmaking with OSM remains open and accessible to everyone and fosters the creation of a new generation of mappers.
To celebrate this milestone and to empower the community to run their own improvements to this stack on suitable hardware that is otherwise cost prohibitive, we are kicking off a competition around our training data and software stack, aimed at improving the quality of detections.
The winners will be able to run their detections on our cloud infrastructure against the more than 140-million images currently on OpenStreetCam, and of course release the improved and enhanced detection stack for all mappers to improve OSM. (Oh, and there’s $10,000 in prize money as well!!!!)
In the longer term, we will be releasing more parts of the map making technology stack that we are building to further enable OSM’s growth and expansion, and in order that it plays, over time, a central role in powering autonomous driving.
Telenav’s OSM team just released a portal where you can view different metrics on OSM.
Unlike other metrics views that are already available, this new tool for the OSM community is focused especially on navigation attributes like length of navigable roads, number of turn restrictions, signposts and many more, in total 22 of such metrics are available. You can check it out at https://metrics.improveosm.org
About the data
Metrics are computed weekly and should be available on the portal at the end of each week. Metrics are generated for the whole world using as input the planet pbf downloaded from the official mirrors made available by OSM community
Metrics are available starting with 8th February 2016. In the top left corner, you can choose to see them by week, by month or by quarter. We also have a nice feature for all OSM enthusiasts! For each metric in the left menu you have a small info button where you see exactly what the metric means: complete description and the rules we applied when computing them, which tags where used, if we counted ways, nodes or relations etc.
How do we do it?
The platform was built using Apache Spark. Using big data technologies enabled us to have metrics for the whole world: on countries, states, counties and a few metropolitan areas (metros are available only in North America for now). In order to use Apache Spark, we had to convert pbf to parquet first, so we achieved this using a parquetizer that is open source and can be found here. After we have the parquets, using Spark’s DataFrame API we managed to have these metrics available in just a couple of hours.
We have also made the latest parquet files available for general use here.
If you have any suggestions or feedback, please do not hesitate to contact us. You can find details in the About section.
The Telenav OSM team just released a new version of the OpenStreetCam JOSM plugin. The major new feature is the ability to show and manipulate street sign detections. Images in only a few areas are currently processed for sign detection, so it’s not very likely that you will see anything yet, but that will change over time as we catch up processing over 140 million images.
To enable detections, right-click on the OpenStreetCam layer in the Layers panel, and check ‘Detections’ under ‘Data to display’. You can filter the detections by the following criteria:
Not older than — show only detections (or images) from that date or newer.
Only mine — show only detections / images from my own OSM / OSC account.
OSM Comparison — show detections based on comparison with OSM data:
Same data — Only show signs that have corresponding tags / data already mapped in OSM
New data — Only show signs that do not have corresponding data in OSM and need to be mapped
Changed data — Only show signs that have existing tags in OSM but the value is different (for example a 50 km/h sign and the OSM way is mapped as 60 km/h)
Unknown — No match could be made between the detected sign and OSM data
Edit status — show detections based on manually set status of the detection:
Open — new detection, status not changed yet
Mapped — manually marked as mapped
Bad sign — manually marked as a bad detection
Other — other status
Detection type — show only signs of the selected types.
Mode — Show only automatic detections, manually tagged detections, or both.
For the filters OSM Comparison, Edit status and Detection type, you can select multiple values by using shift-click and command/ctrl-click.
In the main editor window, you can select a sign to load the corresponding photo, which will show an outline of the detected sign. If there are multiple signs in an image, you can select the next one by clicking on the location again. (This is something we hope to improve.)
In the new ‘OpenStreetMap detections’ panel, you can see metadata for the detection, and set the status to Mapped, Bad Detection, or Other. By marking signs that are not detected correctly as Bad Detection, you hide them from other mappers, and we will use that information to improve the detection system.
The plugin is available from the JOSM plugin list, and the source is on Github.
The Telenav OSM team has a new JOSM plugin for you: Geohash. This plug-in displays a layer on top of the JOSM map that contains the corresponding geohashes, up to zoom level 10. It also allows searching for a specific geohash and moves the map to the corresponding area.
Our team has been using this plugin internally and thought it may be useful for some of you as well.
This plug-in can be used by those who work in specific areas based on geohash units.
How to use the Geohash plug-in
The geohashes are automatically generated based on the user map view and zoom level. Increased zoom means increased depth level for geohashes.
To search for a geohash, use the Geohash plug-in dialog. Type or paste the geohash code in the text field and press the Search button. If the code is invalid, a message will be shown. Otherwise, the map view will be moved and zoomed over the selected geohash.
To clear generated geohashes, double click a geohash and all geohashes from his parent will be cleared. Also, right click on Geohash layer will show the option to ‘Clear geohashes’ that will leave only the depth one grid.