Recent announcements
- (05/29/2010) Homework 3 grades posted on Gradesource
- (05/25/2010) Homework 4 has been posted.
- (05/14/2010) Homework 3 has been posted.
- (05/10/2010) Midterm grades posted on Gradesource
- (05/04/2010) Discussion session moved to Wednesdays 5-6pm in EBU3B 2217.
- (05/02/2010) Correction in Assignment 2, see revised formula for normalized image moments.
- (04/23/2010) Assignment 2 is posted, due Tuesday May 4th.
- (04/21/2010) Correction made to HW1 problem 4a.
- (04/16/2010) TA office hours have been scheduled: Mondays 12:00 PM - 1:00 PM in EBU3B basement room 250A.
- (04/12/2010) Assignment 0 grades have been posted on GradeSource.
- (04/12/2010) Assignment 1 is posted, due on Thursday April 22, 2010.
- (4/6/2010) Gradesource secret numbers have been emailed. If you did not receive an email with your gradesource secret number, please email the TA.
- No discussion section the first week of class. Please post homework related questions on the discussion board.
- (3/30/2010) Assignment 0 is posted, due on Thursday April 8, 2010 .
- (3/30/2010) Course discussion board is up.
Course Information
- Lecture: Tuesday & Thursday 2:00 - 3:20 PM in EBU3B 2154
- Discussion: Wednesday 5:00 - 6:00 PM in EBU3B 2217
-
Instructor:     Prof. David Kriegman
   Office:             EBU-3B, Room 4120
   Phone:            858-822-2424
   Email:             kriegman [AT] cs.ucsd.edu
   Office Hours:  Thursday 11:00 AM - 12:00 PM in EBU-3B 4120
-
TA:                  Arturo Flores
   Email:             aflores [AT] cs.ucsd.edu
   Office Hours:  Monday 12:00 PM - 1:00PM in EBU3B Basement room 250A
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:
- If you call A = getAmatrix(i, j), columns of the output matrix A are the vectorized images of person j in subset i.
- If you call A = getAmatrix(i, []), columns of the output matrix A are the vectorized images of all persons in subset i.
- If you call A = getAmatrix([], j), columns of the output matrix A are the vectorized images of person j across all subsets.
- If you call A = getAmatrix([],[]), columns of the output matrix A are the vectorized images of all persons across all subsets.
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
- Computer Vision - A Modern Approach, Forsyth and Ponce. A rather good, comprehensive, upper level textboook.
- 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).
- CV-Online: A useful online compendium of Computer Vision sources.
Some useful links
- Camera Calibration Toolbox for Matlab (Bouguet)
- Microsoft Camera Calibration Toolbox (Zhang)
- Intel OpenCV
- The Computer Vision Homepage
- Handy Math Reference: MathWorld
- Related classes at UCSD: CSE 166, CSE 252A, CSE 252B
Last updated March 30, 2010.