Book Image

Applied Deep Learning and Computer Vision for Self-Driving Cars

By : Sumit Ranjan, Dr. S. Senthamilarasu
Book Image

Applied Deep Learning and Computer Vision for Self-Driving Cars

By: Sumit Ranjan, Dr. S. Senthamilarasu

Overview of this book

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.
Table of Contents (18 chapters)
1
Section 1: Deep Learning Foundation and SDC Basics
5
Section 2: Deep Learning and Computer Vision Techniques for SDC
10
Section 3: Semantic Segmentation for Self-Driving Cars
13
Section 4: Advanced Implementations

What this book covers

Chapter 1, The Foundation of Self-Driving Cars, talks about the history and evolution of SDCs. It briefs you on different approaches used in SDCs. It also covers details about the advantages and disadvantages of SDCs, the challenges in creating them, as well as the levels of autonomy of an SDC.

Chapter 2, Dive Deep into Deep Neural Networks, covers how to go from a simple neural network to a deep neural network. We will learn about many concepts such as the activation function, normalization, regularization, and dropouts to make the training more robust, so we can train a network more efficiently.

Chapter 3, Implementing a Deep Learning Model Using Kerascovers the step-by-step implementation of a deep learning model using Keras. We are going to implement a deep learning model using Keras with the Auto-mpg dataset.

Chapter 4, Computer Vision for Self-Driving Cars, introduces advanced computer vision techniques for SDCs. This is one of the important chapters to get into computer vision. In this chapter, we will cover different OpenCV techniques that help in image preprocessing and feature extraction in SDC business problems.

Chapter 5, Finding Road Markings Using OpenCV, walks you through writing a software pipeline to identify the lane boundaries in a video from the front-facing camera in a SDC. This is a starter project using OpenCV to get into SDCs.

Chapter 6, Improving the Image Classifier with CNN, covers how to go from a simple neural network to a advance deep neural network. In this chapter, we will learn about the theory behind the convolutional neural network, and how a convolutional neural network helps to improve the performance of an image classifier. We will implement an image classifier project using the MNIST dataset.

Chapter 7, Road Sign Detection Using Deep Learning, looks at the training of a neural network to implement a traffic sign detector. This is the next step toward SDC implementation. In this chapter, we will create a model that reliably classified traffic signs, and learned to identify their most appropriate features independently.

Chapter 8, The Principles and Foundations of Semantic Segmentation, covers the basic structure and workings of semantic segmentation models, and all of the latest state-of-the-art methods.

Chapter 9, Implementation of Semantic Segmentation, looks at the implementation of ENET semantic segmentation architecture to detect pedestrians, vehicles, and so on. We will learn about the techniques we can apply to semantic segmentation using OpenCV, deep learning, and the ENet architecture. We will use the pre-trained ENet model to perform semantic segmentation on both images and video streams.

Chapter 10, Behavioral Cloning Using Deep Learning, implements behavioral cloning. Here, cloning means that our learning program will copy and clone human behavior such as our steering actions to mimic human driving. We will implement a behavior cloning project and test it in a simulator.

Chapter 11, Vehicle Detection Using OpenCV and Deep Learning, implements vehicle detection for SDCs using OpenCV and the pre-trained deep learning model YOLO. Using this model, we will create a software pipeline to perform object prediction on both images and videos.

Chapter 12, Next Steps, summarizes the previous chapters and ways to enhance the learning. This chapter also briefs you on sensor fusion, and covers techniques that can be tried out for advanced learning in SDCs.