Autonomous Cars: Deep Learning and Computer Vision in Python
4.4 (613 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
5,798 students enrolled

Autonomous Cars: Deep Learning and Computer Vision in Python

Learn OpenCV, Keras, object and lane detection, and traffic sign classification for self-driving cars
4.4 (613 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
5,800 students enrolled
Last updated 5/2020
English
English [Auto]
Current price: $53.99 Original price: $89.99 Discount: 40% off
1 day left at this price!
30-Day Money-Back Guarantee
This course includes
  • 13 hours on-demand video
  • 2 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Automatically detect lane markings in images
  • Detect cars and pedestrians using a trained classifier and with SVM
  • Classify traffic signs using Convolutional Neural Networks
  • Identify other vehicles in images using template matching
  • Build deep neural networks with Tensorflow and Keras
  • Analyze and visualize data with Numpy, Pandas, Matplotlib, and Seaborn
  • Process image data using OpenCV
  • Calibrate cameras in Python, correcting for distortion
  • Sharpen and blur images with convolution
  • Detect edges in images with Sobel, Laplace, and Canny
  • Transform images through translation, rotation, resizing, and perspective transform
  • Extract image features with HOG
  • Detect object corners with Harris
  • Classify data with machine learning techniques including regression, decision trees, Naive Bayes, and SVM
  • Classify data with artificial neural networks and deep learning
Course content
Expand all 93 lectures 12:45:59
+ Environment Setup and Installation
5 lectures 17:20
Installation Notes: OpenCV3 and Python 3.7
00:47

Get everything you need for the course installed: The Anaconda scientific Python development environment, the OpenCV computer vision package, the Tensorflow package for building artificial neural networks, and the code and data that make up the course materials.

Preview 05:31

Let's try out your new environment by doing real-time edge detection on a live video stream from your webcam, within a Jupyter notebook. We'll also do a quick overview of how Jupyter notebooks work.

Test your Environment with Real-Time Edge Detection in a Jupyter Notebook
05:26
Udemy 101: Getting the Most From This Course
02:10
+ Introduction to Self-Driving Cars
2 lectures 15:03

We'll cover the history of self-driving cars, which starts in 1925 and includes a lot of exciting progress that's been largely forgotten!

Preview 11:53

We'll quickly review the course outline, and give some guidance on which sections you might be able so skip given your prior experience.

Course Overview and Learning Outcomes
03:10
+ Python Crash Course [Optional]
7 lectures 01:11:20

We'll briefly cover why whitespace is important in Python and how it's used, how to import packages of existing code libraries, and how to use lists in Python.

Python Basics: Whitespace, Imports, and Lists
10:49

We'll continue diving into Python data structures with tuples and dictionaries, and examples of using them.

Python Basics: Tuples and Dictionaries
06:08

We'll cover the syntax of functions in Python, how to pass functions around as parameters, and lambda functions. We'll also see how boolean operations like equality and or work.

Python Basics: Functions and Boolean Operations
05:44

We'll see how for and while loops with in Python, and challenge you to a very simple exercise to practice what you've learned so far.

Python Basics: Looping and an Exercise
05:03

We'll walk through some examples of using the Pandas package, to slice and dice some fake video index data from cars.

Introduction to Pandas
12:04

We'll cover the different charts that MatPlotLib can produce from our data, and how to load and view images.

Introduction to MatPlotLib
13:37

Seaborn both sits on top of Matplotlib to make it better, and introduces new kinds of visualization tools that can help you extract meaning from data. We'll walk through a bunch of examples using real fuel efficiency data for 2019 cars.

Preview 17:55
+ Computer Vision Basics: Part 1
14 lectures 01:56:37
Humans vs. Computers Vision system
10:36
what is an image and how is it digitally stored?
08:44
[Activity] View colored image and convert RGB to Gray
08:53
[Activity] Detect lane lines in gray scale image
04:52
[Activity] Detect lane lines in colored image
03:39
What are the challenges of color selection technique?
03:45
Color Spaces
10:07
[Activity] Convert RGB to HSV color spaces and merge/split channels
17:36
Convolutions - Sharpening and Blurring
07:33
[Activity] Convolutions - Sharpening and Blurring
08:34
Edge Detection and Gradient Calculations (Sobel, Laplace and Canny)
10:11
[Activity] Edge Detection and Gradient Calculations (Sobel, Laplace and Canny)
07:23
[Activity] Project #1: Canny Sobel and Laplace Edge Detection using Webcam
05:55
+ Computer Vision Basics: Part 2
11 lectures 01:30:05
[Activity] Code to perform rotation, translation and resizing
12:11
Image Transformations – Perspective transform
04:53
[Activity] Perform non-affine image transformation on a traffic sign image
06:11
Image cropping dilation and erosion
06:36
[Activity] Code to perform Image cropping dilation and erosion
09:18
Region of interest masking
04:46
[Activity] Code to define the region of interest
07:23
Hough transform theory
13:54
[Activity] Hough transform – practical example in python
07:23
Project Solution: Hough transform to detect lane lines in an image
11:29
+ Computer Vision Basics: Part 3
14 lectures 01:13:19
[Activity] Find a truck in an image manually!
03:27
Template Matching - Find a Truck
06:20
[Activity] Project Solution: Find a Truck Using Template Matching
03:38
Corner detection – Harris
06:36
[Activity] Code to perform corner detection
09:52
Image Scaling – Pyramiding up/down
03:07
[Activity] Code to perform Image pyramiding
03:19
Histogram of colors
02:05
[Activity] Code to obtain color histogram
03:40
Histogram of Oriented Gradients (HOG)
12:47
[Activity] Code to perform HOG Feature extraction
04:27
Feature Extraction - SIFT, SURF, FAST and ORB
03:01
[Activity] FAST/ORB Feature Extraction in OpenCV
05:35
+ Machine Learning: Part 1
8 lectures 01:05:44

Let's discuss how machine learning works, and how it fits in with the world of AI and deep learning.

Preview 08:59

Learn how train/test and K-fold cross-validation helps us to prevent "overfitting" models to the data they were trained with.

Evaluating Machine Learning Systems with Cross-Validation
10:08

We'll go in depth on how linear regression learns how to fit a line to observed data, to create a simple model we can use to predict new observations.

Linear Regression
05:45

Let's use linear regression to build a model mapping road conditions to vehicle speed.

[Activity] Linear Regression in Action
05:59

Logistic regression builds a model that classifies data into one of two categories.

Logistic Regression
03:03

Let's practice using logistic regression to predict whether a car should go fast or slow, given distance to an upcoming bump and its size.

Preview 09:31

Decision trees build up a flowchart-like model, that classifies data based on various decision points that branch off to others.

Decision Trees and Random Forests
08:59

In this activity, we'll implement the example from the previous lecture of predicting hiring decisions based on candidate attributes, and also see what happens when we use decision trees for the same logistic regression sample of predicting vehicle speed for an upcoming bump in the road.

[Activity] Decision Trees In Action
13:20
+ Machine Learning: Part 2
7 lectures 01:09:04

We'll cover Bayes Theorem and how it can help us understand conditional probabilities, and apply it to Naive Bayes to classify email as spam or "ham." 

Bayes Theorem and Naive Bayes
09:30

We'll build a real spam classifier using Naive Bayes, and see how it well it works on our problem of classifying vehicle speeds based on upcoming obstacles in the road.

[Activity] Naive Bayes in Action
08:59

Support Vector Machines use the "Kernel Trick" to classify data. Hyperparameter tuning becomes important to find the right kernel to use, and the right parameters for that kernel.

Preview 06:14

We'll apply SVC to our vehicle speed classification problem, and illustrate hyperparameter tuning to find the best kernel and best set of parameters to use.

[Activity] Support Vector Classifiers in Action
08:08
Project Solution: Detecting Cars Using SVM - Part #1
09:47
[Activity] Detecting Cars Using SVM - Part #2
17:34
[Activity] Project Solution: Detecting Cars Using SVM - Part #3
08:52
+ Artificial Neural Networks
11 lectures 02:12:36
Single Neuron Perceptron Model
12:58
Activation Functions
04:29
ANN Training and dataset split
14:30
Practical Example - Vehicle Speed Determination
06:26
Code to build a perceptron for binary classification
10:02
Backpropagation Training
07:16
Code to Train a perceptron for binary classification
10:21
Two and Multi-layer Perceptron ANN
07:14
Example 1 - Build Multi-layer perceptron for binary classification
37:38
Example 2 - Build Multi-layer perceptron for binary classification
09:22
+ Deep Learning and Tensorflow: Part 1
5 lectures 44:01

We'll talk about what Deep Learning is, and how Tensorflow works at a low level.

Preview 09:29

We'll explore how to construct deep neural networks for binary and multi-class classification with Keras, the importance of normalizing your input data, and how one-hot encoding is used to translate categories into a representation that's compatible with neural nets.

Building Deep Neural Networks with Keras, Normalization, and One-Hot Encoding.
10:28

We'll use Keras to easily experiment with a variety of network topologies to apply deep learning to our "car approaching a bump" classification problem.

[Activity] Building a Logistic Classifier with Deep Learning and Keras
13:46

We'll go into more depth on activation functions and why ReLU is popular, and cover techniques for preventing overfitting including Dropout layers.

ReLU Activation, and Preventing Overfitting with Dropout Regularlization
05:57

We'll run our previous neural network longer to make some overfitting happen, and see how a Dropout layer in Keras can improve accuracy by preventing overfitting.

[Activity] Improving our Classifier with Dropout Regularization
04:21
Requirements
  • Windows, Mac, or Linux PC with at least 3GB free disk space.
  • Some prior experience in programming.
Description

Autonomous Cars: Computer Vision and Deep Learning

The automotive industry is experiencing a paradigm shift from conventional, human-driven vehicles into self-driving, artificial intelligence-powered vehicles. Self-driving vehicles offer a safe, efficient, and cost effective solution that will dramatically redefine the future of human mobility. Self-driving cars are expected to save over half a million lives and generate enormous economic opportunities in excess of $1 trillion dollars by 2035. The automotive industry is on a billion-dollar quest to deploy the most technologically advanced vehicles on the road.

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.

The purpose of this course is to provide students with knowledge of key aspects of design and development of self-driving vehicles. The course provides students with practical experience in various self-driving vehicles concepts such as machine learning and computer vision. Concepts such as lane detection, traffic sign classification, vehicle/object detection, artificial intelligence, and deep learning will be presented. The course is targeted towards students wanting to gain a fundamental understanding of self-driving vehicles control. Basic knowledge of programming is recommended. However, these topics will be extensively covered during early course lectures; therefore, the course has no prerequisites, and is open to any student with basic programming knowledge. Students who enroll in this self-driving car course will master driverless car technologies that are going to reshape the future of transportation.

Tools and algorithms we'll cover include:

  • OpenCV

  • Deep Learning and Artificial Neural Networks

  • Convolutional Neural Networks

  • Template matching

  • HOG feature extraction

  • SIFT, SURF, FAST, and ORB

  • Tensorflow and Keras

  • Linear regression and logistic regression

  • Decision Trees

  • Support Vector Machines

  • Naive Bayes

Your instructors are Dr. Ryan Ahmed with a PhD in engineering focusing on electric vehicle control systems, and Frank Kane, who spent 9 years at Amazon specializing in machine learning. Together, Frank and Dr. Ahmed have taught over 200,000 students around the world on Udemy alone.

Students of our popular course, "Data Science, Deep Learning, and Machine Learning with Python" may find some of the topics to be a review of what was covered there, seen through the lens of self-driving cars. But, most of the course focuses on topics we've never covered before, specific to computer vision techniques used in autonomous vehicles. There are plenty of new, valuable skills to be learned here!

Who this course is for:
  • Software engineers interested in learning the algorithms that power self-driving cars.