
Outline the course structure, activation function, and early deep learning projects, then cover road markings, roadside detection, semantic segmentation, and final vehicle and traffic-light detection.
Learn how to maximize this course by watching all videos, following step-by-step explanations, engaging in the q&a, asking questions, and helping others to deepen understanding.
Understand what neurons are, their brain role, about 100 billion neurons connected by synapses, and artificial neurons as basic computational units.
Explore artificial neural networks with input, hidden, and output layers; learn how neurons connect to form representations and enable classification or regression.
Examine multilayer neural networks and how hierarchical depth enables feature sharing and invariance, from input through hidden layers to architectures such as feedforward, convolutional, and recurrent networks, with training tradeoffs.
Discover how Keras enables modular neural networks built from discrete modules—neural functions, optimizers, initialization schemes, activation functions, and regularization—and supports quick prototyping with a simple backend.
Master essential neural network terms like Adam optimizer, mean squared error, epochs, iterations, forward and backward propagation, and true or false positives and negatives.
Compare Google Colab and Jupyter notebooks for this course; no installation is needed, both run in the browser, data uploads to Google Drive, and the course content remains the same.
Explore the evolution of self-driving cars from the DARPA challenges to modern autonomous systems, highlighting computer vision, sensor fusion, localization, mapping, planning, and control.
Explore autonomous cars' benefits: safer roads, independence for mobility-limited individuals, lower costs from ride sharing, and environmental gains from electric vehicles, while noting job loss, privacy, hacking, and terrorism risks.
Explore building a safe autonomous system by quantifying safety against human drivers and fatalities. Assess real-world testing challenges, intervention needs, and past incidents to guide robust programming and sensor-based safety.
Discover how deep learning and computer vision enable self-driving cars, using convolutional networks for land and road detection, pedestrian and traffic light recognition, vehicle and obstacle detection, with sensor fusion.
Explore how LIDAR and computer vision converge through sensor fusion to recognize objects, predict their future positions, and why maps and bridges matter for reliable self-driving cars on highways.
Explore activation functions, also known as transfer functions, and learn how they introduce non-linearity in neural networks to enable nonlinear transformation and learn complex patterns beyond linear regression.
Explore the rectified linear unit (Relu) activation function, a piecewise function that outputs zero for negative inputs and the input for nonnegatives, including the dying Relu issue.
Leaky ReLU is a variant of the ReLU function that assigns a small negative slope to negative inputs, rather than zero, with alpha typically around 0.01.
Explore the tanh function, a hyperbolic tangent activation that maps inputs to -1 to 1, centered at zero, and differentiable and monotonic, like a sigmoid.
Explore how the softmax function generalizes the sigmoid for the final network layer, producing class probabilities that sum to one in multiclass classification.
Explore the exponential linear unit activation, showing how it treats negative inputs with a curved, exponential response instead of a straight line, and illustrate its behavior around zero.
Explore the swish activation function, its monotonic and non-monotonic behavior, and how a beta parameter interpolates between linear identity and nonlinear forms, often outperforming relu.
Explore the sigmoid activation function, also known as the logistic function, a differentiable, monotonic map from zero to one used to predict the output probability.
Learn to implement common activation functions—sigmoid, tanh, relu, leaky relu, elu, swish, and softmax—in code, understand their formulas, and apply them to train ai models in health care.
This video introduces the first autumn project, guiding you to load the mpg dataset, build a neural network, and discuss data attributes and missing values.
Import data and libraries, download data from GeoEye, set column names, clean and filter the dataset by region, and prepare a ready data frame for modeling.
Split the dataset into an 80/20 train and test set, creating train_data and test_data with labels, and validate the split with a quick plot to ensure proper distribution.
Standardize and normalize training and test data using mean and standard deviation, transforming values to a consistent scale and observing performance improvements.
Train the model with labeled examples, set a 0.2 validation split, run many epochs, and monitor mean absolute error to visualize training progress and improve predictions.
Continue training the model, monitor validation loss with early stopping to prevent overfitting, and assess performance using mean squared error and absolute error, preparing for predictions in the next video.
Learn how to predict new unseen data by using test data, generate predictions and corresponding labels, and prepare to evaluate the model's performance.
Evaluate the model's performance by comparing predictions to labels, assessing the prediction error, and visualizing results to show the distribution and accuracy, noting the distribution is not normally distributed.
Discover how to save and load models for autonomous cars in computer vision. Import models and run predictions to verify outcomes.
Explore cameras as the primary sensor in autonomous driving and learn computer vision basics to manipulate camera images to extract appearance information for object detection and semantic segmentation.
Explore computer vision as the science that lets computers understand images and videos, using machine learning to classify scenes and objects, including facial recognition and license plate detection.
Explore core computer vision challenges for autonomous cars, including viewpoint variation, camera limitations and lighting, image scaling, and object variation, affecting road understanding.
Compare artificial eyes with human eyes, noting 360-degree coverage and real-time processing needs for self-driving cars, and how cameras, LiDAR, radar, and GPS form 3-D perception.
Explore the digital representation of images, starting with grayscale pixels valued 0–255 where 0 is black and 255 is white, then RGB color channels mix red, green, and blue.
Discover how to convert a color image to greyscale for autonomous cars' computer vision, with visuals of the color and greyscale versions and practical code steps for importing libraries.
Apply a grayscale image filter to identify features, create a copy, and threshold values below 250 and 195 to isolate regions, while debugging common errors in the process.
Explore detection with the rgb image by applying sharpening adjustments, experimenting with color channel thresholds, and converting to grayscale to enhance feature visibility for computer vision in autonomous cars.
Analyze challenges in color selection techniques and color space techniques for autonomous driving, including nighttime conditions, and enhance robustness with feature detection and high-resolution LiDAR data when vision struggles.
Explore rgb and hsv color spaces, learn how hue, saturation, and value define color representation, and see why hsv offers a more effective color space for vision-based color selection.
Investigate color space manipulation with OpenCV, including converting color spaces, applying grayscale conversion, and histogram equalization, while adjusting image channels for robust preprocessing in computer vision.
Explore how convolution applies a kernel to an image to extract features and produce feature maps, including grayscale images, with effects that blur or soften the result.
Explore sharpening and blurring techniques using 3x3 kernels and convolution, including normalization to keep brightness stable, and observe how box blur and sharpening kernels affect image details.
Learn sharpening and blurring implementations through convolution kernels, applying them to images and evaluating outputs in a computer vision context for autonomous driving.
Learn how edge detection and gradient calculations serve as core feature extraction techniques by applying convolution with kernels to reveal sharp image changes, including Sobel directions.
Explore the Sobel and Laplacian edge detectors by computing first-order derivatives in x and y, constructing gradient magnitude, and noting noise sensitivity of second-order operators.
Explore Canny edge detection and Sobel-based edge analysis to smooth noise, compute gradients, and set thresholds for robust image edge extraction.
Explain affine transformation that keeps parallel lines parallel and corrects geometric distortion from camera angles, then introduce projective transformation where parallel lines may converge at a point in 2d.
Practice forming and applying a rotation to an image with a rotation matrix, rotating around the image center by a chosen angle and displaying the rotated result.
Implement image translation by building a translation matrix, reuse the previous notebook code, and test the translation on the image. Compare results to evaluate accuracy.
Learn to implement image resizing with OpenCV, resize images by half, and experiment with interpolation methods such as cubic and natural cubic, with homework on adjusting x and y values.
Explore perspective transformation and use a transformation matrix to warp images to a top down view, a key tool in self-driving cars.
Implement perspective transformation using OpenCV, map image corners to destination points, and apply the perspective warp to create transformed imagery.
Explore cropping, dilating, and eroding an image, using code to apply erosion and dilation, and learn how erosion removes pixels while dilation adds pixels to object boundaries.
Mask regions of interest in images for autonomous driving, convert color images to grayscale, and apply masks with OpenCV to isolate driving scene regions such as roads and vehicles.
Explore the Hough transform for robust line detection by mapping image points to polar parameter space (p, theta) and voting to identify lines, avoiding vertical infinity issues.
Master the Hough transform implementation for autonomous car computer vision by applying edge detection and image conversion to perform robust line detection through mathematical transforms.
Explore the importance and challenges of computer vision, study image transformations and convolution, and apply these techniques to detect road markings in images and videos.
Identify road markings for self-driving cars using the ABC library, with data preprocessing. Process camera image sequences to train a deep learning network that detects road markings in video.
Learn to detect road markings in images using grayscale conversion, smoothing, region of interest masking, transforms, and optimization to enable line following and safe driving.
Load an image with OpenCV, convert it to grayscale, display it, and identify edges while filtering out false edges.
Smooth the image with a gaussian filter and apply canny edge detection to identify ash regions, highlighting the strongest gradients.
Mask the region of interest in road imagery by defining a polygon and applying masks. Demonstrate how to create masked images for autonomous vehicle computer vision tasks.
Apply bitwise_and and the Hough transform to image regions to detect road markings, implement the transformation workflow, and visualize results for autonomous cars computer vision.
Detect road markings in video for autonomous cars using the same method as images, achieving on-the-fly accuracy while training to improve results in computer vision.
Explore detecting road markings, images, and videos with a starter project that implements a detection software using grayscale conversion and a classifier, setting up for upcoming road-detection tasks.
Explore how artificial neural networks evolve into convolutional neural networks, using convolution layers and filters to produce feature maps from images via receptive fields.
Pooling layers in CNNs downsample feature maps by sliding a 2–3 pixel window and taking the max, reducing parameters, speeding training, and improving invariance and generalization.
Introduce a traffic sign detection and classification project using a multiclass Mitrovic dataset with 40+ classes and 50 images, featuring one directory per class and bounding-box annotations.
Load and prepare data for the iris dataset, import data manipulation tools, create train, validation, and test splits in data frames, and run and evaluate the data pipeline.
Explore image data and localization challenges, showing how a computer vision model detects driving decisions, such as going straight or turning right, from images in autonomous driving.
Explore data preparation for autonomous driving computer vision by pulling datasets, importing libraries, converting images to grayscale, and creating train and validation sets to improve accuracy.
Train a CNN model on the road network dataset, configure layers and activation, set the optimizer and loss, run epochs, and achieve validation accuracy.
Validate model accuracy after training by testing on the test set, compute the confusion matrix and classification report, and confirm near 90–94 percent accuracy with no overfitting.
Highlight progress in traffic signals detection for autonomous driving, achieving over 95% accuracy. Explain a model that identifies and classifies features to support greater autonomy.
Learn techniques to locate and track moving objects in video feeds in real time. See how object tracking powers computer vision applications like augmented reality, video compression, and robot assistants.
Detect moving objects by subtracting a reference background from new frames and measuring absolute differences; address outdated backgrounds, shadows, and camera motion via dynamic models and frequency filtering.
Explore the MOG background subtractor in OpenCV, compare two cv2 background subtractor implementations, and discuss background modeling over time with clustering and shadow-aware segmentation.
For autonomous cars, implement a MOG background subtractor to separate foreground from background across video frames, using shadow detection to remove shadows and reflections for accurate detection rectangles.
Explore a CNN-based KNN background subtractor to differentiate cars from shadows and background, improving detection accuracy and enabling counting of cars in video frames during a two-hour background subtraction project.
Learn to detect and track pedestrians in video using motion and object detection, with frame capture and background subtraction, for surveillance and driving safety.
Explore mean shift for real-time object tracking using color histograms, addressing background modeling limits, maintaining distinct tracks for multiple moving objects, and converging the tracking window to the object centroid.
Explore how the Kalman filter recursively estimates an object's motion from noisy data, using a motion model and previous frames to improve position estimates in video.
Implement pedestrian detection in video frames using a Kalman filter for tracking. Set up data inputs and matrices, initialize state, and perform frame-by-frame updates to assign IDs and monitor pedestrians.
Explore implementing pedestrian detection with a kalmen field to predict positions from history, initialize a hue histogram on the first frame, and track with a blue circle and tracking window.
Implement pedestrian detection in autonomous driving by processing video frames: capture video, build a background model, detect contours and thresholds, and draw rectangles around pedestrians.
Implement pedestrian detection and tracking by updating a background model with video frames, applying thresholding and morphological operations, and drawing bounding and Kalman-predicted rectangles for moving pedestrians.
Learn background subtraction and object tracking to detect moving objects in video, build a foundation in computer vision and machine learning for autonomous cars.
Explore semantic segmentation, a pixel-wise labeling method powered by CNNs, enabling real-time scene understanding for autonomous driving and driving assistance systems.
Learn semantic segmentation architecture in convolutional networks, from encoding high-level features to decoding for pixel-level labeling across 11 classes, including Jeunet, Sekhmet, Bisping SpiNET, and Diplock.
Explore the U-Net architecture for semantic segmentation, outlining the contracting path, upsampling, and the concatenation of higher resolution features that propagate context.
Explore how SegNet enables semantic segmentation with an encoding network, a corresponding decoder, and a final classification, using convolution, normalization, pooling indices, and upsampling to preserve high frequency details.
Explore the encoder–decoder architecture, applying convolution and max pooling to extract features, then upsampling and a softmax classifier to make predictions.
Learn how pyramid scene parsing network uses multi-scale pooling and a pyramid pooling module to extract local and global context, then upsample, concatenate, and produce per-pixel predictions.
Explore deepLabv3+, a Google open-source semantic segmentation model, and how its encoder and spatial pyramid pooling capture contextual information to produce segmentation maps from pre-trained convolutional neural network features.
Learn how ENet enables real-time semantic segmentation on mobile devices by using bottlenecks, downsampling, upsampling, and efficient decoding for autonomous vehicle perception.
Implement semantic segmentation in part 2 by building and visualizing a class map, applying convolution and color labeling to produce a labeled output image.
Continue implementing semantic segmentation and validate results on images, mapping cars, trees, and buildings to a semantic map. Prepare to apply the technique to video in real situations.
Implement semantic segmentation on video by loading existing models, processing each frame, and exporting the labeled frames into a new video while presenting optional on-screen visualization.
Implement semantic segmentation on video frames using a segmentation model and an hourglass ID map to label pixels. Show real-time object identification—vegetation, cars, and roads—for autonomous driving applications.
Demonstrate semantic segmentation with OpenCV deep learning using ENet and the Cityscapes dataset to produce 20-class segmentation for images and video streams in real time, supporting self-driving car perception.
Learn how object detection blends classification with localization to identify objects and draw bounding boxes in images. Explore YOLO, a neural network approach that predicts bounding boxes and class probabilities.
Discover how YOLO differs from older detectors by using a single neural network on a grid to predict bounding boxes and class probabilities, delivering fast and accurate object detection.
Explore the yolo loss function and architecture for autonomous cars, detailing confidence, classification, and coordinate losses on bounding boxes, and a 24-layer convolutional network with two fully connected layers.
Implement a YOLO workflow by loading the model and class labels, preprocessing images, and drawing bounding boxes with labels and confidence scores.
Apply YOLO to real-time video by loading a pre-trained model, processing video frames, performing object detection with confidence thresholds, and drawing labeled boxes on the stream.
Maintain steady practice to excel in deep learning, set your own goals and challenges, and keep improving your model with your dataset and future course updates.
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.
YOLO.
HOG feature extraction.
Detection with the grayscale image.
Colour space techniques.
RGB space.
HSV space.
Sharpening and blurring.
Edge detection and gradient calculation.
Sobel.
Laplacian edge detector.
Canny edge detection.
Affine and Projective transformation.
Image translation, rotation, and resizing.
Hough transform.
Masking the region of interest.
Bitwise_and.
KNN background subtractor.
MOG background subtractor.
MeanShift.
Kalman filter.
U-NET.
SegNet.
Encoder and Decoder.
Pyramid Scene Parsing Network.
DeepLabv3+.
E-Net.
If you’re ready to take on a brand new challenge, and learn about AI techniques that you’ve never seen before in traditional supervised machine learning, unsupervised machine learning, or even deep learning, then this course is for you.
Moreover, the course is packed with practical exercises that are based on real-life examples. So not only will you learn the theory, but you will also get some hands-on practice building your own models. There are five big projects on healthcare problems and one small project to practice. These projects are listed below:
Detection of road markings.
Road Sign Detection.
Detecting Pedestrian Project.
Frozen Lake environment.
Semantic Segmentation.
Vehicle Detection.
That is all. See you in class!
"If you can't implement it, you don't understand it"
Or as the great physicist Richard Feynman said: "What I cannot create, I do not understand".
My courses are the ONLY course where you will learn how to implement deep REINFORCEMENT LEARNING algorithms from scratch
Other courses will teach you how to plug in your data into a library, but do you really need help with 3 lines of code?
After doing the same thing with 10 datasets, you realize you didn't learn 10 things. You learned 1 thing, and just repeated the same 3 lines of code 10 times...