Course Description

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.

Instructor

Teaching Assistants

Course Logistics

Lectures: Monday 3:00pm-5:00pm (Sidney Smith 1085). Lectures will be recorded and made available on Quercus.

Tutorials: Wednesday 3:00pm-4:00pm (Galbraith Building 220).

Instructor office hours: Monday 5:00pm-6:00pm (BA7228).

TA office hours: Tuesday 10:30am-11:30am (BA2270).

Forum: Course announcements and general information will be posted on the course forum at Piazza. 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. Please only email the instructor for emergency inquiries that cannot be handled on the forum via a private post: lindell@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 unless warranted by an emergent situation and an extension is granted.

Only request an extension on the assignment deadline if you really have a situation that warrants an extension as you judge. Please make the request through a private post on the course forum. Extensions longer than 7 days will not be granted under any circumstances. In such cases, be aware that it may take much longer to grade and return your assignment. Remember that an extension may take away time from working on subsequent assignments. For non-emergent circumstances, please use your late days to extend the deadline rather than requesting an extension.

Grading

Assignments (64%)

There will be 4 assignments, posted every two weeks, starting with the second week. Assignments will consist of problem sets and programming problems with the goal of deepening your understanding of the material covered in class.

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.

ChatGPT/LLM Policy: Students must compose their own solutions in homework reports. This includes writing their own derivations and their own code implementations in keeping with the collaboration policy above. As such, they must not look at solutions from others (unless working with another student as described above) or from the web (including ChatGPT). Students who are found plagiarizing solutions can face severe consequences.

Final Exam (35%)

Timed three-hour exam. Combination of multiple choice and short-answer/long-answer. Date/Location April 18th 9am-12pm BA1130.

Ethics Module (1%)

Completion of two surveys based on a course ethics module of the course will be worth 0.5% each.

Accessibility and Accommodations

Students with diverse learning styles and needs are welcome in this course. In particular, if you have a disability or health consideration that may require accommodations, please feel free to approach me and/or the Accessibility Services Office as soon as possible. The Accessibility Services staff are available by appointment to assess specific needs, provide referrals and arrange appropriate accommodations. The sooner you let them and me know your needs, the quicker we can assist you in achieving your learning goals in this course.

Schedule and Syllabus

Week Date Description Material Readings Event Deadline
Week 1 Mon
8/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
10/1
Tutorial 1
Week 2 Mon
15/1
Lecture 2: Edges
[slides] Szeliski 4.2
(optional) Fourier Transform
(optional) Computer color is broken
(optional) Fourier Transform Textbook
Tue
16/1
TA Office Hours
Wed
17/1
Tutorial 2
Week 3 Mon
22/1
Lecture 3: Image pyramids
[slides] Szeliski 3.5
(optional) Pyramid methods
Tue
23/1
TA Office Hours
Wed
24/1
Tutorial 3
Fri
26/1
Assignment 1 due at 11:59pm
Week 4 Mon
29/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
Tue
30/1
TA Office Hours
Wed
31/1
Tutorial 4
Fri
2/2
Ethics Survey 1 due
Week 5 Mon
5/2
Lecture 5: Embedded ethics module [slides] CelebA-HQ Samples
Tue
6/2
TA Office Hours
Wed
7/2
Tutorial 5
Week 6 Mon
12/2
Lecture 6: Corner detection & optical flow
[slides] Szeliski 4.1.1
Tue
13/2
TA Office Hours
Wed
14/2
Tutorial 6
Fri
16/2
Assignment 2 due at 11:59pm
Week 7 Mon
19/2
Reading Week (No Lecture)
Assignment 3 out on Quercus
Week 8 Mon
26/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
Tue
27/2
TA Office Hours
Wed
28/2
Tutorial 7
Week 9 Mon
4/3
Lecture 8: Homography & RANSAC [slides]
Tue
5/3
TA Office Hours
Wed
6/3
Tutorial 8
Fri
8/3
Assignment 3 due at 11:59pm
Week 10 Mon
11/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
Tue
12/3
TA Office Hours
Wed
13/3
Tutorial 9
Week 11 Mon
18/3
Lecture 10: Stereo I [slides]
Tue
19/3
TA Office Hours
Wed
20/3
Tutorial 10 (optional) Face tracking
Week 12 Mon
25/3
Lecture 11: Stereo II [slides] Szeliski 11.1
(optional) Stereopsis
(optional) Short notes on stereopsis
(optional) 8-point algorithm
(optional) Singular value decomposition
Tue
26/3
TA Office Hours
Fri
29/3
Assignment 4 due at 11:59pm
Week 13 Mon
1/4
Lecture 12: Object detection [slides] (optional) K-means demo
Tue
2/4
TA Office Hours
Mon
8/4
Ethics Survey 2 due
Thu
18/4
Final Exam (9am-12pm BA1130)

Miscellanea

Installing Python

We will only support Python 3.7 and recommend that you install it using Anaconda or Miniconda (see installation instructions here).

Acknowledgements

This course is adapted from previous offerings by Sanja Fidler, Ahmed Ashraf, and Babak Taati. The webpage is based on the website for CS231N and EE367 at Stanford University.

Previous offerings