Computer Vision

CPSC 425 // Winter Term 2 2024 // Section 202

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.

Teaching Team

Course Information

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.

Assessment

Books

Assignments


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

Course Overview


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