• Post category:StudyBullet-14
  • Reading time:10 mins read

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


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?

Get Instant Notification of New Courses on our Telegram channel.

  • 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!


  • [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



Why This Course?
How to Approach This Course?
Make it Engaging
Get the Course Code for Practical Lectures

Python [Optional]

Types in Python
List & Map
Object Oriented Programming
Libraries / Modules

Python’s Essential Libraries

Introduction to Python Libraries
Other Libraries

Computer Vision

Introduction to Computer Vision
How Computers “See” Images?
Kernel & Convolution
Image Processing with Kernels
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
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
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
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