doi:10.1016/S0097-8493(02)00274-1
Copyright © 2003 Elsevier Science Ltd. All rights reserved.
Correction and rectification of light fields
a Computer Science Department, Tsinghua University, Beijing 100084, China
b Microsoft Research Asia, No. 49 Zhichun Road, Beijing 100080, China
Accepted 27 November 2002. ;
Available online 18 February 2003.
References and further reading may be available for this article. To view references and further reading you must
purchase this article.
Abstract
The light field is a well-known image-based rendering technology. The traditional way to capture a light field is to move a camera on a plane and take images at every gird points. However, due to device defects it is hard to ensure that the captured light field is ideal. For example, the camera’s imaging plane is not on the image plane of the light field and the camera is not in the right position. To solve this problem we propose a correction and rectification framework that uses only four images. This framework involves un-distortion, feature point detection, homography computation to correct the orientation of the camera, and positional error correction. It is the first to take positional error into consideration. Our experiments show that our method is effective.
Author Keywords: Light field; Image rectification; Iteration; Feature detection
Fig. 1. The concept of light field and the correction and rectification problem. (a) The two-plane parameterization of the light field. (b) In the ideal light field, the imaging plane of the camera should keep on the image plane of the light field and the camera should be in the right position. (c) In practice, it is hard to make the imaging plane of the camera on a fixed plane and the camera may not be on the camera plane or at the grids precisely. In (b) and (c), the triangles represent the cameras and the dashed arrows are the optical axes of the cameras. The dashed lines in (c) illustrate the correct positions of the camera.
Fig. 2. The outline of our framework.
Fig. 3. The detection of independent feature points. (a) The original multi-ring marker. (b) The marker after a projective transform. (c) The contours are detected and be fit by ellipses. (d) The relative radii
of smaller circles can be computed by exploiting the preservation of cross ratio, where ellipse
AD is the outmost ellipse.
Fig. 4. The pattern with independent features and dependent features. On the left is the original pattern. All features in this pattern are numbered 0–24, from left to right, top to bottom. On the center is the pattern after a perspective transform. It is partially visible due to occlusion. Because more than four non-degenerate independent features are visible, all positions of visible features can be determined. On the right is the pattern after another transform. The features 0, 2 and 4 are visible independent features. Then features 1 and 3 can be found using the cross ratio. Similarly is feature 5 and 15. But the positions of features 6, 7, 8, 9 and 21 cannot be determined.
Fig. 5. The synthetic experiment to test our feature detection algorithm. (a) The virtual camera translates on the hemisphere with its optical axis pointing to the center of the hemisphere. (b) and (c) Patterns taken at different positions of the camera. The definitions of α and β can be found in (a). (b) α=−45°, β=−45°; (c) α=−90°, β=−75°.
Fig. 6. The relation between the errors (in pixels) and the position of the camera. Curves with circles denote the average errors of all detected feature points in x. Those with crosses are the average errors in y. Dashed ones with stars are the maximal errors of all detected features in x, and with dots are the maximal error in y. All 25 feature points are detected in every image tested here. (a) α=−45°; (b) α=−90°.
Fig. 7. (a) The light field capturing device. It is a vertical XY-table. The object inside the white box is a CCD camera. (b) The pattern used for un-distortion. The images are undistorted using this chessboard image before rectification.
Fig. 8. Errors over iteration. The vertical axes are the error in pixel, and horizontal ones are the times of iteration. Curves with circles denote the errors in x-coordinate, while those with crosses denote the errors in y-coordinate. The left figure is from synthetic data, which are not acquired via feature detection in Section 2.1. The right figure is from real images after feature detection. Due to the error of feature detection, the errors do not converge to zero.
Fig. 9. Positional error correction. The vertical axes are the error in pixel, and the horizontal ones are the columns or rows of the image. Curves with circles denote the errors in the first light field. Those with crosses denote the errors in the second light field. Those with stars denote the errors after subtraction. (a) Average error along x-axis and (b) average error along y-axis.
Fig. 10. The experimental results. The images in (a) and (e) are light fields after un-distortion and before rectification. Those in (b) and (f) are after rectification. (c), (d), (g) and (h) are the blown-up of the light fields before and after rectification. The horizontal and vertical lines are added to indicate the horizontal and vertical errors marked by ellipses.