Computer Vision - CMPT 412, Spring 2023

When: (Wed 12:30-2:20) & (Fri 1:30-2:20)
Where: SSCK 9500

Instructor: Yasutaka Furukawa (
Office hours
Schedule Projects

Links to lecture recordings will be available from our canvas page (Click Pages Tab).
Please follow the Canvas link above. If you do not have an access to Canvas now, please let me know. I can add.

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 for correction within 2 weeks from the grade releasing timing.

Late Policy and Mercy Rule

For a late submission, penalty of 10% score reduction per 6 hours is applied. If one submits an assignment within 6 hours after the deadline, the score becomes 90%. Within 12 hours, 80%, 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 Canvas (for annoncements and questions, the link above). 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.