Mathematical Techniques for Computer Vision, Graphics and Robotics

Welcome to the mathematical techniques course for the spring semester, 2006. The syllabus is broken into three major topic areas: linear algebra, geometry, and estimation and numerical methods. Certainly, a different course on mathematical techniques for vision, graphics and robotics might cover completely different topics, but I have found these topics to be particularly helpful to students who are just getting started in research. Homework problems are included with the lecture notes.

- Mathworld is a hyperlinked dictionary of mathematical terms and topics.
- Perhaps surprisingly, Wikipedia contains many short articles on topics of mathematical interest as well as on the various application areas we are considering.
- The Matrix Cookbook by Peterson and Pederson is a good reference for problems in matrix manipulation, especially those involving derivatives.

- Lecture 1: Introduction to
points, lines, planes and vectors.

- Lecture 2: Matrices, the very basics.
- Lecture 3: The four fundamental spaces associated with the matrix: the row space, the column space, and the two null spaces.
- Lecture 4: The LU decomposition and its use in finding the four fundamental spaces.
- Lecture 5: Orthogonality of vectors and matrices, Gram-Schmidt orthogonalization, and the QR decomposition .
- Lecture 6: Eigenvalues, eigenvalues, and the spectral decomposition.
- Lecture 7: Cholesky factorization and the singular value decomposition.
- Lecture 8: Application to least-squares methods, including both ordinary and orthogonal regression.
- Lecture 9: Continuation of
least-squares methods, as well as eigenimage and other PCA methods.
Here are a few of the many web resources available on eigenimage and
PCA methods:
- The MIT Media Lab photobook project
- A UChicago PhD dissertation
- A demo by Erik Hjelmas
- Tim Cootes's webpage on Active Shape Models

- Lecture 10: An introduction to projective geometry in two dimensions.
- Lecture 11: Similarity, affine and projective transformations in 2d.
- Lecture 12: Extension to 3d of the discussion of 2d projective geometry and transformations.
- No separate notes for lecture 13. We are a little behind.
- Lecture 14: Introduction to the perspective camera based on what has been covered in projective geometry.
- Lectures 15 and 16:
Representing and estimating 3d rotations using quaternions and
small angle approximations.

Here are two test files for the programming assignment:- rotation_test1.txt was
generated using the rotation matrix
0.958027 -0.0387198 -0.28405 0.139454 0.928646 0.343756 0.250472 -0.36894 0.895068

and the true rotation produces an error of about 0.496 (changed 2006-03-26)

- rotation_test2.txt was
generated using the rotation matrix
0.862312 0.504004 -0.04897 -0.502093 0.838452 -0.211898 -0.0657383 0.207309 0.976064

and the true rotation produces an error of about 1.15 (changed 2006-03-26)

- rotation_test1.txt was
generated using the rotation matrix
- Lecture 17: Introduction to differential geometry of curves
- Lecture 18: Introduction to differential geometry of surfaces

- Lecture 19 and 20: Introduction to estimation techniques.
- Lecture 21:
Estimation of planar homographies, including a discussion of
algebraic distance, geometric distance, Sampson error and
normalization.
- The data sets for the programming assignment are available: homography_test1.txt and homography_test2.txt. The root mean square Euclidean distance errors after applying the correct transformation are around 1.55 and 1.57 units, respectively. The first data set includes substantial projective effects.

- Lecture 22:
Robust estimation: M-estimators, LMS and RANSAC
- The problem from these notes does not need to be turned in until Thursday April 27.

- Lecture 23 and 25: Introduction to non-linear estimation methods
- Lecture 24: Professor
Trinkle's introduction to linear programming methods.
- Associated homework AND practice problems
- Here is Matlab code to help you get started with question 2.

- The Linear Programming homeworks are graded (by Prof. Trinkle) and are available outside my office door. A number of people lost substantial credit on the 2nd problem for not doing a careful experimental analysis.
- The 3rd test will be Thursday May 4, 1-3pm in CII 4034.
- The formulation of the affine transformation of the
**x**variables and the linear scaling and shift in the*y*values given in class on Monday does indeed produce an affine transformation of the estimated parameters with a scaling of the errors by 1/b.