Problem Set 3

CS 4495/7495
Computer Vision

Due by midnight Wednesday, October 30, 2002.

1. Exercise 2.10 from Computer Vision, A Modern Approach by Forsyth and Ponce. (15 pts)

2. Exercise 2.12 from Computer Vision, A Modern Approach by Forsyth and Ponce. (15 pts)

3. Linear Camera Calibration Experiment. See Section 3.2 in Forsyth and Ponce as well as class handout. (70 pts)

Given the correspondences between known 3-D points on a calibration target and their projections in the image plane, solve a linear system to obtain the camera parameters. This exercise uses the computer-generated image shown below. It is a 640 by 640 pixel rendering of a 5 m wide cube using a sensor plane which is 1" by 1" and has square pixels (i.e. au = av). The points at the corners of the checkerboard pattern have already been identified and placed in correspondence for you. They are contained in the files points2d.txt and points3d.txt. Corresponding lines in the two files contain corresponding points (image coordinates are in row-column form). The data is courtesy of Bill Freeman and Trevor Darrell at MIT.

(a) Your program should read the input image calibtarget-image.bmp along with the point files. Overlay the 2-D point positions on top of the input image when you display it using your program. Set up and solve a linear homogeneous least squares problem to obtain the elements of the projection matrix P. This can be done by finding the eigenvector associated with the smallest eigenvalue of the equation matrix (see  Sec. 3.1 (p. 40) and Sec. 3.2.1 in your text). You may use any available code to compute these values. Sample C code for computing the SVD is available here. Verify the accuracy of the projection matrix by projecting each of the 3-D model points using P. Overlay the input image with the projected points and the original 2-D points and output the average projection error (the squared difference between the input points and their projection).

(b) Write a function that extracts the intrinsic parameters f, u0, v0 and the extrinsic parameters R and T from the projection matrix P. f is the focal length in meters, (u0, v0) is the center of the image in pixels, and (R, T) give the rotation and translation of the camera with respect to the world frame (see Sec. 3.2.2 in your text along with the class handout). What is the location of the camera center with respect to the world frame? Give a representation of the world coordinate axes (X, Y, and Z axes) with respect to the camera frame.

4. Turn in your source code and executable file along with a modified version of the input image showing the two sets of point overlays. Turn in the answers to the questions in 1, 2, and 3(b) and a printout of the average projection error, the projection matrix, and the camera parameters from 3 (a) and (b).

5. (Extra Credit +20) Test the sensitivity of the linear calibration method by adding a controlled amount of Gaussian noise to the 2-D input points. Compute the projection error and the error in the projection matrix itself (taking the matrix P from the zero-noise case as the ground truth). Make a graph by plotting both of these error measures as function of the sigma of the additive noise source. At what level of noise does the algorithm cease to report a useful output?