This class is an introduction to fundamental concepts in image understanding, the subdiscipline of artificial intelligence that tries to make the computers “see”. It will survey a variety of interesting vision problems and techniques. Specifically, the course will cover image formation, features, object and scene recognition and learning, multi-view geometry and video processing. The goal of the class will be to grasp a number of computer vision problems and understand basic approaches to tackle them for real-world applications.
Lectures: Monday 2:00pm-4:00pm (Galbraith Building 248). Lectures will be recorded and made available on Quercus.
Tutorials: Wednesday 3:00pm-4:00pm (Galbraith Building 119).
Instructor office hours: Monday 4:00-5:00pm (BA7228).
TA office hours: Thursdays 10:00am-11:00am (BA2270).
Forum: Course announcements and general information will be posted on the course forum at Ed Discussion. Any questions can also be discussed on the course forum, though do not expect an immediate response from the TAs. Also, do not expect answers during weekends or at the last minute before assignments are due. For any emergency inquiries that cannot be handled on the forum via a private post, email the staff listserv: csc420-2023-01@cs.toronto.edu.
Attendance: While lectures will be recorded, in-person attendance is expected as the recording will not capture all presented material (e.g., handwritten annotations, chalkboard diagrams, etc.).Quercus: Assignment materials, tutorial code, and grades will be posted on Quercus.
Textbook: Readings are primarily assigned from Richard Szeliski's online textbook, which is online and freely available (2010 version). Some topics will have specific additional assigned reading materials as indicated in the course schedule.
Assignments: All assignments must be submitted on MarkUs. You will be automatically added to MarkUs if you're taking the course. Please do not email the staff if you are not yet added at the beginning of the term; it may take a week or two to be added.
Remark requests must be submitted within 1 week of graded assignments being returned. Late remark requests will not be accepted.
Lateness: Each student will be given a total of 3 late days without penalty. For example, you can hand in three of the assignments one day late, or one assignment three days late. These late days are to be used at your discretion. If you run out of late days, any subsequent assignments that are submitted late will not be accepted.
Extensions will only be given with university approval (i.e., a formal signed letter of accommodation from the university accessibility services office) up to a maximum of 7 days.
Collaboration Policy: For each assignment, you are allowed to work together with one other student in class. However, you are still expected to write the solutions, code, and writeup in your own words; i.e. no copying. If you choose to work together with another student, you must write the following on the first line of your writeup (after your own name and before answering any questions): “In solving the questions in this assignment, I worked together with my classmate [name & student number]. I confirm that I have written the solutions/code/report in my own words”.
Submitting plagiarized solutions is an academic offense and can have severe penalties.
Timed three-hour exam. Combination of multiple choice and short-answer/long-answer. April 27, 9:00 AM - 12:00 PM at SF 3202.
Completion of two surveys based on a course ethics module of the course will be worth 0.5% each.
Week | Date | Description | Material | Readings | Event | Deadline |
---|---|---|---|---|---|---|
Week 1 | Mon 9/1 |
Lecture 1: Introduction & Linear filters |
[slides] |
Szeliski 3.2 (optional) Brain mechanisms of early vision (optional) Early vision |
Assignment 1 out on Quercus | |
Wed 11/1 |
Tutorial 1 | [code] | ||||
Thu 12/1 |
TA Office Hours | |||||
Week 2 | Mon 16/1 |
Lecture 2: Edges |
[slides] |
Szeliski 4.2 (optional) Fourier Transform (optional) Computer color is broken |
||
Wed 18/1 |
Tutorial 2 | [code] | ||||
Thu 19/1 |
TA Office Hours | |||||
Week 3 | Mon 23/1 |
Lecture 3: Image pyramids |
[slides] |
Szeliski 3.5 (optional) Pyramid methods |
||
Wed 25/1 |
Tutorial 3 | [code] | ||||
Thu 26/1 |
TA Office Hours | |||||
Fri 27/1 |
Assignment 1 due at 11:59pm | |||||
Week 4 | Mon 30/1 |
Lecture 4: Deep learning |
[slides] |
What is a neural network? Gradient descent Backpropagation Backpropagation calculus (optional) Notes on backpropagation |
Assignment 2 out on Quercus | |
Wed 1/2 |
Tutorial 4 | [code] | ||||
Thu 2/2 |
TA Office Hours | |||||
Week 5 | Mon 6/2 |
Lecture 5: Embedded ethics module | [slides] |
CelebA-HQ Samples |
||
Wed 8/2 |
Tutorial 5 | [code] | ||||
Thu 9/2 |
TA Office Hours | |||||
Week 6 | Mon 13/2 |
Lecture 6: Corner detection & optical flow |
[slides] | Szeliski 4.1.1 | ||
Wed 15/2 |
Tutorial 6 | [code] | ||||
Thu 16/2 |
TA Office Hours | |||||
Fri 17/2 |
Assignment 2 due at 11:59pm | |||||
Week 7 | Mon 20/2 |
Reading Week (No Lecture) |
Assignment 3 out on Quercus | |||
Week 8 | Mon 27/2 |
Lecture 7: Scale-invariant keypoints & SIFT |
[slides] |
Szeliski 4.1.1, 4.1.2 (optional) SIFT paper (optional) Local features (optional) SURF paper (optional) SuperGlue (optional) LoFTR |
||
Wed 1/3 |
Tutorial 7 | [code] | ||||
Thu 2/3 |
TA Office Hours | |||||
Week 9 | Mon 6/3 |
Lecture 8: Homography & RANSAC | [slides] | |||
Wed 8/3 |
Tutorial 8 | [code] | ||||
Thu 9/3 |
TA Office Hours | |||||
Fri 10/3 |
Assignment 3 due at 11:59pm | |||||
Week 10 | Mon 13/3 |
Lecture 9: Camera models |
[slides] |
Szeliski 6.1, 2.1.5 (optional) Moore-Penroose Inverse and Least Squares (optional) Recognising Panoramas |
Assignment 4 out on Quercus | |
Wed 15/3 |
Tutorial 9 | [code] | ||||
Thu 16/3 |
TA Office Hours | |||||
Week 11 | Mon 20/3 |
Lecture 10: Stereo I | [slides] | |||
Wed 22/3 |
Tutorial 10 | [code] | (optional) Face tracking | |||
Thu 23/3 |
TA Office Hours | |||||
Week 12 | Mon 27/3 |
Lecture 11: Stereo II | [slides] |
Szeliski 11.1 (optional) Stereopsis (optional) Short notes on stereopsis (optional) 8-point algorithm (optional) Singular value decomposition |
||
Thu 30/3 |
TA Office Hours | |||||
Fri 31/3 |
Assignment 4 due at 11:59pm | |||||
Week 13 | Mon 3/4 |
Lecture 12: Object detection | [slides] | (optional) K-means demo | ||
Thu 6/4 |
TA Office Hours | |||||
Thu 27/4 |
Final Exam (SF 3202, 9AM-12PM) |
We will only support Python 3.7 and recommend that you install it using Anaconda or Miniconda (see installation instructions here).
This course is adapted from previous offerings by Sanja Fidler, Ahmed Ashraf, and Babak Taati.