Fundamentals of Computer Vision
Professor Michael Langer
McConnell Engineering, rm. 329
See mycourses Announcements.
Professor Kaleem Siddiqi
McConnell Engineering, rm. 420
Thursdays, 11-12, McConnell 420
Pulkit Khandelwal: email@example.com
Tabish Syed: firstname.lastname@example.org
See mycourses Announcements.
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 2018.
The course in Fall 2018 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. For the exact schedule, see the public web page
- Introduction & Course Outline [M & K]
- RGB [M]
- Image filtering [M]
- Edge detection [M]
- Lines and vanishing point detection (Hough and RANSAC) [M]
- Scale space (Gaussian) [K]
- Features 1: corners, intro to histograms [K]
- Features 2: histogram-based (SIFT, HOG) [K]
- Features 3: learned features (CNN's) [K]
- Image Registration (Lucas-Kanade) [K]
- Tracking 1 (KLT + Shi/Tomasi) [K]
- Tracking 2 (Mean Shift) [M]
- Linear perspective, camera translation [K]
- Vanishing points, camera rotation [K]
- Homogeneous coordinates, camera intrinsics [M]
- Least Squares methods (eigenspaces, SVD) [M]
- Camera Calibration + intro homographies [K]
- Homographies & rectification [K]
- Stereo and Epipolar Geometry [K]
- Stereo correspondence [M]
- Appearance modeling: lighting and reflectance [M]
- Photography [M]
- RGBD Cameras & Point Clouds [K]
- Guest lecture (Dave Meger)
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.
Four Assignments (40% = 4 x 10%)
- 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 Tuesday, Oct. 16 lecture slot
- final exam 40%, 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