Computer Vision - CMPT 412, Fall 2021

When: (Mon 12:30-2:20) & (Wed 12:30-1:20)
Where: AQ 3153 (Mon) & AQ 3159 (Wed)

Instructor: Yasutaka Furukawa (
Office hours TAs:
  • Mohammad Amin Arab
  • Seyedeh Arezou Fatemi
Schedule Projects
Canvas (Discussions)

Lectures will also be recorded for offline views. Look at this page for links.

Course Description

Computer vision is the process of automatically extracting information from images and videos. This course covers three areas of Computer Vision: 1) deep neural architectures for image classification, object detection, image segmentation, metric learning, and other image/video understanding tasks; 2) classical approaches for image recognition including feature detection, feature description, and bag-of-words model; and 3) 3D Computer Vision, including camera models, two-view geometry, stereo reconstruction, and camera pose estimation. Students with non-standard backgrounds (such as video art, or the use of imaging in physics and biology) are encouraged to contact the instructor.

Prerequisites: What you find on course outlide, but particularly solid background on linear algebra and coding experiences are important.


  • 5 coding assignments
The grading is based on the total points without a curve. However, some assignments have ``relative'' components, where scores are based on relative performance. We apply the following numeric-score to alphabet conversion rule to determine the final grades: A+ (>=95), A (>=90), A- (>=85), B+ (>=80), B (>=75), B- (>=70), C+ (>=65), C (>=60), C- (>=55), D (>=50).
If you believe that the grading has an error, please report the error to the instructor (not the TAs) for correction within 2 weeks from the grade releasing timing.

Late Policy and Mercy Rule

For a late submission, penalty of 20% score reduction per 12 hours is applied. If one submits an assignment within 12 hours after the deadline, the score becomes 80%. Within 24 hours, 60%, and so on.

One can use 5 free late-days at total. For example, one can use two late-days for project 2 and three late-days for project 4. When you submit your assignment, please include at the top of the write-up (or right after the title), how many free late-days you want to use. You cannot later change the number of late-days retrospectively. You cannot split 5 late-days in the unit of hours. It is in an increment of days for each project. You cannot use free late-days for the final deadline (hw5) so as not to delay the final grade upload.


There is no required textbook for the course. However, the course material closely follows a free online textbook Computer Vision: Algorithms and Applications by Richard Szeliski for the most lectures.

Announcement, Questions and Discussion

We will use the Discussions panel on Canvas for questions and discussion and the Announcements panel on Canvas for announcements. It is your responsibility to read all the announcements. Please read existing questions and discussion before posting yours. It is very typical for one to ask the same question multiple times, causing extra burden on us to respond.

Academic Integrity

You are encouraged to talk about and discuss coding assignments and projects with your class-mates. You are allowed to use existing code/library (e.g., optimization library or vector calculus library), in which case, you have to explicitly describe it in your report. Besides the above case, every single line of code must be written by you, and you are not allowed to copy from other sources. Writing the code by exactly or closely following existing code is not technically copy-and-paste, but is also considered to be copy-and-paste. Use your fair judgement. You know what is good and bad. When in doubt, consult the instructor. You are expected to maintain the highest standards of academic integrity and refrain from the forms of misconduct.


Huge thanks to Ioannis Gkioulekas, Kris Kitani, and Svetlana Lazebnik for sharing the course slides and coding assignments.