Recent Announcements
- The final exam will be on June 13, 3-6pm in SOLIS 111. (6/11/07)
- There will be office hours on Monday June 11th, 1-5pm in EBU3B room B250A. Please come by with your questions! (6/8/07)
- Assignment 3 has been graded with the scores posted online. (6/8/07)
- References for Eigenfaces/Fisherfaces have been posted online. (6/6/07)
- There have been some changes to Assignment 4; please download the updated the assignment description. (5/31/07)
- Assignment 4 has been posted, due on June 8th at 11:59pm. (5/30/07)
- Assignment 3 has been posted, due on May 29th at 11:59pm. (5/18/07)
- Sample midterm questions have been posted. See the Course Outline section. (5/8/07)
- The solutions to assignment 1 has been posted. (5/7/07)
- Assignment 2 has been posted, due on May 8th at 5 PM. (4/27/07)
- There is a typo for problem 3 on assignment 1. Please note the correction below. Also, if you have not been getting email messages through the class mailing list, please let Will know so he can add you to the mailing list.
- Assignment 0 has been graded, and the grades have been posted online. Please contact Will if you're having problems accessing your grades. (4/18/07)
- Assignment 1 is posted, due on April 26th in class. (4/13/07)
- Due to scheduling conflicts, the TA office hours has been relocated to EBU-3B room B250A. (4/10/07)
- Assignment 0 is posted, due on April 10th at 5:00 PM. (4/02/07)
- There will be no discussion section on the first week of class. Please come to office hours if you have questions with the homework.
- IMPORTANT: If you are registered for the course but didn't attend the first lecture,
please email the TA with your first and last name, UCSD ID number, and email address so that you can be on the class mailing list.
Course Information
- Lecture: Tuesday & Thursday 2:00 - 3:20 PM in SOLIS 111
- Discussion: Wednesday 9:00 - 9:50 AM in WLH 2114
-
Instructor:     Prof. David Kriegman
   Office:             EBU-3B, Room 4120
   Phone:            858-822-2424
   Email:             kriegman [AT] cs.ucsd.edu
   Office Hours:  Thursday 12:30 - 1:30 PM in EBU-3B 4120
-
TA:                 Will Chang
   Office:             EBU-3B, Room 4150
   Phone:            858-534-8829
   Email:             wychang [AT] cs.ucsd.edu
   Office Hours:  Monday 3:00 - 5:00 PM in EBU-3B, Room B250A (*note room change*)
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.
Resources:
- Please post any questions on the class webboard.
- You can also check your progress via GradeSource.
- Please email the TA if you do not have access to these resources.
Assignments
Assignment 4:
Here is a PDF file with Assignment 4.
Face images for the assignment are in this zip file: yaleBfaces.zip.
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.
Turn-in: A
hard-copy of the solutions, which contains the write-up
and all your tables, code and figures. Due Monday,
June 11, 6:00 PM.
               
E-mail a zip file (named
your_name.zip/tar/tgz/....) of your code and figures to the TA, with the subject line "CSE 152 Assignment 4". Due Friday,
June 8, 11:59 PM.
If you are writing the hardcopy electronically (PDF or Word), you can e-mail it to the TA if you don't want to make the trip to the CSE building and turn it in. Ensure that all the code and figures are included at appropriate places if you choose this option to turn in your "hard-copy".
Assignment 3:
Here is a PDF file with Assignment 3. Data set & Source code
Tip: To have a faster implementation, you can use the fact that the Gaussian filter (even its derivatives) is separable to divide the computation into two 1D convolutions.
Turn-in: A hard-copy of the solutions, with answers to any questions asked, and MATLAB code and figures. Due Tuesday, May 29, in class.
Email a zip file of your MATLAB code and figures to the TA, with the subject line "CSE 152 Assignment 3". Due Tuesday, May 29, 11:59pm.
Assignment 2:
Here is a PDF file with Assignment 2. Data set
Link to Chapter 4 of "Robot Vision" by Horn (e-reserves)
Email a zip file of your MATLAB code and results to the TA, with the subject line "CSE 152 Assignment 2". Due Tuesday, May 8th, 5:00 PM.
Assignment 1:
Here is a PDF file with Assignment 1. Solution
Correction: In problem 3, the formula should read
f( r(x,y) ) = sqrt{ (d/2)^2 - (r-a)^2 }.
Turn-in: A hard-copy of the solutions, with answers to any questions asked, and MATLAB code and figures. Due Thursday, April 26, in class.
Email a zip file of your MATLAB code and figures to the TA, with the subject line "CSE 152 Assignment 1". Due Thursday, April 26, 5:00 PM.
Assignment 0:
Here is a PDF file with Assignment 0, a description of what to turn in and a tutorial introduction to Matlab.
                        
Test image for the assignment is here.
Course Outline
** Tentative syllabus - subject to change.
April 03 - Introduction to Computer Vision      [T&V   Chapter 1]
April 05 - Human Visual System, Cues and Illusions
April 10 - Image Formation, Cameras, Projections and Rigid-body Transformations      [T&V   Chapter 2, pages 26-40]
April 12 - Rigid-body Transformations, Camera Calibration and Lenses
April 17 - Radiometry (Lighting and Shading)      [T&V   Chapter 2, pages 16-26]
April 19 - Color      [Gonzalez and Woods: Chapter 6,
Basics of Color, An FAQ on Color]
April 24 - Binary Image Processing      [
Link to Chapter 4 of "Robot Vision" by Horn (e-reserves)
]
April 26 - Filtering      [T&V, Chapter 3, pages 55-63]
May 01 - Edge Detection      [T&V, pages 67-81]
May 03 - Hough Transform      [T&V, pages 97-100]
May 08 - Generalized Hough Transform + Line Fitting
May 10 - Midterm (Sample midterm questions)
May 15 - Stereo (Introduction)      [T&V, pages 140-171]
May 17 - Stereo (Epipolar Geometry)
May 22 - Stereo (Window-based methods + Dynamic Programming + Helmholtz)
May 24 - Photometric Stereo      [Forsyth and Ponce, Chapter 5, pages 80-86
]
May 29 - Photometric Stereo / Introduction to Structure-From-Motion (SFM)      [T&V, pages 191-198]
May 31 - Recognition (PCA, Eigenfaces and Fisherfaces)      [Forsyth and Ponce, Chapter 22 (posted on the webboard), Fisherfaces paper]
June 05 - Recognition, Bayesian Classifiers      [T&V, pages 262-270]
June 07 - Appearance-Based Recognition, Motion Field & Optical Flow      [T&V, pages 191-198]
June 13 - 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 April 10, 2007.