Computer Vision (CPSC 425)
Winter Term 1, 2018
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: Fridays, 11-noon in ICICS 119 - TAs:
- 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
- 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.
Textbook
Recemended (but not required):
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% |
Assignments | 25% |
Midterm exam | 25% |
Final exam | 40% |
(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 | |
Assignment 4: Local Invariant Features and RANSAC (link) | TBD | Nov 14 | |
Assignment 5: Scene Recognition with Bag of Words (link) | TBD | Nov 14 |
Schedule
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 |