AI classification of road surface type, working and accessible

Hi!

I JUST created this account, which is kind of surprising for me, because I’m locally hosting a FULL open street map database on a server for use in a fun side-project I’ve been working on, www.sherpa-map.com, which uses this data in every way you could imagine!

Kind of the headline thing, I managed to use the OSM database to find coords along ways that have a surface type, download thousands of images of said surface type, and train a resnet50 pytorch CNN classifier to figure two things, is there an image of a road? What surface type is said road?

This is big news to cyclists, when creating routes too many roads do not have a surface type, so this fixes that!

I’ve arrived after this after months of experimentation, it’s truly been an experience, but I’m passionate about it!

I’m also hosting a heavily modified Graphhopper instance that uses OSM data in order to determine routes for cyclists. This is a project that’s taken away all of my free time for 6 months and is being hosted locally in an old server in my apartment (my roommate is a verry smart server guy, who got all the server stuff working).

SO, If you’re curious, you can try it out to your hearts content! to access the neural network classifier you just need to create a quick account (lets me track how many people uses, because it costs me $$ to pull the images), then you can create a route, get the typical surface type breakdown, and then under “line type” you can choose “surface” and press “Define Unknown”, here’s a quick screenshot how to: https://i.imgur.com/lBYeaUm.png

I also have this Facebook page dedicated too all of my updates and such, if you’re curious: https://www.facebook.com/people/Sherpa-Map/100090209792541

I’m posting about this because I would LOVE to simply talk about it and get some discussion into this area. I think it’s amazing how many classified road surfaces there are, this creates a truly GIANT dataset to train AI on.

I also have so many OSM related challenges I’m trying to overcome, for instance, directly manipulating the osm.pbf file that Graphhopper is using to automatically update primary/motorway and residential roads to paved so it’s less effort for the AI classification.

I feel like I should have posted something sooner, I sincerely, truly, appreciate the existence of OSM, it’s made my routing app possible and it’s been super fun to use.

5 Likes