Method for recovering radial distortion parameters from a single camera image

Abstract: In a computerized method, a set of radial distortion parameters are recovered from a single image by selecting arbitrarily oriented straight lines in a single image using an input device. Then, objective functions in Cartesian form are minimized using a least-squares fit formulation to recover the set of radial distortion parameters.

Description: FIELD OF THE INVENTION The invention relates generally to the field of computerized image processing, and more particularly to processing non-linearly distorted images. BACKGROUND OF THE INVENTION Computerized image processing applications that require 3-D modeling of large scenes, or image compositing of a large scene typically use images acquired by cameras with wide fields of view. Images taken with cameras having wide fields of view suffer from non-linear distortions due to simplified lens construction and lens imperfections. In such images, distortion effects can be removed by calibrating the camera and subsequently undistorting the input image. Distortion can also be present in images taken through other types of lenses. In general, there are two forms of distortion, namely radial distortion and tangential distortion. In many cases, the recovery of camera parameters is disconnected from the process which detects distorted features in an image. Although this does not present a problem when feature detection is correct, directly linking the feature detection to parameter estimation can result in a more efficient and complete recovery, especially in the presence of noise. There has been significant work done on camera calibration, but many known methods require taking images of specific calibration patterns with exactly known dimensions. There is a class of work done on calibrating the camera using the scene image or images themselves, and possibly taking advantage of special structures such as straight lines, parallel straight lines, perpendicular lines, and so forth. In one prior art method, a minimum vanishing point dispersion constraint is used to estimate both radial and tangential (decentering) lens distortion. However, there the user has to manually group parallel "calibration" lines together. In another known method, a number of parallel plumb lines are used to compute the radial distortion parameters using an iterative gradient-descent technique involving a first order Taylor's expansion of a line fit function. Points on the parallel plumb lines are manually extracted. Such a process can be time consuming; for example, measuring 162 points from horizontal lines and 162 points from vertical lines may take several hours. Another method uses point correspondences between multiple views to extract radial distortion coefficients. There, epipolar and tri-linear constraints are used, and a search is performed for the amount of radial distortion that minimizes the errors in these constraints. Photogrammetry methods usually rely on using known calibration points or structures, for example, using plumb lines to recover distortion parameters, or corners of regularly spaced boxes of known dimensions for full camera calibration. A more flexible known arrangement requires that all points used for the calibration are coplanar, and that there are identified horizontal and vertical points among the calibration points. Projective invariants can also be used to recover radial distortion coefficients. In other image processing applications unrelated to distortion correction, such as the tracking of human facial features, and the reconstruction of objects using cells, active deformable contours, herein referred to as "snakes," have been used to outline features in images. The various forms of snakes include the notion of "inflating contour" to reduce sensitivity to initialization at the expense of an increased number parameters, or using an "active contour." In these methods, the snakes, some of which may be parameterized, are generally independent of each other. It would be advantageous to recover distortion parameters (K) from a single image without prior knowledge of the camera parameters. It would also be a further advantage when the recovery can be done directly from any image. In Prescott B. et al. "Line-Based Correction of Radial Lens Distortion", Graphical Methods and Image Processing, Vol. 59, 1997, pgs 39-47, a fully automated computerised parameter recovery method is described, that requires a set of calibration images of known linear features before the radial distortion can be quantified. No provision is made for the manual verification of selected linear features detected using the line detection algorithms. SUMMARY OF THE INVENTION Provided is a computerized method for recovering a set of radial distortion parameters from a single image taken by a camera. Arbitrarily oriented straight lines in a single image are selected using an input device, for example, a mouse or a keyboard. The invention in its broad form resides in a computerized method of recovering a set of radial distortion parameters from a single image taken by a camera, as recited in claim 1. In a preferred embodiment described hereinafter, lines closer to horizontal are rotated to be horizontal, and lines closer to vertical are rotated to be vertical. The lines are rotated about a principal point in the image. Objective functions describing the rotated lines are minimized using a least-squares fit formulation to recover the set of radial distortion parameters. Preferably, the lines are selected by a plurality of discrete points. In another aspect of the invention, the lines are selected by drawn "snakes," or deformable contours. Prior to selecting the lines, the image can be blurred. Blurring improves the detection of high contrast edges to which the snakes are moved. During the minimization, the snakes can move independent or dependent of each other, and the magnitude of the movement of the snakes can be proportional to a local intensity gradient of a nearest detected edge. BRIEF DESCRIPTION OF THE DRAWINGS A more detailed understanding of the invention can be had from the following description of a preferred embodiment, given by way of example and to be understood in conjunction with the accompanying drawing wherein: Figure 1 is a block diagram of a computer system which can use the distortion recovery method of a preferred embodiment of the present invention; Figure 2 is a diagram of a distorted image with selection points; Figure 3 is a flow diagram of a process for recovering radial distortion parameters according to a preferred embodiment of the invention; Figure 4 is a diagram of the distorted image with selection snakes; Figure 5 is a flow diagram of a process for recovering parameters using two types of snakes; Figure 6 is a flow diagram of a process of using estimated radial distortion parameters to move radial distortion snakes; and Figure 7 is a diagram of a corrected image. DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT System Overview Figure 1 shows a computer system 100 connected to a camera 10 having a lens 11. The computer system 100 is also connected to a display device 20, a keyboard 30, and a mouse 40. When the camera is to acquire images of a large scene, the field of view of the lens will be wide leading to distorted images. However, other types of lenses may also produce distorted images which can be corrected as disclosed herein. The system 100 includes one or more processors (P) 110, memories (M) 120, input/output interfaces (I/O) 130 connected to each other by bus lines 140. During operation of the system 100, a single image of a scene 14 is acquired by the camera 10. For example, the scene 14 is a view of a corner of an office having a black board on one wall, and a door in an adjacent wall. The image is stored in the memories 120 of the system 100 as a single digitized frame 121. Typically, the frame 121 includes a plurality of pixels 122 arranged in a regular pattern. The pixels 122 encode measured color or grey-level values representative of the scene 14 imaged by the camera 10. Computerized processes 123, described in greater detail below, are also stored in the memories 120 as instructions and data of software programs written in, for example, the C language. The programs operate under the control of an operating system, for example, UNIX ™. The instructions of the programs manipulate the pixel data to recover radial distortion parameters due to lens construction. The distortion parameters can be used to correct the distorted image. The processes 123 are interactively initiated by a user of the system 100. The user operates the processes 123 with the keyboard 30 and/or the mouse 40 while viewing a projected image 21 on the display device 20. Introduction As a brief introduction, three interactive methods are presented. In these three methods, the user selects, using for example the mouse 40, arbitrarily oriented straight lines in the projected distorted image 21. A first method is the most direct: manually chosen discrete points on straight lines are used to compute the radial distortion parameters. The second and third methods allow the user to draw "snakes" on the image. Each snake approximately corresponds to the projected lines. The snakes are drawn along strong, i.e., high contrast, edges subject to regularization. The difference between the second and third method is the behavior of the snakes. In the second method, the snakes behave like independent snakes as have been used in other unrelated image processing applications, e.g., facial feature tracking, and object reconstruction. In the third method, the behavior of the snakes is globally connected via a consistent model of radial distortion. Therefore, these snakes are called radial distortion snakes. Experimental results show that the third method which uses radial distortion snakes is the most robust and accurate. This can be attributed to the direct link of edge fitting to the radial distortion parameters. In the simpler first and second methods, the process of locating edges is done independent of radial distortion parameter estimation. Lens Distortion Before detailing the three interactive calibration methods, a model for describing lens distortion is described. In essence, there are two kinds of lens distortion, namely radial and tangential (or decentering) distortion. Each kind of distortion can be represented by an infinite series, but generally, a small number is adequate. In general, the model used herein is the same as the model for radial distortion which has been adopted by the U.S. Geological Survey. It is well known that lens distortion can generally be expressed as: where (x u , y u ) is the theoretical undistorted image point location, (x d , y d ) is the measured distorted image point location, X d = x d - x p , Y d = y d - y p , (x p , y p ) is the principle point, and Rd =X d 2 + Y d 2 . The principle point is where the optical axis of the camera intersects the image plane. Accordingly, in the preferred embodiment, the value of (x d , y d ) is equated to center of the image, and decentering distortion coefficients are assumed to be zero, i.e., P 1 = P2 = ... = 0. This reduces the series expansions for (x u , y u ) to: In the calibration methods, each of which using only a single image, the user first indicates the locations of projected straight lines in the scene; the radial distortion parameters are then automatically determined. Method 1: Using User-Specified Points The first method comprises two stages: a stage where the user selects points on arbitrarily oriented straight lines by clicking directly on the projected image using the mouse 40, and another stage where the camera radial distortion parameters are determined using a least-squares formulation. As shown in Figure 2, the projected view 21 of the scene 14 has a substantial amount of radial distortion due to the wide field of view of the lens 11. The principle point 210 in the projected image 21 is marked with the symbol "x." The user selects multiple points 201 along arbitrarily oriented lines known to be straight, for example, the blackboard molding and the door frame. The points 201 can be selected by clicking the mouse 40 or the cursor keys of the keyboard 30. After the lines have been selected in step 310 as shown in Figure 3, the non-linear radial distortion parameters are recovered by minimizing an objective function: where (x ij , y ij ) are the coordinates of points in the distorted input image, N is the distorted input image, N 1 is the number of lines, N p,i is the number of points selected in line i, ( i , ρ i ) is the parametric line representation for line i, L is the number of radial distortion parameters to be extracted, and R ij = x ij 2 + y ij 2 . To get a closed form solution, the objective function is recast in Cartesian form: for lines whose inclinations are closer to the horizontal axis (330), and as: for lines whose inclinations are closer to the vertical axis (335). The choice between ε 1 and ε 2 is made based on the slope of the best fit line through the set selection points (320). Step 330 takes the partials of the recast objective functions to yield values for parameters m n , c n , and S n (f) for lines closer to being horizontal, and parameters m' n , c' n , for lines closer to being vertical in step 335. The (m n ,c n ) and (m' n , c' n ) representation can be converted back to the radial form, e.g., ( n , ρ n ) of the objective function Eq 2 in step 340, from which the κ l 's can be directly recovered in step 350. Step 350 is described in greater detail below for Method 3 where the ( i , ρ i )'s are known. The κ l 's can be found by solving a set of simultaneous linear equations: with m = 1, ..., L, and g ij =cos i x ij + sin i y ij For the special case of estimating only one radial distortion coefficient, i.e., L = 1: κ 1 = H 1 - G 1 G 2 For the case of two radial distortion coefficients, i.e., L = 2: Although Method 1 requires a manual selection of individual points, which may be tedious, the extracted radial distortion parameters κ i can be reliable when multiple points are carefully chosen. In Method 2 and Method 3, as shown in Figure 4, the mouse 40 is used to "follow" or draw curves (snakes) 401 over what are known to be projected straight lines. Better results can be obtained when the projected straight lines being followed have strong or high contrast edges. As an advantage over Method 1, here the snakes 401 do not need to be carefully drawn to follow the selected horizontal and vertical lines. After the snakes have been drawn, Method 2 method reshapes the snakes to follow or "stick to" the edges. The radial distortion parameters are then based on the final configuration of the snakes. The difference between Methods 2 and 3 is in the behavior of the snakes 401. In Method 2 the snakes move independently, and in Method 3 the snakes 401 move in a globally dependent manner. As shown in Figure 5 for the both Method 2 and Method 3, arbitrarily oriented straight lines are selected in step 510. The input image 121 is blurred in step 520 to remove high frequency changes which may prevent a snake from being attracted to a strong edge when the edge is sufficiently far away from the initial snake configuration specified by the user. This step is also performed for Method 3. Method 2: Using Independent Snakes In Method 2, the motion of the snakes from their initial to final configuration is based on two factors: motion smoothness (due to external forces), and spatial smoothness (due to internal forces). Given the original configuration of each snake 401, a point p j on the snake 401 incrementally moves towards a nearest detected edge, e.g., one of the selected horizontal or vertical lines. Therefore, in step 530 the nearest edge is detected and the snake is moved. The amount of incremental movement δp j is given by: where N j are pixels at and in the neighborhood of point p j . The value of δp edge is the determined motion of the ith point towards the nearest detectable edge. The magnitude of movement, unless close to zero, is generally inversely. proportional to the local intensity gradient. If the motion is negligible as determined in step 540, then the distortion parameters are recovered in step 550 using the least-squares formulation as described for Method 1. The values µ jk are the weights of neighboring pixels.. The value of κ is set according to the emphasis on motion coherency and spatial smoothness. In the preferred implementation, the values of N j are all equal, and the radius of the neighborhood is five pixels. The weights µ jk of the neighborhood points can be selected from a set {1, 2, 4, 8, 16, 32, 16, 8, 4, 2, 1), with the weight 32 being the central point. Note that a very simplistic version of snake movement is implemented here. The intent is to compare the effect of having snakes that operate independently of each other with snakes that act in a globally consistent manner, as described for Method 3 below, given the constraints of the types of curves that the snakes are collectively attempting to seek. Method 3: Using Radial Distortion Snakes Independent snakes may have the problem of getting stuck on incorrect local minima. This problem can be reduced by imposing more structure on the movement of the snakes, namely, making the shapes of the snakes consistent with the expected distortion of the selected lines, i.e., arc-like. For this reason, snakes which move in a dependent manner are called radial distortion snakes. Ignoring asymmetric distortions due to tangential distortion and a non-unit aspect ratio, the complexity of the original objective function (Eq 2 above) can be reduced by considering the fact that the effect of radial distortion is rotationally invariant about the principal point. As shown in Figure 6, Method 3 includes, after the lines have been selected and the image has been blurred, the following steps: 1) Rotate each snake so that the best fit line (using Eq 3 or 4) is horizontal (step 345). Let the angle of this rotation be α i for the ith snake. 2) Estimate a best fit set of radial distortion parameters κ 1 , ..., κ L from the rotated set of lines. 3) Find the expected rotated distorted point p j =(x j , y j ) whose undistorted version lies on a horizontal line in step 620, i.e., Given initial points (x j 0 , y j 0 ) take x j =x j 0 and iteratively determine yj from: until the difference between successive values of x j (k) is negligible. 4) Update points in step 630 using current best estimate of κ's and edge normal. In other words, the point p j is updated based on: p j new = η p j kappa + (1 -η)p j normal with 0 ≤ η ≤ 1, p j normal is the expected new position of the snake point using Method 2 described above. For the ith snake, the value p j kappa is obtained by rotating the value of p j , as determined in the previous step, about the principal point by -α i (step 640). 5) Iterate all the above steps until the overall mean change is negligible, or alternatively for a fixed number of iterations yielding an acceptable undistorted image 700 as shown in Figure 7. In Eq 13, η = 0 is equivalent to moving the points according to the snake behavior as described for Method 2, as a function of edge normal, edge strength, smoothness, and continuity, while η = 1 is equivalent to moving to a position consistent to the current estimated radial distortion. Setting η = 1 slows convergence of the snakes to the projected straight lines which they are trying to seek, in some cases the snakes may converge to a wrong configuration. In general, η may be time-varying, for example, starting with η = 0 and gradually increasing η to 1. In the preferred embodiment, the time-varying value of η is a linear function from 0 to 1 over the selected number of iterations. Results Table A gives a comparison of radial distortion parameters κ 1 and κ 2 for the three calibration methods used on a real image of the office scene shown in Figures 2, 4, and 7. Method κ 1 κ 2 Individual Points 2.93 x 10 -7 7.10 x 10 -12 Independent Snakes -5.30 x 10 -7 1.58 x 10 -11 Dependent Snakes 5.47 x 10 -7 3.55 x 10 -12 Although there is a significant difference between the sets of radial distortion parameters, observed undistorted images are substantially similar. For some images, dependent radial distortion snakes appear to converge to a more optimal local minima than independent snakes for the same snake initialization, seemingly making dependent snakes more tolerant to errors in snake initialization, e.g., placement, by the user. Comparison of Methods Method 1 of manually picking discrete direct line points, as an advantage, is the simplest to implement and understand. However, this method is more burdensome to the user since points should be carefully selected. This is because the user-designated input locations are used directly in the radial distortion parameter estimation step. It is possible to add the intermediate process of automatic local edge searching and location refinement, as described for Figure 5, but this may be a problem in an image of a complicated scene with many local edges. Of the two snake methods, dependent (radial distortion) snakes give better results. It can be observed that radial distortion snakes find best adaptation according to best global fit to radial distortion parameters. Radial distortion snakes appear to have fewer false local minima in comparison to independent snakes, and are less prone to being trapped in bad local minima. At every step of Method 3, the radial distortion snakes act together to give an optimal estimate of the global radial distortion parameters and deform in a consistent manner in approaching edges in the image. In comparison, each snake of Method 2 is locally adaptive and is independent of all the other snakes in the same image. The independent snakes are not specialized.

Claims: A computerized method for recovering a set of radial distortion parameters from a single image of a scene (14) taken by a camera (10), comprising the steps of: using arbitrarily oriented lines in a single projected image (21) of said scene selected (310, 510) by a user using an input device (30, 40), said lines in the single projected image corresponding to features that are known to the user to be linear in said scene; and automatically minimizing objective functions describing the selected lines in the single projected image using a least-squares fit formulation to recover the set of radial distortion parameters. The method of claim 1 wherein the objective functions describing the selected lines in the single projected image (21) are expressed in radial form, and the step of minimising includes: converting (330, 335) the objective functions to Cartesian form; determining a least squares fit for the selected lines; and converting (340) the least squares fit to radial form to recover the radial distortion parameters. The method of claim 1 wherein the lines are selected by a plurality of discrete points (201). The method of claim 1 wherein the lines are selected by drawn deformable contour "snakes" (401). The method of claim 4 wherein the single image (14) is blurred (520) prior to minimising the objective functions. The method of claim 5 wherein the minimising step includes: determining (530) a nearest detectable edge for each snake; moving (560) the snake to follow the nearest detected edge; and determining (550) a least squares fit for the moved snake. The method of claim 6 wherein the movement of each snake (401) is independent of any other snake. The method of claim 6 wherein the movements of the snakes (401) depend on each other and the movements of the snakes are subject to a global radial distortion constraint. The method of claim 6 wherein the magnitude of the movement of the snakes (401) is inversely proportional to a local intensity gradient of the nearest detected edge. The method of claim 6 wherein the snakes (401) are rotated (640) about a principal point of the image to eliminate a coefficient.

Inventors: KANG SING BING, KANG, SING BING
Applicants: COMPAQ COMPUTER CORP, COMPAQ COMPUTER CORPORATION
Application year: 1998
Main classification: G06T5
IPC codes: G06T3, G06T5