Combine the power of Machine Learning, Deep Learning and Computer Vision to make a Self-Driving Car!
What you will learn
Master Machine Learning and Python
Learn how to apply Machine Learning algorithms to develop a Self-Driving Car from scratch
Understand why Deep Learning is such a revolution and use it to make the car drive like a human (Behavioural Cloning)
Simulate a Self-Driving car in a realistic environment using multiple techniques (Computer Vision, Convolution Neural Networks, …)
Create strong added value to your business
Gentle introduction to Machine Learning where all the key concepts are presented in an intuitive way
Code Deep Convolutional Neural Networks with Keras (the most popular library)
Learn to apply Computer Vision and Deep Learning techniques to build automotive related algorithms
Understand how Self Driving Cars work (sensors, actuators, speed control, …)
Learn to code in Python starting from the very beginning
Python libraires: NumPy, Sklearn (Scikit-Learn), Keras, OpenCV, Matplotlib
Description
Interested in Machine Learning or Self-Driving Cars (i.e. Tesla)? Then this course is for you!
This course has been designed by a professional Data Scientist, expert in Autonomous Vehicles, with the goal of sharing my knowledge and help you understand how Self-Driving Cars work in a simple way.
Each topic is presented at three levels:
- Introduction: the topic will be presented, initial intuition about it
- Hands-On: practical lectures where we will learn by doing
- [Optional] Deep dive: going deep into the maths to fully understand the topic
What tools will we use in the course?
- Python: probably the most versatile programming language in the world, from websites to Deep Neural Networks, all can be done in Python
- Python libraries: matplotlib, OpenCV, numpy, scikit-learn, keras, … (those libraries make the possibilities of Python limitless)
- Webots: a very powerful simulator, which free and open source but can provide a wide range of simulation scenarios (Self-Driving Cars, drones, quadrupeds, robotic arms, production lines, …)
Who this course is for?
- All-levels: there is no previous knowledge required, there is a section that will teach you how to program in Python
- Maths/logic: High-school level is enough to understand everything!
Sections:
- [Optional] Python sections: How to program in python, and how to use essential libraries
- Computer Vision: teaches a computer how to see, and introduces key concepts for Neural Networks
- Machine Learning: introduction, key concepts, and road sign classification
- Collision Avoidance: so far we have used cameras, in this section we understand how radar and lidar sensors are used for self-driving cars, use them for collision avoidance, path planning
- Help us understand the difference between Tesla and other car manufacturers, because Tesla doesn’t use radar sensors
- Deep learning: we will use all the concepts that we have seen before in CV, in ML and CA, neural networks introduction, Behavioural Cloning
- Control Theory: control systems is the glue that stitches all engineering fields together
- If you are mainly interested in ML, you can only listen to the introduction for this section, but you should know that the initial Neural Networks were heavily influenced by CT
Who am I, and why am I qualified to talk about Self-driving cars?
- Worked in self-driving motorbikes, boats and cars
- Some of the biggest companies in the world
- Over 8 years experience in the industry and a master in Robotic & CV
- Always been interested in efficient learning, and used all the techniques that I’ve learned in this course
English
language
Content
Introduction
Why This Course?
How to Approach This Course?
Make it Engaging
Get the Course Code for Practical Lectures
Python [Optional]
Installation
Types in Python
List & Map
Operations
Statements
Functions
Object Oriented Programming
Classes
Libraries / Modules
Python’s Essential Libraries
Introduction to Python Libraries
Numpy
Matplotlib
OpenCV
Other Libraries
Computer Vision
Introduction to Computer Vision
How Computers “See” Images?
Kernel & Convolution
Image Processing with Kernels
Thresholding
Road Segmentation
Why Webots?
How to Install Webots in Windows?
How to Install Webots in Linux?
Webots too slow?
Webots Code: Explained
[Exercise]: Your Line Following Algorithm!
[Advanced] How to Read a Paper?
[Advanced] Paper: SIFT
Machine Learning
What’s Machine Learning?
Train, Predict & Evaluate
Types of Machine Learning
ML for Self-Driving Cars
Machine Learning Hands-On
Machine Learning Hands-On: Introduction
Feature Engineering
HOG
SVM
Performance Metrics
Download the Dataset
Code Explanation
[Exercise]: Modify the code
Useful ML Models
Bias Vs Variance
[Advanced] Paper: SVM
Collision Avoidance
Collision Avoidance: Introduction
Ranging Sensors
Cameras
Simulation
My Solution
[Exercise]: Your Solution
Path Planning
[Advanced] RRT Code
Deep Learning
Deep Learning: Introduction
How do Neural Networks Work?
How does a Neural Network Learn?
Convolutional Neural Networks
Code Example
Deep Learning: Hands-On
Deep Learning Hands-On: Introduction
Creating a Dataset
Training
See it drive!
[Exercise]: Train it yourself!
[Advanced] AlexNet
Control Theory
Why Learn Control Theory
Control Systems Map
Stability – Introduction
Stability – Missing in Machine Learning
Open and Closed Loop Control
Closed Loop Control – Cruise Control
PID – Introduction
PID Controller – Deep Dive
PID Controller – How to Tune it?
PID Controller – Why is it use SO much?
[Advanced] Paper: PID Controller Design