CMSC: 426 Computer Vision
(aka Image Processing in the Catalog)
Spring 2005, Mondays and Wednesdays, 3:30 p.m. – 4:45 p.m.,
Instructor: Ramani Duraiswami
Email: ramani AT umiacs.umd.edu;
Grader: Justin Domke
Email: domke AT cs.umd.edu
Homework is given on Wednesdays at the end of the class and due on the Monday of the week following the next one, at the beginning of class
DATE 
LECTURE 
CONTENTS 
01/26/2005

Introduction,
Course rules, exams
Course outline
Introduction to
vision. Vision is an inferential process.
Applications 

01/31/2005 
Image
formationI: 

02/02/2005 
Image
formationII: Homogeneous coordinates. Lens equations. Optical power.
Accommodation.
Radiance, Irradiance, BRDF. Solid angle.
Pixel and scene brightness. The Eye: and its relation to cameras. CCD
cameras. 

02/07/05 
Image Features:
Features allow us to perform inference. Edges as features. Causes for
edges. Treating images as functions. discrete
image gradients. Representing gradients as filter masks. Non maxima
suppression. Noise. Smoothing noise. The Gaussian
function. Filters and convolution. 2D edge detection filters. The
Canny edge detector 

02/09/05 
Image Features: Linear Filters. Filters as a means to extract features.
The convolution operation. Matlab
implementation. Filters for blurring, sharpening, noise reduction. The
Gaussian function. Separable filters.
notion of scale. 

02/14/05 
Scale, Fourier Transform: Scale. Sampling an image. Reconstructing an
image from samples. Images as functions. representing
images in the Fourier basis. What Fourier basis functions look
like. Fourier transform
as convolution with Fourier basis filters. Image smoothing as removing
high frequencies. Phase and magnitude.


02/16/05 
Image
Pyramids: Scale. Gaussian Pyramids. Laplacian
Pyramids. Gabor/wavelet functions. Phase & Magnitude. 

02/21/2005 
Texture synthesis. Discussion of the paper by
Heeger & Bergen. Discussion of
elements of more advanced approaches 

02/23/2005 
Matlab
Wrap up. Writing a function in Matlab.
Combining features. Detecting lines. Parametric representation. The
Hough transform. HT for curves. Corner
detection: the Harris detector. 

02/28/2005 
Lecture 10 
No
class due to
anticipated snow
Homework is now due when class begins on March 2. 
03/02/2005 
Perceptual grouping. MidLevel vision. Gestalt principles.
Wertheimer's paper.
proximity. similarity.
commonfate. geometric
similarity. Smoothness. curvecompletion.
Building costfunctions that incorporate psychological ideas.
Performing vision tasks by minimization. Finding closed contours. 

03/07/2005 
Color: Physics of light. Visible spectrum. Color of light sources.
Radiometry on a per wavelength basis. How the eye perceives color. Rods
and cones. Trichromaticity. Color matching by addition and
subtraction. Metameric colors.
Grassman's laws and linear color models.
Nonlinear color models. Color constancy and other eye adaptations. 

03/09/2005 
Model
fitting; Least Squares; SVD 

03/14/2005 
RANSAC (lecture notes same as for lecture 12)


03/16/2005 
EXAM

Remember the main source material are the class
notes. You can use the text for background or clarifications. The
following sections are included: Chapter 1 (all except 1.4.1,1.4.2).
Briefly scan Chapter 2. Chapter 4 (4.1, 4.2, 4.3). Chapter 6 (up to and
including 6.3). Chapter 7, Chapter 8. Chapter 9 (up to & including 9.3).
Chapter 14 (up to & including 14.2).
Chapter 15 (up to & including 15.2) . 
03/21/2005 
SPRING 
No
Class 
03/28/2005 
Exam
review. 

03/30/2005 
Stereo: Epipolar
geometry. Matching via SSF and crosscorrelation. The ordering constraint.
Introduction to dynamic programming. The principle of optimality. Local
optimality.
Book: Chapter 11
(excluding11.4). The class notes contain some extra material. 

04/04/2005 
Stereo via Dynamic Programming: Dynamic
programming pseudocode.
Structure from motion. Scene model. Image
points. Camera projection. Rotation. Translation.
Chapter 12,


04/06/2005 
Review of transformations of rigid body coordinate systems.
Translation. Rotation. Representation via matrices. Use of homogeneous
coordinates. Scaling. Three dimensional rotation and Euler angles.
Perspective and weak perspective models.
(Chapter 2.)
Affine structure from
motion. Two frames. Solving for the affine transform. Solving for
structure. Multiple frames. Rank theorem.
(Chapter 12, till 12.3) 

04/11/2005 
Image Motion and Optical flow (lecture notes
are the same for Lectures 18 and 19).
Motion field. Optical flow. Brightness
constancy. Aperture problem. Normal flow. Solving for the optical flow via
least squares. Image gradients. 

04/13/2005 

Homework
5 T4bw
T3bw
I1R
I1L
I3
Review of least squares. Normal equations. Weighted least squares.
Iterative Lucas Kanade. (ignore
slides 3739). 
04/18/2005 
Review of concepts from probability.
Bayes theorem.
Frequentist and subjectivist approach. Bayesian inference.
Probability. Probability density function. Expectation and variance.
Sample mean and variance.
Clustering and segmentation.:
Agglomerative clustering.
(Chapter 14.4) 

04/20/2005 
Review of Bayes
Theorem.
Kmeans clustering. Expectation Maximization. Expectation
and maximization steps. General paradigm for vision problems.
(Chapter 16.1, 16.2) 

04/25/2005 

Homework
6 I164
I165 Object recognition and Pose. Recognition from models. Chamfer matching. Distance transform. Ransac

04/27/2005 
3D Pose. The Posit algorithm. 

05/02/2005 

Object Recognition. Trying to find features
that help in recognition. Looking for invariant features. Color indexing.
Salient Point Method. Geometric Hashing.
Part decomposition. 
05/04/2005 
Tracking. The tracking problem. Kalman
filter. Recursive estimation. Innovation; gain.
(Chapter 17 till 17.3 … but treatment in lecture is a
bit different) 

05/09/2005 
Classification: Classification boundaries.
Bayes Risk. Loss functions.
Estimating
pdfs: histograms and kernel density estimation. Application to skin
color classification of pixels. ROC curve of a classifier. Nearest
neighbor and Knearest neighbor classifiers.
(Section 22.122.2)
Face Recognition via Eigenfaces:
Preparing a facedata set. Computation of principal components. Using
principal components for recognition.
(Section 22.3) 

05/11/2005 
Lecture 27 
Exam Review:
Remember the main source material is class notes.

05/18/2005  Final Exam  1:30 p.m. 3:30 p.m. in the same classroom (CSI 3120) 
NEW: You may find the robotics class being offered next semester (Fall 2005) of interest. A course description for this class is here.
Materials based on my slides, previous CMSC 426 slides (taught by Cornelia Fermuller and David Jacobs) and stuff off the web.
Useful Links (from Prof. Jacobs)
Image Processing Learning resources:
http://www.dai.ed.ac.uk/HIPR2/index.htm
MATLAB resources:
Introductory Tutorials
Slightly more advanced Tutorials
More complete references/tutorials/FAQs
Computer Vision related sites:
An
extensive computer vision bibliography at USC
Pointers to many vision classes
A tutorial
on drawing with perspective
Some computer vision tutorials from Sussex
Lecture notes are based on materials from the text, my
slides, and borrow
from previous UMD courses (CMSC426 by David
Jacobs, Cornelia Fermuller,
and Larry Davis and CMSC 828D by Davis, Duraiswami and DeMenthon) and
from materials on the web.