Course Outline
Fundamentals of Computer Vision      COMP 558
Fall 2009

              
Instructor:    Professor Michael Langer
Office:        McConnell Engineering, rm. 329
Tel:             514-398-3740
Email:          langer@cim.mcgill.ca
Office Hours:           by appointment (send me email)
Teaching Assistant (T.A.)   Fahim Mannan
Office:                                ENGMC 337
Telephone:
Email:                                 fmannan [at] cim.mcgill.ca
Office Hours:                     by appointment (send him email)

Overview

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.

Course Contents

The course in Fall 2009 consists of three parts. Lectures will cover most of the specific topics below.

Part 1:   Image Formation
Part 2:  Image Analysis 
Part 3:   3D Vision

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 2010.

Prerequisites

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 206COMP 360MATH 222,  MATH 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.  
 
Lecture 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.  These textbooks are available on reserve in the Schulich Science and Engineering library.
  • ''Introductory Techniques for 3D Computer Vision'', by Emanuele Trucco and Alessandro Verri, Prentice-Hall, 1998.   
  • ``Three-Dimensional Computer Vision: A Geometric Viewpoint'', by Olivier Faugeras, MIT Press, 1996.  
  • ``Robot Vision'', by Berthold Horn, MIT Press/McGraw-Hill, 1986. 
  • ``A Guided Tour of Computer Vision'', by V. Nalwa, Addison-Wesley, 1993.
  • ``Computer Vision: A Modern Approach'', by David Forsyth and Jean Ponce, 2003. 
  • Evaluation

    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-).
    There are three components to the grade (total 100%):
    A description of each of the three components is as follows:
    The 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 material. 
    Time Management (revised post hoc: Dec. 14, 2009)

    How much time should you plan on spending on this course?

    If you are an undergraduate and taking a 5 course load, then this course should take at least 20% of your time (probably around 25%). I say "at least", because it is a 500 level course which is the highest level for ugrad courses. I am expecting you are in U3 and you will only take this course if you have done well in U1 and U2, in particular, in the prereq courses. (If you have a weak background, then for sure you will need to do extra work to make up for it, and so it will take more than 20% of your time.) I am also expecting that you are taking a mix of courses at different levels, including 3xx and 4xx and maybe even 1xx and 2xx in other departments/faculties, and so this course will be a bit more challenging for you and will demand slightly more time.

    If you are an MSc graduate student, you likely will be taking three courses and two of these courses will be 4 credits (not 3, like this one). In terms of workload, your 11 credits of courses together will be the equivalent of just under four 5xx level courses (12 credits). I consider four 5xx courses to be equivalent in workload to a five course load that is a mix of 2xx, 3xx, 4xx, and 5xx level courses.

    So let's assume you spend at least 20% of your time on this course. The semester is 13 weeks long, plus 2 weeks for the Final Exam period (total 15 weeks). I believe that to get B grades, a typical McGill student will need to work at least 40 hours per week over all courses. (To get A grades, you will need to work more.) Hence the total number of hours you should spend on this course is at least 120 hours (= 40 hours per week * 15 weeks / 5 courses). For this course, this 120 hours should break down roughly to:

    Related Courses

    MSc or PhD students who are interested in computer vision, graphics, robotics, or related areas are encouraged to concentrate their course choices in these areas. Particularly relevant COMP courses are: Other useful Links
  • The Computer Vision Home Page
  • Annotated Computer Vision Bibliography
  • CVonline Compendium of Computer Vision


  • 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