CS 4501/6501: Topics in Computer Vision
Spring 2015

Home | Schedule | Assignments | Final Project | Additional Resources

Course Summary

Lectures: TuTh 3:30-4:45PM in Thornton E303

Jason Lawrence - Office hours: Tu 12:00p-2:00p, Th 1:30p-3:30p in Rice 224
Alauddin Bhuiyan - Office hours: MW 10:00a-12:00p in Rice 209

Teaching Assistants:
Andy Barron - Office hours: Tu 6:00p-8:00p, F 1:00p-3:00p in Rice 224
Christian Martinez - Office hours: MW: 12:50p-1:50p, F 10:00a-12:00p in Rice 224


This course is now cross-listed as CS 4501 / CS 6501 and will be co-taught by Jason Lawrence and Alauddin Bhuiyan. Students enrolled in the graduate version of this course (CS 6501) will be expected to complete more advanced parts of the two programming assignments and present one research topic to the class. There will also be higher expectations for the final course project. I will discuss this more on the first day of class.

Course Description

Computer vision is a subfield of computer science that focuses on extracting useful information from images and videos. Examples of "useful information" include detecting the presence and identify of human faces in a photograph, recovering the 3D geometry of the objects in a photograph, and tracking and recognizing different types of motion in a video sequence. Computer vision algorithms have found a wide range of applications from 3D laser scanning systems used in manufacturing, city planning, entertainment, forensics, etc., to computer interfaces accessible to people with physical impairments, and autonomous navigation systems. This course will introduce several core topics in computer vision along with active research areas. It consists of lectures, two programming assignments, one in-class presentation of a research paper, and a final project. We will use MATLAB and Python for the programming assignments, although prior experience with these languages is not required. However, students are expected to have completed and done well in CS2150 and have some background in linear algebra. Experience with signal processing, statistics, and computer graphics will also be useful, but not necessary. Specific topics include:


The only prerequisite for this course is CS 2150. There will be quite a bit of programming (primarily in MATLAB or Python, although you are welcome to do all of the assignments in C/C++). Experience with advanced linear algebra, signal processing, statistics, and/or computer graphics is useful but not necessary.


The recommended textbook for this course is Computer Vision: A Modern Approach by Forsyth and Ponce. A few copies are on reserve in the Brown Science and Engineering Library. If you'd like to buy your very own copy I recommend Amazon. There are a number of other vision textbooks that you may also find useful: The schedule reports how the first three textbooks relate to the material covered in lecture. We will occasionally use research papers and on-line materials to supplement the lectures.


If you are taking the graduate version of this course (CS 6501) you will be expected to complete two programming assignments each worth 20% of your grade, an in-class presentation worth 20%, and a final project worth 40%.

If you are taking the undergraduate version of this course (CS 4501) you will be expected to complete two programming assignments each worth 25% of your grade and a final project worth 50%.


Many thanks to Szymon Rusinkiewicz for generously sharing many of the slides and assignments used in Princeton's COS426 course.