Machine Learning & Self-Driving Cars: Bootcamp with Python
- Description
- Curriculum
- FAQ
- Reviews
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
-
1Why This Course?Video lesson
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.
-
2How to Approach This Course?Video lesson
-
3Make it EngagingVideo lesson
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.
-
4InstallationVideo lesson
-
5Types in PythonVideo lesson
--- 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.
-
6Types in PythonQuiz
-
7List & MapVideo lesson
-
8List & MapQuiz
-
9OperationsVideo lesson
-
10OperationsQuiz
-
11StatementsVideo lesson
-
12StatementsQuiz
-
13FunctionsVideo lesson
-
14FunctionsQuiz
-
15ClassesVideo lesson
-
16Classes BasicQuiz
-
17Classes InheritanceQuiz
-
18Object Oriented ProgrammingText lesson
-
19Libraries / ModulesVideo lesson
-
20ModulesQuiz
-
21Introduction to Python LibrariesVideo lesson
-
22NumpyVideo lesson
-
23NumpyQuiz
-
24MatplotlibVideo lesson
-
25Matplotlib Quick TestQuiz
Just a brief text
-
26OpenCVVideo lesson
-
27OpenCV TestQuiz
Just a quick test to ensure that you understood some basic OpenCV concepts, since we will use this library quite a lot
-
28Other LibrariesVideo lesson
-
29Other Libraries QuizQuiz
This quick quiz is designed to ensure that you understood the power of python libraries :)
-
30Introduction to Computer VisionVideo lesson
-
31How Computers "See" Images?Video lesson
-
32Kernel & ConvolutionVideo lesson
-
33Image Processing with KernelsVideo lesson
-
34ThresholdingVideo lesson
-
35Road SegmentationVideo lesson
-
36Why Webots?Text lesson
-
37How to Install Webots in Windows? [Complete Video]Video lesson
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 FilesWebots”
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%libcontroller”
“%WEBOTS_HOME%msys64mingw64bin”
“%WEBOTS_HOME%msys64mingw64bincpp”
Create variable “PYTHONIOENCODING” with content “UTF-8”
-
38How to Install Webots in Linux?Text lesson
-
39Get The Code!Text lesson
-
40Webots too slow?Text lesson
-
41Webots Code: ExplainedVideo lesson
-
42[Exercise]: Your Line Following Algorithm!Text lesson
-
43[Advanced] How to Read a Paper?Video lesson
-
44[Advanced] Paper: SIFTText lesson
-
45[Advanced] Read Paper ExampleVideo lesson
This video is an practical example of how to read a paper from beginning to end.
-
50Machine Learning Hands-On: IntroductionVideo lesson
-
51Feature EngineeringVideo lesson
-
52HOGVideo lesson
-
53SVMVideo lesson
-
54Performance MetricsVideo lesson
-
55Download the DatasetText lesson
-
56Code ExplanationVideo lesson
-
57[Exercise]: Modify the codeText lesson
-
58Useful ML ModelsVideo lesson
-
59Bias Vs VarianceVideo lesson
-
60[Advanced] Paper: SVMText lesson
External Links May Contain Affiliate Links read more