
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Welcome aboard, future self-driving pioneers! ? Are you ready to embark on a journey that will transform the way you perceive technology and innovation? In this captivating first lecture, we're pulling back the curtain to reveal why this course is the ultimate key to unlocking the world of self-driving cars.
? Why You Should Be Excited:
? Revolutionize Your Knowledge: The self-driving car industry is changing the game. Discover how this course will equip you with the tools to stay ahead in the rapidly evolving landscape of autonomous vehicles.
? Demystify Complex Concepts: Have you ever wondered how a machine can drive itself? We break down intricate ideas into digestible chunks, ensuring that you'll not only understand but also master the art of self-driving technology.
? Tap into the Future: Self-driving cars are not just a trend; they're shaping our future. By delving into this course, you're tapping into a realm of knowledge that could lead to groundbreaking career opportunities and insights.
?️ What Awaits You:
✅ Dive into the core concepts of machine learning and artificial intelligence.
✅ Understand the nuts and bolts of computer vision and its pivotal role in self-driving technology.
✅ Demystify the magic of neural networks and deep learning, enabling you to train your own models.
✅ Grasp the power of control theory and its impact on the self-driving experience.
✅ Elevate your proficiency in Python programming and essential libraries.
✅ Get hands-on with exciting real-world projects and simulations.
? Ready to accelerate your learning journey and become part of the self-driving revolution? Buckle up and get ready to take the driver's seat in the world of innovation, transformation, and limitless possibilities.
Welcome to the course! Here’s how to get the most out of your learning experience:
Speed Up Videos:
Increase playback speed to cover more material quickly.
Stay engaged and focused by avoiding slow-paced content.
Slow down or replay sections if needed.
Use the Pomodoro Technique:
Study in 25-minute focused sessions.
Take short breaks to stay fresh and avoid burnout.
Boost your concentration and efficiency.
Many people find that faster playback speeds allow them to better retain information from the videos they’re watching. When watching at a normal speed, some viewers may struggle to stay focused or pay attention for the entire duration of the video. By speeding up the video, they’re able to engage more fully and retain more information.
Source: https://www.thetechedvocate.org/why-people-watch-youtube-videos-at-faster-playback-speeds/#:~:text=For%20example%2C%20instructional%20videos%20or,YouTube%20videos%20at%20faster%20speeds.
--- Basic Understanding ---
Python types categorise values in the language, simplifying code debugging and maintenance. The built-in types include:
Integers (e.g., 1, 56, -23): Whole numbers without a decimal point.
Floats (e.g., 2.0, -8.5, 3.14): Numbers that require a decimal point.
Strings (e.g., "hello", 'Python'): Sequences of characters enclosed in quotes.
Lists (e.g., [1, 2, 3], ["a", "b", "c"]): Ordered collections of values, which can be of mixed types.
--- Advanced Insight ---
Custom Classes: Create your own types with specific attributes and methods, enhancing code organisation.
Type Hinting (e.g., def function(arg1: int, arg2: str) -> bool:): Specify expected data types, improving code readability and allowing better tooling support.
This video elucidates the significance of understanding types in Python, paving the way from fundamental concepts to advanced applications for more proficient coding.
Learn how to define Python classes, create objects with a constructor, and manage member variables using self. See how inheritance enables base and derived classes to reuse code.
Discover how computer vision helps autonomous cars interpret camera images, using kernels and convolution to enhance edges, and thresholding to extract roads in a driving simulator.
Explore how image processing uses kernels and convolution to extract edges, sharpen images, blur noise, and detect directions with Sobel and identity kernels.
Windows installation steps:
Download the "webots-R2022a_setup.exe" installation file from our website.
Double click on this file.
Follow the installation instructions.
Use in Visual Studio Code:
Prerequisites: we need to have installed Python and Visual Studio Code, you can find how to install those in the first video of the Python section
Install the following Python libraries: numpy, opencv-python
You can find out how to install python libraries in the Python Libraries section (through pip install)
Click the "Windows Key" and write "Edit the system environment variables"
Create variable “WEBOTS_HOME” with content “C:\Program Files\Webots”
Create variable “PYTHONPATH” with content “%WEBOTS_HOME%/lib/controller/python3X”
WARNING: in the documentation says to use ${WEBOTS_HOME}, but doesn’t work
Change the last “X” for the minor revision number of your Python version
Add to “PATH”
“%WEBOTS_HOME%\lib\controller”
“%WEBOTS_HOME%\msys64\mingw64\bin”
“%WEBOTS_HOME%\msys64\mingw64\bin\cpp”
Create variable “PYTHONIOENCODING” with content “UTF-8”
This video is an practical example of how to read a paper from beginning to end.
Learn how training creates a model from data, how predicting uses that model on new images with labels, and how evaluating accuracy on a separate dataset.
Explore how convolutional neural networks process imagery by using convolutional and max pooling layers to extract low- and high-level features, increasing depth while reducing spatial size.
Note: there is a mistake says "Machine Learning is the missing part of Machine Learning" should say "Machine Learning can't guarantee that it will produce a stable output"
Video Note: Error of last point (orange) says 100, should say 0
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 [Beginner]: the topic will be presented, initial intuition about it
Hands-On [Intermediate]: practical lectures where we will learn by doing
Deep dive [Expert/Optional]: 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