CS 143 Introduction to Computer Vision

Fall 2013, MWF 1:00 to 1:50, Kasser House, Foxboro Auditorium
Instructor: James Hays

TAs: Hari Narayanan (HTA), Libin "Geoffrey" Sun, Greg Yauney, Bryce Aebi, Charles Yeh, and Kurt Spindler.

Computer Vision, art by kirkh.deviantart.com

Course Description

Course Catalog Entry
How can computers understand the visual world of humans? This course treats vision as a process of inference from noisy and uncertain data and emphasizes probabilistic, statistical, data-driven approaches. Topics include image processing; segmentation, grouping, and boundary detection; recognition and detection; motion estimation and structure from motion. This offering of CS 143 will emphasize the core vision tasks of scene understanding and recognition. We will train and evaluate classifiers to recognize various visual phenomena.

The course will consist of five programming projects and two written quizzes. This course satisfies the graduate A.I area requirement.


This course requires programming experience as well as linear algebra, basic calculus, and basic probability. Previous knowledge of visual computing will be helpful. The following courses (or equivalent courses at other institutions) are helpful prerequisites: Some of the course topics overlap with these related courses, but none of the assignments will.


Winning projects

All Results

Image Filtering and Hybrid images Yipin Zhou, Tuo Shao, Sarah Parker Project 1 results
Local Feature Matching Tuo Shao, Junzhe Xu, Patsorn Sangkloy Project 2 results
Scene Recognition with Bag of Words Chun-Che Wang, Patsorn Sangkloy,
Junzhe Xu, Michael Wang
Project 3 results
Face Detection with a Sliding Window Jake Ellis, Jincheng Li,
Patsorn Sangkloy, Yipin Zhou,
Project 4 results
Boundary Detection with Sketch Tokens Junzhe Xu, Sonia Phene, Chun-Che Wang,
Valay Shah, Yun Miao
Project 5 results
It is strongly recommended that all projects be completed in Matlab. All starter code will be provided for Matlab. Students may implement projects through other means but it will generally be more difficult.


Readings will be assigned in "Computer Vision: Algorithms and Applications" by Richard Szeliski. The book is available for free online or available for purchase.


Your final grade will be made up from You will lose 10% each day for late projects. However, you have three "late days" for the whole course. That is to say, the first 24 hours after the due date and time counts as 1 day, up to 48 hours is two and 72 for the third late day. This will not be reflected in the initial grade reports for your assignment, but they will be factored in and distributed at the end of the semester so that you get the most points possible.

Contact Info and Office Hours:

You can contact the professor or TA staff with any of the following: Office Hours

Tentative Syllabus

Class Date Topic Slides Reading Projects
W, Sept 4 Introduction to computer vision .ppt, .pdf Szeliski 1
Image Formation and Filtering
F, Sep 6 Cameras and optics .ppt, .pdf Szeliski 2.1, especially 2.1.5 Project 1 out
M, Sep 9 Light and color .ppt, .pdf Szeliski 2.2 and 2.3
W, Sep 11 Image filtering .ppt, .pdf Szeliski 3.2
F, Sep 13 Thinking in frequency .ppt, .pdf Szeliski 3.4
M, Sep 16 Image pyramids and applications .ppt, .pdf Szeliski 3.5.2 and 8.1.1
Feature Detection and Matching
W, Sep 18 Edge detection .ppt, .pdf Szeliski 4.2
F, Sep 20 Interest points and corners .ppt, .pdf Szeliski 4.1.1 Project 1 due
M, Sept 23 Local image features .ppt, .pdf Szeliski 4.1.2 Project 2 out
W, Sept 25 Feature matching and hough transform .ppt, .pdf Szeliski 4.1.3 and 4.3.2
F, Sept 27 Model fitting and RANSAC .ppt, .pdf Szeliski 6.1
Multiple Views and Motion
M, Sept 30 Stereo .ppt, .pdf Szeliski 11
W, Oct 2 Epipolar Geometry and Structure from Motion .ppt, .pdf Szeliski 7
F, Oct 4 Feature Tracking and Optical Flow .ppt, .pdf Szeliski 8.1 and 8.4
Machine Learning Crash Course
M, Oct 7 Machine learning intro and clustering .ppt, .pdf Szeliski 5.3
W, Oct 9 Machine learning: clustering continued .ppt, .pdf Szeliski 5.3 Project 2 due
F, Oct 11 Machine learning: classification .ppt, .pdf Project 3 out
M, Oct 14 No classes
W, Oct 16 Quiz 1
F, Oct 18 Recognition overview and bag of features .ppt, .pdf Szeliski 14
M, Oct 21 Large-scale instance recognition .ppt, .pdf Szeliski 14.3.2
W, Oct 23 Detection with sliding windows: Viola Jones .ppt, .pdf Szeliski 14.1
F, Oct 25 Detection continued and Quiz 1 discussion See above Szeliski 14.2
M, Oct 28 Scene recognition with SUN database .ppt, .pdf
W, Oct 30 Mixture of Gaussians and advanced feature encoding .ppt, .pdf Project 3 Due
F, Nov 1 Modern object detection .ppt, .pdf Szeliski 14.1
M, Nov 4 Internet scale vision, pt 1 .ppt, .pdf Szeliski 14.5 Project 4 out
W, Nov 6 Internet scale vision, pt 2 .ppt, .pdf
F, Nov 8 Guest lecture: Carl Vondrick, HOGgles Project page
M, Nov 11 Human computation and crowdsourcing .ppt, .pdf
W, Nov 13 Attributes and more crowdsourcing .ppt, .pdf
F, Nov 15 Sketch Recognition and more crowdsourcing .ppt, .pdf
M, Nov 18 Modern boundary detection and Pb .ppt, .pdf Szeliski 4.2 Project 4 due
W, Nov 20 Modern boundary detection and sketch tokens .ppt, .pdf, gPb, Sketch Tokens Szeliski 4.2
F, Nov 22 Guest lecture: Sobhan Parizi, Deformable Part Models
M, Nov 25 Project 5 introduction .ppt, .pdf Szeliski 5.5 Project 5 out
W, Nov 27 No classes
F, Nov 29 No classes
M, Dec 2 Context and Spatial Layout .ppt, .pdf
W, Dec 4 Context and Scene parsing .ppt, .pdf
F, Dec 6 Quiz 2
M, Dec 9 No classes
W, Dec 11 No classes
S, Dec 14, 2:00 PM Exam Period - not used Project 5 due


The materials from this class rely significantly on slides prepared by other instructors, especially Derek Hoiem and Svetlana Lazebnik. Each slide set and assignment contains acknowledgements. Feel free to use these slides for academic or research purposes, but please maintain all acknowledgements.

Previous Versions of Course

The 2011 offering of CS 143 can be found here
Michael Black's 2009 offering of CS 143 can be found here