CMSC: 426 Computer Vision

(aka Image Processing in the Catalog)

 

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

Location: CSI 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

 

Lecture 1

Introduction, Course rules, exams

Course outline

Introduction to vision. Vision is an inferential process.

Applications

01/31/2005

Lecture 2

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

Lecture 3

Matlab

Homework

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

Lecture 4

Matlab

 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

Lecture 5

Matlab

 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

Lecture 6

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

Lecture 7 

Homework  flowers.tif

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

Lecture 8

Matlab

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

Lecture 9

Matlab

 affine_map.m

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

Lecture 10         Homework 3

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

Lecture 11

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

Lecture 12

Model fitting; Least Squares; SVD

03/14/2005

Lecture 13

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

Homework 4

03/28/2005

Lecture 14

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

Lecture 15

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

Lecture 16

Stereo via Dynamic Programming: Dynamic programming pseudocode.

 

Structure from motion. Scene model. Image points. Camera projection. Rotation. Translation. Chapter 12,

04/06/2005

Lecture 17

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

Lecture 18

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

Lecture 19

 

Homework 5 T4bw T3bw  I1R I1L I3

Review of least squares. Normal equations. Weighted least squares. Iterative Lucas Kanade. (ignore slides 37-39).

04/18/2005

Lecture 20

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

Lecture 21

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

Lecture 22

 

Homework 6 I164 I165 Answer to Q1

Object recognition and Pose. Recognition from models. Chamfer matching. Distance transform. Ransac

 

04/27/2005

Lecture 23

3D Pose. The Posit algorithm.

05/02/2005

Lecture 24

 

 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

Lecture 25

Homework 7

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

Lecture 26

 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

MATLAB tutorial from University of Utah

MATLAB tutorial from Carnegie Mellon University

MATLAB tutorial from Indiana University

  Slightly more advanced Tutorials

  More complete references/tutorials/FAQs

 Computer Vision related sites:

Lightness Perception and Lightness Illusions

MIT computer vision class

Penn State computer vision class

Grad course at Maryland

An extensive computer vision bibliography at USC

Pointers to many vision classes

A tutorial on drawing with perspective

Some computer vision tutorials from Sussex

Some visual illusions

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.