Visual Tracking
(Ho, Lee, Yang, Kriegman)

CSE 152: Introduction to Computer Vision

Spring 2010

Course Information / Course Outline / Assignments / Notes and Links

CSE 152 Discussion Board / GradeSource


Recent announcements


Course Information

Class Description: The goal of computer vision is to compute properties of the three-dimensional world from images and video. Problems in this field include identifying the 3D shape of a scene, determining how things are moving, and recognizing familiar people and objects. This course provides an introduction to computer vision, including such topics as feature detection, image segmentation, motion estimation, object recognition, and 3D shape reconstruction through stereo, photometric stereo, and structure from motion.

Required Text: Introductory Techniques for 3-D Computer Vision, E. Trucco and A. Verri, Prentice Hall, 1998.

Prerequisites: Linear algebra and Multivariable calculus (e.g. Math 20A & 20F), data structure/algorithms (e.g. CSE100), a good working knowledge of C, C++ or Matlab programming.

Grading: There will be homework assignments, a midterm, and a final weighted with the following percentages:
           Assignments:      45%
           Midterm:            20%
           Final Exam:        35%

Late Policy: Written homework will be due in class and accepted thereafter with a penalty of 10% per day starting from the due date. Programming assignments will have a hand-in procedure described with the assignment and also has a 10% per day late penalty. No assignments will be accepted after the graded assignments have been returned or the solutions have been released.


Assignments

Assignment 0: Here is a PDF file for Assignment 0.
Test image for assignment: flag.jpg.
Matlab tutorial


Assignment 1:Here is a PDF file for assignment 1.
Test image: color.bmp.

Email a zip file including all materials (answers, images, matlab code, etc) to the TA. If necessary, hand in written answers in class. Due Thursday April 22, 2010.

Corection: In problem 4a, the sentence "pick the one forming an accute angle with ^k" was incorrect. Just be aware that there are two possible vectors orthogonal to both ^k and ^k', you may pick either one.


Assignment 2:Here is a PDF file for assignment 2.

Write a report including your results. Your report should include results from each step, matlab code, and a short discussion about your results. Also include your matlab code as separate .m files with appropriate documentation on how to run your code. Email all materials as a zip file to the TA with email subject "CSE 152 Assignment 2 - [LastName],[FirstName]". Please follow the instructions regarding email subject, otherwise the TA might miss your email.

Correction made to formula for normalized image moments.


Assignment 3: Here is a PDF file for assignment 3. Data set and source code.

Email a zip file of your Matlab code and writeup to the TA with the subject line "CSE 152 Assignment 3 - [Lastname, Firstname]". Due Tuesday May 25, 11:59pm.


Assignment 4: Here is a PDF file for assignment 4. Data set.

Here is some Matlab code to read in the input images: getAmatrix.m. The function getAmatrix accepts exactly two arguments:

Update: getAmatrix.m now also returns the labels of each column. Usage: [A labels] = getAmatrix(...).
Update 2: getAmatrix.m now converts the A matrix to float and normalizes it to the 0-1 range.

Email a zip file of your Matlab code and writeup to the TA with the subject line "CSE 152 Assignment 4 - [Lastname, Firstname]". Due Friday June 4, 11:59pm.

Course Outline

** Tentative syllabus - subject to change.

  • March 30 - Introduction to Computer Vision      [T&V   Chapter 1]
  • April 1 - Human Visual System, Cues and Illusions
  • April 6 - Image Formation, Cameras, Projections and Rigid-body Transformations      [T&V   Chapter 2, pages 26-40]
  • April 8 - Rigid-body Transformations, Camera Calibration and Lenses
  • April 13 - Radiometry (Lighting and Shading)      [T&V   Chapter 2, pages 16-26]
  • April 15 - Color      [Gonzalez and Woods: Chapter 6, Basics of Color, An FAQ on Color]
  • April 20 - Binary Image Processing      [ Link to Chapter 4 of "Robot Vision" by Horn (e-reserves) ]
  • April 22 - Filtering      [T&V, Chapter 3, pages 55-63]
  • April 27 - Edge Detection      [T&V, pages 67-81]
  • April 29 - Hough Transform      [T&V, pages 97-100]
  • May 4 - Generalized Hough Transform + Line Fitting
  • May 6 - Midterm (Sample midterm questions)
  • May 11 - Stereo (Introduction)      [T&V, pages 140-171]
  • May 13 - Stereo (Epipolar Geometry)
  • May 18 - Stereo (Window-based methods + Dynamic Programming + Helmholtz)
  • May 20 - Photometric Stereo      [Forsyth and Ponce, Chapter 5, pages 80-86 ]
  • May 25 - Photometric Stereo / Introduction to Structure-From-Motion (SFM)      [T&V, pages 191-198]
  • May 27 - Recognition (PCA, Eigenfaces and Fisherfaces)      [Forsyth and Ponce, Chapter 22 (posted on the webboard), Fisherfaces paper]
  • June 1 - Recognition, Bayesian Classifiers      [T&V, pages 262-270]
  • June 3 - Appearance-Based Recognition, Motion Field & Optical Flow      [T&V, pages 191-198]
  • June 8 - Final Exam

  • Notes and Links

  • Programming languages: For this course, all programming will be in Matlab. A short tutorial assignment will provide the introduction. Click here for Serge Belongie's Matlab resource links.
  • Some other textbooks and resources
    1. Computer Vision - A Modern Approach, Forsyth and Ponce. A rather good, comprehensive, upper level textboook.
    2. An Invitation to 3D Vision: From Images to Geometric Models, Ma, Soatto, Kosecka, Sastry, Springer Verlag, 2003, ISBN 0-387-00893-4 (textbook for CSE 252B).
    3. CV-Online: A useful online compendium of Computer Vision sources.
  • Some useful links
    1. Camera Calibration Toolbox for Matlab (Bouguet)
    2. Microsoft Camera Calibration Toolbox (Zhang)
    3. Intel OpenCV
    4. The Computer Vision Homepage
    5. Handy Math Reference: MathWorld
    6. Related classes at UCSD: CSE 166, CSE 252A, CSE 252B

  • Last updated March 30, 2010.