## Description

2 Camera Calibration

Orginal image Undistorted image k > 0 k < 0
Figure 1: Lens distortion recification.
Using your cellphone camera, you will estimate intrinsic camera parameters (focal
length, principal points, and lens distortion parameter).
Write-up:
(1) Derive K matrix using your camera specification.
(2) Calibrate lens distortion using the radial distortion model (single parameter, k1).
Show the original image, undistorted image, and two image examples of wrong k1 as
shown in Figure 1.
2
CSCI 5980: Assignment #2
Image Transformation
3 Projective Line
(a) Image (b) UMN logo
Figure 2: (a) You will use your cellphone camera image to compute camera poses with
respect to the ground plane and measure the height of your friend given the height of
an object. (b) You will paste the UMN logo to the ground plane.
Take a picture of your friend with many 3D objects such as street lamps and chair where
two orthogonal directions on the ground plane are visible as shown in Figure 2(a). Apply
lens undistortion to make the straight lines straight.
Write-up:
(1) Derive and compute two vanishing points and a vanishing line, and visualize them
on your image similar to Figure 2(a).
(2) Compute camera rotation matrix, R, and visualize 3D camera axes with respect to
the ground plane axes using MATLAB plot3 function. Give a geometric interpretation
of the computed rotation matrix.
(3) Measure the heights of at least 3D objects given your friend’s height using the cross
ratio. Verify the height measurements.
(4) Project UMN logo onto the ground plane or any planar surface. You are also free
to choose different logo or image.
3
CSCI 5980: Assignment #2
Image Transformation
4 Panoramic Image
(a) Input images
h
,
x
h y
z
p
p
p
φ
=
p
Camera center
Cylindrical surface
φ
(b) Geometry
h
φ
(c) Cylindrical coordinate
(d) Panoramic image
Figure 3: Given a collection of input images, you will create a panoramic images by
projecting onto a cylindrical surface.
4
CSCI 5980: Assignment #2
Image Transformation
You will create a panoramic image from multiple images (at least 8 images) taken
by your cellphone camera using a cylindrical projection as shown in Figure 3(a). The
panoramic image will be created in (φ, h) where φ and h are angle and height coordinate
of the cylindrical surface, respectively, as shown in Figure 3(c). Note that the radius and
height of the cylinder are set to the focal length and height of the image, respectively.
Write-up:
(1) Express the direction vector pφ,h =
px py pz
T
using φ and h as shown in
Figure 3(c) and 3(b).
(2) Given the first and second images, compute homography, 2H1 using 4 correspondences and relative rotation from first to second, 2R1 where the first image rotation is
the identity matrix I3.
λu2 = Hu1
µu2 = K2R1pφ,h (1)
where u1 ↔ u2 is the corresponding points in the first and second image.
(3) For all images, compute the rotation matrix, iR1, and visualize the camera Z axis
in 3D using MATLAB plot3 function. Hint:
iR1 =i Ri−1
i−1Ri−2 · · ·
2 R1.
(4) Create a panoramic image by copying RGB value of original image coordinate (u, v)
to the cylindrical coordinate (φ, h) as shown in Figure 3(d). You may blend overlapping
pixels by taking average.
Note:
1. Rotate your camera about fixed rotation center (no translation). Translation of
your camera produces mis-alignment.
2. Choose 4 correspondences very carefully.
3. Lens distortion may introduce mis-alignment.
4. Objects at far distance often work better.
5