CMSC: 426 Computer Vision

(aka Image Processing in the Catalog)

Spring 2005, Mondays and Wednesdays, 3:30 p.m. – 4:45 p.m.,

Location: 3120

Instructor: Ramani Duraiswami

E-mail: 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 formation-I: Geometry: Pinhole camera. Central projection. Properties of 2D images of a 3D world. Vanishing points. Horizon. Projection equation for perspective projection. Orthographic projection. Scaled orthographic projection. Radiometry: Radiance, Irradiance, BRDF 02/02/2005 Image formation-II: 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. Texture: What is texture? Texture as an image feature. Texture discrimination. Comparing intensity statistics by building histograms. Analyzing texture with several filters at different scales. Gabor filters. Comparing filter output statistics. Texture synthesis from examples. 02/21/2005 Texture synthesis. Discussion of the paper by Heeger & Bergen.  Discussion of elements of more advanced approaches Introduction to Linear algebra and Matlab. Representing image operations with matrices and homogenous coordinates. Translation. Scaling. Rotation. 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 Homework is now due when class begins on March 2. 03/02/2005 Perceptual grouping. Mid-Level vision. Gestalt principles. Wertheimer's paper. proximity. similarity. common-fate. geometric similarity. Smoothness. curve-completion. Building cost-functions 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. Tri-chromaticity.  Color matching by addition and subtraction. Metameric colors. Grassman's laws and linear color models. Non-linear 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 03/23/2005 SPRING BREAK No Class 03/28/2005 Exam review. Stereo. Epipolar Geometry, Epipolar plane. Epipoles. Rectification. Depth equation for a rectified pair. Baseline. The correspondence problem. Random dot stereograms. Stereo from a single image. Feature-based correspondence. SSD and  area correlations. Hard constraints and heuristic constraints. 03/30/2005 Stereo: Epipolar geometry. Matching via SSF and cross-correlation. 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 Review of least squares. Normal equations. Weighted least squares. Iterative Lucas Kanade. (ignore slides 37-39). 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. K-means clustering. Expectation Maximization. Expectation and maximization steps. General paradigm for vision problems. (Chapter 16.1, 16.2) 04/25/2005 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 K-nearest neighbor classifiers. (Section 22.1-22.2)   Face Recognition via Eigenfaces: Preparing a face-data 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:

Computer Vision on-line demos

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.