Self-driving cars aim to revolutionize car travel by making it safe and efficient. In this article, we outlined some of the key components such as LiDAR, RADAR, cameras, and most importantly – the algorithms that make self-driving cars possible.
Few things need to be taken care of:
The algorithms used are not yet optimal enough to perceive roads and lanes because some roads lack markings and other signs.
The optimal sensing modality for localization, mapping, and perception still lack accuracy and efficiency.
Vehicle-to-vehicle communication is still a dream, but work is being done in this area as well.
The field of human-machine interaction is not explored enough, with many open, unsolved problems.
Self-driving cars aim to revolutionize car travel by making it safe and efficient. In this article, we outlined some of the key components such as LiDAR, RADAR, cameras, and most importantly – the algorithms that make self-driving cars possible.
Few things need to be taken care of:
The algorithms used are not yet optimal enough to perceive roads and lanes because some roads lack markings and other signs.
The optimal sensing modality for localization, mapping, and perception still lack accuracy and efficiency.
Vehicle-to-vehicle communication is still a dream, but work is being done in this area as well.
The field of human-machine interaction is not explored enough, with many open, unsolved problems.
Q-learning is one of the most commonly used DRL algorithms for self-driving cars. It comes under the category of model-free learning. In model-free learning, the agent will try to approximate the optimal state-action pair. The policy still determines which action-value pairs or Q-value are visited and updated (see the equation below). The goal is to find optimal policy by interacting with the environment while modifying the same when the agent makes an error.
3. Introduction
The first self-driving car was invented in 1989.
it was the Automatic Land Vehicle in Neural Network (ALVINN).
It used neural networks to detect lines, segment the environment,
navigate itself, and drive.
It worked well, but it was limited by slow processing powers and
insufficient data.
With today’s high-performance graphics cards, processors, and huge
amounts of data, self-driving is more powerful than ever. If it becomes
mainstream, it will reduce traffic congestion and increase road safety.
4. How do self-
driving cars
work?
Self-driving cars are autonomous decision-
making systems.
They can process streams of data from
different sensors such as cameras, LiDAR,
RADAR, GPS, or inertia sensors.
This data is then modeled using deep learning
algorithms, which then make decisions
relevant to the environment the car is in.
5.
6. Understand the
workings of
self-driving
cars
• To understand the workings of self-
driving cars, we need to examine the
four main parts:
1. Perception
2. Localization
3. Prediction
4. Decision Making
1. High-level path planning
2. Behaviour Arbitration
3. Motion Controllers
7. Perception
• One of the most important properties
that self-driving cars must have
is perception, which helps the car see
the world around itself, as well as
recognize and classify the things that it
sees.
• In order to make good decisions, the
car needs to recognize objects
instantly.
• Perception is more than just seeing
and classifying, it enables the system
to evaluate the distance and decide to
either slow down or brake.
8. • To achieve such a
high level of
perception, a self-
driving car must
have three
sensors:
• Camera
• LiDAR
• RADAR
9. Camera
• The camera provides vision
to the car, enabling multiple
tasks like classification,
segmentation, and localizati
on. The cameras need to be
high-resolution and
represent the environment
accurately.
10. LiDAR
LiDAR stands for Light Detection And Ranging, it’s a method to measure the distance of
objects by firing a laser beam and then measuring how long it takes for it to be reflected
by something.
A camera can only provide the car with images of what’s going around itself. When it’s
combined with the LiDAR sensor, it gains depth in the images – it suddenly has a 3D
perception of what’s going on around the car.
So, LiDAR perceives spatial information. And when this data is fed into deep neural
networks, the car can predict the actions of the objects or vehicles close to it. This sort of
technology is very useful in a complex driving scenario, like a multi-exit intersection,
where the car can analyze all other cars and make the appropriate, safest decision.
11.
12. RADARs
Radio detection and ranging (RADAR) is
a key component in many military and
consumer applications. It was first used
by the military to detect objects. It
calculates distance using radio wave
signals. Today, it’s used in many vehicles
and has become a primary component
of the self-driving car.
RADARs are highly effective because
they use radio waves instead of lasers,
so they work in any conditions.
13. The RADAR data should be cleaned in order to make good decisions and predictions. We
need to separate weak signals from strong ones; this is called thresholding. We also
use Fast Fourier Transforms (FFT) to filter and interpret the signal.
Clustering algorithms such as Euclidean Clustering or K means Clustering are used to
achieve this task.
14. Localization
• Localization algorithms in self-driving cars
calculate the position and orientation of
the vehicle as it navigates – a science
known as Visual Odometry (VO).
• VO works by matching key points in
consecutive video frames. With each frame,
the key points are used as the input to a
mapping algorithm. The mapping
algorithm, such as Simultaneous
localization and mapping (SLAM),
computes the position and orientation of
each object nearby with respect to the
previous frame and helps to classify roads,
pedestrians, and other objects around.
15. Deep learning is generally used to improve the performance of VO, and to
classify different objects.
Neural networks, such as PoseNet and VLocNet++, are some of the
frameworks that use point data to estimate the 3D position and
orientation.
These estimated 3D positions and orientations can be used to derive
scene semantics, as seen in the image below.
16. Prediction
• Understanding human drivers
is a very complex task. It
involves emotions rather than
logic, and these are all fueled
with reactions.
• It becomes very uncertain
what the next action will be of
the drivers or pedestrians
nearby, so a system that can
predict the actions of other
road users can be very
important for road safety.
17. Decision-making
• In general, decision-making in self-driving cars is a hierarchical process. This process has four components:
• Path or Route planning: Essentially, route planning is the first of four decisions that the car must make. Entering the
environment, the car should plan the best possible route from its current position to the requested destination. The idea
is to find an optimal solution among all the other solutions.
• Behaviour Arbitration: Once the route is planned, the car needs to navigate itself through the route. The car knows
about the static elements, like roads, intersections, average road congestion and more, but it can’t know exactly what
the other road users are going to be doing throughout the journey. This uncertainty in the behavior of other road users
is solved by using probabilistic planning algorithms like MDPs.
• Motion Planning: Once the behavior layer decides how to navigate through a certain route, the motion planning system
orchestrates the motion of the car. The motion of the car must be feasible and comfortable for the passenger. Motion
planning includes speed of the vehicle, lane-changing, and more, all of which should be relevant to the environment the
car is in.
• Vehicle Control: Vehicle control is used to execute the reference path from the motion planning system.
18.
19. CNNs used for self-driving cars
Convolutional neural networks (CNN) are used to model spatial information, such as images. CNNs
are very good at extracting features from images, and they’re often seen as universal non-linear
function approximators.
CNNs can capture different patterns as the depth of the network increases. For example, the layers
at the beginning of the network will capture edges, while the deep layers will capture more
complex features like the shape of the objects (leaves in trees, or tires on a vehicle). This is the
reason why CNNs are the main algorithm in self-driving cars.
The key component of the CNN is the convolutional layer itself. It has a convolutional kernel which
is often called the filter matrix. The filter matrix is convolved with a local region of the input image
which can be defined as:
20. The three important CNN properties that make them
versatile and a primary component of self-driving cars are:
local receptive fields,
shared weights,
spatial sampling.
21.
22. CNN networks that are used by three
companies pioneering self-driving
cars:
HydraNet by
Tesla
ChauffeurNet by
Google Waymo
Nvidia Self
driving car
24. • HydraNets is dynamic architecture so it can have different CNN
networks, each assigned to different tasks. These blocks or
networks are called branches. The idea of HydraNet is to get
various inputs and feed them into a task-specific CNN network.
25. ChauffeurNet by Google Waymo
• ChauffeurNet is an RNN-based neural
network used by Google Waymo, however, CNN
is actually one of the core components here and
it’s used to extract features from the perception
system.
• The CNN in ChauffeurNet is described as a
convolutional feature network, or FeatureNet,
that extracts contextual feature representation
shared by the other networks. These
representations are then fed to a recurrent
agent network (AgentRNN) that iteratively yields
the prediction of successive points in the driving
trajectory.
26. Nvidia self-driving car: a minimalist approach
towards self-driving cars
• Nvidia also uses a Convolution Neural
Network as a primary algorithm for its
self-driving car. But unlike Tesla, it uses 3
cameras, one on each side and one at the
front.
• The network is capable of operating
inroads that don’t have lane markings,
including parking lots. It can also learn
features and representations that are
necessary for detecting useful road
features.
27. Reinforcemen
t learning
• Reinforcement learning used for self-driving cars
• Reinforcement learning (RL) is a type of machine learning where
an agent learns by exploring and interacting with the
environment. In this case, the self-driving car is an agent.
28. Partially Observable
Markov Decision
Process used for
self-driving cars
• The Markov Decision Process gives us a way to
sequentialize decision-making. When the agent
interacts with the environment, it does so sequentially
over time. Each time the agent interacts with the
environment, it gives some representation of the
environment state. Given the representation of the
state, the agent selects the action to take,
29. partially
observable Markov
decision
process (POMDP)
• In a partially observable Markov decision
process (POMDP), the agent senses the
environment state with observations received
from the perception data and takes a certain
action followed by receiving a reward.
• The POMDP has six components and it can be
denoted as POMDP M:= (I, S, A, R, P, γ), where,
• I: Observations
• S: Finite set of states
• A: Finite set of actions
• R: Reward function
• P: transition probability function
• γ – discounting factor for future rewards.
30. Q-learning used for self-driving cars
• Q-learning is one of the most
commonly used DRL algorithms for
self-driving cars. It comes under the
category of model-free learning. In
model-free learning, the agent will try
to approximate the optimal state-
action pair. The policy still determines
which action-value pairs or Q-value are
visited and updated (see the equation
below). The goal is to find optimal
policy by interacting with the
environment while modifying the
same when the agent makes an error.
31. Conclusion
• Self-driving cars aim to revolutionize car travel by making it safe and efficient. In
this article, we outlined some of the key components such as LiDAR, RADAR,
cameras, and most importantly – the algorithms that make self-driving cars
possible.
Few things need to be taken care of:
1.The algorithms used are not yet optimal enough to perceive roads and lanes
because some roads lack markings and other signs.
2.The optimal sensing modality for localization, mapping, and perception still lack
accuracy and efficiency.
3.Vehicle-to-vehicle communication is still a dream, but work is being done in this
area as well.
4.The field of human-machine interaction is not explored enough, with many open,
unsolved problems.
32. THANKYOU
REFERENCES
A Convolutional Neural Network Approach Towards Self-Driving Cars
- IEEE Xplore Full-Text PDF:
Self-Driving Cars With Convolutional Neural Networks (CNN) Self-
Driving Cars With Convolutional Neural Networks (CNN) - neptune.ai