Course Outline
Fundamentals of Computer Vision      COMP 558
Fall 2019


Professor Kaleem Siddiqi
Office:        McConnell Engineering, 420
Tel:             514-398-3371
Office Hrs.:          Fridays 9:00-10:30, McConnell 420

Teaching Assistants

Tabish Syed:    Office Hrs: Thursdays 16:00-18:00 TR 3110
Yiran Mao:    Office Hrs: Mondays 16:00-18:00 TR 3110

Official Course Description from McGill Calendar*

Biological vision, edge detection, projective geometry and camera modeling, shape from shading and texture, stereo vision, optical flow, motion analysis, object representation, object recognition, graph theoretic methods, high level vision, applications.

*The course topics change from year to year. Please see following list of lecture topics for what we plan to cover in Fall 2019.


The course in Fall 2019 will consist of two parts. The first part will address 2D Computer Vision. We will look at fundamental methods for processing and representing image structure. Topics will include edge and feature detection, and histogram descriptions of image structure. We will also show how these image representations are used to solve fundamental 2D computer vision algorithms such as image motion analysis and (time permitting) object recognition. The second part will address 3D Computer Vision. We will examine projective mappings from 3D to 2D, and learn algorithms for inverted these mappings so that a vision system can infer the 3D structure from multiple 2D images.

We will cover roughly one lecture for each of the bullets below.

Lecture Schedule


  1. Course overview

2D Vision: Image processing and representation

  1. RGB
  2. Image filtering
  3. Edge detection
  4. Least Squares Estimation: lines & vanishing points
  5. Robust Estimation: Hough & RANSAC
  6. Scale space (Gaussian)
  7. Features 1: corners, intro to histograms
  8. Features 2: histogram-based (SIFT, HOG)
  9. Features 3: learned features (CNN's)
  10. Image Registration 1: translation (Lucas-Kanade)
  11. Image Registration 2: affine
  12. Tracking: histogram-based

IN CLASS MIDTERM EXAM - Friday October 18th

3D Vision

  1. Linear perspective, camera translation
  2. Vanishing points, motion field for camera rotation
  3. finite camera rotation, homogeneous coordinates
  4. Camera extrinsics and intrinsics
  5. Least Squares methods (eigenspaces, SVD)
  6. Camera Calibration, Homographies 1: plane in 2 views
  7. Homographies 2: image stitching, rectification
  8. Stereo and Epipolar Geometry
  9. Stereo correspondence
  10. Lighting and reflectance
  11. Active contours
  12. RGBD Cameras & Point Clouds
  13. Guest lecture


The official prerequisites according to Minerva are COMP 206, COMP 360*, MATH 222, MATH 223.

Graduate students who did not do their undergraduate degree should consult the course descriptions to ensure they have adequate background.

The most important prequisites are the MATH courses. You need to be very comfortable with multivariable Calculus (MATH 222) and linear algebra (MATH 223).

*The COMP 360 prerequisite is unnecessary. In terms of algorithms, COMP 250 is probably enough. COMP 251 would only be necessary if we covered graph based methods.

Course Materials

The material covered in the lectures will be available in the form of Slides and Lecture Notes.

There is no required textbook for the course. There are, however, several good texts out there and students are encouraged to consult with them.
Here are links to a few good online books. There are also textbooks available on reserve in the Schulich Science and Engineering library. There are also many online courses and videos available. Here are a few which cover some of the topics of the course. Evaluation
In accord with McGill University's Charter of Students' Rights, students in this course have the right to submit in English or in French any written work that is to be graded.

Academic Integrity

McGill University values academic integrity. Therefore, all students must understand the meaning and consequences of cheating, plagiarism and other academic offenses under the Code of Student Conduct and Disciplinary Procedures. See here for more information.