Introduction to Computer Vision
    CS4670/5670, Fall 2012

Time: MWF 10:10am - 11:00am
Place: Phillips 203 (map)

Instructor: Noah Snavely (
    office: Upson 4157
    office hours: Wednesdays 1:30-3pm

Daniel Cabrini Hauagge (hauagge
    office hours: Tuesdays 16:30-18:30 in Upson 317
Kyle Wilson (wilsonkl
    office hours: Monday 15:30-16:30 in Upson 317

Questions? Visit the CS4670 page on Piazza.

  Lectures Projects Class Resources  

The goal of computer vision is to compute properties of the three-dimensional world from digital images. Problems in this field include reconstructing the 3D shape of an environment, determining how things are moving, and recognizing people and objects and their activities, all through analysis of images and videos.

This course will provide an introduction to computer vision, with topics including image formation, feature detection, motion estimation, image mosaics, 3D shape reconstruction, and object and face detection and recognition. Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, automatic vehicle navigation, and mobile computer vision. This is a project-based course, in which you will implement several computer vision algorithms throughout the semester.


This course will be self-contained; students do not need to have computer vision background. However, the following are required:

  • Data structures
  • Working knowledge of C/C++
  • Linear algebra
  • Vector calculus
Please send the instructor email or speak to me if you are unsure of whether you can take the course.


This course will have readings from Computer Vision: Algorithms and Applications (online), by Richard Szeliski.

Online Discussion

This class uses Piazza for discussions and announcements. Grades will be posted on CMS.

Honesty and Integrity Policy

Projects are to be done either individually or in groups of two, as specified in the project description. You may collaborate on the whiteboard, but each group's code must be their own.