Duke Vision Laboratory

CPS 296.1
Introduction to Computer Vision
Spring 2005

Course Mechanics




Places and Dates


 Course Outline, Readings, and Software

This course explores some of the most successful ideas in computer vision at an introductory level. Linear algebra and probability are prerequisites, but the class will be essentially self-contained. For each of the following topics, we will cover the basic concepts, look at one or two algorithms that work well, and discuss limitations and possible extensions. The numbers of lectures indicated for each topic are approximate.





Samples and Software



Why vision, state of the art, fundamental challenges, course mechanics

[1] Preface

Powerpoint with examples

2, 3, 4

1. Image Analysis

Convolution, smoothing, derivatives, median filtering, edge detection

[1] Ch 7, [1] Ch 8, [2]

Convolution code, Edge samples


2. Programming

Tips for programming with images


Intel's OpenCV library

6, 7, 8, 9

3. Optical Flow

Definitions, issues, algorithms, with emphasis on Lucas and Kanade


SSD motion software

10, 11, 12, 13

4. Segmentation

For both images and flow. Split/merge methods, clustering, motion layers

[1] Ch 14, [1] Ch 16, [5], [6], [7]

k-means and EM software

14, 15, 16, 17

5. Tracking

Appearance and motion models, Kalman filtering, particle filters

[1] Ch 17, [8], [9]

Kalman code for [8]

Spring Recess

18, 19, 20, 21

6. Stereo

Geometry, similarity metrics. Relaxation, dynamic-programming, belief propagation

[1] Ch 11, [10], [11]

Marr-Poggio code for [10]

22, 23, 24, 25

7. Recognition

Generative models, discriminative classifiers. Features. Sample algorithms

[1] Ch 22, [1] Ch 23, [12], [13], [14]

k nearest neighbors on the plane. See also the OpenCV library

26, 27


Principles learned. What we did not cover. Trends & research opportunities



  1. D. Forsyth and J. Ponce. Computer Vision - A Modern Approach. Prentice-Hall, 2003. Class textbook.
  2. C. Tomasi. Convolution, smooting, and image derivatives. Class handout in PDF.
  3. J. L. Barron, D. J. Fleet and S. S. Beauchemin. Performance of optical flow techniques. International Journal of Computer Vision, 12(1), 4377, 1994. The Postscript version is more legible on screen than the PDF version, but both print well.
  4. C. Tomasi and T. Kanade.  Detection and tracking of point features. Technical Report CMU-CS-91-132, 1991. PDF.
  5. J. Y. A. Wang and E. H. Adelson. Representing moving images with layers. IEEE Transactions on Image Processing, 3(5), 625638, 1994. PDF.
  6. C. Tomasi. Estimating Gaussian mixture densities with EM - A Tutorial. Class handout in PDF. See also tutorials on EM by Dellaert, Minka, Rennie, and Weiss.
  7. J. Shi and J. Malik. Normalized cuts and image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(8), 888905, 2000. PDF.
  8. C. Tomasi. Stochastic Estimation. Chapter 7 of the notes for mathematical methods class. PDF.
  9. M. Isard and A. Blake CONDENSATION - Conditional density estimation for visual tracking. International Journal of Computer Vision, 29(1), 528, 1998. PDF.
  10. T. Poggio. Vision by man and machine. The Perceptual World, I. Rock editor, W. H. Freeman and Co., 81-96, 1984. PDF (scanned).
  11. J. Sun, N. Zheng and H. Shum. Stereo Matching Using Belief Propagation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 25 (7), 2003. PDF.
  12. Y. Freund and R. E. Schapire. Experiments with a New Boosting Algorithm. 13th International Conference on Machine Learning, 148156, 1996. PDF.
  13. P. Viola, M. J. Jones. Robust real-time face detection. International Journal of Computer Vision, 57(2), 137154, 2004. PDF.
  14. M. J. Jones and J. M. Rehg. Statistical color models with application to skin detection. International Journal of Computer Vision, 46(1):8196, 2002. PDF.


  • Removed for archival

Teaching Staff

Carlo Tomasi, Instructor

E-mail address: tomasi@cs.duke.edu
Office Hours: By appointment
Office Location: D213 LSRC
Office Phone: (919) 660-6539
FAX: (919) 660-6519