Fundamentals of Computer Vision
Professor Kaleem Siddiqi
McConnell Engineering, 420
Fridays 9:00-10:30, McConnell 420
Tabish Syed: firstname.lastname@example.org Office Hrs: Thursdays 16:00-18:00 TR 3110
Yiran Mao: email@example.com 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.
- Course overview
2D Vision: Image processing and representation
- Image filtering
- Edge detection
- Least Squares Estimation: lines & vanishing points
- Robust Estimation: Hough & RANSAC
- Scale space (Gaussian)
- Features 1: corners, intro to histograms
- Features 2: histogram-based (SIFT, HOG)
- Features 3: learned features (CNN's)
- Image Registration 1: translation (Lucas-Kanade)
- Image Registration 2: affine
- Tracking: histogram-based
IN CLASS MIDTERM EXAM - Friday October 18th
- Linear perspective, camera translation
- Vanishing points, motion field for camera rotation
- finite camera rotation, homogeneous coordinates
- Camera extrinsics and intrinsics
- Least Squares methods (eigenspaces, SVD)
- Camera Calibration, Homographies 1: plane in 2 views
- Homographies 2: image stitching, rectification
- Stereo and Epipolar Geometry
- Stereo correspondence
- Lighting and reflectance
- Active contours
- RGBD Cameras & Point Clouds
- Guest lecture
The official prerequisites according to
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.
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
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.
3D Computer Vision'', by Emanuele Trucco and Alessandro Verri,
- ``Three-Dimensional Computer
Vision: A Geometric Viewpoint'', by Olivier Faugeras, MIT Press, 1996.
- ``Computer Vision: A Modern
Approach'', by David Forsyth and Jean Ponce, 2003.
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.
Three Assignments (35%): A1 - 10%, A2 - 10%, A3 - 15%)
- The assignments will involve writing MATLAB programs, answering questions related
to the lecture material, and possibly reading research articles and answering questions about them.
For the programming part,
students are not required to know about MATLAB prior to the course.
- Assignments must be submitted in electronic form via mycourses
- Policy on lateness and other specific instructions will be specified on each assignment.
The exams will both be closed book.
- midterm 20%, which will take place in the Friday October 18th lecture slot
- final exam 45%, which will take place during the final exam period
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.
here for more information.