By Anil Gupta, Technology Advisor, Magnos Technologies LLP
Autonomous cars are very closely associated with Industrial IoT. IoT combined with
other technologies such as machine learning, artificial intelligence, local computing etc
are providing the essential technologies for autonomous cars. Very inquisitive questions
for many is how are these autonomous cars functioning. What actually is working inside
to make them work without drivers taking control of the wheel. Very well known that
these days cars are equipped with a lot of sensors, actuators and controllers. These end
devices are driven by software sitting on various function specific software running on
ECUs ( Electronic Control Units). Machine learning software is also part of this set.
One of the main tasks of any machine learning algorithm in the self-driving car is
continuous rendering of the surrounding environment and the prediction of possible
changes to those surroundings. These tasks are mainly divided into four sub-tasks:
• Object detection
• Object Identification or recognition Object classification
• Object localization and prediction of movement
Machine learning algorithms can be loosely divided into four categories: regression
algorithms, pattern recognition, cluster algorithms and decision matrix algorithms.
Regression Algorithms
In ADAS, images (radar or camera) play a very important role in localization and
actuation, while the biggest challenge for any algorithm is to develop an image-based
model for prediction and feature selection. . The type of regression algorithms that can
be used for self-driving cars are Bayesian regression, neural network regression and
decision forest regression, among others.
Pattern Recognition Algorithms (Classification)
In ADAS, the images obtained through sensors possess all types of environmental data;
filtering of the images is required to recognize instances of an object category by ruling
out the irrelevant data points. Pattern recognition algorithms are good at ruling out
unusual data points. Recognition of patterns in a data set is an important step before
classifying the objects. These types of algorithms can also be defined as data reduction
algorithms.
These algorithms help in reducing the data set by detecting object edges and fitting line
segments (polylines) and circular arcs to the edges. Line segments are aligned to edges
up to a corner, then a new line segment is started. Circular arcs are fit to sequences of
line segments that approximate an arc. The image features (line segments and circular
arcs) are combined in various ways to form the features that are used for recognizing an
object.
The support vector machines (SVM) with histograms of oriented gradients (HOG) and
principle component analysis (PCA) are the most common recognition algorithms used
in ADAS. The Bayes decision rule and K nearest neighbor (KNN) are also used.
Clustering
Sometimes the images obtained by the system are not clear and it is difficult to detect
and locate objects. It is also possible that the classification algorithms may miss the
object and fail to classify and report it to the system. The reason could be low-resolution
images, very few data points or discontinuous data. This type of algorithm is good at
discovering structure from data points. Like regression, it describes the class of problem
and the class of methods. Clustering methods are typically organized by modeling
approaches such as centroid-based and hierarchical. All methods are concerned with
using the inherent structures in the data to best organize the data into groups of
maximum commonality. The most commonly used type of algorithm is K-means, Multiclass
Neural Network.
Decision Matrix Algorithms
This type of algorithm is good at systematically identifying, analyzing, and rating the
performance of relationships between sets of values and information. These algorithms
are mainly used for decision making. Whether a car needs to take a left turn or it needs
to brake depends on the level of confidence the algorithms have on the classification,
recognition and prediction of the next movement of objects. These algorithms are
models composed of multiple decision models independently trained and whose
predictions are combined in some way to make the overall prediction, while reducing
the possibility of errors in decision making. The most commonly used algorithms are
gradient boosting (GDM) and AdaBoosting.