CS 216/295: Image Understanding

Fall 2008

Who, Where, When

Instructor: Charless Fowlkes
Lectures: TuTh 3:30- 4:50pm, DBH 1300
Office Hours: TuTh 5-6pm
Course Code: 35595

Overview

Image understanding, extracting useful semantic content from image data, is a core human ability whose emulation by machine systems has been an area of active research in artificial intelligence for the last 40 years. Contemporary computer vision research draws heavily from machine learning and serves as a testing ground for new learning theories and algorithms. Computer vision in turn provides a set of tools for many applications in multimedia information systems and HCI, as well as the natural sciences, e.g. biomedical imaging. Graduate students completing this course will be well prepared to comprehend current research in computer vision or apply state-of-the-art techniques to problems of interest in their own field.

Course Topics

  • Linear Filters - Convolution, smoothing, spatial frequency analysis, Fourier transform, FFT, sampling, image pyramids, scale space

  • Edge Detection - Gaussian derivatives, Gabor filters, gradients, Laplacian pyramid, steerable filters

  • Templates - optimality of matched templates, detection theory (Bayes risk, ROC curves), normalized convolution, "eigenfaces"

  • Feature Descriptors - feature invariance, histogram of gradients (e.g. SIFT, geometric blur), interest point detection

  • Segmentation - grouping and features (color, texture), clustering algorithms (k-means, mixture models, EM algorithm, normalized cut), enforcing spatial coherence (Markov random fields, min-cut), contours and curvilinear continuity

  • Optical Flow - background subtraction, differential methods, regularization, layer based models, video compression

  • Object Recognition - 2D shape, model alignment, deformable templates, active appearance models, parts based models

  • Tracking - linear dynamics, Kalman filtering, human kinematics, motion capture

Lecture Notes, Slides and Readings

Homeworks

  • Homework 1: Linear filtering, DFTs and convolution [pdf]
    Test images for use on the homework: zebra faces 1 faces 2

  • Homework 2: Color and Texture  [pdf]
    Test images for use on the homework: zebra

  • Homework 3: Segmentation  [pdf]
    Test images for use on the homework: segtest1 segtest2
    Mincut solver: mincut

  • Homework 4: Recognition  

Textbook

The textbook for the course is Computer Vision: A modern approach, by Forsyth and Ponce. We will not follow it closely but it will be valuable for filling in details we don't discuss in class and providing an alternative presentation.

Scribe Notes

In addition to the textbook, students in the class will participate in scribing notes for the class. Each student will signup to produce draft notes for a given lecture which will be distributed to the class after review by the instructor.

You can find the LaTeX template for the scribe notes here.

Project Ideas

Grading

The grading for this class will be based on homeworks, participation (scribe notes) and a final project

Homeworks

There will be approximately 4 homeworks during the quarter. Each homework due at the beginning of class on the due date. Late homeworks will not be graded so please just hand in whatever you have completed by the beginning the class that it is due.  Solution sketches will be provided after homeworks have been turned in.

You will be required to use MATLAB for some of your homework problems.

Academic Honesty

Homeworks can be discussed, but each student must independently write up their own solutions. In particular, no sharing of code. Please see the university policy on academic honesty. It is fine to use reference materials found online, but do not search for homework solutions. Rather, students are strongly encouraged to ask questions at both office hours and on the class discussion group.