Reader small image

You're reading from  Applied Deep Learning and Computer Vision for Self-Driving Cars

Product typeBook
Published inAug 2020
Reading LevelIntermediate
PublisherPackt
ISBN-139781838646301
Edition1st Edition
Languages
Right arrow
Authors (2):
Sumit Ranjan
Sumit Ranjan
author image
Sumit Ranjan

Sumit Ranjan is a silver medalist in his Bachelor of Technology (Electronics and Telecommunication) degree. He is a passionate data scientist who has worked on solving business problems to build an unparalleled customer experience across domains such as, automobile, healthcare, semi-conductor, cloud-virtualization, and insurance. He is experienced in building applied machine learning, computer vision, and deep learning solutions, to meet real-world needs. He was awarded Autonomous Self-Driving Car Scholar by KPIT Technologies. He has also worked on multiple research projects at Mercedes Benz Research and Development. Apart from work, his hobbies are traveling and exploring new places, wildlife photography, and blogging.
Read more about Sumit Ranjan

Dr. S. Senthamilarasu
Dr. S. Senthamilarasu
author image
Dr. S. Senthamilarasu

Dr. S. Senthamilarasu was born and raised in the Coimbatore, Tamil Nadu. He is a technologist, designer, speaker, storyteller, journal reviewer educator, and researcher. He loves to learn new technologies and solves real world problems in the IT industry. He has published various journals and research papers and has presented at various international conferences. His research areas include data mining, image processing, and neural network. He loves reading Tamil novels and involves himself in social activities. He has also received silver medals in international exhibitions for his research products for children with an autism disorder. He currently lives in Bangalore and is working closely with lead clients.
Read more about Dr. S. Senthamilarasu

View More author details
Right arrow
Preface

With self-driving cars (SDCs) being an emerging subject in the field of artificial intelligence, data scientists have now focused their interest on building autonomous cars. This book is a comprehensive guide to using deep learning and computer vision techniques to develop SDCs.

The book starts by covering the basics of SDCs and deep neural network techniques that are required to get up and running with building your autonomous car. Once you are comfortable with the basics, you'll learn how to implement the convolution neural network. As you advance, you'll use deep learning methods to perform a variety of tasks such as finding lane lines, improving the image classifier, and road sign detection. Furthermore, you'll delve into the basic structure and workings of a semantic segmentation model, and even get to grips with detecting cars using semantic segmentation. The book also covers advanced applications such as behavior cloning and vehicle detection using OpenCV and advance deep learning methodologies.

By the end of this book, you'll have learned how to implement various neural networks to develop autonomous vehicle solutions using modern libraries from the Python environment.

Who this book is for

This book is for you if you're a deep learning engineer, AI engineer, or anyone looking to implement or start with deep learning and computer vision techniques to build self-driving blueprint solutions. This book will also help you solve real-world problems using the Python ecosystem. Some Python programming experience and a basic understanding of deep learning are expected.

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.

To get the most out of this book

Let's look at what you need to get the most out the book:

  • Some Python programming experience and a basic understanding of deep learning are expected.
  • The execution of the code while reading the book will help you to get the most out of it.

Software/Hardware covered in the book

OS Requirements

Install Python 3.7 with latest Anaconda environment

Window, Linux or Mac minimum 8 GB RAM

Install deep learning libraries TensorFlow 2.0 and KERAS 2.3.4

Window, Linux or Mac minimum 8 GB RAM

Install image processing library OpenCV

Window, Linux or Mac minimum 8 GB RAM

 

If you are using the digital version of this book, we advise you to type the code yourself or access the code via the GitHub repository (link available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.

Download the example code files

You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packt.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packt.com.
  2. Select the SUPPORT tab.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Applied-Deep-Learning-and-Computer-Vision-for-Self-Driving-CarsIn case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "In this function, anything below 0 will be set to 0."

A block of code is set as follows:

In[1]: import tensorflow as tf
In[2]: from tensorflow import keras
In[3]: from tensorflow.keras import layers

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "The project is now called Waymo."

Warnings or important notes appear like this.
Tips and tricks appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at customercare@packtpub.com.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packt.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at copyright@packt.com with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packt.com.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Applied Deep Learning and Computer Vision for Self-Driving Cars
Published in: Aug 2020Publisher: PacktISBN-13: 9781838646301
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime

Authors (2)

author image
Sumit Ranjan

Sumit Ranjan is a silver medalist in his Bachelor of Technology (Electronics and Telecommunication) degree. He is a passionate data scientist who has worked on solving business problems to build an unparalleled customer experience across domains such as, automobile, healthcare, semi-conductor, cloud-virtualization, and insurance. He is experienced in building applied machine learning, computer vision, and deep learning solutions, to meet real-world needs. He was awarded Autonomous Self-Driving Car Scholar by KPIT Technologies. He has also worked on multiple research projects at Mercedes Benz Research and Development. Apart from work, his hobbies are traveling and exploring new places, wildlife photography, and blogging.
Read more about Sumit Ranjan

author image
Dr. S. Senthamilarasu

Dr. S. Senthamilarasu was born and raised in the Coimbatore, Tamil Nadu. He is a technologist, designer, speaker, storyteller, journal reviewer educator, and researcher. He loves to learn new technologies and solves real world problems in the IT industry. He has published various journals and research papers and has presented at various international conferences. His research areas include data mining, image processing, and neural network. He loves reading Tamil novels and involves himself in social activities. He has also received silver medals in international exhibitions for his research products for children with an autism disorder. He currently lives in Bangalore and is working closely with lead clients.
Read more about Dr. S. Senthamilarasu