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.


Instructor:
Leonid Sigal (lsigal@cs.ubc.ca)
      Office hours: Thursday, 3:30-4:30pm (ICCS 119)

TAs:
Tzu-Yun Shann (shannari@cs.ubc.ca)
      Office hours: Monday, 2:30-3:30pm (ICCS X241)
Hafsa Binte Zahid (hafsa.zahid@alumni.ubc.ca)
      Office hours: Tuesday, 4.30-5.30pm (ICCS X241)
Tianxin Tao (taotianx@cs.ubc.ca)
      Office hours: Wednesday, 5-6pm (ICCS X337)
Suhail Mohammed (suhail33@cs.ubc.ca)
      Office hours: Thursday, 2-3pm (ICCS X153)
Mona Fadaviardakani (mfadavi@cs.ubc.ca)
      Office hours: Friday, 5-6pm (Demco Table1)

Class meets:
Tues, Thurs 12:30 - 14:00 pm, West Mall Swing Space, Room 121

Piazza
piazza.com/ubc.ca/winterterm22020/cpsc425201 (to signup use code: 425S2)
piazza.com/ubc.ca/winterterm22020/cpsc425201/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.


Textbook

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.


Grading


Clicker questions (in class) 10%
Assignments25%
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 14
Assignment 1: Image Filtering and Hybrid Images (link) Jan 14 Jan 28
Assignment 2: Scaled Representations, Face Detection and Image Blending (link) Jan 28 Feb 11
Assignment 3: Texture Synthesis (link) Feb 11 Mar 3
Assignment 4: RANSAC and Panorama Stiching (link) Mar 3 Mar 17
Assignment 5: Scene Recognition with Bag of Words (link) Mar 17 Mar 31
Assignment 6: Deep Learning (link) Mar 31 Apr 7

Schedule


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