Computer Vision (CSL840) Assignment 1: Understanding the camera


Note:

  1. You may use Matlab for this assignment. You may find ginput() particularly useful for interactive input of 2D points in images by clicking.
  2. Check out Hatrley and Zisserman for general reading.
  3. The last date of submission for the first two problems of the assignment is Feb 3, 2008. The others can be submitted a week later.


  1. Implement Tsai's method of camera calibration from a non-coplanar set of world points. Estimate all the camera intrinsics (including camera skew and radial distortion) and also the camera extrinsics. Create a calibration object by pasting a chess-board pattern on a plane. Place the plane vertically at known positions (separated in $ Z$ ) and obtain images with a static camera (mounted on a tripod). Ensure that the camera settings remain constant for all the images. Verify the calibration by projecting known world points on to the image and measuring the image distances between the predicted and actual positions. Plot the error (RMS) as the known 3D world points shift along the $ X$ and $ Z$ axes with the calibration positions at the center. Compare your results with those obtained using a standard implementation. Clearly write down your experimental observations.
  2. Estimate the camera internal parameters and the camera positions using Zhang's method from the images of the front face of the Bharti building. You may have to correct the images for radial distortion. First, ignore the camera skew and estimate the rest of the parameters using only two images. Next, estimate all parameters using three images. Do you notice any difference? Evaluate the calibration experimentally and record your observations.
    1. Bharti: image 1
    2. Bharti: image 2
    3. Bharti: image 3
  3. Develop a suitable procedure for correction of radial distortion and rectify the following images:
    1. The floor
    2. Back side of Block V
    For which image do you get better results? Why? You may also try your method(s) on this really bad one.
  4. Apply the radial distortion parameters estimated from the image of Back side of Block V to correct the image of Mohit Gupta and the corridor. Both the images were obtained with the same camera though not with the same settings. Is the result satisfactory? Explain why/why not?
  5. Correct the image of the lab floor to metric by directly mapping an imaged tile to a square (homography).
  6. Correct the following images
    1. The lab floor
    2. Back side of Block V (consider only the plane of the back face, not the corridor)
    to affine by identifying the line at infinity in each case. Verify.
  7. Assume that in each case there is no camera skew and the principal point is the center of the image. Try to find enough constraints to update the affine rectification obtained in each of the above to metric. Can this be done without providing the same information as in Q5 above?
  8. For the image of department corridor use an orthogonal triad of vanishing points to carry out a complete Euclidean reconstruction interactively and also recover the camera. Estimate the average per-pixel projection error using the recovered camera. Generate at least two novel views keeping the camera internal parameters unchanged.
  9. Use the image of Ravish Mehra to
    1. setup an affine coordinate system in the world.
    2. estimate Mr. Mehra's height as a ratio of the height of the vision laboratory door. Verify by actually measuring the height of the door and the height of Mr. Mehra(you may lay him down on the floor and hope that he does not grow taller/shorter between the time of acquiring these images and your experiments - you should complete your experiments asap).
    3. compute the vanishing points corresponding to the $ X$ , $ Y$ and $ Z$ directions.
    4. compute the camera internal parameters.
    5. setup an Euclidean coordinate system in the world.



Subhashis Banerjee 2008-01-29