of Computer Vision
Professor Michael Langer
McConnell Engineering, rm. 329
MW 1-2 pm
Florian Shkurti       firstname.lastname@example.org
Computer vision involves the development of algorithms and software
that have the potential to mimic a biological organism's ability to
``see''. Though the sense of vision is immediate for most people, the
complexity of the task that the human visual system accomplishes is in
fact enormous. The field of computer vision has grown steadily over
the past few decades, and has advanced to the point where a set of
core algorithms and techniques now exist for solving specific vision
problems in constrained settings. Several international research
laboratories now exist and applications of computer vision techniques
in industry, robotics, and bio-medicine abound. This course seeks to
present the fundamentals of computer vision at an advanced
undergraduate/beginning graduate level. Students will become
familiar with the basic theoretical and practical tools of computer
vision, which would be needed to carry out research or to
find employment in this field.
The course in Fall 2010 will consist
of three parts. Lectures will cover most of the specific
Part 1: Image Formation
Part 2: Image Analysis
- image projection with a
- motion field seen by a
moving observer (translation and rotation)
- camera model
(homogeneous coordinates, extrinsic and intrinsic parameters)
- thin lens model
(aperture, f-stop, blur, depth of field)
- lighting and
reflectance (light and shade, specularities, radiance, BRDF)
capture (color, RGB, image irradiance, exposure, dynamic
range, noise, sampling)
Part 3: 3D Vision
- basic linear
systems (convolution, filtering, noise, derivatives, smoothing)
- edge detection
(Canny), corner detection (2nd moment matrix, Harris vs.
- scale space, SIFT
- motion estimation (aperture problem, Kanade-Lucas-Tomasi, Horn &
- line fitting (least squares, Hough transform, RANSAC)
- finding a vanishing point
- shape from shading (sunny vs. cloudy days)
- shape from texture, defocus
- least squares, SVD
- geometric camera calibration
- structure from motion (egomotion, factorization)
- epipolar geometry, estimating the fundamental matrix
- dense stereo correspondence (graph cuts)
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.
Note: this description applies to previous version of the
course taught by Prof. Kaleem Siddiqi. While there is a large
overlap between these topics and those covered this year, there are
significant differences as well. This year, in particular, we will
not be covering object recognition, differential geometry of
surfaces. These topics will be covered in Prof. Siddiqi's 7xx course
offered in the Winter 2011.
Students should have a solid background in basic Calculus,
Linear Algebra, Algorithms and Data structures, and
Programming. The official prerequisites for the
course are COMP
206 , COMP
223 (or equivalent).
It is strongly recommended that students only take this
course if they received A grades in MATH 222 and 223 (or equivalent).
Students who do
not have these prerequisites may still be allowed to take the course,
but only with the
permission of the instructor.
Notes, Readings, Textbooks
The material covered in the lectures will be available in the form of
Lecture Notes written by the
instructor and posted as PDFs
on the course web page, or as handouts. Readings also will be made available
typically in electronic form.
There is no required textbook for the course. There are, however,
several good texts out there and students are encouraged to consult
with them. See for example Richard Szeliski's online book
Computer Vision: Algorithms and Applications
There are also textbooks available on reserve in the Schulich
Science and Engineering library.
B.Sc. students must achieve a grade of 55 (C) to pass this course.
M.Sc. and Ph.D. students must achieve a grade of 65 (B-).
- Four Assignments (worth 60%)
- 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. Examples of starter MATLAB code will be
given, and students will asked
to extend these examples.
- Assignments must be
submitted in electronic form via WebCT.
- Policy on lateness and
other specific instructions will be specified on each assignment.
- Exams (midterm 10% + final 30% = 40 %)
midterm will take place during a lecture slot and will be 80
minutes long. It will occur approximately midway through the
semester and will cover approximately the first third of the lecture
material. The Final Exam will take place during
the Final Exam period and will cover the remainder of the lecture
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.
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