Texbooks

S is Computer Vision: Algorithms and Applications by Richard Szeliski, which can be found here.

H&Z is Multiple View Geometry in Computer Vision by Richard Hartley and Andrew Zisserman, which is available from the UM Library (Login required).

ESL is Elements of Statistical Learning by Hastie, Tibshirani, and Friedman, which can be found here

All slides for this course were adapted from the Fall 2019 iteration of this course, taught by David Fouhey.

Event Date Description Course Materials
Lecture 1 Thursday
January 9
Introduction
Computer vision overview
Course logistics
[slides (pdf)]
[slides (pptx)]
Lecture 2 Tuesday
January 14
Cameras I
Pinhole camera
Homogenous coordinates
Intrinsic / Extrinsic matrices
[slides (pdf)]
[slides (pptx)]
[Reading: S 2.1]
[Reading: H&Z 2, 6]
Lecture 3 Thursday
January 16
Cameras II
Thin lens model
Depth of field
[slides (pdf)]
[slides (pptx)]
Lecture 4 Tuesday
January 21
Light and Shading
Human vision
Color vision
Color spaces
Diffuse and Specular Reflection
[slides (pdf)]
[slides (pptx)]
[Reading: S2.2, S2.3]
Lecture 5 Thursday
January 23
Math Review I
Floating point numbers
Vectors, Matrices
[slides (pdf)]
[slides (pptx)]
Lecture 6 Tuesday
January 28
Math Review II
Matrices, Vectorization
Linear Algebra
[slides (pdf)]
[slides (pptx)]
HW0 Due Wednesday
January 29
Homework 0 Due [HW0]
Lecture 7 Thursday
January 30
Math III + Image Filtering
Eigenvalues, Eigenvectors
Least Squares
Singular Values
Derivatives
Linear Filters
[slides (pdf)]
[slides (pptx)]
[Reading: S3.2]
Lecture 8 Tuesday
February 4
Image Filtering II
Blur and sharpening filters
Separable filters
Image Gradients
[slides (pdf)]
[slides (pptx)]
[Reading: S3.2]
HW1 Due Wednesday
February 5
Homework 1 Due [HW1]
Lecture 9 Thursday
February 6
Edge and Corner Detection
Edge detection
Gaussian Derivative filter
Harris Corner detector
[slides (pdf)]
[slides (pptx)]
[Reading: S4.1]
Lecture 10 Tuesday
February 11
Image Descriptors
Scale-space pyramid
Laplacian blob detectors
SIFT descriptors
[slides (pdf)]
[slides (pptx)]
[Reading: S4.1]
Lecture 11 Thursday
February 13
Transformations I
Linear Regression
Total Linear Regression
RANSAC
Hough Transform
[slides (pdf)]
[slides (pptx)]
[Reading: S2.1, S6]
Lecture 12 Tuesday
February 18
Transformations II
Affine, Projective transforms
Fitting transforms
[slides (pdf)]
[slides (pptx)]
[Reading: S2.1, S6]
HW2 Due Wednesday
February 19
Homework 2 Due [HW2]
Lecture 13 Thursday
February 20
Intro to Machine Learning
Image warping / blending
Supervised vs Unsupervised learning
Train / Test splits
Linear Regression
Regularization
[slides (pdf)]
[slides (pptx)]
Lecture 14 Tuesday
February 25
Linear Models
Cross-Validation
K-Nearest Neighbors
SVM loss
Cross-Entropy loss
[slides (pdf)]
[slides (pptx)]
[CS231n Linear Classification]
Lecture 15 Thursday
February 27
Optimization
Stochastic Gradient Descent
SGD + Momentum
[slides (pdf)]
[slides (pptx)]
[CS231n Optimization]
Tuesday
March 3
Spring Break
HW3 Due Wednesday
March 4
Homework 3 Due [HW3]
Thursday
March 5
Spring Break
Lecture 16 Tuesday
March 10
Neural Networks
Overfitting / Underfitting
Bias / Variance tradeoff
Fully-connected neural networks
Biological neurons
[slides (pdf)]
[slides (pptx)]
[CS231n Neural Networks]
Wednesday
March 11
Project Proposal Due
Thursday
March 12
No Class
Lecture 17 Tuesday
March 17
Backpropagation
Computational Graphs
Backpropagation
Matrix multiplication example
[video (from EECS 498/598)]
[slides (from EECS 498/598)]
[231n Backpropagation]
[Backprop for Matrix Multiply]
[Olah on Backprop]
[Nielsen on Backprop]
Lecture 18 Thursday
March 19
Convolutional Networks
Convolution
Pooling
Batch Normalization
[video (from EECS 498/598)]
[slides (from EECS 498/598)]
[231n ConvNets]
[Goodfellow, Chapter 9]
Lecture 19 Tuesday
March 24
CNN Architectures
AlexNet, VGG, ResNet
Size vs Accuracy
Neural Architecture Search
[video (from EECS 498/598)]
[slides (from EECS 498/598)]
[AlexNet paper]
[VGG paper]
[GoogLeNet paper]
[ResNet paper]
Lecture 20 Thursday
March 26
Training Neural Networks I
Activation Functions
Data preprocessing
Weight initialization
Data Augmentation
Regularization
[video (from EECS 498/598)]
[slides (from EECS 498/598)]
[231n Training I]
Lecture 21 Tuesday
March 31
Training Neural Networks II
Learning rate schedules
Hyperparameter optimization
Model ensembles
Transfer learning
Large-batch training
[video (EECS 498/598)]
[slides (from EECS 498/598)]
[231n Training II]
[Karpathy "Recipe for Training"]
HW4 Due Wednesday
April 1
Homework 4 Due [HW4]
Lecture 22 Thursday
April 2
Object Detection
Single-Stage detectors
Two-Stage detectors
[video (from EECS 498/598)]
[slides (from EECS 498/598)]
Lecture 23 Tuesday
April 7
Image Segmentation
Semantic segmentation
Intance segmentation
Keypoint estimation
[video (from EECS 498/598)]
[slides (from EECS 498/598)]
Wednesday
April 8
Progress Report Due
Lecture 24 Thursday
April 9
3D Shape Prediction
3D shape representations
Depth estimation
3D shape prediction
Voxels, Pointclouds, SDFs, Meshes
[video (from EECS 498/598)]
[slides (from EECS 498/598)]
Lecture 25 Tuesday
April 14
Video Models
Video classification
Early / Late fusion
3D CNNs
Two-stream networks
[video (from EECS 498/598)]
[slides (from EECS 498/598)]
HW5 Due Wednesday
April 15
Homework 5 Due [HW5]
Wednesday
April 22
Final Report Due