{"id":11790,"date":"2018-10-11T16:34:19","date_gmt":"2018-10-11T14:34:19","guid":{"rendered":"https:\/\/www.intellias.com\/?p=11790"},"modified":"2024-07-23T14:03:42","modified_gmt":"2024-07-23T12:03:42","slug":"how-machine-learning-algorithms-make-self-driving-cars-a-reality","status":"publish","type":"blog","link":"https:\/\/intellias.com\/how-machine-learning-algorithms-make-self-driving-cars-a-reality\/","title":{"rendered":"How Machine Learning Algorithms Make Self-Driving Cars a Reality"},"content":{"rendered":"
Autonomous vehicles can get into many different situations<\/a> on the road. If drivers are going to entrust their lives to self-driving cars, they need to be sure that these cars will be ready for the craziest of situations. What\u2019s more, a car should react to these situations better than a human driver would. A car can\u2019t be limited to handling a few basic scenarios. A car has to learn and adapt to the ever-changing behavior of other vehicles around it. Machine learning algorithms\u00a0and deep learning in self-driving cars make autonomous vehicles capable of making decisions in real time. This increases safety and trust in autonomous cars.<\/p>\n Read an overview of the most popular machine learning algorithms for autonomous driving to find out what they do and why they matter for a fully driverless future.<\/p>\n Machine learning is a subset of artificial intelligence. It focuses on improving how a machine performs some task<\/a>. Here\u2019s the most important part: learning means that the machine goes beyond the training data. Equipped with machine learning algorithms, a computer can apply induction and form knowledge structures. In other words, where traditional programming fails, custom software development<\/a> powered by machine learning and artificial intelligence can succeed.<\/p>\n Machine learning in autonomous driving can be supervised or unsupervised. The main difference between the two options lies in the amount of human input required for learning. In supervised learning, a computer interprets data and makes predictions based on input data, then compares those predications to correct output data in order to improve future predictions. In unsupervised learning, data isn\u2019t labeled. So the computer learns to recognize the inherent structure<\/a> based on input data only.<\/p>\n Supervised learning versus unsupervised learning within the machine learning in autonomous driving<\/strong><\/p>\n Today, machine learning is among the hottest technologies for autonomous driving<\/a>. Particularly, deep learning in self-driving cars is getting increasingly popular. Deep learning is a class of machine learning that focuses on computer learning from real-world data using feature learning<\/a>. Thanks to deep learning, a car can turn raw\u00a0big data self driving cars<\/a> into actionable information.<\/p>\n History of self-driving cars in machine learning development<\/strong><\/p>\n The appearance of self-driving cars in machine learning applications boosts the development of both automotive and technology domains.<\/p>\n Applications of machine learning in self-driving cars include:<\/p>\n Learn how the most basic artificial intelligence can be used in a wide range of applications including autonomous driving<\/p>\n Let’s take a deeper look at the application of deep learning and computer vision for self-driving cars.<\/p>\n Imagine a car hiding behind a tree. Could an autonomous vehicle detect it? Yes, if it used SIFT. Scale-invariant feature transform<\/a> allows image matching and object recognition for partially visible objects. The algorithm uses an image database to extract salient points (i.e. keypoints) of an object. Those points are features of the object that don\u2019t change with scaling, rotation, clutter, or noise.<\/p>\n In a self-driving car, machine learning algorithms compare every new image with the SIFT features that it has already extracted from the database. It detects correspondence between them to identify objects. For instance, when an autonomous car sees a triangular road sign, it takes its three corners as keypoints. If a triangular road sign were damaged and bent back, a self-driving vehicle using SIFT would still recognize it based on its inherent features.<\/p>\n Feature extraction with SIFT<\/strong><\/p>\n Any engineer developing a self-driving car project using machine learning should have worked with AdaBoost. AdaBoost is a decision matrix algorithm that ensures the adaptive<\/a> boosting of learners. In essence, it takes the output of other regression and classification algorithms and checks how their performance corresponds to successful predictions.<\/p>\n AdaBoost combines and adapts the performance of multiple algorithms so they work together and complement each other. Chances are that individual algorithm will perform poorly, but their combined performance can contribute to better learning.<\/p>\n Let\u2019s imagine there are several learners: A, B, C, and D. A and B look at the same criteria, but A performs better. Meanwhile, C\u2019s performance is worse than either A\u2019s or B\u2019s, but it evaluates completely different criteria. This means that C together with A can provide a better output than A plus B (and without C). D\u2019s predictions may be completely out of touch and fail most of the time. But its output could still be useful for the entire system. AdaBoost combines many weak classifiers<\/a> to obtain one strong classifier.<\/p>\n Data classification using AdaBoost<\/strong><\/p>\n AdaBoost allows for more accurate decision-making and object detection in autonomous vehicles. It\u2019s especially useful for face, pedestrian, and vehicle detection.<\/a><\/p>\n Just like AdaBoost, TextonBoost\u00a0combines weak learners to produce strong learners. It boosts image recognition based on the labelling of textons<\/a>. Textons are clusters of visual data that have the same characteristics and respond to filters in the same way.<\/p>\n In a self-driving car project using machine learning, the TextonBoost algorithm brings together information from three sources: appearance, shape, and context. This application of deep learning in autonomous vehicles is brilliant because individually these sources may not lead to accurate results. To put it simply, sometimes an object\u2019s appearance alone isn\u2019t enough to label it correctly.<\/p>\n TextonBoost combines several classifiers to produce the most accurate object recognition. It looks at the image as a whole and captures its characteristics in relation to each other. Take a look at the images below, for example.<\/p>\n First, the computer creates a texton map of the image. Then it pairs features with textons and learns from contextual information. In this case, it learns that \u201ccow\u201d pixels are usually surrounded by \u201cgrass\u201d pixels.<\/p>\n Objects recognition with TextonBoost<\/strong><\/p>\n TextonBoost actually enables deep learning cars to more accurately recognize objects. Thanks to the machine learning algorithm, autonomous vehicles get better at detecting and identifying objects.<\/p>\n Learn how Intellias developed E2E predictive maintenance software using machine learning algorithms that predict battery depletion<\/p>\n Histogram of oriented gradients (HOG) is one of the most basic machine learning algorithms for autonomous driving and computer vision. It analyzes a region of an image, called a cell, to see how and in what direction the intensity of the image changes. HOG connects computed gradients from each cell and counts how many times each direction occurs. After that, these features are passed down to the Support Vector Machine<\/a> (SVM) for classification.<\/p>\n Basically, HOG describes images as distributions of image intensity. It creates a coded and compressed version of an image that\u2019s not just a bunch of pixels but a useful image gradient. Moreover, it\u2019s inexpensive in terms of system resources. Self-driving cars can benefit from HOG as it can be a powerful initial step in the image recognition sequence.<\/p>\n Steps of the HOG algorithm<\/strong><\/p>\n What\u2019s interesting is that HOG nails human detection<\/a>. This area is problematic without\u00a0the application of machine learning in autonomous vehicles because of the different appearances people have and the variety of poses they can take. Remarkably, the HOG algorithm solves this issue for driverless vehicles.<\/p>\n YOLO (You Only Look Once)<\/a> is an autonomous driving machine learning algorithm for classifying objects such as cars, people, and trees. In fact, it\u2019s an alternative algorithm to HOG. YOLO analyzes the image as a whole and divides it into segments. Since each class of objects possesses a set of features, YOLO labels objects according to them.<\/p>\n The algorithm comes up with bounding boxes and predictions for each image segment. It considers each prediction in the context of the whole image and applies network evaluation only once. By contrast, other detection algorithms apply detectors and classifiers to multiple positions and regions of an image. That\u2019s why YOLO is more accurate and faster than HOG. The YOLO algorithm is a great tool for object detection in autonomous vehicles. It ensures quick processing and vehicle response to real-world situations.<\/p>\n YOLO algorithm used for object detection<\/strong><\/p>\n Learn about the integral parts of computer vision that enable autonomous cars to see and comprehend the world<\/p>\n A self-driving car project using machine learning is a powerful technology. Self-driving cars and machine learning\u00a0<\/span>will define the future of the transportation industry<\/a>. And it\u2019s no secret that they\u2019re a perfect match. Machine learning algorithms are most commonly used in autonomous vehicles for perception and decision-making. But there are a lot more algorithms and possibilities to discover for self-driving cars using machine learning. For instance, you can even apply machine learning to autonomous navigation and recognition of a driver\u2019s state.<\/p>\n Today, there are plenty of capabilities of applying machine learning for self-driving cars. And they\u2019ll be capable of even more in future. So when vehicles become fully autonomous, you\u2019ll know exactly what drove the change.<\/p>\nHow are machine learning algorithms used for autonomous driving?<\/h2>\n
<\/p>\n
<\/p>\n\n
What are the common machine learning algorithms used in autonomous driving?<\/h2>\n
<\/p>\nThe machine learning algorithms used in self-driving cars<\/h3>\n
Scale-invariant feature transform (SIFT)<\/h3>\n
<\/p>\nAdaBoost<\/h3>\n
<\/p>\nTextonBoost<\/h3>\n
<\/p>\nHistogram of oriented gradients (HOG)<\/h3>\n
<\/p>\nYOLO<\/h3>\n
<\/p>\nAutonomous vehicles and machine learning will drive the future of transportation<\/h2>\n
<\/p>\n
\n