Leonid Sigal

Associate Professor, University of British Columbia

Course Information

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 task.

Leonid Sigal (lsigal@cs.ubc.ca)
      Office hours: Fridays, 11-noon in ICICS 119

Borna Ghotbi (bghotbi@cs.ubc.ca)
      Office hours: Fridays, 9-10am in ICCS X241 (Assignment 1 and 3)
Tzu-Yun Shann (shannari@cs.ubc.ca)
      Office hours: Tuesdays, 2-3pm in ICCS X151 (Assignment 3 and 4)
Polina Zablotskaia (pzablots@cs.ubc.ca)
      Office hours: Wednesdays, 12-1pm in ICCS X151 (Assignment 2 and 5)
Sarah Elhammadi (shammadi@cs.ubc.ca)
      Office hours: Mondays, 11-noon at Table 1 in DLC (Assignment 4 and 5)
Siddhesh Khandelwal (skhandel@cs.ubc.ca)
      Office hours: Thursdays, 11-noon in ICCS X139 (Assignment 1 and 2)

Class meets:
Mon, Wed, Fri 15:00 - 16:00 pm, West Mall Swing Space, Room 122

piazza.com/ubc.ca/winterterm12018/cpsc425 (to signup)
piazza.com/ubc.ca/winterterm12018/cpsc425/home (class link)

Prerequisites: MATH 200, MATH 221 and either (a) CPSC 221 or (b) CPSC 260, EECE 320.

Academic Conduct: Each student is responsible for understanding and abiding by the University and Departmental policies on academic conduct. Any violations of such policies will be punishable according to the guidelines. Specifically:
- Computer Science Department Policies on Academic Integrity
- UBC policy on Academic Misconduct
- Computer Science Department Policies on Equality, Inclusion and Wellness
- Computer Science Department Policies and Responsibilities.


Recemended (but not required):

Computer Vision: A Modern Approach (2nd edition) Computer Vision: Algorithms and Applications
Computer Vision: A Modern Approach (2nd edition), by D.A. Forsyth and J. Ponce, Pearson, 2012. (buy) Computer Vision: Algorithms and Applications, by R. Szeliski, Springer, 2010. (download)

Additional Books and Materials: The following textbooks are also on reserve in the reading room.
- Concise Computer Vision: An Introduction into Theory and Algorithms, by R. Klette, Springer, London, 2014. (can be freely downloaded as a PDF from SpringeLink, through UBC Library; must login using CWL).
- Computer vision : models, learning, and inference, by S.J.D. Prince, Cambridge University Press, 2012.
- Multiple view geometry in computer vision (2nd edition), by R. Hartley and A. Zisserman, Cambridge University Press, 2003.
- Pattern classification (2nd edition), by R.O. Duda, P.E. Hart, and D.G. Stork, Wiley, 2001.


Clicker questions (in class) 10%
Midterm exam25%
Final exam40%
(The instructor reserves the right to change this scheme, but does not anticipate using that right.)

Assignments (25% of the grade)

All assignments are to be done individually. There are 5 graded (and 1 ungraded) asssignment each worth the same amount - 5% of the total grade.

Late Policy: Every student is allotted two ``late days'', which allow assignments to be handed in late without penalty on three days or parts of days during the term. The purpose of late days is to allow students the flexibility to manage unexpected obstacles to coursework that arise during the course of the term, such as travel, moderate illness, conflicts with other courses, extracurricular obligations, job interviews, etc. Thus, additional late days will NOT be granted except under truly exceptional circumstances. If an assignment is submitted late and a student has used up all of her/his late days, 25% will be deducted for every day the assignment is late. (e.g., an assignment 2 days late and graded out of 100 points will be awarded a maximum of 60 points.) How late does something have to be to use up a late day? A day is defined as a 24-hour block of time beginning at 10 minutes past the start of the lecture on the day an assignment is due. To use a late day, write the number of late days claimed on the first page of your assignment. Examples: Handing in an assignment at the end of lecture on the day it is due consumes one late day. Handing in an assignment at 10:15 the morning after it is due consumes one late day. Handing in an assignment at 2:30 the day after an assignment is due consumes two late days.

Expectations: To get top marks, programs must not only work correctly, but also must be clearly documented and easily understood. The material you hand in, including figures, must be legible.

Assignment Cover Sheet Available Due
Assignment 0: Introduction to Python for Computer Vision (link) N/A Sep 5 optionally Sep 12
Assignment 1: Image Filtering and Hybrid Images (link) TBD Sep 10 Sep 24
Assignment 2: Face Detection in a Scaled Representation (link) TBD Sep 26 Oct 10
Assignment 3: Texture Synthesis (link) TBD Oct 10 Oct 29 Oct 31
Assignment 4: Local Invariant Features and RANSAC (link) TBD Oct 29 Nov 1 Nov 14
Assignment 5: Scene Recognition with Bag of Words (link) TBD Nov 14 Nov 28Nov 30


Date Topic Reading
W1: Sep 5 Introduction: Intro to computer vision, Course logistics (slides)
W1: Sep 7 Image Formation: Pinhole, Perspective, Weak perspective and Orthographic projection (slides) Forsyth & Ponce, 1.1.1 -- 1.1.3
W2: Sep 10 Image Formation: Lenses, Cameara effects, Human eye (slides)
Image Filtering: Image as a function, Image transformations (slides)
Forsyth & Ponce, 1.1.1 -- 1.1.3
Forsyth & Ponce, 4.1, 4.5
W2: Sep 12 Image Filtering: Linear filters, Correlation and Convolution (slides)
(optional) Assignment 0: Introduction to Python for Computer Vision
Forsyth & Ponce, 4.1, 4.5
W2: Sep 14 Image Filtering: Gaussian filter, Separability, Pillbox filter, Speeding up Convolution (slides)
W3: Sep 17 Image Filtering: Non-linear Filtering, Bilettiral Filter (slides)
first iClicker quiz
W3: Sep 19 Sampling: Sampling Theory, Nyquist Rate, Bandlimited Signal (slides) [optional] Forsyth & Ponce, 4.4
W3: Sep 21 Sampling: Sampling Theory (cont.), Aliasing, Color Filter Arrays, Demosicing (slides)
Template Matching: Introduction (slides)
Forsyth & Ponce, 4.4, 4.5
W4: Sep 24 Scaled Representations: Template Matching, Image Pyramids, Gaussian Pyramid (slides)
Assignment 1: Image Filtering and Hybrid Images
Forsyth & Ponce, 4.5 -- 4.7
W4: Sep 26 Local Image Features: Image Gradients, Edge Detection (slides) Forsyth & Ponce, 5.1, 5.2
W4: Sep 28 Local Image Features: Marr / Hildreth and Canny Edge Detection, Image Boundaries (slides) Forsyth & Ponce, 5.1, 5.2
W5: Oct 1 Local Image Features: Conner Detection, Autocorrelation, Harris (slides) Forsyth & Ponce, 5.3.0 -- 5.3.1
W5: Oct 3 Local Image Features: Conner Detection, Texture intro (slides) Forsyth & Ponce, 6.1, 6.3
W5: Oct 5 Texture: Synthesis and Analysis (slides) Forsyth & Ponce, 6.1, 6.3
W6: Oct 8 Holiday (no class)
W6: Oct 10 Texture: Laplacian and Oriented Pyramids (slides)
Assignment 2: Face Detection in a Scaled Representation
Forsyth & Ponce, 3.1--3.3
W6: Oct 12 Color: Color Matching, Color Spaces (RGB, XYZ, HSV) (slides) Forsyth & Ponce, 3.1--3.3
W7: Oct 15 Midterm Review
W7: Oct 17 Midterm
W7: Oct 19 Local Image Features: SIFT (slides) Forsyth & Ponce, 5.4 and SIFT paper
W8: Oct 22 Local Image Features: SIFT cont, HOG, SURF (slides) Forsyth & Ponce, 5.4, 10.4.2
W8: Oct 24 Model Fitting: RANSAC (slides) Forsyth & Ponce, 10.1, 10.2
W8: Oct 26 Model Fitting: Hough Transform (slides) Forsyth & Ponce, 10.1, 10.2
W9: Oct 29 Model Fitting: Hough Transform Applications (slides) Assignment 3: Texture Synthesis
W9: Oct 31 Stereo Vision: Introduction, Epipolar Constraint, Rectification (slides) Forsyth & Ponce, 7.1.1, 7.2.1, 7.4, 7.6
W9: Nov 2 Stereo Vision: Block Matching, Ordering Constraints, More Cameras (slides) Forsyth & Ponce, 7.1.1, 7.2.1, 7.4, 7.6
W10: Nov 5 Optical Flow: Aperture Problem, Optical Flow Constraint, Lucas-Kanade, Smoothness (slides)
W10: Nov 7 Grouping: Agglomarative Clustering, Divisive Clustering, K-means, Segmentation (slides) Forsyth & Ponce, 10.6, 6.2.2, 9.3.1, 9.3.3, 9.4.2
W10: Nov 9 Classification: Bayes' Rule, Bayes' Risk, Loss Functions, etc. (slides) Forsyth & Ponce, 15.1, 15.2
W11: Nov 12 Holiday (no class)
W11: Nov 14 Assignment 4: Local Invariant Features and RANSAC
Classification: Bayes Classifiers, kNN, Support Vector Machines, Losses. (slides)
Forsyth & Ponce, 15.1, 15.2
W11: Nov 16 Scene Classification: Bag of Words Representations. (slides) Forsyth & Ponce, 16.1.3, 16.1.4, 16.1.9
W12: Nov 19 Classification: VLAD, Decision Trees, Boosting (slides) Forsyth & Ponce, 15.1, 15.2
W12: Nov 21 Object Detection: Viola & Jones Face Detector (slides) Forsyth & Ponce, 17.1
W12: Nov 23 Object Detection: Deformable Part Models (slides) Forsyth & Ponce, 17.2
W13: Nov 26 Neural Networks: Neuron, Neural Nets, Backpropagation (slides)
W13: Nov 28 Convolutional Neural Networks: Convolutional Layers, Pooling Layers, Applications (slides)
W13: Nov 30 Final Review (slides)
Assignment 5: Scene Recognition with Bag of Words