O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Autonomous Cars: Deep Learning and Computer Vision in Python

Video Description

Learn OpenCV, Keras, object and lane detection, and traffic sign classification for self-driving cars.

About This Video

  • Learn complex topics such as artificial intelligence (AI) and machine learning through a systematic and helpful teaching style
  • Build deep neural networks with TensorFlow and Keras
  • Classify data with machine learning techniques such as regression, decision trees, Naive Bayes, and SVM

In Detail

The automotive industry is experiencing a paradigm shift from conventional, human-driven vehicles to self-driving, artificial intelligence-powered vehicles. As the world advances towards a driverless future, the need for experienced engineers and researchers in this emerging new field has never been more crucial. This course will guide you through the key design and development aspects of self-driving vehicles.

You’ll be exploring OpenCV, deep learning, and artificial neural networks and their role in the development of autonomous cars. The book will even guide you through classifying traffic signs with convolutional neural networks (CNNs). In addition to this, you’ll use template matching to identify other vehicles in images, along with understanding how to apply HOG for extracting image features. As you progress, you’ll gain insights into feature detectors, including SIFT, SURF, FAST, and ORB. Next, you’ll get up to speed with building neural networks using Keras and TensorFlow, and later focus on linear regression and logistic regression. Toward the concluding part, you’ll explore machine learning techniques such as decision trees and Naive Bayes for classifying data, in addition to understanding the Support Vector Machine (SVM) method.

By the end of this course, you’ll be well-versed with key concepts related to the design and development of self-driving vehicles.

Downloading the example code for this course: You can download the example code files for this course on GitHub at the following link: https://github.com/PacktPublishing/Autonomous-Cars-Deep-Learning-and-Computer-Vision-in-Python. If you require support please email: customercare@packt.com

Table of Contents

  1. Chapter 1 : Environment Setup and Installation
    1. Introduction 00:03:27
    2. Install Anaconda, OpenCV, Tensorflow, and the Course Materials 00:05:32
    3. Test your Environment with Real-Time Edge Detection in a Jupyter Notebook 00:05:26
  2. Chapter 2 : Introduction to Self-Driving Cars
    1. A Brief History of Autonomous Vehicles 00:11:53
    2. Course Overview and Learning Outcomes 00:03:10
  3. Chapter 3 : Python Crash Course [Optional]
    1. Python Basics: Whitespace, Imports, and Lists 00:10:49
    2. Python Basics: Tuples and Dictionaries 00:06:08
    3. Python Basics: Functions and Boolean Operations 00:05:45
    4. Python Basics: Looping and an Exercise 00:05:04
    5. Introduction to Pandas 00:12:04
    6. Introduction to MatPlotLib 00:13:38
    7. Introduction to Seaborn 00:17:56
  4. Chapter 4 : Computer Vision Basics: Part 1
    1. What is computer vision and why is it important? 00:08:49
    2. Humans vs. Computers Vision system 00:10:37
    3. What is an image and how is it digitally stored? 00:08:45
    4. [Activity] View colored image and convert RGB to Gray 00:08:53
    5. [Activity] Detect lane lines in gray scale image 00:04:53
    6. [Activity] Detect lane lines in colored image 00:03:37
    7. What are the challenges of color selection technique? 00:03:46
    8. Color Spaces 00:10:08
    9. [Activity] Convert RGB to HSV color spaces and merge/split channels 00:17:36
    10. Convolutions - Sharpening and Blurring 00:07:33
    11. [Activity] Convolutions - Sharpening and Blurring 00:08:34
    12. Edge Detection and Gradient Calculations (Sobel, Laplace and Canny) 00:10:11
    13. [Activity] Edge Detection and Gradient Calculations (Sobel, Laplace and Canny) 00:07:23
    14. [Activity] Project #1: Canny Sobel and Laplace Edge Detection using Webcam 00:05:56
  5. Chapter 5 : Computer Vision Basics: Part 2
    1. Image Transformation - Rotations, Translation and Resizing 00:06:02
    2. [Activity] Code to perform rotation, translation and resizing 00:12:11
    3. Image Transformations – Perspective transform 00:04:53
    4. [Activity] Perform non-affine image transformation on a traffic sign image 00:06:12
    5. Image cropping dilation and erosion 00:06:37
    6. [Activity] Code to perform Image cropping dilation and erosion 00:09:18
    7. Region of interest masking 00:04:47
    8. [Activity] Code to define the region of interest 00:07:23
    9. Hough transform theory 00:13:55
    10. [Activity] Hough transform – practical example in python 00:07:23
    11. Project Solution: Hough transform to detect lane lines in an image 00:11:29
  6. Chapter 6 : Computer Vision Basics: Part 3
    1. Image Features and their importance for object detection 00:05:25
    2. [Activity] Find a truck in an image manually! 00:03:27
    3. Template Matching - Find a Truck 00:06:20
    4. [Activity] Project Solution: Find a Truck Using Template Matching 00:03:38
    5. Corner detection – Harris 00:06:36
    6. [Activity] Code to perform corner detection 00:09:53
    7. Image Scaling – Pyramiding up/down 00:03:08
    8. [Activity] Code to perform Image pyramiding 00:03:20
    9. Histogram of colors 00:02:05
    10. [Activity] Code to obtain color histogram 00:03:41
    11. Histogram of Oriented Gradients (HOG) 00:12:47
    12. [Activity] Code to perform HOG Feature extraction 00:04:28
    13. Feature Extraction - SIFT, SURF, FAST and ORB 00:03:01
    14. [Activity] FAST/ORB Feature Extraction in OpenCV 00:05:35
  7. Chapter 7 : Machine Learning: Part 1
    1. What is Machine Learning? 00:08:59
    2. Evaluating Machine Learning Systems with Cross-Validation 00:10:09
    3. Linear Regression 00:05:45
    4. [Activity] Linear Regression in Action 00:05:59
    5. Logistic Regression 00:03:03
    6. [Activity] Logistic Regression In Action 00:09:32
    7. Decision Trees and Random Forests 00:08:59
    8. [Activity] Decision Trees In Action 00:13:21
  8. Chapter 8 : Machine Learning: Part 2
    1. Bayes Theorem and Naive Bayes 00:09:30
    2. [Activity] Naive Bayes in Action 00:08:59
    3. Support Vector Machines (SVM) and Support Vector Classifiers (SVC) 00:06:15
    4. [Activity] Support Vector Classifiers in Action 00:08:09
    5. Project Solution: Detecting Cars Using SVM - Part #1 00:09:47
    6. [Activity] Detecting Cars Using SVM - Part #2 00:17:34
    7. [Activity] Project Solution: Detecting Cars Using SVM - Part #3 00:08:52
  9. Chapter 9 : Artificial Neural Networks
    1. Introduction: What are Artificial Neural Networks and how do they learn? 00:12:20
    2. Single Neuron Perceptron Model 00:12:58
    3. Activation Functions 00:04:29
    4. ANN Training and dataset split 00:14:31
    5. Practical Example - Vehicle Speed Determination 00:06:27
    6. Code to build a perceptron for binary classification 00:10:02
    7. Backpropagation Training 00:07:16
    8. Code to Train a perceptron for binary classification 00:10:21
    9. Two and Multi-layer Perceptron ANN 00:07:15
    10. Example 1 - Build Multi-layer perceptron for binary classification 00:37:39
    11. Example 2 - Build Multi-layer perceptron for binary classification 00:09:23
  10. Chapter 10 : Deep Learning and Tensorflow: Part 1
    1. Intro to Deep Learning and Tensorflow 00:09:29
    2. Building Deep Neural Networks with Keras, Normalization, and One-Hot Encoding. 00:10:29
    3. [Activity] Building a Logistic Classifier with Deep Learning and Keras 00:13:46
    4. ReLU Activation, and Preventing Overfitting with Dropout Regularlization 00:05:58
    5. [Activity] Improving our Classifier with Dropout Regularization 00:04:22
  11. Chapter 11 : Deep Learning and Tensorflow: Part 2
    1. Convolutional Neural Networks (CNN's) 00:06:26
    2. Implementing CNN's in Keras 00:05:48
    3. [Activity] Classifying Images with a Simple CNN, Part 1 00:08:06
    4. [Activity] Classifying Images with a Simple CNN, Part 2 00:07:45
    5. Max Pooling 00:02:36
    6. [Activity] Improving our CNN's Topology and with Max Pooling 00:10:19