Assignment #2 Image Transformation solved




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