The fields of computer graphics and computer vision are converging on a set of common models and equations for generating, manipulating, and analyzing images. This course is designed to give students an understanding of these techniques sufficient to pursue graduate research in either vision or graphics. In particular, students will study image generation (ray tracers and radiosity), image manipulation (geometric and photometric transformations, image filtering, and morphing), image matching (correlation, principal component analysis, mutual information), and object recognition (feature extraction, feature transformations, model matching)

Course Prerequisites

The prerequisite for this course is CS410.


There is no single text that covers the variety of topics presented here. As a class, we will be compiling pointers to appropriate material for each module. These will be referenced from the Progress Page.

Programming Projects

Three large programming projects are planned for this course relating to major topics (photorealistic image generation, image manipulation, image matching, and feature extraction & matching). Students are allowed to cooperate with each other, within the guidelines outlined in the Student Information Sheet. Otherwise, unless otherwise clearly stated, all projects are individual projects, not team projects.

Term Paper

Part of the requirement for this class is to write a scholarly paper summarizing some aspect of current research in computer vision and then summarize this paper in a short, perhaps 10 minute, formal presentation in class.

Class Participation

The material covered in this course will be drawn from many sources and the class meetings are important for integrating and elaborating on the different topics being covered. Active participation is a requirement and is expected of all students. Participation will take at least three distinct forms: discussion, short presentations and note taking. Presentations may include explanations of specific problems provided to students in a previous class, live demonstrations of code developed for projects, and summaries of material researched for the term paper. Note taking, the last of the three activities mentioned, is experimental and will be explained in class.


The breakdown of how each major requirement counts toward the final grade is summarized in the following table:

Type Description / Topic Area Percent of Grade
Programming Projects Ray Tracing / Image Manipulation / Object Recognition 50 %
Term Paper Describe a currently active computer vision area 15 %
In Class Participation Discussion, Short Presentations and Supplemental Notes 15 %
Exam Final (May 12, 1:30-3:30 PM) 20 %

Semester grades are determined by the weighted sum of points earned in each of these areas. Total points for each area are normalized so that the best possible score for the semester is 100. Typically the A- to B+ cutoff falls at 90 points, the B- to C+ cutoff at 80 points, and so on. While this is the typical grading procedure, the instructor reserves the right to make adjustments.