Lectures
One deck per week of the 16-week schedule (Week 16 is the capstone demo/review session). Each lecture is an interactive reveal.js presentation — press e inside any deck for PDF export mode, or ? for keyboard help.
Lectures 01 and 02 are adapted from the open Computer Vision course by Kaveh Fathian (Colorado School of Mines), reused here for teaching purposes. Lectures 03–16 are original decks written for this course from the Schedule & Labs plan and the companion Applied Computer Vision materials.
Lecture 01 — Introduction to Computer Vision
Course overview, computer vision applications, and important course logistics.
Lecture 02 — Image Formation and Digital Images
Images as signals, sampling, sensor arrays, resolution, quantization, image arrays, color images, and basic Python image representation.
Lecture 03 — Deep Learning for Computer Vision
The perceptron, activation functions, loss functions, gradient descent & backpropagation, adaptive optimizers, mini-batch SGD, overfitting and regularisation (dropout, early stopping); bridges into the CNN material in Lecture 13.
Lecture 04 — Computer Vision: How Computers See the World
A gentle, visual tour of the field: images as grids of numbers (pixels, grayscale, RGB tensors), then the ladder of tasks — classification, object detection, segmentation (semantic vs instance) and scene understanding with vision-language models — with live demos at each step.
Lecture 05 (Part I) — Computer Vision: Images, Colour Spaces & Filters
How a computer stores an image: pixels, grayscale 0–255, RGB channels and 16.7 million colours, images as tensors. Colour spaces (RGB/BGR, HSV, LAB, YCbCr, CMYK) with lane-paint examples and a live HSV explorer; convolution, averaging, Gaussian and median filters worked by hand plus a live kernel playground; Sobel, Laplacian and Canny edges, shapes, contours and morphology; feature extraction (keypoints, descriptors, ORB matching); and deep-learning-based CV from CNNs to Vision Transformers. Quizzes and OpenCV code throughout.
Lecture 05 (Part II) — Computer Vision for Self-Driving Cars: Finding Lane Lines
Where camera perception sits in a self-driving car, then a complete lane-finding pipeline built step by step: RGB and HLS colour selection, region-of-interest masks, Canny edge detection (all four stages), the Hough transform in (m, b) and (ρ, θ) space, averaging and extrapolating to two lane lines, and video with temporal smoothing — ending with where it breaks and what modern learned lane detectors do. Live in-browser demos, slide quizzes, Lab 5 notebooks and Assignment 2. Adapted and updated from the Udacity Self-Driving Car Engineer Nanodegree.
Lecture 06 — Camera Calibration
How a camera turns the 3-D world into pixels and how to measure it: the pinhole model, intrinsics K and extrinsics [R | t], radial and tangential lens distortion, camera types (wide-angle, fisheye, omnidirectional, stereo, RGB-D, Raspberry Pi modules) and calibration targets (chessboard, circles, ChArUco). Calibrating with OpenCV — corners, object/image points, Zhang’s method, reprojection error, undistortion and remap — then ChArUco, fisheye, stereo, ROS 2 and your own Pi camera, and finally perspective transforms, the bird’s-eye view and lane curvature. Eight levels from the very basics (pixels, lenses, coordinates) to advanced topics, a live webcam calibration studio running real OpenCV in the browser, seven in-browser demos, slide quizzes, teaching notes and Lab 6 notebooks. Partly adapted from the Udacity Self-Driving Car Engineer Nanodegree.
Supplementary — Filtering, Frequency, Restoration & Morphology
Self-study deck (the core filters are in Lecture 05 Part I). Why filters work: correlation vs convolution, Gaussian smoothing, separability, sharpening and gradient operators, non-linear filters; the same filters as signals (DFT, convolution theorem, sampling, aliasing, Gaussian/Laplacian pyramids). Then repairing images (noise models, Wiener, non-local means, PSNR/SSIM) and shapes (erosion, dilation, opening, closing, connected components, distance transform, skeletons).
Lecture 07 — Edges/Contours & Local Features
Canny in depth, the Hough transform, contour tracing, and region descriptors; Harris/Shi–Tomasi corners, scale space, DoG blob detection, and FAST.
Lecture 08 — Descriptors, Matching & RANSAC
SIFT/SURF/ORB/BRIEF and matching strategies; homography by the DLT, robust fitting with RANSAC/MSAC, and panorama stitching. Midterm Exam week (weeks 1–8).
Lecture 09 — Segmentation I & II
Region growing, k-means/mean-shift, and SLIC superpixels; watershed, graph cuts/GrabCut, active contours, and the bridge from hand-designed masks to learned segmentation.
Lecture 10 — Calibration & Stereo
Intrinsics/extrinsics, lens distortion, and Zhang's planar calibration; epipolar geometry, fundamental/essential matrices, and disparity-based depth.
Lecture 11 — Optical Flow & Tracking
Brightness constancy, Lucas–Kanade/Horn–Schunck, and pyramidal KLT; background subtraction, the Kalman filter, correlation trackers, and tracking-by-detection (SORT).
Lecture 12 — Classical Recognition & Neural Networks
Sliding-window detection, HOG+SVM, Haar cascades, and bag-of-visual-words; the perceptron, MLPs, backpropagation, and SGD/momentum/Adam.
Lecture 13 — CNNs, Segmentation Networks & Reading Research Papers
The CNN architecture lineage, two-stage vs one-stage detectors, and segmentation networks; a five-step method for reading and reproducing a paper from scratch, applied to U-Net.
Lecture 14 — Edge Vision & the OpenCV 5.0 Deep Dive
Accelerators, inference runtimes, and quantisation/pruning for the edge; a full deep dive into OpenCV 5.0's new DNN engine, breaking changes, and migration from OpenCV 4.
Lecture 15 — Vision Transformers, Advanced Topics & Review
ViT, CLIP/VLMs, event cameras, a SLAM overview, and ethics/robustness; the Transformer built from scratch, and a cumulative final-exam review.
Lecture 16 — Capstone Demos & Review
Live capstone demonstrations on Raspberry Pi 5 target hardware, the project grading rubric, peer-review guidance, and a full-course final-exam review checklist.