A curve fitting method for extrinsic camera calibration from a single image of a cylindrical object

An important step in the process of optical steel coil quality assurance is to measure the proportions of width and radius of steel coils as well as the relative position and orientation of the camera. This work attempts to estimate these extrinsic parameters from single images by using the cylindrical coil itself as the calibration target. Therefore, an adaptive least-squares algorithm is applied to fit parametrized curves to the detected true coil outline in the acquisition. The employed model allows for strictly separating the intrinsic and the extrinsic parameters. Thus, the intrinsic camera parameters can be calibrated beforehand using available calibration software. Furthermore, a way to segment the true coil outline in the acquired images is motivated. The proposed optimization method yields highly accurate results and can be generalized even to measure other solids which cannot be characterized by the identification of simple geometric primitives.


Introduction
Although steel coils are big and heavy products, customers put very high demands on their quality. The surface quality is of interest particularly, as it is considered as an indicator for the state of the whole coil. When it comes down to detecting surface defects such as scratches, dents or packaging errors, optical inspection by a digital camera seems to be the first choice. The observed coils are cylindrical in good approximation and the images are acquired from a vantage point which lies on a line that is perpendicular to the axis of rotation and intersects the axis of rotation near the coil center. The coils typically have a diameter of about 1 m and weigh about 30 tons. The environmental conditions in the warehouse require the camera to be mounted in the vicinity of the coil Content from this work may be used under the terms of the Creative Commons Attribution 3.0 licence. Any further distribution of this work must maintain attribution to the author(s) and the title of the work, journal citation and DOI. surface and do not allow for the application of reference targets, markers or structured light.
This work is about measuring the proportions of width and radius of the coils as well as the relative position and orientation of the camera from single images. These quantities are commonly referred to as the extrinsic parameters. Together with the intrinsic camera parameters, they allow for removing high-grade geometric distortions from images of the coil surfaces, which mainly arise due to the bent cylinder surface in combination with the near vantage point of the camera and the necessary wide-angle optics. A series of undistorted acquisitions from all around the cylinder may then be stitched together to a single panoramic image of the coil surface. Several such overall images acquired at different stages of the logistics process allow for tracking the surface quality of a single coil.
In the related literature, the term camera calibration usually indicates estimating both the intrinsic and the extrinsic parameters at once. Classical calibration procedures utilize point correspondences of two or more images [1]. More recent approaches use just a single image containing one or more calibration targets of known geometry [2][3][4]. In [2], a single image of two coplanar circles is used to estimate the normal vector of the supporting plane as well as the coordinates of the circle centers and the focal length of the camera. An image of three balls is utilized to estimate the intrinsic camera parameters as well as the relative positions and sizes of the balls in the method proposed in [3]. In [4], linear constraints are derived from the duality between parallelepipeds and the intrinsic camera parameters in order to perform the calibration.
However, such calibration targets are not available in the acquisition process. Moreover, the mentioned methods incorporate just linear intrinsic camera models and do not account for the high-grade nonlinear radial distortion caused by the wide-angle optics. Compared to this, we strictly separate the estimation of the intrinsic and the extrinsic parameters. The intrinsic camera parameters are obtained beforehand using the Caltech Camera Calibration Toolbox for MATLAB [1]. This software uses point correspondences from an image series of a checkerboard pattern and yields a highly accurate estimate for the set of intrinsic parameters, also accounting for nonlinear distortion (section 2.3). The extrinsic parameters, which as opposed to the intrinsic parameters may vary with each acquisition, are estimated using the coil itself as the reference target.
To estimate the extrinsic parameters, our method attempts to fit a parametrized curve model to the true coil outline in the acquired image. Besides this, applications of curve fitting include live tracking of moving objects [5] and segmentation of images to simple geometric primitives [6]. Several approaches to parametric curve fitting have been proposed, which can be roughly divided into two main groups: voting/clustering and optimization methods [6]. Methods of the former group (e.g. the popular Hough transform [7]) are robust against outliers in the data set and allow us to fit multiple curves at once. However, they are usually not appropriate to fit curves depending on more than just a few parameters. As opposed to this, optimization methods allow us to fit just a single curve in one go, but in general they are clearly superior regarding memory consumption, speed and accuracy. These methods are often based on least-squares optimization and attempt to fit curves which depend linearly on their parameters (e.g. polynomial spline curves [8]) to a set of control points.
For the problem in hand, a method of the latter group is used. However, approximation of the coil outline using splines is not applicable, as these lack information about the extrinsic parameters. Therefore, a deterministic curve model of the coil outline which directly depends on the desired parameters is employed (section 2). The optimization method requires detected edge maps of the true coil outlines in the acquired images. These data sets of edge pixels have to satisfy specific constraints and can be obtained using classical edge detection methods (section 3). The proposed adaptive leastsquares approach requires control points at the detected true coil outline to which the modeled curve is fitted. As the dependence of the curve model on the parameters is nonlinear to a high degree, the least-squares problem has to be solved iteratively. The control points lying at the detected edge pixels are adapted to the actual curve parameters in each iteration step. Thus, the sought extrinsic parameters as well as the control points hopefully converge to the desired values with ongoing iterations (section 4).

The experimental acquisition setup
To be able to perform experiments under controllable conditions (section 5), an experimental acquisition setup (figure 1) has been constructed. It mainly consists of a cylindrically bent steel sheet (1) which is held in shape by two pivoted wooden plates and is driven by a three-phase induction machine (3). The steel coil replica has a diameter of 1 m and its rotational speed is steplessly adjustable. A rotary encoder, read out by a signal processing device, allows for the measurement of rotational speed and angular position and to trigger the camera at predefined angular positions. In the manner of the scheduled industrial setup, the cylinder rotates during image acquisition. The angular position and the rotational speed of the coil replica do not affect the curve model (section 2.1), but these quantities are used to evaluate further image processing algorithms (section 6). An AVT 1 Guppy F-146B camera equipped with a 3 mm wide-angle lens (2) is mounted on the top crossbar and acquires monochrome images with a resolution of 1280 × 960 px.
A poster with a plotted panoramic view has been wrapped around the cylinder ( figure 4(a)). This poster serves a dual purpose. First, there is a transition from a white to a black stripe on both the left side and the right side of the poster to simulate the edges of the cylinder. Due to design of the coil replica, the diameter of the wooden plates is slightly larger than the diameter of the bent steel sheet (figure 1). Thus, the edges of the cylinder itself cannot be used. Second, the poster provides a textured surface compared to the homogenous surface of the steel sheet. This is advantageous when evaluating the quality of geometrically undistorted images and when evaluating deconvolution algorithms which attempt to remove motion blur (section 6).

The curve model of the coil outline
The curve model is established in terms of a vector-valued function c(λ, ex , in ), where ex denotes the vector of extrinsic model parameters and in the vector of intrinsic parameters, respectively. The scalar value λ specifies a particular point at the curve in the image and the curve is traversed from start to finish when the curve parameter λ monotonically increases. Note that in the optimization process (section 4) the curve is fitted by varying the extrinsic parameters. The intrinsic parameters are assumed to be known and constant.
The modeling of the curve can be separated into two consecutive parts: a model e(λ, ex ) involving just the extrinsic parameters and a model i(e, in ) involving just the intrinsic parameters, whereas the normalized image plane (distance 1 between the focal point F and the image plane, figure 2) serves as an interface between the two of them. The function e maps a point from the modeled cylinder jacket to the normalized image plane and i maps a point from the normalized image plane to the real image sensor. The overall curve model c is then easily built as the function composition of i and e (section 2.4).
Note that the coil outline consists of four curve segments, whereby two of them carry information about the sought parameters. Thus, we will treat both these curve segments separately and establish two extrinsic mapping functions e 1 and e 2 , respectively (section 2.2).

The extrinsic parameters
A parameter vector which describes the shape of the coil and its relative position to the camera, i.e. to the optical center of the camera, in an unambiguous way has to be found. The coil is considered to form an ideal cylinder. Thus, it can be described by its radius, r, and width, w. The position of the camera has six degrees of freedom, namely the location of the focal point F = [F x , F y , F z ] T and the three angles of rotation α, β and γ . These parameters can be arranged as a vector with eight entries: The corresponding model is strongly related to the pinhole camera model [9] and is outlined in figure 2. The shown coordinate systems are defined as follows.
• The xyz-world coordinate system has its origin at the center of the cylinder and its y-axis is coaxial with the axis of rotation.
• The x y -coordinate system lies at the bent cylinder surface. Its origin is positioned at the intersection point of the positive z-axis of the world coordinate system with the cylinder. • The normalized image plane is described by its uṽ-coordinate system with the origin positioned at the point of intersection with a perpendicular line through the focal point F. Note that this coordinate system is rotated by 180 • as compared to the x y -coordinate system. This leads to a correction of sign regarding the inverted image caused by the imaging optics.
If we assume the surface of the cylinder not to be textured, then it is obvious that a rotation of the cylinder about its own axis does not affect the model, i.e. different rotational positions are indistinguishable. This fact allows the model to be reduced by setting F x to any value whose absolute value is smaller than the radius. For simplification, we define F x = 0 and further on we set F z = r + d, with d being the shortest distance between the focal point and the cylinder surface. The vector of extrinsic parameters is then composed of just seven elements and can be stated as

The extrinsic curve model
Considering the homogeneous surface of a steel coil, it is clear that only the contours contain information about the geometry and the camera position. Moreover, looking at the projected silhouette in the normalized image plane of figure 2, it can be verified that the desired information about ex lies just in the trends of the curve betweenp 1 andp 4 and the curve betweeñ p 2 andp 3 , which subsequently are referred to as the first and the second curve segments, respectively. The remaining two segments are just straight lines and thus can be neglected.
To establish the extrinsic mapping functions e 1 and e 2 for both curve segments, first consider an arbitrary pointp at the modeled coil surface given in x y -coordinates to be projected to the pointp in the normalized image plane using uṽ-coordinates. The projection can be derived as follows.
(i) Describe a given point at the coil surfacep x y = (x , y ) in the xyz-world coordinate system:p x y →p xyz . Note that besides the x y -coordinates ofp, this operation depends solely on the radius r. These steps result in the mapping depending on the coordinates x and y ofp and on all the extrinsic parameters of (2) except for the coil width w. It should be mentioned that there exist several ways to derive a similar mapping function, e.g. with the usage of different coordinate systems or different orders of rotation of the image plane. Here, we rotate about the z-axis of the world coordinate system (γ ) first, then about the x-axis (α) and finally about the y-axis (β). Considerations for the order of rotations are important to prevent the numerical parameter estimation from singularities, which may arise with some particular constellations [10]. Besides the first step, this procedure is a general one and may be applied also to solids other than cylinders. For example, a more accurate model for a steel coil would be that of an elliptic prism. In this case, the number of parameters would be increased by three: F x is no longer redundant and thus must not be neglected, the lengths of the minor and the major axes instead of just the radius emerge and an additional angle of rotation about the y-axis of the world coordinate system has to be considered.
For the curve segment models e 1 and e 2 , we are only interested in mapping pointsp lying at the borders of the cylinder jacket. From figure 2 it can be seen that the x -coordinates of all points at the first jacket border equal −w/2 and that the x -coordinates of all points at the second border equal +w/2. The y -coordinates of the border points may vary between the y -coordinates of the farthest seen corner points at the coil surface, which can be shown to bē with ψ = arccos(r/(d + r)). Note that the y -coordinates in (4) depend only on the coil radius r and the distance d between the focal point and the coil surface. Using x = ∓w/2 and writing the curve parameter λ instead of the y -coordinate in (3) directly yields the desired extrinsic mapping functions for both curve segments:

The intrinsic curve model
The next step to derive the overall curve model is to define a intrinsic mapping function i which approximates the aberrations from the ideal pinhole camera model caused by the imaging system. This function maps a point from the normalized image plane to the real image sensor with the uv-coordinate system commonly used for images (origin in the top-left corner). It depends on a pointp at the normalized image plane previously mapped by (5) and the vector of intrinsic parameters in . The parameters of in have to be chosen with respect to the various aberrations due to imperfect optics and image sensors. Our intrinsic model is strongly related to the one used by Heikkilä and Silvén [11] and implements the parameters There are two focal lengths f u and f v , measured in px, and the dimensionless skew factor s c to model parallelogram-shaped sensor cells. The coordinates of the principal point (u 0 , v 0 ) in px correct for sensor arrays misaligned to the optical axis. The coefficients for the radial distortions k 1 and k 2 and those for the tangential distortions t 1 and t 2 compensate for misaligned and imperfect optics. Since the corresponding corrective terms are applied directly to the normalized image, the distortion parameters are dimensionless, too. The radial distortion is probably most significant, especially when using a wide-angle lens.
Considering an arbitrary pointp = (ũ,ṽ) at the normalized image plane, its radial displacement (r) is modeled using the polynomial with r p = (ũ 2 +ṽ 2 ) 1/2 . The tangential distortion (t ) is approximated with By defining the camera matrix  and introducing homogeneous coordinates [12], the desired point p = (u, v) at the real image sensor can be calculated with the matrix multiplication Using just the first two lines of (10), the intrinsic mapping function is found: To estimate in , the Caltech Camera Calibration Toolbox for MATLAB by Bouguet [1] has been used, which utilizes grid point correspondences of images of a checkerboard pattern. For that purpose, a planar checkerboard calibration target containing a number of 19 × 13 fields, each field being 30 × 30 mm 2 large, has been produced. The toolbox has been fed 29 images of this pattern, all of them acquired from different positions. The intrinsic calibration results are summarized in table 1, whereby the specified error margins equal ±3σ each. Similar values of both focal lengths f u and f v as well as the low value of s c indicate nearly square sensor cells. The principal point (u 0 , v 0 ) is near the geometric center of the sensor and it is obvious that the radial distortion is much more significant than the tangential one. Figure 3 shows one original calibration image and the undistorted result using the estimated intrinsic parameters.

Merging the extrinsic and the intrinsic models
Finally, the complete curve models for the first and the second curve segments are derived as the function compositions (denoted by •) of i and e: In this context, an important concept is the one of the Jacobian matrix. In general, the Jacobian is the matrix of all first-order partial derivatives of a vector-or scalar-valued function: According to the chain rule of differentiation, the Jacobian of the overall mapping function c can be derived as the matrix multiplication of the Jacobians of the single functions i and e: Consider an arbitrary curve point p = c(λ, ex , in ) in our application. When determining the corresponding control point at the detected curve in the acquired image, we need a vector t pointing in the direction tangential to the modeled curve (section 4.2), which can be derived with Moreover, when estimating ex , the least-squares solver needs information about how the position of the corresponding point p in the acquired image changes when altering ex (section 4.3). This implies the calculation of

Detection of the true coil outline
The optimization process presented in section 4 requires the detection of the first and the second true curve segments of the coil outline in the acquired image. Beyond doubt, accurate image segmentation can be one of the most challenging tasks in digital image processing. In this section, we will give an idea of how we solved the problem for our particular application.
In industrial inspection problems, at least some measure of control over the environment typically is possible. This is also the case for our experimental setup (figure 1). For example, we know that the transitions from the black to the white stripes, which simulate the coil edges, exhibit maximum contrast, that they are located on the left and the right sides of the acquired image or that they have certain lengths and certain characteristic curvatures to name just a few. The assumptions concerning the coil replica are also applicable for field acquisitions from the warehouse, since the homogeneous surfaces of real coils in the acquired images appear bright as contrasted with the background scene and the camera position relative to the coil can be roughly adjusted. This prior knowledge basically leads to the following process (figure 4).
(i) Apply a Canny edge detector [13]. The Canny detector will leave lots of parasitic lines. Moreover, the resulting edges are not guaranteed to be thin in the sense that each detected pixel has a maximum of two N 8 -neighbors [7]. (ii) Thus, apply a thinning algorithm and break up edge crossings, so that only lines with one beginning and one end are left over. (iii) Reject lines that are shorter than a certain length limit. (iv) Analyze the trends of the remaining edges and break them up at points where the curvature exhibits a higher value than a certain threshold. If one or more such points have been found, then restart with step (iii), else continue with step (v). (v) Extract both significant lines from the remaining ones by comparing their trends to the expected characteristic curvatures, and separate them into the left and the right coil boundaries.
The success of the whole optimization process depends on reliable and accurate edge detection in step (i). Generally speaking, the results of the Canny edge detector improve when image noise and blur decrease. Therefore, in our experiments the f-number of the lens has been increased until the depth of field was large enough so that the level of edge blurring due to parts of the cylinder edges being out of focus was not significant to the detection problem. Also, note that even when the coil rotates, the simulated coil edges are not subject to motion blur ( figure 4(a)) and thus the detector is easily able to identify them as edges.
For the thinning in step (ii), the first algorithm presented in [14] has proved to be appropriate. This method guarantees connectivity and preserves end points of lines. When subsequently breaking edge crossings, it is presumed that no parasitic lines intersect with the two true coil outlines. This assumption holds for all acquisitions from the coil replica due to the high contrast between the white and black stripes. To fulfil this condition for acquisitions of real coils also, the background scene in the warehouse has to be prepared to be homogeneously dark.  The threshold for rejecting short lines in step (iii) has been chosen to be 640 px, whereby the length of a line is defined by the number of pixels it contains. This constrains the camera position to be adjusted such that the coils fill at least two-thirds of the height of the images.
Steps (iv) and (v) require the curvatures along the remaining lines to be determined. The curvature κ c of an arc of a circle a c depending on the chord d 1 and the length d 2 (figure 5(a)) can be easily shown to be The approximate curvatureκ c for a single element q i of a pixel chain can now be estimated by using the Euclidean distance between the pixels q i−l and q i+l asd 1 and by using the largest distance between any of the observed pixels and the connecting line between q i−l and q i+l asd 2 ( figure 5(b)). The positive integer value l determines the number of used pixels to estimate the curvature of q i and one has to compromise between the estimation accuracy and variance of the result when choosing it, whereby l = 10 turned out to be a reasonable value for our application. Figure 6 shows the normalized estimated curvature of the leftmost line seen in the interim result in figure 4(c). The three maxima indicating high curvature are clearly visible and can be easily identified. The three corresponding pixels are found by searching for maxima which have a higher normalized curvature than 0.9 and are eliminated in step (iv). After rejecting short lines again, the line between pixels 378 and 1229 will remain. The trend of the curvature of this remaining line ( figure 6) is characteristic for a true coil outline in that it has significantly high values in both the outer regions and remains approximately constant otherwise. Furthermore, it shows zero curvature for a few pixels in the middle area. These criteria identify this line as a true coil outline in step (v). The output of this procedure is both true coil outlines in the form of two pixel chains or in the form of two sets containing the coordinates of related pixels, respectively. Computing their centroids allows them to be identified as the first and the second true coil segments. In experiments, this method proved to detect the correct curve segments in more than 96% of the evaluated images.

Curve fitting
Given the curve model c and the detected outline of the coil, the basic goal of the curve fitting or parameter estimation step is to find a parameter vector ex , for which the curve model fits the detected true coil outline in the acquired image best.
Since just a single image is used, it is an inherent limitation not to provide as a result the absolute coil dimensions, but rather their proportions. Note that scaling all extrinsic parameters of length (d, r, w and F y ) by the same factor does not change the projection of the coil outline onto the image plane. Therefore, it is necessary to fix one of these parameters as an arbitrary scale factor when fitting the curve. If the true measures of length are desired, then one of these parameters has to be known. For our experiments, the width w has been predefined and fixed with the known value of 420 mm (section 5). In many applications, such as removing geometrical distortions, the knowledge of relative proportions may be enough, though.
The estimation of the extrinsic parameter vector ex is not trivial. Solving the curve fitting problem by minimizing the squares of certain residuals seems to be the first choice. Hence, when defining model points at the edges of the modeled coil in terms of ex , the question where to find the corresponding control points at the detected true coil outline arises.

Defining the model points
A certain number of n model points each at the first and the second curve segments of the coil model is defined, spaced equidistantly between the farthest seen corner points ( figure 2). This gives a number of 2n model points in total.
As was shown in section 2.2, the curve parameter λ can be altered between −ψr and +ψr to traverse the whole curve models c 1 and c 2 , respectively. Thus, the model points on both segments can be summarized to the model vector using for i = 1, . . . , n. The model vector then consists of 4n scalar entries, having 2n points in total with two coordinates per point.
One may argue that points in the outer region of the modeled curve segments are more sensitive to a variation of ex than those in the middle and thus are more significant to the parameter estimation problem. This may be worth considering to obtain comparable results with a smaller number of model points when calculation time is critical for some special applications. In our experiments, a number of 2n = 20 model points turned out to be reasonably many (sections 5.2 and 5.3).

Finding the control points
Obviously, the corresponding control points for each model point lie at the detected true coil outline in the acquired image. They can be determined in the following way (figure 7).
(i) Establish a line g 1 passing through the model point p m and being perpendicular to the modeled curve, using the tangential vector t derived in (15). (ii) Calculate an estimate of the control point p c as the intersection of g 1 with the corresponding detected curve.
Since on the one hand, line g 1 is derived analytically and on the other hand, the detected line is given as a set of pixel coordinates, calculating the intersection is not straightforward. The easiest way would be to search for the pixel with the shortest distance to g 1 within the detected pixels of the Figure 7. The coil model depends on the parameter vector ex in the current iteration step. Line g 1 is perpendicular to the projected line and passes through the predefined model point p m . Line g 2 is determined by the two pixels q 1 and q 2 of the detected line which are closest to g 1 . The intersection g 1 ∩ g 2 is considered as the corresponding control point p c and the squared components of the distance vector d are intended to be minimized. corresponding true coil outline and take it as the estimated intersection point. A more precise approach is to take the two closest pixels q 1 and q 2 and interpolate a line g 2 through them. The estimated control point p c can then be calculated as the intersection g 1 ∩ g 2 .
When the control points for all model points are determined, they can be summarized to the control vectorm using the corresponding order for its entries as was used for the model vector (18).

The adaptive least-squares problem
It is clear that a mathematical model can only be an approximation of the real world. Furthermore, systematic errors arise from the camera calibration procedure and the representation of the detected true coil outline as a set of pixel coordinates is subject to quantization errors.
This and the fact that there is an arbitrary number of measurements available (depending on the chosen number of model points) in contrast to the number of unknown parameters suggest a solution in the least-squares fashion. The leastsquares problem can be stated as [15] and is called the vector of residuals.
As the dependence of the model vector m on ex is nonlinear to a high degree, no closed solution exists to (20). Nevertheless, it may be solved with any of the several prominent iterative algorithms available (Gauss-Newton, Levenberg-Marquardt [16] or trust-region-reflective, to mention a few).
Furthermore, it is important to note that the problem has to be solved adaptively. Adaptive in the sense that besides the model vector m, even the control vectorm has to be recalculated in each iteration step. With ongoing iterations, the control points inm as well as the parameters ex converge asymptotically to the sought values. As a result, the control vector cannot be decoupled from the model vector. This has to be considered, for example, when using MATLAB. Here, the option to approximately derive the Jacobian between two iteration steps cannot be used with the implemented algorithms. Instead, the Jacobian (16) has to be calculated explicitly.

Analysis of the least-squares problem
Most of the iterative solving algorithms are based on a linearization of the nonlinear problem in each iteration step. This linearized problem can be stated briefly as [15] Ah with A = J ls , b = −r and h being the step size ex of the parameter vector in the current iteration step. It can be shown that the system matrix A of rank r A can be decomposed into which is commonly known as the singular value decomposition. U and V are orthogonal and S is a diagonal matrix, containing the r A singular values s i in descending order. The condition number of A is defined by dividing the highest (s 1 ) by the lowest (s r A ) magnitude singular value. For a high condition number, the problem is ill-conditioned and for a condition number near 1, the problem is well-conditioned. Besides highly interdependent or even redundant parameters, different scaling is the main reason for a bad condition of A. As a result, κ(A) depends on the chosen units of measurement for the parameters of length. Thus, it is better to consider the transformed problem [15] Ah ∼ =b, with the transformation h = Hh to extinguish the influence of parameter scaling. A possibility to derive a corrective scaling matrix H is to compose the diagonal matrix with a j being the columns of A.
As a rule of thumb, the condition number of the transformed system matrix should satisfy [17] κ(Ã) < 100 to obtain reliable results. If again too large a condition number results, then one might begin from scratch by improving the model or reducing it.

Experiments
For all presented experiments with the coil replica, the width of the coil model has been predefined with the known value w = 420 mm as a scale factor to obtain results comparable to the known radius of about 500 mm. All least-squares optimizations were performed using the trust-region-reflective algorithm implemented in MATLAB.  and the norm of the residual at this last step is ||r R || = 1.25 px. The solver required 0.42 s to finish on an i7-2600 CPU @3.4 GHz.
Using the result ex,97 , the singular value analysis is shown in table 2. There is no singular value which equals zero and the condition number κ(Ã) = s 1 /s 6 ≈ 14.7 satisfies (27).
High absolute values in the columns of v i with corresponding low singular values hint at parameters which have similar influence on the system [17]. Specifically, looking at the two vectors v i with the lowest corresponding singular values 0.11 and 0.599 in the rightmost columns of table 2, it can be seen that the parameter pair F y and α as well as the pair d and r have a similar influence on the projection of the coil at the image plane each. The former becomes clear when it is considered that altering α means a rotation of the normalized image plane around the x-axis of the world coordinate system (figure 2) and the latter reflects the scaling property of both d and r. However, since none of the singular values equals zero, these parameters are still clearly distinguishable.
The fact that the estimated radiusr ≈ 499.11 mm is near the nominal value of r = 500 mm, the minor norm of the residual, the good condition of the linear problem in the proximity of the solution and last but not least a visual inspection of figure 8( f ) let us conclude a successful parameter estimation with a promising result.

Region of convergence
The least-squares minimization is not guaranteed to converge to the desired solution as the iteration process may be trapped into a local minimum. In such a case, the curve fit is not successful and the estimated parameters are not an approximation of the real measures. This is typically indicated by a large value of the norm of the residual (21).
In this context, the region of convergence (ROC) is the set of initial parameter vectors for which the least-squares solver converges. Our experiments showed that the ROC significantly depends on the number of chosen model points. To illustrate this fact, the acquisition of the experimental setup shown in figure 9 has been evaluated with varying initial parameters.
is shown. The first and the second modeled curve segments are drawn solid and the remaining two curve segments (which carry no information about ex ) are drawn dashed for reasons of completion.
The other four outlines shown in figure 9 in the edge regions of the image are attributed to a similar parameter vector. However, instead of α = β = 0 rad, α = ±0.7 rad and β = ±0.3 rad are used for these. A different value from 0 rad for α means a rotation of the normalized image plane about the x-axis of the world coordinate system (figure 2) and thus a movement of the coil outline to the left or the right in the acquired image, respectively. Similarly, a variation of β moves the modeled coil outline up or down.
For illustration of the ROC, the angle α of the initial parameter vector (30) has been altered between ±0.8 rad and β has been altered between ±0.5 rad in steps of 0.1 rad. Figures 10(a) and 10(b) show the centers of the corresponding initial modeled coil outlines for a number of 2n = 10 and 2n = 20 chosen model points, respectively. The centers of initial coil outlines due to initial parameter vectors for which the least-squares solver converges are marked with circles, and those for which the least-squares solver does not converge are marked with crosses. It is evident that the ROC is more sensitive to a variation of β than it is to a variation of α and that increasing the number of model points also increases the ROC. Thus, one has to compromise between robustness of the optimization and computation time when choosing n.

Estimation accuracy
To validate the estimation accuracy for different numbers of model points 2n, a comparable measure must be defined. The norm of the residual is not directly applicable, as the number of elements of the vector of residuals (21) increases with 2n.  (31) Figure 11 shows evaluated mean distances using (31) versus the number 2n of model points used for optimization. The parameters were estimated by using the image of figure 9. Theoretically, optimization is even possible with 2n = 4. However, from the graph it is evident that at least 2n = 10 is required for reliable results and that from 2n = 20 the mean distance levels off at about 0.32 px.

Evaluating an image series
To analyze the overall performance for different acquisitions, a set of 19 images has been evaluated, all of them acquired from different positions. The extrinsic parameters have been estimated using 2n = 20 model points each. The mean computation time for the coil outline segmentation step was ∼1.56 s and for the optimization step ∼0.39 s. This gives an overall mean computation time of ∼1.95 s.
The arithmetic mean of the estimated radii is r ∼ 499.31 mm and the empirical standard deviation yields σ r ∼ 0.905 mm. Assuming the estimated r i to be independent and identical Gaussian distributed [18], it can be stated that ∼95.45% of all estimations reside in an interval of ±2σ r /r ≈ ±0.36% around r.

Conclusion
A method to measure the proportions of lengths of a cylindrical steel coil and the position and orientation of the camera from a single acquisition has been presented. To do so, neither a reference nor a calibration target is necessary, but some prior knowledge about the geometry of the coil and the availability of the intrinsic camera calibration parameters are required. The study proposes a general method of modeling the coil by using a normalized image plane as an interface to the intrinsic camera model. Furthermore, an algorithm to detect the contours of the coil has been motivated by way of example for our special application. It has been shown how to perform the final parameter estimation step by adaptively solving a nonlinear least-squares problem and a general way of analyzing this problem by singular value analysis has been suggested. The outcomes of the experiments indicate that one can expect reliable results for a large number of parameters, that the iterative algorithm is robust concerning ill-defined initial parameters and that the whole process can be carried out within a reasonable amount of time.
In further studies, the true coil outline segmentation method may be improved regarding speed and reliability. Specifically, machine learning algorithms may be applied as soon as sufficient field training data are available. Additional work concerning the industrial application is still in progress. As the steel coils rotate during acquisition, the images are subject to motion blur. As soon as the images are geometrically undistorted, the underlying process can be assumed to be linear and space-invariant. Thus, classical deconvolution methods are applicable to remove motion blur. Moreover, several stitching algorithms are currently evaluated to put a series of undistorted images from all around the coil together to an overall panoramic image. Finally, it is required to find reliable detection algorithms to determine surface defects.