RoadBotics is an infrastructure technology company that uses machine learning to assess roads. But what does that mean?
Within computer science, there are a lot of different areas of research. The goal of artificial intelligence is to better understand how complex thinking actually works – reasoning, goal planning, language – as well as to understand how we learn, which is where machine learning comes into play.
You have probably already been using AI without even realizing it. There are now so many useful services that it is hard to see how much of modern business would run without out.
Common examples are Amazon’s “if you like this you might also like” shopping recommendations and Netflix’s suggestions for shows and movies based upon your previous history. Voice assistants like Alexa and Siri are constantly learning to get smarter in order to predict and understand human questions and requests. It can also be things like character recognition when you deposit a check into an ATM. All of these examples are practical and ubiquitous uses of AI and machine learning.
At RoadBotics, the goal of machine learning is to teach a computer program to learn by showing it examples of road images. Our available examples are limited just like when teaching, but the goal is to build a computer program that generalizes from specific examples to more common cases (i.e. seeing several cracked roads and then being able to identify cracks on any road anywhere in the world). This is not all that different from teaching a child to learn, in fact, the processes are relatively similar.
So how does RoadBotics “teach” our machine learning programs?
It starts with labeled image data. Since RoadBotics works with images taken from the windshield of a car, we have lots and lots of images of those roads. But we have to first tell the machine what it should be seeing in those images and how to rate them on our 1-5 rating scale. To do this we begin by constructing what are called labeled images.
Image: Labeling “NOT ROAD”
RoadBotics trained personnel to draw on images with a digital paintbrush to indicate different distresses such as unsealed cracks, alligator cracks, potholes, cold patches, sealants and so on until we have every object in the image categorized like how we want the computer to later categorize new images. In addition, each image is assigned a rating by a road expert. Therefore each image has both distresses labeled as well as the final desired rating.
Image: Labeling cracks on concrete (Left), cracks on asphalt (right)
Image: Labeling joints on concrete (Left), pothole (right)
Just like when teaching or learning a new skill, it’s important that we have variety. So we label images from different types of roads, different surface treatments, and in different parts of the world in as large a variety of environments as we can manage. This helps the machine to learn generally rather than to learn in a narrow set of contexts.
When we have many thousands of these images in a variety of these conditions, we feed them into an Artificial Deep Neural Network (ADNN) – one of many types of machine learning programs. The ADNN is designed by our Data Scientists to take all the labeled image data and produce an algorithm that when given a new image the ADNN has never seen before, it will also label the image just like the RoadBotics personnel would have had they labeled that same image – most importantly, that the final rating produced by the ADNN is the same as the original rating label. This is called training. It is an extremely complex process involving advanced processors and millions and millions of parameters.
This process continues iteratively (as we try to improve the current output) and continuously (as we keep accumulating more and more data) with the goal of always improving the ADNN’s answers. Our Data Scientists identify gaps in the ADNN’s abilities or understanding and tweak the model or find new data examples to help alleviate these issues (just like a teacher would).
We can check the accuracy of the ADNN’s learning by giving it a test. Basically, we never allowed the ADNN to see some of the labeled images during training (just like not giving students the exact test questions while teaching). When our Data Scientists want to test how well the ADNN is “trained” we give it these withheld images as a “test” and ask it to label those images producing a rating for each image and we track how well the trained ADNN does versus the answer key (the actual rating label).
When the model is sufficiently trained, we run it through our production pipeline to produce the many millions of labels needed for our customer data. These models provide an objective and quantitative method for assessing road data. The model never gets tired, never gets upset, it just produces clear and objective road ratings when given an image.
Image: RoadBotics’ AI models are trained to rate roads based on road surface distresses