(*)CS484/684 (F11) - Computational Vision

(*) Pending calendar changes, the F11 course is offered as CS489-001, CS698-003 (digits 8/9 swapped).

(**) Open for graduate students, please sign up at first lecture.


Fall 2011; Lectures T,Th 13:00-14:20, EV1 132.  First lecture, Tues 13 September.  Office hours TBA.  Tutorial time(s) TBA.

Instructor: Richard Mann, DC2510, x33006, mannr@uwaterloo.ca, http://www.cs.uwatleroo.ca/~mannr

Audience: This course is intended for advanced undergraduate and beginning graduate students interested in pursuing research in AI, Vision or related areas.  Students should expect to do a fair amount of independent study, both in following the material and completing a course project.

The grades are based on a small number of assignments (4) and a project.  For the project, students will choose a vision problem or application, implement one or more algorithm(s), and prepare a final report.  The grades awarded will depend on the difficulty of the problem selected, the implementation effort, and the report.  The report should provide sufficient experiments and analysis, in particular, situations where the algorithm(s) work and where they fail.

CS684: Graduate students will take on a more advanced project, either from a recent publication, or vision-related topics from their thesis area.

Grading: 50% assignments, 50% project.  Assignments will typically have a both a written and a (small) programming component.

Presentation: This is a lecture-based course.  Material will be presented on the blackboard and supplemented with images and video.  For those who do not wish to copy notes, I will appoint a note taker who will make lectures available after each lecture.

Software: Matlab will be used for assignments, and is encouraged for the project.  Matlab is available in the Undergrad Computing Enviroment.  Matlab is an interactive language, with a C-like syntax, that is optimized for numerical computation and plotting/graphics.

There are no formal prerequisites for this course, however, it is advisable to have some exposure to numerical computation, especially linear algebra (eg., CS370), and some basic programming experience.

References:  All required material will be provided in lectures. Possible references include:

New book, well presented, lots of computational details.  Good source of algorithms for projects.

Comprehensive treatment of many areas of compuational vision. A good resource for background reading and choosing project ideas.  Noteable omission: optical flow.

Classic text.  Still recommended reading showing the origins of many vision problems.

Excellent reference on signal processing and Fourier analysis.  Very accessible to both Computer Scientists and Engineers.

I will put all of these books on reserve in the library (DC). You may also purchase Trucco and Verri's book in the University bookstore.

General Information:



Reference material:

Course software:

Project ideas:

Additional References (to be updated):

  • The following resources are from Allan Jepson's computer vision course at University of Toronto. These are not required for this course, but you might find them useful.
  • CMU course on Image-based representation and rendering. This page has a very good set of resources about warping, image compositing, structure from motion, etc.
  • Review of projective geometry (Appendix from a book by Zisserman and Mundy.) Please let me know if you get through this. I got stuck near the beginning.
  • Wearcam Steve Mann's webpage on wearable computers and cameras.
  • Gerhard Roth (NRC) Software for 3D scene reconstruction (uses Epipolar geometry). Also, some tutorials on reconstruction using projective geometry.