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: Mondays 11:30-12:30pm (ICCS 119)

Bicheng Xu (bichengx@cs.ubc.ca)
      Office hours: Tuesday, 2:00-3:00pm (Demco Table 5)
Fan Zicong (fan@cs.ubc.ca)
      Office hours: Wednsday, 5:00-6:00pm (ICCS X237)
Tzu-Yun Shann (shannari@cs.ubc.ca)
      Office hours: Thursday, 2:30-3:30pm (ICCS X239)
Borna Ghotbi (bghotbi@cs.ubc.ca)
      Office hours: Friday, 9-10am (ICCS X241)

Class meets:
Tues, Thurs 12:30 - 14:00 pm, Pharmaceutical Sciences Building, Room 1201

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

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

Waitlist: I will sign into the course as many students as the physical space in the room allows. The students will be signed in strictly based on the waitlist priority.

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

Grade Disputes, Re-grading and Grade-related Policies: Despite best efforts, sometimes miss-grading does happen. All grade disputes and re-grading must be brought to instructor's or TA's attention within 1 week of the grade being released. All such requests must be done through a Piazza as a direct post to the instructors. You must clearly identify the issues and describe why you believe re-grading is warranted. Similarly, if you have a ligitimate excuse for missing a Clicker quiz, please let instructor know and provide appropitate evidance within 1 week of the original quiz date. Note that Clicker quiz missed for ligitimate and documented reason (e.g., attandance of conferences, sickness, travel for job interview) will simply be dropped. You will be asked to provide supporting documentation (note from a doctor, travel and conference registration, etc.). There will be no make-ups for missed Midterms.

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 50 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 11:59pm 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 1am the night assignment is due will use up 1 late day. Handing in an assignment at 10:15am the morning after it is due similarly consumes one late day. Handing in an assignment at 10:15am on the following day consumes two late days.

Expectations: To get top marks, programs must not only work correctly, but also must be clearly documented and easily understood. You will be deducted points if either the PDF writeup or your code are missing. The material you hand in, including figures, must be legible.

Assignment Available Due
Assignment 0: Introduction to Python for Computer Vision (link) Jan 7 optionally Jan 11
Assignment 1: Image Filtering and Hybrid Images (link) Jan 11 Jan 25
Assignment 2: Face Detection in a Scaled Representation (link) Jan 25 Feb 8
Assignment 3: Texture Synthesis (link) Feb 8 Mar 1
Assignment 4: Local Invariant Features and RANSAC (link) Mar 5 Mar 19
Assignment 5: Scene Recognition with Bag of Words (link) Mar 21 Apr 4


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