Book description
Explore self-driving car technology using deep learning and artificial intelligence techniques and libraries such as TensorFlow, Keras, and OpenCV
Key Features
- Build and train powerful neural network models to build an autonomous car
- Implement computer vision, deep learning, and AI techniques to create automotive algorithms
- Overcome the challenges faced while automating different aspects of driving using modern Python libraries and architectures
Book Description
Thanks to a number of recent breakthroughs, self-driving car technology is now an emerging subject in the field of artificial intelligence and has shifted data scientists' focus to building autonomous cars that will transform the automotive industry. This book is a comprehensive guide to use deep learning and computer vision techniques to develop autonomous cars.
Starting with the basics of self-driving cars (SDCs), this book will take you through the deep neural network techniques required to get up and running with building your autonomous vehicle. Once you are comfortable with the basics, you'll delve into advanced computer vision techniques and learn how to use deep learning methods to perform a variety of computer vision tasks such as finding lane lines, improving image classification, and so on. You will explore the basic structure and working of a semantic segmentation model and get to grips with detecting cars using semantic segmentation. The book also covers advanced applications such as behavior-cloning and vehicle detection using OpenCV, transfer learning, and deep learning methodologies to train SDCs to mimic human driving.
By the end of this book, you'll have learned how to implement a variety of neural networks to develop your own autonomous vehicle using modern Python libraries.
What you will learn
- Implement deep neural network from scratch using the Keras library
- Understand the importance of deep learning in self-driving cars
- Get to grips with feature extraction techniques in image processing using the OpenCV library
- Design a software pipeline that detects lane lines in videos
- Implement a convolutional neural network (CNN) image classifier for traffic signal signs
- Train and test neural networks for behavioral-cloning by driving a car in a virtual simulator
- Discover various state-of-the-art semantic segmentation and object detection architectures
Who this book is for
If you are a deep learning engineer, AI researcher, or anyone looking to implement deep learning and computer vision techniques to build self-driving blueprint solutions, this book is for you. Anyone who wants to learn how various automotive-related algorithms are built, will also find this book useful. Python programming experience, along with a basic understanding of deep learning, is necessary to get the most of this book.
Table of contents
- Title Page
- Copyright and Credits
- About Packt
- Contributors
- Preface
- Section 1: Deep Learning Foundation and SDC Basics
-
The Foundation of Self-Driving Cars
- Introduction to SDCs
- Benefits of SDCs
- Advancements in SDCs
- Challenges in current deployments
- Building safe systems
- The cheapest computer and hardware
- Software programming
- Fast internet
- Levels of autonomy
- Level 0 – manual cars
- Level 1 – driver support
- Level 2 – partial automation
- Level 3 – conditional automation
- Level 4 – high automation
- Level 5 – complete automation
- Deep learning and computer vision approaches for SDCs
- LIDAR and computer vision for SDC vision
- Summary
-
Dive Deep into Deep Neural Networks
- Diving deep into neural networks
- Introduction to neurons
- Understanding neurons and perceptrons
- The workings of ANNs
- Understanding activation functions
- The threshold function
- The sigmoid function
- The rectifier linear function
- The hyperbolic tangent activation function
- The cost function of neural networks
- Optimizers
- Understanding hyperparameters
- Model training-specific hyperparameters
- Learning rate
- Batch size
- Number of epochs
- Network architecture-specific hyperparameters
- Number of hidden layers
- Regularization
- L1 and L2 regularization
- Dropout
- Activation functions as hyperparameters
- TensorFlow versus Keras
- Summary
-
Implementing a Deep Learning Model Using Keras
- Starting work with Keras
- Advantages of Keras
- The working principle behind Keras
- Building Keras models
- The sequential model
- The functional model
- Types of Keras execution
- Keras for deep learning
- Building your first deep learning model
- Description of the Auto-Mpg dataset
- Importing the data
- Splitting the data
- Standardizing the data
- Building and compiling the model
- Training the model
- Predicting new, unseen data
- Evaluating the model's performance
- Saving and loading models
- Summary
- Section 2: Deep Learning and Computer Vision Techniques for SDC
-
Computer Vision for Self-Driving Cars
- Introduction to computer vision
- Challenges in computer vision
- Artificial eyes versus human eyes
- Building blocks of an image
- Digital representation of an image
- Converting images from RGB to grayscale
- Road-marking detection
- Detection with the grayscale image
- Detection with the RGB image
- Challenges in color selection techniques
- Color space techniques
- Introducing the RGB space
- HSV space
- Color space manipulation
- Introduction to convolution
- Sharpening and blurring
- Edge detection and gradient calculation
- Introducing Sobel
- Introducing the Laplacian edge detector
- Canny edge detection
- Image transformation
- Affine transformation
- Projective transformation
- Image rotation
- Image translation
- Image resizing
- Perspective transformation
- Cropping, dilating, and eroding an image
- Masking regions of interest
- The Hough transform
- Summary
-
Finding Road Markings Using OpenCV
- Finding road markings in an image
- Loading the image using OpenCV
- Converting the image into grayscale
- Smoothing the image
- Canny edge detection
- Masking the region of interest
- Applying bitwise_and
- Applying the Hough transform
- Optimizing the detected road markings
- Detecting road markings in a video
- Summary
-
Improving the Image Classifier with CNN
- Images in computer format
- The need for CNNs
- The intuition behind CNNs
- Introducing CNNs
- Why 3D layers?
- Understanding the convolution layer
- Depth, stride, and padding
- Depth
- Stride
- Zero-padding
- ReLU
- Fully connected layers
- The softmax function
- Introduction to handwritten digit recognition
- Problem and aim
- Loading the data
- Reshaping the data
- The transformation of data
- One-hot encoding the output
- Building and compiling our model
- Compiling the model
- Training the model
- Validation versus train loss
- Validation versus test accuracy
- Saving the model
- Visualizing the model architecture
- Confusion matrix
- The accuracy report
- Summary
- Road Sign Detection Using Deep Learning
- Section 3: Semantic Segmentation for Self-Driving Cars
- The Principles and Foundations of Semantic Segmentation
- Implementing Semantic Segmentation
- Section 4: Advanced Implementations
- Behavioral Cloning Using Deep Learning
-
Vehicle Detection Using OpenCV and Deep Learning
- What makes YOLO different?
- The YOLO loss function
- The YOLO architecture
- Fast YOLO
- YOLO v2
- YOLO v3
- Implementation of YOLO object detection
- Importing the libraries
- Processing the image function
- The get class function
- Draw box function
- Detect image function
- Detect video function
- Importing YOLO
- Detecting objects in images
- Detecting objects in videos
- Summary
- Next Steps
- Other Books You May Enjoy
Product information
- Title: Applied Deep Learning and Computer Vision for Self-Driving Cars
- Author(s):
- Release date: August 2020
- Publisher(s): Packt Publishing
- ISBN: 9781838646301
You might also like
video
PyTorch for Deep Learning and Computer Vision
PyTorch has rapidly become one of the most transformative frameworks in the field of deep learning. …
book
Practical Machine Learning for Computer Vision
This practical book shows you how to employ machine learning models to extract information from images. …
book
Deep Learning for Computer Vision
Learn how to model and train advanced neural networks to implement a variety of Computer Vision …
book
Deep Learning for Vision Systems
Computer vision is central to many leading-edge innovations, including self-driving cars, drones, augmented reality, facial recognition, …