CS 4501/6501: Topics in Computer Vision
Final Project |
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
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.
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:
- Principles of image formation
- Edge and feature detection
- Segmentation and clustering
- Face detection
- Optical flow
- Camera calibration
- Stereo-based scene reconstruction
- Photometric stereo
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.
- Introductory Techniques for 3-D Computer Vision by Emanuele
Trucco and Alessandro Verri (also on reserve at Brown).
- Computer Vision: Algorithms and Applications by Richard Szeliski. Available on-line.
- Computer Vision by Linda Shapiro and George Stockman (on reserve at Brown).
- Computer Vision by Dana Ballard and Christopher Brown (available on-line, although slightly outdated at this point).
- Multiple View Geometry by Richard Hartley and Andrew Zisserman (on reserve at Brown).
- Pattern Classification by Richard Duda, Peter Hart, and David Stork (on reserve at Brown).
- Machine Learning by Tom Mitchell (on reserve at Brown).
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.