Computer Vision (CSL840) Assignment 1: Understanding the
camera
Note:
- You may use Matlab for this assignment. You may find
ginput() particularly useful for interactive input
of 2D points in images by clicking.
- Check out Hatrley and Zisserman for general reading.
- 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.
- 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
) 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
and
axes with the calibration
positions at the center. Compare your results with those obtained
using a standard implementation. Clearly write down your experimental
observations.
- 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.
- Bharti: image 1
- Bharti: image 2
- Bharti: image 3
- Develop a suitable procedure for correction of radial distortion and
rectify the following images:
- The floor
- 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.
- 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?
- Correct the image of the lab floor
to metric by directly
mapping an imaged tile to a square (homography).
- Correct the following images
- The lab floor
- 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.
- 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?
- 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.
- Use the image of Ravish Mehra
to
- setup an affine coordinate system in the world.
- 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).
- compute the vanishing points corresponding to the
,
and
directions.
- compute the camera internal parameters.
- setup an Euclidean coordinate system in the world.
Subhashis Banerjee
2008-01-29