Computer Vision - CMPT 412, Fall 2020

When: (Mon 10:30-12:20) & (Wed 10:30-11:20)
Where: Anywhere

Instructor: Yasutaka Furukawa (
Office hours
  • Use Zoom panel on Canvas.
  • Tuesdays 1pm - 2:30pm by Yasu.
  • For the office hours by TAs, look at Zoom on canvas.
  • Sepid Hosseini (Assignments 2 and 4)
  • Chongxi Huang (Assignments 1 and 5)
  • Mohammad Amin (Assignment 3)
(Live lectures on Blackboard, which will also be recorded.)
Schedule Projects

Lectures will be given via Blackboard Collaborate Ultra from
All lectures will be recorded for watching later.
For wait-listed students, please give me an email from your SFU email address. I will add you on canvas, and you will have access to the lectures.

Course Description

Computer vision is the process of automatically extracting information from images and video. This course covers imaging geometry (camera calibration, stereo, and panoramic image stitching), and algorithms for video surveillance (motion detection and tracking), segmentation and object recognition. 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 5. 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 (hw6 or final project) 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 Piazza for announcement, questions and discussion. Here is the link. It is your responsibility to read all the posts on Piazza. Important announcements will be given there. Please register.

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.