CMSC 35900-2
Topics in AI: Computer Vision


General information

Instructor:Pedro F. Felzenszwalb
Email:pff (at) cs.uchicago.edu
Office:Ryerson 162C
Lecture:Tue/Thu 1:30-2:50 Ryerson 277

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 the material from class.

Handouts

01. Visual tour of topics
02.
Computer vision issues (Chapter 1 of Ballard & Brown)
03.
Edge detection (examples from class)
04. Edge detection handout
05.
Distance transform (example from class)
06.
Hierarchical Chamfer Matching (G. Borgefors)
07.
Locating Objects Using the Hausdorff Distance (W. Rucklidge)
08.
Integral Image (from Leptonica.com)
09.
Graph Based Energy Minimization (O. Veksler)
10.
Saliency Network (S. Ullman, A. Shashua)
11.
Random Sample Consensus (M. Fischler, R. Bolles)
12.
Recognition by Linear Combinations of Models (S. Ullman, R. Basri)
13.
Pictorial Structures for Object Recognition (P. Felzenszwalb, D. Huttenlocher)
14.
Distance Transforms of Functions (P. Felzenszwalb, D. Huttenlocher)
15.
Determining Optical Flow (B. Horn, B. Schunck)
16.
An Iterative Image Registration Technique (B. Lucas, T. Kanade)
17.
Representation and Detection of Deformable Shapes (P. Felzenszwalb)
18.
Texture Synthesis by Non-parametric Sampling (A. Efros, T Leung)
19.
Video Textures (A. Schodl, R. Szeliski, D. Salesin, I. Essa)

Programming Assignments

Stereo Algorithm
Test images:
tgz or zip archive.
You can look
here for some example outputs.

Ransac (finding lines and circles)
Test images:
tgz or zip archive.

Software

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

Here is a small library of C++ functions that can be used to implement vision algorithms.
You can download the library as a
tgz or a zip archive.
(look at 'test.cpp' for a small example program that you can play with)

Links

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