Computer vision, broadly speaking, is a research field aimed to enable computers to process and interpret visual data (namely in the form of images and video), as sighted humans can. It is one of the most exciting areas of research in computing science and among the fastest growing technologies in today's industry. This course provides an introduction to the fundamental principles and applications of computer vision, including image formation, sampling and filteering, colour analysis, single and multi-image geometry, feature detection and matching, stereo imaging, motion estimation, segmentation, image classification and object detection. We'll study basic methods and application of these concepts to a variety of visual tasks.
See the course Canvas page for Lecture times, Office Hours and Assignment Handin. We will use Piazza for discussions and Q+A, see the link in Canvas. Please see the Section 201 page for administrative information about the course, including policies for assignments, grading and academic conduct.
Prerequisites: MATH 200, MATH 221 and either (a) CPSC 221 or (b) CPSC 260, EECE 320.
Assignment (due dates are Thursdays at 23:59) | Due |
Assignment 0: Introduction to Python for Computer Vision | (optional Jan 15) |
Assignment 1: Image Filtering and Hybrid Images | Jan 30 |
Assignment 2: Scaled Representations, Face Detection and Image Blending | Feb 13 |
Assignment 3: Texture Synthesis | Mar 6 |
Assignment 4: RANSAC and Panorama Stitching | Mar 20 |
Assignment 5: Stereo and Optical Flow | Apr 3 |
Assignment 6: Deep Learning | Apr 10 |
Week Beginning | Lectures | Description | Notes and Resources |
---|---|---|---|
Jan 7 | Introduction | Intro to Computer Vision, Course logistics | Week 1 Notes |
Image Formation | Light, Reflectance, Cameras and Lenses, Pinhole, Perspective, Orthographic projection | Szeliski 2.2 | |
Jan 14 | Image Filtering 1 | Image as a function, Image Transformations, Linear filters, Correlation and Convolution | Week 2 Notes Szeliski 3.1-3.2 |
Image Filtering 2 | Gaussian, Pillbox filter, Separability, Low Pass / High Pass Filtering | ||
Jan 21 | Image Filtering 3 | Non-Linear Filters, Bilateral Filters, Speeding up Convolution, Fourier Representation | Week 3 Notes Szeliski 3.3-3.4 |
Sampling | Sampling Theory, Bandlimited Signal, Nyquist Rate, Aliasing, Color Filter Arrays, Demosaicing | Szeliski 2.3 Quiz 1 |
|
Jan 28 | Template Matching | Digital Imaging Pipeline continued, Template Matching, Correlation, Normalised Correlation, SSD | Week 4 Notes Szeliski 3.5 |
Scaled Representations | Gaussian Pyramid, Laplacian Pyramid, Pyramid Blending, Multi-Scale Template Matching and Detection | A1: Jan 30 | |
Feb 4 | Edge Detection | Image Derivatives, Edge Filtering, 2D Gradient, Canny Edge Detection, Image Boundaries | Week 5 Notes Szeliski 7.1-7.2 |
Corner Detection | Image Structure, Corner Detection, Autocorrelation, Harris, Scale Selection, DoG | Quiz 2 | |
Feb 11 | Texture | Texture Representation, Filter Banks, Textons, Non-Parameteric, Texture Synthesis | Szeliski 10.5 |
Midterm Prep | See Canvas for example questions | A2: Feb 13 Quiz 3 |
|
Feb 18 | Midterm Break | No class | |
Feb 25 | Midterm Exam | In-class midterm exam | |
Mar 4 | Local Image Features | Correspondence, Invariance, Geoemtric, Photometric, SIFT, Object Instance Recognition | Week 7 Notes Szeliski 7 |
Planar Transformations | 2D Transformations, Similarity, Euclidan, Affine, Homography, Robust Estimation, RANSAC, Hough Transforms, Line Detection, Transformation Space Voting | A3: Mar 6 Szeliski 2.1, 8.1, 7.4 |
|
Mar 11 | Stereo | Epipolar Geometry, Rectification, Disparity, Block Matching, Occlusions, Ordering Constraints | Week 8 Notes Szeliski 12.1, 12.3-12.4 |
Optical Flow | Brightness Constancy, Optical Flow Constraint, Aperture Problem, Lucas-Kanade, Horn-Schunck | Szeliski 9.3 Quiz 4 |
|
Mar 18 | Multiview Reconstruction | Multiview Matching, Bundle Adjustment, Pose Estimation, Triangulation, Image Alignment and 3D Reconstruction | Week 9 Notes Szeliski 11.4, 12.3-12.4 |
Visual Classification 1 | Instance and Category Recognition, Viusal Words, Bag of Words, Support Vector Machines | A4: Mar 20 Szeliski 5.1-5.2 Quiz 5 |
|
Mar 25 | Visual Classification 2 | Linear Classification, Nearest Neighbour, Nearest Mean, Bayesian Classifiers, One-Hot Regression, Regularisation, SGD, Momentum | Szeliski 5.1-5.2 |
Neural Networks 1 | Activation Functions, Softmax, Cross Entropy, Update rules, Perceptron, 2-layer Net, Gradients, Backpropagation | Szeliski 5.1.3, 5.3-5.4 | |
Apr 1 | Neural Networks 2 + 3 | Linear layer backward pass, Convolutional Neural Networks, Strided convolution, Max Pooling, Deep Learning, AlexNet, VGG, Weight Initialization, Normalization, Preventing Overfitting | Johnson EECS 4/598 |
Final Prep | See Canvas for example questions | A5: Apr 3 Quiz 6 |
|
April 8 | Spare | TBC | A6: Apr 10 |