CMSC 25040/35040
Introduction to Computer Vision


General information

Instructor:Pedro F. Felzenszwalb
Email:pff (at) cs.uchicago.edu
Office:Ryerson 162B

TA:Eric Purdy
Email: epurdy (at) cs.uchicago.edu

Lecture:MWF 11:30-12:20 Ryerson 251

Overview

This course is an introduction to some of the fundamental concepts in computer vision. We will cover selected topics in low-level image analysis, perceptual grouping, 3D reconstruction, motion estimation and object recognition. Our approach will be to focus on mathematical models and efficient algorithms.

There is no required textbook for the course. This webpage will have handouts covering some of the material from class.

Lectures

01. Intro
02. Filtering and Convolution
03. Edge detection
04. Hough transform
05. Corner detection (harris)
06. Simple stereo geometry
07. Window-based stereo matching
08. Stereo matching with DP
09. Stereo with graph cuts
10. Optical-flow
11. Estimating constant/parametric flow
12. Perceptual organization
13. Image segmentation
14. Graph-based image segmentation
15. Saliency network
16. Saliency network continued
17. Bayesian justification for the saliency network
18. Object detection with rigid templates
19. Part based models (pictorial structures)
20. Generalized distance transforms
21. More on part based models
22. Linear combination of views
23. Statistical interpretation of template matching
24. Statistical interpretation of part-based models

Handouts & References

01. Slides from the first lecture
02. Computer vision issues (Chapter 1 of Ballard & Brown)
03. Convolution notes
04. Edge detection + extra pictures
05. Computer lab handout
06. Hough transform applet
07. Taxonomy of stereo algorithms (Scharstein, Szeliski)
08. The Robust Estimation of Multiple Motions (Black, Anandan)
09. Image segmentation slides + paper
10. Saliency network (Ullman, Shashua)
11. Simplified saliency network notes
12. Object recognition slides
12. Linear combination of views (Ullman, Basri)

Assignments

Edge detection
Due: Friday, April 18th.
Test images:
zip archive.

Stereo
Due: Thursday, May 1st.
Test images:
zip archive.

Saliency network
Due: Friday, May 23rd.
Test images:
zip archive.

Software

Here is a small library of C++ functions that you can use to load, save and manipulate images.
Look at the readme file and 'test.cpp' for a small example program

xv is a good image viewer that handles pbm/pgm/ppm files. It runs under Unix with X11 (including macs).
wv is a viewer for pbm/pgm/ppm files that runs under Windows.
ImageMagick is a nice set of image manipulation utilities. It also includes a viewer.

Links

The Computer Vision Homepage
Computer Vision Bibliography
IEEE Transactions on Pattern Analysis and Machine Intelligence
International Journal of Computer Vision