Starting from:

$30

CSCI5980-Assignment 3 Homography Solved

1           Camera Calibration


Figure 1: (a) You will use the vanishing points in a single image to calibrate your cameras. (b) You will use multiple images of checkerboard patterns to calibrate your camera.

You will calibrate your camera (focal length, principal points, and lens distortion parameters).

Write-up:

(1)   (Single Image Calibration) Take a single image where you can estimate three vanishing points vX inf, vY inf, and vZ inf as shown in Figure 3(c). Compute f, px, and py using the vanishing points.

(2)   (Multiple Image Calibration) Print out the checkerboard pattern as shown in Figure 1(b) (http://www-users.cs.umn.edu/~hspark/CSci5980/code/pattern.pdf). Derive f, px, and py based on homographies from multiple images (at least 5 images). Compute the intrinsic parameters by solving the least squares system.

(3)   (MATLAB Toolbox Calibration) Use the existing MATLAB Calibration Toolbox

(https://www.vision.caltech.edu/bouguetj/calib_doc/) to compute the intrinsic parameters (at least 20 images from different views). Verify the estimate with your solutions in (1) and (2).

2           Rotation Interpolation


                                           (a) Left image                                                (b) Right image



(c) Interpolated View

Figure 2: Using two images of pure rotation (a and b), you will generate interpolated view by sampling rotation (c)

In HW 2, we generate a panoramic image from multiple images. In this problem, you will use two images of pure rotation (Figure 2(a) and 2(b)) to generate many views by interpolating between rotations as shown in Figure 2(c).

Write-up:

(1)  Compute the pure rotation, RRL from the homography between two images, RHL.

(2)  Interpolate between two rotations, , from I3 (Left image) to R (Right image) where N 20 is the number of interpolated rotations using SLERP.

(3)  Generate interpolated images similar to Figure 2(c).

•    Given iRL, compute homography from Left image to the interpolated image, iHL and warp it, im1 = ImageWarping(imageLeft, iHL).

•    Compute homography from Right image to the interpolated image, i.e., iHR =i HRLH−L1. Warp image, im2 = ImageWarping(imageRight, iHR).

•    Composite two images based on distance, imInterpolated = w*im1+(1-w)*im2 where w is weight, inversely proportional to the distance.

3           Tour into Your Picture


Figure 3: (a) Given a single image taken by a cellphone, you will navigate into the image. (b) You rectify the image such that the Y axis of the camera aligns with the surface normal of the ground plane. (c) You define the five principal planes using vanishing points. (d) A 3D box can be texture mapped.

Take an photo with your camera of a scene where you can observe the Z vanishing point. You will virtually tour into your photo that creates 3D sensation.

Write-up:

(1)  Rectification: Rectify your image such that the surface normal of the ground plane is aligned with the Y axis of your camera using the homography between ground plane and the camera. Derive and compute the homography for the rectification. Visualize rectified image similar to Figure 3(b).

(2)  Z vanishing point: Given the rectified image, derive and compute the Z vanishing point, p (Figure 3(c)) using the four edges from the ground and ceiling planes using linear least squares (the intersection of four lines), i.e., Ax = b.

(3)  3D box generation:

1.    Define the four corners (u11, u12, u21, u22) of the purple plane (Figure 3(c)) in the image.

2.    Define the depth of the four corner, e.g., d=1 and compute the 3D locations of the corners, U = dK−1u.

3.    Express the 3D locations of frontal plane, V11, V12, V21, and V22 using d, p, K, u11, u12, u21, u22, v11, v12, v21, v22.

4.    Express a 3D point, X, in the 3D plane (U11, U12, U21, and U22), using two parameters, e.g., X = a1µ1 + a2µ2 + a3. Apply this for the rest four planes.

(4)  Homography mapping:

1.    Derive and compute the homography per plane to the rectified image, i.e., sHplane1, sHplane2, sHplane3, sHplane4, sHplane5.

 µ1 

                  Hint: λu = KX  a                                                 Hplane  µ2 .

1

2.    Derive and compute the homography per plane to a target image of pure rotation about Y axis of the camera with 20 degree (tHplane1, tHplane2, tHplane3, tHplane4, tHplane5). Derive and compute the homography from the rectified image to the target image. Hint: tHs =t Hplane sH−plane1 .

3.    Derive and compute the homography per plane to a target image of pure translation along Z axis of the camera with 0.2d. Derive and compute the homography from the rectified image to the target image.

(4) Generate camera trajectory by interpolating rotation and translation (at least 5 discrete rotation and translation) and generate a video of navigation.

More products