Next Article in Journal
High-Frequency Coupled-Resonator CMUT with Stepped Cavity for Enhanced Sensitivity and Bandwidth in Acoustic Emission Detection
Previous Article in Journal
Moody Revisited: Least-Squares Solutions of the Union Jack Surface Plate Measurement Method
Previous Article in Special Issue
Quantifying the Performance of Distributed Large-Volume Metrology Systems for Dynamic Measurements: Methodology Development
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Eccentricity Correction Methods for Circular Targets in Perspective Projection †

Institute of Photogrammetry and Remote Sensing, Technische Universität Dresden, 01062 Dresden, Germany
*
Author to whom correspondence should be addressed.
This paper is an extended version of our published paper Eccentricity Correction Methods for Circular Targets in Perspective Projection. In Proceedings of the Optical 3D Metrology (O3DM) Workshop, Brescia, Italy, 12–13 December 2024. https://doi.org/10.5194/isprs-archives-XLVIII-2-W7-2024-65-2024.
Metrology 2026, 6(2), 28; https://doi.org/10.3390/metrology6020028
Submission received: 27 January 2026 / Revised: 15 April 2026 / Accepted: 17 April 2026 / Published: 20 April 2026
(This article belongs to the Special Issue Advances in Optical 3D Metrology)

Abstract

In a perspective projection, a circular target appears as an ellipse for an oblique view. Herein, the ellipse center obtained from image coordinate measurement operators differs from the projection of the circle center. This discrepancy is called eccentricity and may lead to systematic errors. This article documents the significance of these discrepancies and discusses five different correction methods that can be applied in the image space or as a model adaptation. Two of the methods include the determination of the circle radius and thus also offer a possibility to define the scale. The eccentricity correction procedures are validated in a series of experiments, which proved that even extreme eccentricity effects can be fully compensated. In the experiment on the approaches including scale determination, the precision and accuracy of the scale definition is investigated, obtaining relative accuracies of 0.5–1%.

1. Preface

This is a widely extended version of an article [1] that appeared in the proceedings of the ISPRS Archives Volume XLVII-2/W7-2024. It is submitted to Metrology upon invitation by the conference organizers. The explanations of the proposed circular target eccentricity correction methods shown in Liebold and Maas [1] were extended by the corresponding algorithmic schemes. In addition, another method was added, wherein a bundle adjustment is conducted with ellipse contour points. Results obtained by this method are also shown in the experimental part. Beyond this, a further experiment with a non-planar test field was conducted, and a new experiment for the accuracy analysis of the scale definition by target radii was performed. Furthermore, a section about the normal estimation with concentric circle targets has been added in the Appendix A. Table 1 gives an overview of the changes.

2. Introduction

In photogrammetry, circular targets are often used for high-accuracy 3D object point coordinate determination applications due to the good contrast and the very high accuracy potential of well-established target coordinate measurement operators (Luhmann et al. [2]). In non-perpendicular views, a circle appears as an ellipse in image space when it is mapped in a perspective projection. Mathematically, this can be seen as a conic section of an oblique cone. In this projection, the center of the ellipse differs from the projection of the circle center. This deviation is called eccentricity, and it will lead to systematic measurement errors if the effect is not taken into account [3].
Figure 1 illustrates the circle projection onto an image from an oblique view, where the discrepancy between the ellipse center and the projected circle center is depicted.
One possible method for avoiding eccentricity errors was developed by Andresen and Helsch [4]. They introduced the image ellipse contour points as observations in their bundle adjustment instead of the ellipse centers and, thus, did not have conflicts with discrepancies to the projected circle centers.
When using the standard pinhole model, the error can be minimized by the usage of small target sizes, nearly perpendicular viewing directions and large target-to-camera distances. However, these measures may be in conflict with requirements of photogrammetric network design principles aiming at maximizing accuracy. Dold [5] proposed a simple expression for the eccentricity using a 2D scheme. He also computed a simulation to analyze the influence on the parameter estimation in a bundle adjustment. He observed a slight influence on the residuals and the object coordinates, but a higher influence on the interior and exterior orientation parameters. Heikkilä and Silvén [6] presented a four-step calibration procedure, including a direct linear transformation and a compensation of the eccentricity of circular features. A 3D extension to Dold’s expression was given by Ahn et al. [7]. They also discussed the eccentricity correction with known radii and normals of the circles. Otepka and Fraser [8] proposed an extended bundle adjustment, which took the eccentricity into account, in which the implicit parameters of the image ellipses were used as observations, and in which circle radii as well as normals were introduced as unknowns. Wrobel [9] also considered the perspective projections of circular targets and discussed three different approaches for their mathematical description. He also pointed out that there are two pairs of circle center and normal which lead to the same image ellipse. Another approximation of the eccentricity correction can be obtained by the use of targets with concentric circles shown by He et al. [10] based on the idea of Kim et al. [11]. He et al. [10] showed that the remaining approximation error is negligible. Luhmann [12] computed the projections of simulated circle contour points and performed an ellipse fit with the projected points to get the ellipse center as well as the eccentricity. Matsuoka and Maruyama [13] proposed a complex calculation rule to compute the ellipse parameters from a given circle center, radius and normal, as well as interior and exterior orientation. Yang and Fang [14], Shen et al. [15] also discussed the eccentricity in combination with lens distortion effects and Shen et al. [15] proposed an iterative refinement method. The image matching of circular targets can also cause eccentricity when using affine patch transformation models. However, advanced models, such as the projective transformation as proposed by Bethmann and Luhmann [16], can avoid this issue.
The article at hand is an extended and improved version of [1]. It describes the eccentricity mathematically and provides an extension to the collinearity equations for circles that can be used easily, which is shown in Section 3. Then, in Section 4, five possible correction methods are discussed:
  • Section 4.1 presents a correction applied to the image coordinates that is based on the eccentricity computation in the previous section.
  • Section 4.2 reviews the dual ring correction in the image space of He et al. [10].
  • In Section 4.3, the pinhole model for circles is used as the core for the bundle adjustment.
  • In Section 4.4, we present our new extended bundle adjustment.
  • Section 4.5 describes and discusses the alternative model by Andresen and Helsch [4] that uses the image ellipse contour points as observations.
After this, the methods are validated in Section 5. In the fourth and fifth correction procedure, the radii of the circles are a part of the model that can either be introduced as unknowns or as constants in a bundle adjustment. This means that they also can be used for the definition of the scale, as outlined in Section 6. Thsi article ends with a conclusion. In Appendix A, the estimation of the circle normals for concentric circle targets is discussed.

3. Mathematical Description of the Eccentricity

Dold [5] shows a calculation for a 2D scheme in his Equation (2) that works with opposite circle points on a diameter. In order to apply his method in 3D (similar to [7]), the correct circle diameter has to be chosen. This diameter lies in the plane that includes the circle center X C , the normal vector n C and the optical axis (z direction of the camera frame). This is the only diameter whose projection contains the ellipse center and the projected circle center. We compute the corresponding direction vector by intersecting this plane with the circle plane. First, the circle center and the circle normal (with | | n C | | = 1 ) are transformed into the camera frame (Equation (1)). The z direction of the camera frame is ( 0 0 1 ) T .
n C , c a m = R T · n C X C , c a m = R T · ( X C X p r o j C )
where
  • R = rotation matrix of the camera;
  • X p r o j C = projection center of the camera;
  • X C , c a m = circle center in camera frame;
  • n C , c a m = circle normal in camera frame.
The illustration in Figure 2 shows the projection of a circle (in magenta) into an image where it appears as an ellipse (cyan). The diameter of interest is also depicted in orange. The direction vector h c a m of the diameter in the camera frame is computed by applying the cross-product two times, which is valid for n C , c a m ( 0 0 1 ) T :
h c a m = n C , c a m × n C , c a m × ( 0 0 1 ) | | n C , c a m × ( 0 0 1 ) | | = n C , c a m , x · n C , c a m , z n C , c a m , y · n C , c a m , z n C , c a m , x 2 n C , c a m , y 2 n C , c a m , x 2 + n C , c a m , y 2
Thus, the two opposite circle points on this diameter are
X C ± R , c a m = X C , c a m ± R C · h c a m
where R C = radius of circle.
After this, the circle points X C + R , c a m and X C R , c a m are projected onto the image:
x C ± R = x p c Z C ± R , c a m · X C ± R , c a m Y C ± R , c a m
where
  • x p = principal point vector;
  • c = principal distance.
The ellipse center x e l l , c is then obtained by averaging the projected circle points at the ends of the diameter:
x e l l , c = 1 2 · ( x C + R + x C R )
Inserting and simplifying yields
x e l l , c = x p c · X C , c a m · Z C , c a m + R C 2 · n C , c a m , x · n C , c a m , z Z C , c a m 2 R C 2 · ( n C , c a m , x 2 + n C , c a m , y 2 ) y e l l , c = y p c · Y C , c a m · Z C , c a m + R C 2 · n C , c a m , y · n C , c a m , z Z C , c a m 2 R C 2 · ( n C , c a m , x 2 + n C , c a m , y 2 )
where x e l l , c , y e l l , c T = ellipse center in image coordinate system.
Equation (6) is simple to use and shows how to compute the ellipse center coordinates with a given exterior image orientation, interior orientation, and circle center, radius, and normal. These equations can also be considered as extended collinearity equations for circles.
If R c = 0 (circle = point) or if n C , c a m = ( 0 0 1 ) T (perpendicular view), Equation (6) will lead to the collinearity equations for points (standard pinhole model), resulting in the projected circle center coordinates x C , c , y C , c T
x C , c = x p c · X C , c a m Z C , c a m y C , c = y p c · Y C , c a m Z C , c a m
Equation (6) can also be extended by lens distortion correction. In the paper at hand, the model of Brown [17] and El-Hakim [18] is used; it is shown in Algorithm 1.
Algorithm 1 Lens distortion correction d i s t o r t i o n C o r r e c t i o n
Input: 
x c a m ,   y c a m ,   A 1 ,   A 2 ,   A 3 ,   B 1 ,   B 2 ,   C 1 ,   C 2
  • Radial-symmetric lens distortion correction:
    Δ x r a d Δ y r a d = ( A 1 · r 2 + A 2 · r 4 + A 3 · r 6 ) · x c a m y c a m
    with r = x c a m 2 + y c a m 2
  • Decentering lens distortion correction:
    Δ x d e c Δ y d e c = B 1 · ( r 2 + 2 · x c a m 2 ) + 2 · B 2 · x c a m · y c a m B 2 · ( r 2 + 2 · y c a m 2 ) + 2 · B 1 · x c a m · y c a m
  • Correction for affinity and non-orthogonality:
    Δ x a f f Δ y a f f = C 1 · x c a m + C 2 · y c a m 0
  • Full lens distortion correction:
    Δ x d i s t Δ y d i s t = Δ x r a d Δ y r a d + Δ x d e c Δ y d e c + Δ x a f f Δ y a f f
where    
xcam, ycam = image point in camera frame
A1, A2, A3 = radial-symmetric lens distortion parameters
B1, B2 = decentering lens distortion parameters
C1, C2 = parameters for affinity, shear
Output: 
Lens distortion correction Δ x d i s t , Δ y d i s t
Algorithm 2 shows the pinhole model for circles including lens distortion correction.
Algorithm 2 Extended pinhole model for circles (ellipse center of circle projection) with lens distortion correction
Input: 
X p r o j C ,   R ,   X C ,   n C ,   R C ,   c ,   x p ,   y p ,   A 1 ,   A 2 ,   A 3 ,   B 1 ,   B 2 ,   C 1 ,   C 2
  • Transform the circle center and normal into camera frame:
    X C , c a m = R T · ( X C X p r o j C )
    n c a m = R T · n C
  • Ellipse center coordinates of the circle projection in camera frame (Equation (26)):
    x e l l , c , c a m = c · X C , c a m · Z C , c a m + R C 2 · n C , c a m , x · n C , c a m , z Z C , c a m 2 R C 2 · ( n C , c a m , x 2 + n C , c a m , y 2 )
    y e l l , c , c a m = c · Y C , c a m · Z C , c a m + R C 2 · n C , c a m , y · n C , c a m , z Z C , c a m 2 R C 2 · ( n C , c a m , x 2 + n C , c a m , y 2 )
  • Lens distortion correction and principal point shift applied to ellipse center:
    Δ x e l l , c , d i s t = d i s t o r t i o n C o r r e c t i o n ( x e l l , c , c a m )
    x e l l , c , d i s t = x p + x e l l , c , c a m + Δ x e l l , c , d i s t
Output: 
Lens distortion corrected ellipse center in image system: x e l l , c , d i s t , y e l l , c , d i s t

3.1. Eccentricity Calculation

The eccentricity error ϵ is computed by the difference of the ellipse center and the projected circle center:
ϵ = x C , c x e l l , c
Inserting this into Equation (6) as well as Equation (7) and simplifying yields
ϵ x = c · R C 2 Z C , c a m · Z C , c a m · n C , c a m , x · n C , c a m , z + X C , c a m · ( n C , c a m , x 2 + n C , c a m , y 2 ) Z C , c a m 2 R C 2 · ( n C , c a m , x 2 + n C , c a m , y 2 ) ϵ y = c · R C 2 Z C , c a m · Z C , c a m · n C , c a m , y · n C , c a m , z + Y C , c a m · ( n C , c a m , x 2 + n C , c a m , y 2 ) Z C , c a m 2 R C 2 · ( n C , c a m , x 2 + n C , c a m , y 2 )
Equation (8) (or Equation (9)) can now be used to calculate the eccentricity for different scenarios. An example is demonstrated in Figure 3, where a planar grid of 5 × 5 circles with 20 mm radius is defined with a grid size of 60 mm. The assumed projection center of the camera (2048 × 2048 px, pixel size: 5.5 µm, focal length: 12 mm) has a horizontal distance of 120 mm and vertical distance of 330 mm to the centroid. The optical axis points to the centroid and has an angle of ≈20° to the plane’s normal. The computed ellipses are plotted and the eccentricities are shown as a vector field. In this case, the deviations reach values of up to 3.3 px, which is about two orders of magnitude larger than the precision potential of ellipse operators [19].
The length of the eccentricity vector is computed with the components of Equation (9):
| | ϵ | | = c · R C 2 · | | n C , c a m , z | | Z C , c a m 2 · 1 1 R C 2 Z C , c a m 2 · ( n C , c a m , x 2 + n C , c a m , y 2 ) · ( n C , c a m , x + X C , c a m · ( n C , c a m , x 2 + n C , c a m , y 2 ) Z C , c a m · n C , c a m , z ) 2 + ( n C , c a m , y + Y C , c a m · ( n C , c a m , x 2 + n C , c a m , y 2 ) Z C , c a m · n C , c a m , z ) 2

3.2. Eccentricity Approximation

In addition to the calculation of eccentricity in Section 3.1, this section shows an approximation of the eccentricity as is applied in a later section. The denominator in Equation (6) can be transformed with the assumption Z C , c a m 2 R C 2 :
Z C , c a m 2 R C 2 · ( n C , c a m , x 2 + n C , c a m , y 2 ) Z C , c a m 2
Equation (6) becomes simplified as follows where the fraction is split:
x e l l , c x p c · X C , c a m Z C , c a m = x C , c c · R C 2 · n C , c a m , x · n C , c a m , z Z C , c a m 2 = e x ϵ x y e l l , c y p c · Y C , c a m Z C , c a m = y C , c c · R C 2 · n C , c a m , y · n C , c a m , z Z C , c a m 2 = e y ϵ y
The left parts of the right-hand side are the coordinates of the projected circle center x c , c , and the right parts are summarized in e x ϵ x and e y ϵ y , representing an approximation for the eccentricity.
ϵ e = c · R C 2 · n C , c a m , z Z C , c a m 2 · n C , c a m , x n C , c a m , y
The approximation in Equation (13) shows the dependencies of the eccentricity e ϵ :
  • e is proportional to the principal distance: e c .
  • e is proportional to the squared radius: e R C 2 .
  • e is inversely proportional to the squared z coordinate in the camera frame: e Z C , c a m 2 .
  • e can be eliminated for a perpendicular view with n C , c a m , x = n C , c a m , y = 0 or R C = 0 .
The length of the approximate vector is
| | e | | = c · R C 2 · | | n C , c a m , z | | Z C , c a m 2 · n C , c a m , x 2 + n C , c a m , y 2
with the upper bound (because n C , c a m , x 2 + n C , c a m , y 2 1 and | | n C , c a m , z | | 1 )
| | e | | c · R C 2 Z C , c a m 2
The remaining error in the vector length can be computed by the difference between Equations (10) and (15):
Δ | | e | | = | | ϵ | | | | e | |

4. Eccentricity Correction Methods

This section shows five different correction methods for the eccentricity. The first two are applied in the image space, where an offset is added to the observed ellipse center coordinates to eliminate the systematic error when using the standard pinhole model. The next two correction methods work through a model adaptation, wherein the pinhole model is modified so that the output of the mapping process is the ellipse center rather than the projected circle center. The last method works with an implicit condition for the observed image ellipse contour points.

4.1. Image Coordinate Correction with Known Radius and Normal

The correction in this section is applied in the image space using Equation (8) (or the approximation in Equation (13)), where the normal directions and the radii of the circular targets are assumed to be known. In the case of a spatial resection (SR) or a bundle adjustment (BA), the interior and exterior orientation parameters (EOP) can be obtained without eccentricity correction in a first iteration with the standard pinhole model and without eccentricity correction. After this, the corrections are computed with the results of step one. The corrections can also be updated in further iterations. Algorithm 3 summarizes the procedure. This method is suitable for special cases such as planar target fields, where the normals can be obtained by a plane fit. Another possibility is the use of a test field with target groups of at least three coplanar targets so that the normals can be calculated as triangle normals, as was also proposed by Ahn et al. [7].
Algorithm 3 Space resection or bundle adjustment with eccentricity correction in image space with known radius and normal
Input: 
R C
  • Obtain EOP in SR or BA with standard pinhole model without ecc. corr.
  • Compute/obtain circle normals n C .
  • Do
       3.1. Compute ϵ using Equation (8) (or Equation (13)) with c, n C , R C and (updated) EOP.
       3.2. Apply ecc. corr. to image ellipse centers: x C , c = x e l l , c + ϵ .
       3.3. Compute SR or BA with standard pinhole model and the corrected image points x C , c and update c as well as EOP.
       (3.4. Update n C in case of BA)
    While | | ϵ j ϵ j 1 | | > δ
where
      j = index   of   iteration
     δ = convergence   threshold
Output: 
Eccentricity ϵ and SR or BA outputs
Note that the eccentricity calculation in this method is robust against random errors of the ellipse measurement, as is computed with the IOP, EOP, and circle parameters.

4.2. Correction with Concentric Circle Targets

He et al. [10] proposed a procedure where the eccentricity can be corrected approximately with the help of the measurement of the ellipse centers of two concentric circles and the knowledge of their radii. The correction can be derived using the approximation shown in Section 3.2. For concentric circles, Equation (13) only differs in the radii R c , 1 and R c , 2 , and the following ratio can be derived:
e x , 1 e x , 2 = e y , 1 e y , 2 = R C , 1 2 R C , 2 2
This ratio is equivalent to
e 2 = R C , 2 2 R C , 1 2 · e 1
Furthermore, the system from Equation (12) is used:
x e l l , c , 1 x C , c e 1 x e l l , c , 2 x C , c e 2
Equation (18) is inserted into the second equation in Equation (19):
x e l l , c , 1 x C , c e 1 x e l l , c , 2 x C , c R C , 2 2 R C , 1 2 · e 1
Subtracting the first from the second equation in Equation (18) and rearranging yields the approximation for the eccentricity of the first ellipse center:
ϵ 1 e 1 = x e l l , c , 2 x e l l , c , 1 1 R C , 2 R C , 1 2
Then, the projected circle center can be estimated by inserting Equation (21) into the first equation in Equation (19). Note that the correction can be computed without the knowledge of the circle normal.
x C , c x e l l , c , 1 + x e l l , c , 2 x e l l , c , 1 1 R C , 2 R C , 1 2
Figure 4 shows an example with two ellipse measurements (red and green) and the corrected point (blue cross) that represents the projected circle center of the concentric circles. In the center of the circular target, a black cross was printed that can also be seen. The lengths of the minor and major axes of the target’s inner ring (with a diameter of 30 mm) were 291 and 255 px. For the outer ring with 60 mm diameter, the axes’ lengths were 585 and 514 px.
Algorithm 4 summarizes the procedure for a bundle adjustment or space resection, including the eccentricity correction with the concentric circle targets.
Note that, for the image measurement of the two rings, a suitable resolution of the concentric circle targets is required, especially for strongly oblique views. The thickness of the circle ring should have several pixels in the image for the usage of edge detectors as the star [20] or the Zhou operator [21]. Inner circles of the targets with too small semi-minor axes should be ignored to avoid conflicts due to this issue. Also note that the eccentricity computation can be influenced by the random errors of the both ellipse measurements, especially for small targets. Besides, Appendix A shows three approaches to obtain the normals of concentric circle targets.
Algorithm 4 Space resection or bundle adjustment with eccentricity correction in image space using concentric circle targets.
Input: 
Target radius ratio R C , 2 / R C , 1 , ellipse center coordinates: x e l l , c , 1 , x e l l , c , 2
  • Compute circle center using the two measured ellipse centers:
    x C , c x e l l , c , 1 + x e l l , c , 2 x e l l , c , 1 1 R C , 2 R C , 1 2
  • Compute SR or BA with standard pinhole model and the corrected image points x C , c
Output: 
SR outputs or BA outputs

4.3. Model-Side Eccentricity Correction with Given Normal and Radius

In contrast to last two subsections where eccentricity corrections are applied in the image space, this subsection focuses on an adaptation of the pinhole model to avoid eccentricity errors. For this correction method on the model side, the standard pinhole model is replaced by the adapted pinhole model for circles (Equations (1) and (6), Algorithm 2) so that the ellipse center coordinates from the circle projection are calculated directly in the adapted model. For the application of the adapted pinhole model for circles, the normals and the radii of the circles must be known. Thus, circle radius and normal are considered as constants here. Like in Section 4.1, this procedure can only be applied to a BA or SR for special cases where the normals are known or can easily be estimated, such as planar test fields or coplanar target groups of at least three targets.
In Equation (23), the ellipse center is represented as a function of the EOP, IOP, and circle center, as well as its radius and normal.
x e l l , c , d i s t , c o m p = f ( X p r o j C ,   R ,   unknowns X C ,   c ,   x p ,   A 1 ,   A 2 ,   A 3 ,   B 1 ,   B 2 ,   C 1 ,   C 2 ,   possible   unknowns R C ,   n C constants )
A BA or SR can be computed by minimizing the sum of squared residuals of the observed ellipse centers from the image measurement and the computed ellipse centers from Equation (23).
i | | Δ x e l l , c , d i s t , i | | 2 m i n
where
  • Δ x e l l , c , d i s t , i = x e l l , c , d i s t , o b s , i x e l l , c , d i s t , c o m p , i ;
  • i = index of observation (image ellipse).
In case of a BA where the circle centers are possible unknowns, the parameter estimation and eccentricity correction can be performed iteratively. The necessary parameters (EOP, IOP, and circle center coordinates) are estimated using the standard pinhole model in a first iteration. Then, the normals can be computed with the estimated circle centers, and the adapted pinhole model can be applied.
Algorithm 5 shows a strategy for a bundle adjustment with the model adaption.
Note that the eccentricity calculation of this method is also robust against random errors of the ellipse measurement, as it is computed with the EOP, IOP and circle parameters.
Algorithm 5 Bundle adjustment with the model adaption for circles.
Input: 
Target radii R C , measured ellipse center coordinates x e l l , c
  • Compute BA with standard pinhole model (IOP, EOP, circle centers)
Do 
  • Compute circle normals with plane fit for coplanar target groups
  • Compute BA with adapted pinhole model for circles (IOP, EOP, circle centers)
While 
any( | | d x j | | > δ j for j { 1 , , u } )
where
    dxj = correction for jth parameter
    δj = convergence threshold for jth parameter
    u = number of parameters
Output: 
Estimated BA outputs: IOP, EOP, circle centers

4.4. Extended Bundle Adjustment

The fourth approach to avoid eccentricity errors adapts the idea of an extended bundle adjustment by Otepka and Fraser [8]. They used the implicit ellipse parameters derived from the image measurements as observations to obtain the circle center coordinates, the normal and the radius as unknowns in a BA. In the article at hand, we propose a new different approach to the extended bundle adjustment, where, in addition to the ellipse center coordinates, the lengths of the ellipse semi-axes are used as observations and the lens distortion correction is also considered. Compared to the method by Otepka and Fraser [8], the implicit parameters are not used as observations in our bundle adjustment. However, we also computed implicit parameters, but only as an intermediary result in our pinhole model. In contrast to Section 4.3, this algorithm is not limited to special cases because the circle normals as well as the circle radii belong to the unknowns that are estimated in the BA, so that only initial values have to be obtained.
In order to compute the ellipse center and semi-axes in the pinhole model, the coefficients of the implicit ellipse form are calculated with the method of Matsuoka and Maruyama [13] that fulfill the following equation for the image ellipse contour points ( x Q , y Q ) (see Equations (25)–(28) partially adapted from [13]).
p x x · x Q 2 + p y y · y Q 2 + p c c · c 2 + 2 · p x y · x Q · y Q + 2 · p x c · x Q · c + 2 · p y c · y Q · c = 0
The coefficients are computed using the circle normal and the circle center in the camera frame after applying Equation (1):
p x x = ( n C , c a m , x 2 + n C , c a m , y 2 ) · Y C , c a m 2 + 2 · n C , c a m , y · n C , c a m , z · Y C , c a m · Z C , c a m + ( n C , c a m , x 2 + n C , c a m , z 2 ) · Z C , c a m 2 n C , c a m , x 2 · R C 2 p y y = ( n C , c a m , x 2 + n C , c a m , y 2 ) · X C , c a m 2 + 2 · n C , c a m , x · n C , c a m , z · X C , c a m · Z C , c a m + ( n C , c a m , y 2 + n C , c a m , z 2 ) · Z C , c a m 2 n C , c a m , y 2 · R C 2 p c c = ( n C , c a m , x 2 + n C , c a m , z 2 ) · X C , c a m 2 + 2 · n C , c a m , x · n C , c a m , y · X C , c a m · Y C , c a m + ( n C , c a m , y 2 + n C , c a m , z 2 ) · Y C , c a m 2 n C , c a m , z 2 · R C 2 p x y = n C , c a m , x · n C , c a m , y · ( Z C , c a m 2 R C 2 ) n C , c a m , x · n C , c a m , z · Y C , c a m · Z C , c a m n C , c a m , y · n C , c a m , z · X C , c a m · Z C , c a m ( n C , c a m , x 2 + n C , c a m , y 2 ) · X C , c a m · Y C , c a m p x c = n C , c a m , x · n C , c a m , z · ( R C 2 Y C , c a m 2 ) + n C , c a m , x · n C , c a m , y · Y C , c a m · Z C , c a m + n C , c a m , y · n C , c a m , z · X C , c a m · Y C , c a m + ( n C , c a m , x 2 + n C , c a m , z 2 ) · X C , c a m · Z C , c a m p y c = n C , c a m , y · n C , c a m , z · ( R C 2 X C , c a m 2 ) + n C , c a m , x · n C , c a m , y · X C , c a m · Z C , c a m + n C , c a m , x · n C , c a m , z · X C , c a m · Y C , c a m + ( n C , c a m , y 2 + n C , c a m , z 2 ) · Y C , c a m · Z C , c a m
The implicit ellipse parameters are then transformed to the parametric form. The ellipse center coordinates are expressed in Equation (27). Note that inserting Equation (26) into Equation (27) and simplifying leads to Equation (6).
x e l l , c = x p c · p y y · p x c p x y · p y c p x x · p y y p x y 2 y e l l , c = y p c · p x x · p y c p x y · p x c p x x · p y y p x y 2
The semi-major as well as the semi-minor axes and the inclination are
w = ( ( x e l l , c x p ) · p x c + ( y e l l , c y p ) · p y c + p c c · c ) · c a ^ = 2 · w p x x + p y y ( p x x p y y ) 2 + 4 · p x y 2 b ^ = 2 · w p x x + p y y + ( p x x p y y ) 2 + 4 · p x y 2 φ = 1 2 · a r c t a n 2 ( 2 · p x y , p y y p x x )
For applying lens distortion correction, first, the four points at main axes (ellipse vertices and ellipse co-vertices, see Figure 5) are computed:
x e l l , c ± a = x e l l , c ± cos ( φ ) sin ( φ ) · a ^ x e l l , c ± b = x e l l , c ± sin ( φ ) cos ( φ ) · b ^
After this, lens distortion correction is computed for the ellipse center x e l l , c and the ellipse vertices and co-vertices x e l l , c ± a and x e l l , c ± b with the model in [17,18] represented by the function d i s t o r t i o n C o r r e c t i o n (see Algorithm 1):
Δ x e l l , c , d i s t = d i s t o r t i o n C o r r e c t i o n ( x e l l , c x p ) Δ x e l l , c ± a , d i s t = d i s t o r t i o n C o r r e c t i o n ( x e l l , c ± a x p ) Δ x e l l , c ± b , d i s t = d i s t o r t i o n C o r r e c t i o n ( x e l l , c ± b x p )
The lens distortion corrected semi-axes lengths are then computed as the half distances between the ellipse vertices and co-vertices. For the ellipse center, it is obvious.
x e l l , c , d i s t = x e l l , c + Δ x e l l , c , d i s t
a d i s t = 1 2 · | | x e l l , c + a + Δ x e l l , c + a , d i s t x e l l , c a Δ x e l l , c a , d i s t | |
b d i s t = 1 2 · | | x e l l , c + b + Δ x e l l , c + b , d i s t x e l l , c b Δ x e l l , c b , d i s t | |
All in all, the ellipse center and the semi-axes can be computed as a function (Equations (1) and (26)–(33)) of the exterior and interior orientation as well as the circle parameters:
x e l l , c , d i s t , c o m p y e l l , c , d i s t , c o m p a d i s t , c o m p b d i s t , c o m p = f X p r o j C ,   R ,   X C ,   R C ,   n C ,   c ,   x p ,   A 1 ,   A 2 ,   A 3 ,   B 1 ,   B 2 ,   C 1 ,   C 2
Algorithm 6 summarizes the steps for the computation of the ellipse parameters from the circle projection.
Algorithm 6 Ellipse parameters of circle projection with lens distortion correction
Input: 
X p r o j C ,   R ,   X C ,   R C ,   n C ,   c ,   x p ,   A 1 ,   A 2 ,   A 3 ,   B 1 ,   B 2 ,   C 1 ,   C 2
  • Transform the circle center and normal into camera frame:
    X C , c a m = R T · ( X C X p r o j C )
    n C , c a m = R T · n C
  • Compute implicit ellipse parameters of the circle projection using Equation (26)
  • Compute ellipse center, semi-axes and inclination using Equations (27) and (28)
  • Compute ellipse vertices and co-vertices using Equation (29)
  • Compute lens distortion correction for the ellipse center, the ellipse vertices and co-vertices using Equation (30)
  • Apply lens distortion corr. to ellipse center and semi-axes using Equations (31)–(33)
Output: 
x e l l , c , d i s t ,   y e l l , c , d i s t ,   a d i s t ,   b d i s t
The measurement of the ellipse center and the semi-axes are considered as observations ( x e l l , c , d i s t , o b s ,   a d i s t , o b s ,   b d i s t , o b s ) so that the parameters in the function of Equation (34) can be estimated in a bundle adjustment by minimizing the residuals between the measurements and the computed values of Equation (34) (parametric adjustment [22]):
i ( | | Δ x e l l , c , d i s t , i | | 2 + Δ a d i s t , i 2 + Δ b d i s t , i 2 ) m i n
where
  • Δ x e l l , c , d i s t , i = x e l l , c , d i s t , o b s , i x e l l , c , d i s t , c o m p , i ;
  • Δ a d i s t , i = a d i s t , o b s , i a d i s t , c o m p , i ;
  • Δ b d i s t , i = b d i s t , o b s , i b d i s t , c o m p , i ;
  • i = index of observation (image ellipse).
The Jacobian matrix can be calculated with numerical derivatives by central differences applied to Equation (34). Note that, for each circle normal, one constraint is introduced (unit vector condition), which increases the computational effort accordingly.
Also note that the eccentricity calculation of this method is also robust against random errors of the ellipse measurement, as it is computed with the EOP, IOP and circle parameters.

4.5. Bundle Adjustment with Contour Points

This section describes the method of Andresen and Helsch [4], where the image ellipse contour points are introduced as observations. The model can be used as a core of the bundle adjustment instead of the collinearity equations. In this procedure, an eccentricity error cannot occur because the ellipse centers do not appear in the model.
The required constraint is derived in the following. First, the ray equation in Equation (36) is considered. The ray starts from the projection center and points to the contour point. The direction vector is defined by the rotated image ellipse contour point, which is lens distortion-corrected using the iterative scheme in Algorithm 7.
X r a y ( k ) = X p r o j C + k · R · x e l l , c o n t o u r x p Δ x d i s t y e l l , c o n t o u r y p Δ y d i s t c = X p r o j C + k · R · x e l l , c o n t o u r , c a m
where
  • k = ray parameter;
  • X r a y ( k ) = position on ray depending on k;
  • x e l l , c o n t o u r ,   y e l l , c o n t o u r = ellipse contour point
Algorithm 7 Iterative lens distortion correction in image space
Input: 
x i m , x p , lens distortion parameters
Δ x d i s t , 0 = d i s t o r t i o n C o r r e c t i o n ( x i m x p )
j = 0
Do
   Δ x d i s t , j + 1 = d i s t o r t i o n C o r r e c t i o n ( x i m x p Δ x d i s t , j )
   j j + 1
While  | | Δ x d i s t , j + 1 Δ x d i s t , j | | > δ | | Δ y d i s t , j + 1 Δ y d i s t , j | | > δ
where
     x i m = image   coordinate   vector
    j = index   of   iteration
    δ = convergence   threshold
Output: 
Lens distortion correction Δ x d i s t ,   Δ y d i s t
A contour point of a circle in space ( X c o n t o u r ) fulfills two conditions: the equation of a plane (see Equation (37)) and that the distance between the contour point and the circle center X C is equal to the circle radius R C (Equation (38)).
( X c o n t o u r X C ) T · n C = 0
| | X c o n t o u r X C | | 2 = R C 2
Inserting Equation (36) into Equation (37) and rearranging yields the ray parameter:
k = ( X p r o j C X C ) T · n C ( R · x e l l , c o n t o u r , c a m ) T · n C
A further insertion of k into Equation (36) and then into Equation (38) results in
( X p r o j C X C ( X p r o j C X C ) T · n C ( R · x e l l , c o n t o u r , c a m ) T · n C · R · x e l l , c o n t o u r , c a m ) 2 R C 2 = 0
Equation (40) is the required condition. It is an implicit equation for the contour points of the image ellipse of a circle, including the observations (image contour point coordinates x e l l , c o n t o u r ); the circle center, normal and radius ( X C , n C , R C ); the exterior orientation parameters ( X p r o j C , R ); and the interior orientation parameters ( c ,   x p ,   A 1 ,   A 2 ,   A 3 ,   B 1 ,   B 2 ,   C 1 ,   C 2 ):
ψ ( x e l l , c o n t o u r o b s e r v a t i o n s ,   X p r o j C ,   R ,   X C ,   n C ,   R C ,   c ,   x p ,   A 1 ,   A 2 ,   A 3 ,   B 1 ,   B 2 ,   C 1 ,   C 2 u n k n o w n s ) = 0
The unknowns are then estimated using the general case of adjustment (Gauss–Helmert model [22]) with one equation (Equation (40)) for each contour point. Note that this method does not require the establishment of correspondences between contour points in multiple views, as each contour point is only treated as part of its contour.
The BA with the contour points method leads to a very large number of observations and, for each circle, one further constraint is introduced (unit vector condition) so that the required computational effort is extremely high. The number of observations is multiplied with the number of contour points compared to the standard pinhole model. In the case of 50 contour points for the ellipse measurement (typical number), the number of observations is thus 50 times larger.
Note that, instead of Equation (40), Equation (42) can be used as condition alternatively:
| | X p r o j C X C ( X p r o j C X C ) T · n C ( R · x e l l , c o n t o u r , c a m ) T · n C · R · x e l l , c o n t o u r , c a m | | R C = 0

5. Experimental Tests

The methods developed in Section 4 were validated in a number of practical tests. The design of the test strategy and the obtained results are shown and discussed in the following.

5.1. Experiment Using a Planar Test Field

First, the different approaches developed in Section 4 have been applied and compared in an experiment with a planar test field consisting of concentric circles of different sizes.

5.1.1. Experimental Setup

A planar test field of 20 concentric circles was created with a vector graphics software (Figure 6). Table 2 shows the coordinates as well as the radii of the inner and outer circles. The Z coordinate of the circles was Z C = 0 so that the circle normals were ( 0 0 1 ) T . The test field size (bounding box) was 194 × 207.5 mm2.
Twelve images were taken with an AVT Mako G-419C camera (Allied Vision Technologies, Nuremberg, Germany) (2048 × 2048 px, 5.5 µm pixel size) with a lens of 12 mm focal length. The image orientations are shown in Figure 7. The top-view images also followed a rotation strategy to de-correlate interior orientation parameters in self-calibration [23].
Initial values for the exterior orientation parameters in Figure 7 were obtained by spatial resections of each image, assuming an ideal distortion-free camera with a principal distance of 12 mm. The eccentricities reached values of up to 6 px for the inner rings and 23 px for the outer rings of the large concentric circle targets in the oblique images (computed with Equation (21)). Note that the target size was intentionally chosen to be large to highlight the effects of eccentricity and the gain of correction methods, knowing that the effects would be smaller in real applications with typically smaller target sizes. Table 3 provides information about the image scale, comparing the object and image target diameters. It shows the minimum, maximum and mean lengths of the image ellipse major axes for the twelve larger and eight smaller targets (inner and outer rings) of all images of the bundle.

5.1.2. Simulation

To check the algorithms and to estimate the influence of the eccentricity, noise-free simulations were performed with the different models. For each image, the image coordinates of the ellipse centers were computed with Equation (6), inserting the initial values of the exterior orientation parameters (Figure 7) and assuming a distortion-free lens with 12 mm principal distance. Furthermore, for each ellipse, a number of contour points were computed (to test the algorithm in Section 4.5). These image coordinates were then used as observations without additional artificial noise for a bundle adjustment (BA) with the different procedures shown in Section 4. The BA was computed as a free net adjustment where all circle centers were unknowns, as well as the exterior and interior orientation (including lens distortion parameters). Seven constraints were introduced for the free net adjustment:
i d X C , i = 0 i X C , i × d X C , i = 0 i X C , i T · d X C , i = 0
where
  • X C , i = center of the ith circle;
  • d X C , i = correction vector for X C , i from BA.
Thirteen different scenarios were performed, as listed in Table 4. For six cases ( M 1 , M 3 , M 5 , M 8 , M 10 , M 12 ), only the ellipse centers and contour points of the inner rings of concentric circles were used as input; for another six cases ( M 2 , M 4 , M 6 , M 9 , M 11 , M 13 ), only the ellipse observations of the outer rings of concentric circles were used. Scenario M 7 works with the corrected image coordinates calculated with both rings (Section 4.2). In the cases of M 10 , M 11 , M 12 and M 13 (Section 4.4 and Section 4.5), the circles’ normals and radii were also introduced as unknowns.
The following quantities were used to evaluate the different methods:
  • R M S B A : RMS of the residuals of the image coordinates of the ellipse centers after BA to show the influence on the model fit (precision).
  • c: estimated principal distance to show the influence on the main interior orientation parameter.
  • R M S S T - C : RMS of the residuals of the parameter estimation of a similarity transformation between the a priori and a posteriori circle centers to show the influence on the circle center coordinates.
  • R M S S T - P : RMS of the residuals of the parameter estimation of a similarity transformation between the a priori and a posteriori projection center coordinates to show the influence on the exterior orientation.
Algorithm 8 summarizes the procedure of the determination of the influence of the eccentricity error that was performed for the scenarios M 1 and M 2 . Note that this procedure can also be applied to existing BAs to evaluate the influence of the eccentricity where the EOP, IOP, and circle parameters (centers, radii, normals) are used as input for Algorithm 8.
Algorithm 8 Determination of eccentricity influence of circular targets
Input: 
Circle centers, radii and normals, EOP of an image bundle, IOP with or without lens-distortion.
  • Compute the ellipse centers for each circle in each image using Equation (6).
  • Perform a bundle adjustment with the standard pinhole model using the ellipse centers as observations.
  • Compute reprojection error R M S B A to see the influence on the remaining model error.
  • Estimate the least-squares similarity transformation parameters between the a priori and the a posteriori circle centers and consider the residuals’ RMS ( R M S S T - C ).
  • Estimate the least-squares similarity transformation parameters between the a priori and the a posteriori projection centers and consider the residuals’ RMS ( R M S S T - P ).
Output: 
R M S B A , R M S S T - C , R M S S T - P , further BA outputs.
Table 5 shows the results of the different scenarios from Table 4, and Figure 8 depicts a reduced selection of the scenarios ( M 1 , M 3 , M 2 , M 4 ) where the errors due to eccentricity are fully or partially noticeable. Note that the arrangement of the scenarios in Figure 8 differs from the table to separate the analyses of the inner and outer rings in the bar plots. The bars of the analyses of the inner rings are colored red and for the outer rings are green. The standard pinhole model without eccentricity correction ( M 1 , M 2 ) showed the highest residuals of the image coordinates. The outer rings M 2 resulted in the highest deviations, with a four times higher R M S B A compared to the inner rings M 1 with half the radii. The effect on the interior orientation is revealed by the change in the principal distance c compared to the a priori value of 12 mm. The R M S S T - C of M 1 and M 2 was four times smaller than R M S S T - P , which means that there was a higher influence on the exterior orientation than on the circle coordinates. Note that the largest distance between the projection center is only twice as large as the largest distance between the circle centers.
When the correction in image space with the approximated eccentricity was applied ( M 3 , M 4 ), the R M S B A was only halved and the other deviations were even smaller than half. However, the error could not be fully removed. Note that the ratio R C 2 / Z C , c a m 2 ranges from 0.002 and 0.005 for the inner rings of the twelve larger targets and for the outer rings ranges from 0.003 to 0.01, such that the condition R C 2 Z C , c a m 2 is only partially fulfilled. Therefore, the exact correction terms ( M 5 , M 6 ) should be preferred. They, as well as the other correction models, resulted in zero deviations, showing that the models work perfectly. Note that no additional noise has been added in these simulations. Only M 7 shows a slight non-zero R M S B A of 0.002 px due to the approximation, but significantly smaller than M 3 and M 4 . Some remaining errors in M 3 and M 4 seem to be eliminated by the coordinate difference calculation in M 7 .
Different results were obtained when only the twelve large targets of equal size in Table 2 were used. Table 6 shows the results and Figure 9 shows a reduced selection of the scenarios M 1 , M 3 , M 2 and M 4 . The deviations of the standard pinhole model without eccentricity correction ( M 1 , M 2 ) were significantly smaller here. The other scenarios behave similarly to the first simulation, but there was an underestimation of c without eccentricity correction (target value of c = 12 mm, shown as dashed line in Figure 9). The systematic eccentricity errors seem to be much better compensated by the exterior orientation parameters, as can also be seen in Figure 3.
It can be seen that the eccentricity error of circular targets on a planar test field should lead to much higher deviations when the targets are not of the same size. In the present case, this can be explained by correlations between target eccentricity parameters and camera exterior, as well as interior (incl. lens distortion) orientation parameters. This, however, only holds in the case of a planar target field and can thus not be generalized.

5.1.3. Bundle Adjustment with Real Image Measurements

In this section, the same scenarios of the simulations from the prior section were performed with the real image measurements. The star operator [20] was used to measure the image ellipse coordinates.
The results of the different BAs (as free net adjustments) with the 20 concentric circles in Figure 7 are shown in Table 7 and Figure 10. Again, the RMS of the image ellipse center residuals R M S B A after BA is shown as well as the principal distances and the RMS of the residuals of the parameter estimation of a similarity transformation between the a priori and a posteriori circle centers R M S S T - C . The a priori circle centers can be assumed as target values, neglecting printing errors.
There is a high degree of consistency between the R M S B A as well as R M S S T - C of the simulation and the real image data. For the analysis of the inner rings, the R M S B A was 0.168 px without correction ( M 1 ) and it was reduced to 0.057 px and 0.055 px with M 5 and M 8 . The R M S B A of the extended BA ( M 10 ) was slightly higher, with 0.067 px. For M 12 and M 13 , there were higher R M S B A values than for M 10 and M 11 , but note that M 12 and M 13 work with different observation data. The influence on the circle centers R M S S T - C was also reduced to almost one third compared to M 1 .
For the inner rings (red bars in Figure 10), the principal distance c is also shown in Table 7, where M 1 yields the largest value (without eccentricity correction). When applying the eccentricity correction, the reduction in c was smaller, as expected from the simulations. The smallest c was computed for the BA with the contour points ( M 12 and M 13 ). Note that some differences in c could be compensated by the radial-symmetric distortion parameters.
The error reduction for the outer rings was even stronger due to the quadratic error behavior. Considering the outer rings (green bars in Figure 10), the lowest R M S B A was 0.092 px with M 9 and also R M S S T - C was decreased to 0.07 mm. The differences of c were similar to the simulations (decrease of 0.14 mm). The correction with both rings M 7 reached an R M S B A of 0.055 px and an R M S S T - C of 0.07 mm. Thus, it was similar to the other methods.
Note that the expectation value for the principal distance c does not correspond to the 12 mm focal length here, as the camera was not focused to infinity.
In contrast to the simulations, Table 7 and Figure 10 do not show the RMS of the residuals of the similarity transformation of the projection centers R M S S T - P because the exact projection centers are not known. However, the R M S S T - P of the similarity transformation between the projection center results of the different scenarios can be computed for each combination. Figure 11 shows a heatmap with the RMS values. The smallest RMS values, and thus the smallest differences in the projection center results, occur between the scenarios where corrections were applied. The largest errors are visible in the second column because M 2 was computed with the outer rings of the targets and without eccentricity correction. This is obvious due the highest eccentricity effects for the larger radii. The first column shows significantly smaller values. Remarkable is also the high R M S S T - P of 1.81 mm between M 1 and M 2 , both without corrections, which shows the effect of the higher eccentricity for the larger radius. This value fits with the difference between M 1 and M 2 in the simulation (≈1.9 mm). The RMS values in the second column with values (other than M 4 ) of 2.22 to 2.74 mm also fit with the simulation, where the R M S S T - P was 2.5 mm for the outer rings without ecc. corr.
As in the simulation in the previous subsection, the case of only equal-sized targets was considered by using only the twelve large targets in Table 2—see Table 8 and Figure 12. For the inner rings, there was even a slight increase in R M S B A when the correction models were applied ( M 3 , M 5 , M 8 , M 10 ) compared to the case without eccentricity correction ( M 1 ). Considering the outer rings, there was a slight reduction in the R M S B A values ( M 4 , M 6 , M 9 ) compared to M 2 (without eccentricity correction). M 11 yielded a larger R M S B A . The BAs with the contour points ( M 12 and M 13 ) had the largest R M S B A due to the different observation data. For the inner rings, the estimated principal distances of M 5 , M 8 and M 10 showed an increase that was slight larger than in the simulation and M 3 showed almost no change to M 1 . The changes of c are better visible for the outer rings, where M 4 and M 6 showed an increase of 0.065 mm compared to M 2 , which fits well with the simulation (≈0.05 mm). M 4 showed an decrease of around 0.01 mm compared to M 2 —a smaller reduction than the simulation. The increase in c M 11 was significantly smaller than for M 4 and M 6 . c M 7 lay between c M 1 and c M 5 . Also here, the BAs with contour points ( M 12 and M 13 ) showed a different behavior, with a reduction in c that does not fit with the simulations.
The RMS of the similarity transformations of the circle centers R M S S T - C did not show significant changes for the inner rings. Considering the outer rings, only M 11 and M 13 showed a slight reduction in R M S S T - C compared to M 2 (0.06 mm and 0.04 mm), values that were larger than in the simulation (0.02 mm). Over all, the results match the simulation, where also only small changes were revealed for these three quantities.
The R M S S T - P values were not computed in Table 8 due to the unknown target values of the exterior orientation parameters, where larger deviations would be expected. However, a heatmap with the R M S S T - P between all scenarios of BA can be computed, as shown in Figure 13. The values are significantly smaller than in Figure 11. Again, the second column shows the largest values because M 2 works without eccentricity correction for the outer rings and thus has the biggest influence on the exterior orientation. The R M S S T - P in the second column range from 0.66 mm to 0.88 mm ( M 2 until M 10 ), which fits well with the simulation, where the corrections reduced the RMS by 0.78 mm. Also, the R M S S T - P of 0.63 mm between M 1 and M 2 fits well with the difference of 0.58 mm (0.776 mm–0.193 mm) in the simulation. The last three values of the second column show higher RMS values (>1 mm), which exceed the values from the simulation. The first column shows the differences between the projection centers and the scenario without eccentricity correction for the inner rings. M 5 and M 8 (BA for inner rings with ecc. corr.) yielded RMS values of 0.17 mm and 0.16 mm, which are slightly smaller but similar to the simulation (0.193 mm). M 10 showed a smaller RMS of 0.12 mm and M 12 showed a significantly larger RMS of 0.45 mm. Between the scenarios with eccentricity correction, there are still remaining errors. In particular, the last three rows ( M 11 , M 12 and M 13 ) show high RMS and thus larger differences in the projection centers than the other scenarios. As one can see from the results, a more complex solution of a bundle adjustment based on a number of ellipse contour points does not lead to an improvement in the results.
Overall, the real image data experiments with the planar test field confirm the simulation results, where there were higher compensation effects by IOP, EOP and circle centers for test fields with equal-sized targets than for the test field with different-sized targets. The behavior was also found to be similar for spherical targets, as shown in [24].

5.1.4. Bundle Adjustment Simulation with Four Times Smaller Target Radii

Further simulations were performed for the same image configuration and modified test field with smaller radii. The radii were reduced by a factor of four compared to Section 5.1.2. This was done to analyze a more practical case with a smaller image scale for the targets and, in addition, because the condition R C 2 Z C , c a m 2 is better fulfilled. The radii of the inner rings of the twelve larger targets were 3.75 mm, and 7.5 mm for the outer rings. The eight smaller targets had radii of 0.75 mm for the inner rings and 1.5 mm for the outer rings in this simulation. Thus, the ellipse major axis lengths were in a range of 43 to 80 px for the inner ring radii of the twelve larger targets ( R C 2 / Z C , c a m 2 ( 4 · 10 6 , 3 · 10 4 ) for the inner rings).
Figure 14 shows the results of the simulated bundle with twelve larger and eight smaller targets. The RMS values are significantly smaller, compared to those in Section 5.1.2. The R M S B A was 16 (=42) times smaller. Also, in this case, the approximate eccentricity correction in image space ( M 3 , M 4 ) reduces the R M S B A by half compared to the computation without eccentricity correction ( M 1 , M 2 ). The behavior is similar for R M S S T - C . It was also reduced by factor of 16 compared to Section 5.1.2. As for the larger radii, the approximate eccentricity correction ( M 3 , M 4 ) reduced the R M S S T - C (factor 7–8). The decrease in R M S S T - P was stronger: it was 25 times smaller than in Section 5.1.2. The reduction in R M S S T - P between without correction and approximate correction slightly differs from Section 5.1.2. The differences between the estimated principal distances and the target value of 12 mm were significantly smaller compared to Section 5.1.2.
We also considered the case where only the twelve larger targets were analyzed; see Figure 15. R M S B A and R M S S T - C were also 16 (=42) times smaller compared to Section 5.1.2. The reduction factor is also 16 for R M S S T - P . Between without correction ( M 1 , M 2 ) and approximate correction ( M 3 , M 4 ), the decreasing factor remains at two for R M S S T - P and remains at three to four for R M S B A .

5.2. Experiment Using a Non-Planar Test Field

While the former section dealt with a planar test field, this section deals with a real image data experiment using a non-planar test body. This test object comes with a large variety of circle normal directions, and the 3D character causes less correlation between parameters. The field was equipped with 60 equal-sized concentric circle targets (with target radii R C , i = 13 mm and R C , o = 26 mm), 12 in each of five perpendicular planes. The test field had a size of ca. (34 cm)3. Again, a bundle of twelve images was recorded. The four rotated images in the center of the bundle contained all targets, while in each of the oblique-view images only a part of the targets was visible. The images in the corner of the bundle contained 36 targets; the other ones contained 48. Figure 16 shows a 3D plot of the test field as well as the image orientations. In this experiment, the same camera was used as in Section 5.1.
In order to evaluate the image scale, Table 9 compares the object and image diameters of the targets. It shows the minimum, maximum and mean lengths of the image ellipse major axes for the inner and outer rings of the targets of all images of the bundle ( R C 2 / Z C , c a m 2 ( 2.7 · 10 4 , 1.3 · 10 3 ) for the inner rings).

5.2.1. Simulation

As in the experiments with the planar test field, the bundle adjustments were first computed for the different models with simulated image coordinates. The image coordinates (ellipse centers) and contour points were calculated with the approximate circle centers, exterior orientation parameters and a lens-distortion-free lens of 12 mm. These simulated observations and the predetermined orientation parameters were then used as input for the bundle adjustments. Table 10 shows the results. Again, the first two rows show the values without eccentricity correction delivering the highest RMS values, especially in the second row, where the outer rings were used (four times larger than for inner rings). The reprojection error R M S B A was 0.043 px for the inner rings ( M 1 ) and 0.171 px for the outer rings ( M 2 ). The estimated principal distances were larger ( c M 1 = 12.013 mm and c M 2 = 12.051 mm) than the given (a priori) c of 12 mm, which shows the effect of partial error compensation by the interior orientation parameters. Using the approximate correction method ( M 3 and M 4 ), the errors were reduced significantly. The other methods show zero deviations from the given parameters, resulting in zero errors for R M S B A , R M S S T - C , and R M S S T - P , proving that the correction methods worked well. The bar plots in Figure 17 depict a reduced representation of Table 10, where only the first methods are shown and the order was changed so that, first, the results of the inner rings are shown in red. The results of the outer rings are depicted in green.

5.2.2. Bundle Adjustment with Real Image Measurements

This subsection shows the results of the bundle adjustments of the different methods with the real image measurements; see Table 11 and Figure 18.
Without eccentricity correction ( M 1 and M 2 ), the reprojection error was 0.072 px for the inner rings and 0.194 px for the outer rings. For the approximate correction method in the image space ( M 3 and M 4 ), the R M S B A was decreased by 21% for the inner rings and by almost 50% for the outer rings. There were slightly smaller values for the exact correction term in the image space ( M 5 with 0.056 px and M 6 with 0.96 px), such that the values fell below those in the simulation: R M S B A , M 1 R M S B A , M 5 = 0.16 px < R M S B A , M 1 , s i m = 0.043 px and R M S B A , M 2 R M S B A , M 6 = 0.98 px < R M S B A , M 2 , s i m = 0.171 px. For the concentric circle correction ( M 7 ), the R M S B A is between the values for M 3 / M 5 and M 1 (without correction). For the method with model adaption (inner rings: M 8 and M 10 ; outer rings: M 9 and M 11 ), the R M S B A values were equal to the exact image space correction ( M 5 and M 6 ). For the bundle adjustments with the contour points ( M 12 and M 13 ), the R M S B A values were larger than without correction ( M 1 and M 2 ), which may be caused by a different model and a different number of observations. All in all, the reduction in R M S B A by the correction methods was smaller than in the simulations but showed a positive effect on the reprojection error.
Considering the principal distance c, the behavior is similar to the simulation. Without eccentricity correction ( M 1 and M 2 ) produced the largest c values. The smallest c values were obtained by the approximate eccentricity correction in the image space ( M 3 and M 4 ). The other correction methods yielded c values in between, with differences to M 1 and M 2 that are well-suited to the simulation. This shows the eccentricity compensation effect of the inner orientation parameter c.
Table 11 and Figure 18 do not show the R M S S T - C and R M S S T - P , as there are no reference values of the circle and projection centers for the non-planar test field. Instead, Figure 19 and Figure 20 show the R M S S T - C and R M S S T - P between the adjusted results of the bundle adjustments of the different models as heat maps. Here, similarity transformations were computed between each combination of the different method results for the circle and projection centers. The second columns in both matrices show the largest values (≈0.2 mm) due the largest eccentricities of the outer rings without correction. These values fit to the R M S S T - C and R M S S T - P of the simulations, where the reductions in the correction methods were 0.226 mm and 0.205 mm. The first columns show the differences of the correction methods compared to M 1 (without eccentricity correction). There, the R M S S T - C values range from 0.04 to 0.06 mm for the inner rings ( M 3 , M 5 , M 8 , M 10 , M 12 and in addition M 7 ), which also fits with the reduction of the simulation of 0.05 mm for the inner rings. For the correction method for the outer rings ( M 4 , M 6 , M 9 , M 11 , M 13 ), the R M S S T - C values range from 0.06 to 0.08 mm, which could be caused by the larger target radii and other influences. For the R M S S T - P values (Figure 20), the behavior was similar with a smaller range.

5.2.3. Bundle Adjustment Simulation with Five Times Smaller Target Radii

The simulation in Section 5.2.1 was also done with five times smaller radii so that the ellipse major axes’ lengths were smaller than 30 px for the inner rings of the targets. Thus, R C 2 Z C , c a m 2 is rather fulfilled ( R C 2 / Z C , c a m 2 ( 1 · 10 5 , 5 · 10 5 ) for the inner rings). Figure 21 shows the remaining errors after the bundle adjustments for the scenarios without eccentricity correction ( M 1 , M 2 ) and with the approximate eccentricity correction in the image space ( M 3 , M 4 ). Compared to Section 5.2.1, the RMS values ( R M S B A , R M S S T - C R M S S T - P ) were reduced by a factor of 25 = 52. The reduction factors between the scenarios without eccentricity correction and with the approximate eccentricity correction remained at the values from Section 5.2.1: 6–7 for R M S B A , 4–5 for R M S S T - C and 2 for R M S S T - P . For this scenario, the errors are so small that they have no impact.

6. Scale Definition by Radii of Circles

As shown in Section 4.4 and Section 4.5, the radii of the circles are part of the model that can either be introduced as unknowns or be used as constants, as they are often known in practice. Therefore, they can also be used to define the scale.
In order to investigate the precision and accuracy of the scale definition by known radii of circular targets, three similar test fields with different target radii (5 mm, 7.5 mm and 10 mm, externally verified), each endued with a scale bar (reference length: 740.289 mm), were used—see Figure 22a–c. The planar test fields had a dimension of ca. 70 × 75 cm2. For each test field, a bundle of twelve images was recorded, as illustrated in Figure 22d using an AVT Alvium 1800 U-2040C camera (4512 × 4512 px, 2.74 µm pixel size, 12 mm focal length). The radii were defined in a vector graphics software, and printing errors were neglected. In order to check the scale, a scale bar with a higher accuracy was integrated on the right side of the test field; see Figure 22a–c. The radii of the scale bar target circles were measured with a slide gauge of 5.0 mm.
In order to evaluate the image scale, Table 12 contains the target diameters in the object and image space, showing minimum, maximum and mean length of the image ellipse major axes for all images in the bundle.
The experimental data was then processed using the algorithms from Section 4.4 as well as Section 4.5, firstly with the radii introduced as unknowns and then with fixed radii.

6.1. Precision Analysis

To evaluate the precision, the version with the radii introduced as unknowns was analyzed. The bundle adjustments were computed as free net adjustment with scale condition (Equation (43)). Due to a slight change in scale caused by the free net adjustment, the resulting circle centers and radii were scaled after the BA so that the scale bar distance fits to the reference value. Then, a statistical analysis of the scaled BA results for the 127 targets (excluding the 2 scale bar targets) was performed; see Figure 23. The combined violin and box plots show the range and the distribution of the estimated target radii for each of the three test fields. The estimated radii were within a range of 0.1 mm or less.
Further parameters for the evaluation of the precision are shown in Table 13: the mean estimated target radius of the BA m e a n ( R C , B A ) , and the mean resulting standard deviation of the radii from the stochastic model of the BA. Furthermore, the scattering of the 127 estimated target radii was expressed by their empirical standard deviation s R C , B A , which can be considered as a more representative precision quantity. The relative precision s R C / R C ranged from 0.0011 to 0.0021 depending on the target size: the larger the radii, the smaller (better) the relative precision. The results show an underestimation of the radii of 0.05 to 0.06 mm. The relative errors Δ R C / R C , r e f were negative and were smaller with increasing radius.

6.2. Accuracy Analysis

The accuracy was evaluated comparing the scale bar distance of the BA results with fixed radii (that defines the scale) and the reference scale bar distance. Note that only six constraints of the free net adjustment were applied in this case:
i d X C , i = 0 i X C , i × d X C , i = 0
Table 14 reveals the results of the comparison of the distances of the scale bar for the three different radii and the two different models (Section 4.4 and Section 4.5). The deviations in the scale bar target distance ranged from 3.9 mm to 8.7 mm. These correspond to relative errors in the range of 0.5% to 1.2%, depending on the target radii: the larger the target radii, the smaller the relative and absolute scale error.
The experiment showed that this method for scale definition is not suitable for high-accuracy measurements, but can be used for applications with lower accuracy requirements. Note that there is a limited printing accuracy of the targets, which also influences the accuracy of the scale definition by radii and which may also affect the results.

7. Conclusions and Outlook

This article shows different correction methods for the eccentricity effect of circular targets in perspective projections. These eccentricity effects cause image coordinate measurement errors, which may be, by up to two orders of magnitude, larger than the actual image coordinate measurement precision using subpixel-accuracy operators. Five different methods were developed, two of which are applied in the image space in combination with the standard pinhole model, and the others work through a model adaption. The choice of the most suitable method depends on the computational effort, the target design and if circle normals can be obtained. Table 15 provides decision-making assistance. The table shows six approaches. The first two belong together. In the second approach (colored in gray), the eccentricity calculation is replaced by an approximation. As the eccentricity error was only partly corrected by the approximate eccentricity correction method in the experiments, this method should be avoided.
The methods were first tested in an experiment with a planar test field of concentric circles, where the eccentricity reached values of up to 6 pixels for the inner rings and 23 pixels for the outer rings. For the analysis of all targets with different sizes, the eccentricity error was assessed by the RMS of the image residuals and similarity transformations of the circle centers. This error was strongly reduced by applying the corrections. When only equal-sized targets were used, it was difficult to demonstrate influences of the correction terms on the reprojection error and the adjusted circle centers due to correlations between target eccentricities and the interior, as well as exterior, orientation parameters. In addition, the methods were also applied to a non-planar test field with equal-sized targets, where the eccentricity effects could also be demonstrated and the corrections led to a significant reduction in remaining errors. The reprojection error was reduced by 22% and 48%, respectively. Average changes of up to 0.2 mm for the projection centers as well as the circle centers were shown.
The presented method of the extended bundle adjustment, as well as the bundle adjustment with the contour points, also offers the possibility of a scale definition by given target radii. This approach was tested in a further experiment, where relative scale definition accuracies of 0.5 to 1% were reached. This latter sub-method is thus only suitable for applications with lower accuracy requirements and depends on the accuracy of the target radii.
Future work could also investigate the inclusion of the image ellipse inclination angle as observation in the extended bundle adjustment. Additionally, further investigations could be conducted to analyze the accuracy of the scale definition with non-planar test fields. Another interesting point could be the analysis of the influence of the eccentricity to the lens distortion parameters.

Author Contributions

Conceptualization, F.L.; methodology, F.L.; software, F.L.; validation, F.L. and H.-G.M.; formal analysis, F.L.; investigation, F.L.; data curation, F.L.; writing—original draft preparation, F.L.; writing—review and editing, H.-G.M.; visualization, F.L.; supervision, H.-G.M.; project administration, H.-G.M.; funding acquisition, H.-G.M. All authors have read and agreed to the published version of the manuscript.

Funding

The work has been funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation–SFB/TRR 280; project ID: 417002380).

Data Availability Statement

The experimental data of the experiments can be found at https://doi.org/10.25532/OPARA-1087.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
IOPinterior orientation parameters
EOPexterior orientation parameters
ecc.eccentricity
corr.correction
BAbundle adjustment
SRspace resection

Appendix A. Normal Estimation of Concentric Circle Targets

Previously, in Section 4.2, a method is shown to compute the eccentricity vector for concentric circle targets without the knowledge of the normal. This section deals with a procedure for the normal estimation of concentric circle targets.

Appendix A.1. Direct Method

The eccentricity ϵ of a concentric circle target can be computed approximately by applying Equation (21). As shown in Section 3.2, there exists another term (approximation) for the eccentricity in Equation (13) that includes the circle normal components. Rearranging Equation (13) yields Equation (A1), where the computed eccentricity components from Equation (21) are inserted and are considered as constants.
n C , c a m , z · n C , c a m , x n C , c a m , y = Z C , c a m 2 c · R C 2 · ϵ x ϵ y
In addition, the unit vector condition is used:
n C , c a m , x 2 + n C , c a m , y 2 + n C , c a m , z 2 = 1
Extending yields
n C , c a m , x 2 · n C , c a m , z 2 + n C , c a m , y 2 · n C , c a m , z 2 + n C , c a m , z 4 = n C , c a m , z 2
Inserting Equation (A1) into Equation (A3) yields a biquadratic equation
n C , c a m , z 4 n C , c a m , z 2 + ( ϵ x 2 + ϵ y 2 ) · Z C , c a m 4 c 2 · R C 4 = 0
There are four solutions for the biquadratic equation:
n C , c a m , z , 1 , 2 , 3 , 4 = ± 1 2 ± 1 4 ( ϵ x 2 + ϵ y 2 ) · Z C , c a m 4 c 2 · R C 4
Due to random measurement errors or by a lack of circularity of the object circles, the discriminant of the inner root may be below zero so that no solution can be found. If it is not the case, the x and y component of the normal can then be computed by rearranging Equation (13):
n C , c a m , x n C , c a m , y = Z C , c a m 2 c · R C 2 · n C , c a m , z · ϵ x ϵ y
There are two pairs of solution vectors that only differ in the direction. Only the direction vectors that are rather pointing to the projection center are used so that two solutions are excluded. The dot product is used as a condition that is applied in the camera frame where the the projection center is the zero point:
n C , c a m T · X C , c a m < 0
Then, the solution vectors are rotated in the object coordinate system:
n C = R · n C , c a m
Practical tests confirmed that this method did not always work due to negative values inside the root function. In addition, it is difficult to deal with the two solutions. Note, the calculated eccentricities are affected by measurement errors, which can be significantly larger than the eccentricity.

Appendix A.2. Further Procedure Using Newton’s Method

To obtain the normal of a concentric circle target with given exterior orientation, principal distance, circle center and the two circle radii, the following system in Equation (A9) is solved using Newton’s method. The system results from equating and rearranging Equations (9) and (21).
c · R C , 2 2 Z C , c a m · Z C , c a m · n C , c a m , x · n C , c a m , z + X C , c a m · ( n C , c a m , x 2 + n C , c a m , y 2 ) Z C , c a m 2 R C , 2 2 · ( n C , c a m , x 2 + n C , c a m , y 2 ) x e l l , c , 1 x e l l , c , 2 1 R C , 1 R C , 2 2 = 0 c · R C , 2 2 Z C , c a m · Z C , c a m · n C , c a m , y · n C , c a m , z + Y C , c a m · ( n C , c a m , x 2 + n C , c a m , y 2 ) Z C , c a m 2 R C , 2 2 · ( n C , c a m , x 2 + n C , c a m , y 2 ) y e l l , c , 1 y e l l , c , 2 1 R C , 1 R C , 2 2 = 0 | | n C | | 2 1 = 0
where n C , c a m = R T · n C and X C , c a m = R T · ( X C X p r o j C ) .

Appendix A.3. Over-Determined Normal Estimation

In the case of an image bundle with known exterior orientations, known c, and known circle radii and center, the normal can be estimated in a conditional parametric adjustment. The procedure is performed for each concentric circle individually, with each image delivering two equations. An additional constraint is defined so that the squared length of the normal vector should be one ( | | n C | | 2 1 = 0 ). The eccentricity vectors are computed for the larger circle in the images, as done in Equation (A10) (see also Equation (21)). These vectors are considered as observations in the following.
ϵ 2 , o b s , j = x e l l , c , 1 , j x e l l , c , 2 , j 1 R C , 1 , j R C , 2 , j 2
where j = index of the image.
The functional model is given by Equation (9), where the normal n C is the unknown.
ϵ 2 , c o m p = f ( n C ,   X C ,   R C , 2 ,   X p r o j C ,   R ,   c )
The sum of the squared residuals is minimized: j ( ϵ 2 , o b s ϵ 2 , c o m p ) 2 m i n n c , subject to | | n C | | 2 1 = 0 .

References

  1. Liebold, F.; Maas, H.G. Eccentricity Correction Methods for Circular Targets in Perspective Projection. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. 2024, 48, 65–72. [Google Scholar] [CrossRef]
  2. Luhmann, T.; Fraser, C.; Maas, H.G. Sensor modelling and camera calibration for close-range photogrammetry. ISPRS J. Photogramm. Remote Sens. 2016, 115, 37–46. [Google Scholar] [CrossRef]
  3. Lenz, R.; Fritsch, D. On the Accuracy of Videometry. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. 1988, 27-B5, 335–345. [Google Scholar]
  4. Andresen, K. Calculation of analytical elements in space using a contour algorithm. In Close-Range Photogrammetry Meets Machine Vision; International Society for Optics and Photonics: Bellingham, WA, USA, 1990; Volume 1395, p. 139533. [Google Scholar] [CrossRef]
  5. Dold, J. Influence of Target Size on the Results of Photogrammetric Bundle Adjustment. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. 1996, 31, 119–123. [Google Scholar]
  6. Heikkilä, J.; Silvén, O. A four-step camera calibration procedure with implicit image correction. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, San Juan, PR, USA, 17–19 June 1997; pp. 1106–1112. [Google Scholar] [CrossRef]
  7. Ahn, S.J.; Warnecke, H.J.; Kotowski, R. Systematic geometric image measurement errors of circular object targets: Mathematical formulation and correction. Photogramm. Rec. 1999, 16, 485–502. [Google Scholar] [CrossRef]
  8. Otepka, J.; Fraser, C. Accuracy Enhancement of Vision Metrology Through Automatic Target Plane Determination. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. 2004, 35-B5, 873–879. [Google Scholar]
  9. Wrobel, B.P. Kreismarken in perspektiver Abbildung–im Bild und im Bündelblock. PFG-J. Photogramm. Remote Sens. Geoinf. Sci. 2012, 16, 221–236. [Google Scholar] [CrossRef]
  10. He, D.; Liu, X.; Yin, Y.; Li, A.; Peng, X. Correction of circular center deviation in perspective projection. In Proceedings of the Applications of Digital Image Processing XXXV; Tescher, A.G., Ed.; International Society for Optics and Photonics, SPIE: Bellingham, WA, USA, 2012; Volume 8499, pp. 625–631. [Google Scholar] [CrossRef]
  11. Kim, J.S.; Kim, H.W.; Kweon, I. A camera calibration method using concentric circles for vision applications. In Proceedings of the ACCV2002: The 5th Asian Conference on Computer Vision, Melbourne, Australia, 23–25 January 2002; pp. 23–25. [Google Scholar]
  12. Luhmann, T. Eccentricity in images of circular and spherical targets and its impact on spatial intersection. Photogramm. Rec. 2014, 29, 417–433. [Google Scholar] [CrossRef]
  13. Matsuoka, R.; Maruyama, S. Eccentricity on an image caused by projection of a circle and a sphere. ISPRS Ann. Photogramm. Remote Sens. Spat. Inf. Sci. 2016, 3, 19–26. [Google Scholar] [CrossRef]
  14. Yang, X.; Fang, S. Eccentricity error compensation for geometric camera calibration based on circular features. Meas. Sci. Technol. 2014, 25, 025007. [Google Scholar] [CrossRef]
  15. Shen, Y.; Zhang, X.; Cheng, W.; Zhu, L. Quasi-eccentricity error modeling and compensation in vision metrology. Meas. Sci. Technol. 2018, 29, 045006. [Google Scholar] [CrossRef]
  16. Bethmann, F.; Luhmann, T. Least-squares matching with advanced geometric transformation models. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. 2010, 38, 86–91. [Google Scholar]
  17. Brown, D.C. Close-Range Camera Calibration. Photogramm. Eng. 1971, 37, 855–866. [Google Scholar]
  18. El-Hakim, S.F. Real-Time Image Metrology with CCD Cameras. Photogramm. Eng. Remote Sens. 1986, 52, 1757–1766. [Google Scholar]
  19. Luhmann, T. Ein Verfahren zur rotationsinvarianten Punktbestimmung. Bildmess. Luftbildwes. 1986, 4, 147–154. [Google Scholar]
  20. Luhmann, T.; Robson, S.; Kyle, S.; Boehm, J. Close-Range Photogrammetry and 3D Imaging; De Gruyter: Berlin, Germany; Boston, MA, USA, 2020. [Google Scholar] [CrossRef]
  21. Zhou, G. Accurate Determination of Ellipse Centers in Digital Imagery. ACSM-ASPRS Annu. Conv. 1986, 4, 256–264. [Google Scholar]
  22. DIN 18709-4-2010; Concepts, Abbreviations and Symbols in Geodesy—Part 4: Adjustment of Observations and Statistics. DIN Deutsches Institut für Normung e.V.: Berlin, Germany, 2010. [CrossRef]
  23. Godding, R. Photogrammetric method for the investigation and calibration of high-resolution camera systems. In Proceedings of the SPIE 1987, Recording Systems: High-Resolution Cameras and Recording Devices and Laser Scanning and Recording Systems, Munich, Germany, 21–25 June 1993. [Google Scholar] [CrossRef]
  24. Liebold, F.; Maas, H.G. Spherical target eccentricity correction in photogrammetric applications. ISPRS J. Photogramm. Remote Sens. 2026, 231, 761–777. [Google Scholar] [CrossRef]
Figure 1. Projection of a circle (red) onto an image with oblique view results as ellipse (red). Projected circle center differs from ellipse center.
Figure 1. Projection of a circle (red) onto an image with oblique view results as ellipse (red). Projected circle center differs from ellipse center.
Metrology 06 00028 g001
Figure 2. Projection of a circle (magenta) onto an image results as ellipse (cyan). Projected circle center differs from ellipse center with | | ϵ | | . The diameter of interest is colored orange. (a) shows the 3D projection, (b) shows the corresponding image. Illustrations (a,b) adapted with permission from Ref. [1]. 2024, F. Liebold.
Figure 2. Projection of a circle (magenta) onto an image results as ellipse (cyan). Projected circle center differs from ellipse center with | | ϵ | | . The diameter of interest is colored orange. (a) shows the 3D projection, (b) shows the corresponding image. Illustrations (a,b) adapted with permission from Ref. [1]. 2024, F. Liebold.
Metrology 06 00028 g002
Figure 3. Example for eccentricity: (a) grid of circles (with centers and normals as blue arrows) and camera orientation, (b) image with projected ellipses and eccentricities as vector field (black arrows). The colors are used to facilitate the visual assignment between the image ellipses and the circles. Illustrations (a,b) reprinted with permission from Ref. [1]. 2024, F. Liebold.
Figure 3. Example for eccentricity: (a) grid of circles (with centers and normals as blue arrows) and camera orientation, (b) image with projected ellipses and eccentricities as vector field (black arrows). The colors are used to facilitate the visual assignment between the image ellipses and the circles. Illustrations (a,b) reprinted with permission from Ref. [1]. 2024, F. Liebold.
Metrology 06 00028 g003
Figure 4. Example of eccentricity correction with ellipse measurements of two concentric circles for an image of a test field with 12 targets: inner ellipse and its center in red, outer ellipse and center in green, and corrected center coordinate in blue. Zoomed images for the right lower target. Illustration adapted with permission from Ref. [1]. 2024, F. Liebold.
Figure 4. Example of eccentricity correction with ellipse measurements of two concentric circles for an image of a test field with 12 targets: inner ellipse and its center in red, outer ellipse and center in green, and corrected center coordinate in blue. Zoomed images for the right lower target. Illustration adapted with permission from Ref. [1]. 2024, F. Liebold.
Metrology 06 00028 g004
Figure 5. Vertices and co-vertices of the ellipse. a, b: semi-axes.
Figure 5. Vertices and co-vertices of the ellipse. a, b: semi-axes.
Metrology 06 00028 g005
Figure 6. Test field of circular targets (with a radius ratio of 1:2) of different size. Illustration adapted with permission from Ref. [1]. 2024, F. Liebold.
Figure 6. Test field of circular targets (with a radius ratio of 1:2) of different size. Illustration adapted with permission from Ref. [1]. 2024, F. Liebold.
Metrology 06 00028 g006
Figure 7. Experimental setup. Image orientations and planar test field of concentric circles. Illustration adapted with permission from Ref. [1]. 2024, F. Liebold.
Figure 7. Experimental setup. Image orientations and planar test field of concentric circles. Illustration adapted with permission from Ref. [1]. 2024, F. Liebold.
Metrology 06 00028 g007
Figure 8. Bar plot of the BA results of different models with simulated image coordinates for the 12 larger and 8 smaller concentric circles. Bars of the results for the inner rings ( M 1 , M 3 ) in red, for the outer rings ( M 2 , M 4 ) in green. The target value of the principal distance is shown as dashed line.
Figure 8. Bar plot of the BA results of different models with simulated image coordinates for the 12 larger and 8 smaller concentric circles. Bars of the results for the inner rings ( M 1 , M 3 ) in red, for the outer rings ( M 2 , M 4 ) in green. The target value of the principal distance is shown as dashed line.
Metrology 06 00028 g008
Figure 9. Bar plot of the BA results of different models with simulated image coordinates for the 12 larger equal-sized concentric circles. Bars of the results for the inner rings ( M 1 , M 3 ) in red, for the outer rings ( M 2 , M 4 ) in green. The target value of the principal distance is shown as dashed line.
Figure 9. Bar plot of the BA results of different models with simulated image coordinates for the 12 larger equal-sized concentric circles. Bars of the results for the inner rings ( M 1 , M 3 ) in red, for the outer rings ( M 2 , M 4 ) in green. The target value of the principal distance is shown as dashed line.
Metrology 06 00028 g009
Figure 10. Bar plot of the BA results of different models with the 12 large and 8 small concentric circles.
Figure 10. Bar plot of the BA results of different models with the 12 large and 8 small concentric circles.
Metrology 06 00028 g010
Figure 11. Matrix of RMS values of the residuals of the similarity transformations between adjusted projection centers R M S S T - P of the different models with 12 larger and 8 smaller concentric circles.
Figure 11. Matrix of RMS values of the residuals of the similarity transformations between adjusted projection centers R M S S T - P of the different models with 12 larger and 8 smaller concentric circles.
Metrology 06 00028 g011
Figure 12. Bar plot of the BA results of different models for the 12 larger equal sized concentric circles.
Figure 12. Bar plot of the BA results of different models for the 12 larger equal sized concentric circles.
Metrology 06 00028 g012
Figure 13. Matrix of RMS values of the residuals of the similarity transformations between adjusted projection centers R M S S T - P of the different models with 12 larger equal-sized concentric circles.
Figure 13. Matrix of RMS values of the residuals of the similarity transformations between adjusted projection centers R M S S T - P of the different models with 12 larger equal-sized concentric circles.
Metrology 06 00028 g013
Figure 14. Bar plot of the BA results without and with approximate eccentricity correction in image space with simulated image coordinates for the planar test field with the 12 large and 8 small concentric circles (with radii that are one-fourth as large). The target value of the principal distance is shown as dashed line.
Figure 14. Bar plot of the BA results without and with approximate eccentricity correction in image space with simulated image coordinates for the planar test field with the 12 large and 8 small concentric circles (with radii that are one-fourth as large). The target value of the principal distance is shown as dashed line.
Metrology 06 00028 g014
Figure 15. Bar plot of the BA results without and with approximate eccentricity correction in image space with simulated image coordinates for the non-planar test field of the 12 larger equal-sized concentric circles (with radii that are one-fourth as large). The target value of the principal distance is shown as dashed line.
Figure 15. Bar plot of the BA results without and with approximate eccentricity correction in image space with simulated image coordinates for the non-planar test field of the 12 larger equal-sized concentric circles (with radii that are one-fourth as large). The target value of the principal distance is shown as dashed line.
Metrology 06 00028 g015
Figure 16. 3D plot of the concentric circle targets and image orientations for the experiment with the non-planar test field.
Figure 16. 3D plot of the concentric circle targets and image orientations for the experiment with the non-planar test field.
Metrology 06 00028 g016
Figure 17. Bar plot of the BA results of different models with simulated image coordinates for the non-planar test field of concentric circles. The target value of the principal distance is shown as dashed line.
Figure 17. Bar plot of the BA results of different models with simulated image coordinates for the non-planar test field of concentric circles. The target value of the principal distance is shown as dashed line.
Metrology 06 00028 g017
Figure 18. Bar plot of the BA results of different models for the non-planar test field of concentric circles.
Figure 18. Bar plot of the BA results of different models for the non-planar test field of concentric circles.
Metrology 06 00028 g018
Figure 19. Matrix of RMS values of the residuals of the similarity transformations between the adjusted circle centers R M S S T - C of the different models for the non-planar test field of concentric circles.
Figure 19. Matrix of RMS values of the residuals of the similarity transformations between the adjusted circle centers R M S S T - C of the different models for the non-planar test field of concentric circles.
Metrology 06 00028 g019
Figure 20. Matrix of RMS values of the residuals of the similarity transformations between the adjusted projection centers R M S S T - P of the different models for the non-planar test field of concentric circles.
Figure 20. Matrix of RMS values of the residuals of the similarity transformations between the adjusted projection centers R M S S T - P of the different models for the non-planar test field of concentric circles.
Metrology 06 00028 g020
Figure 21. Bar plot of the BA results without and with approximate eccentricity correction in image space with simulated image coordinates for the non-planar test field of concentric circles. The target value of the principal distance is shown as dashed line.
Figure 21. Bar plot of the BA results without and with approximate eccentricity correction in image space with simulated image coordinates for the non-planar test field of concentric circles. The target value of the principal distance is shown as dashed line.
Metrology 06 00028 g021
Figure 22. Three test fields with different target radii and a scale bar (red arrow): R C = 5 mm for (a); R C = 7.5 mm for (b); R C = 10 mm for (c); (d) image orientations, circles (targets) and scale bar as black line.
Figure 22. Three test fields with different target radii and a scale bar (red arrow): R C = 5 mm for (a); R C = 7.5 mm for (b); R C = 10 mm for (c); (d) image orientations, circles (targets) and scale bar as black line.
Metrology 06 00028 g022
Figure 23. Combined violin and box plots of the estimated target radii for each of the three test fields: R C = 5 mm for (a); R C = 7.5 mm for (b); R C = 10 mm for (c).
Figure 23. Combined violin and box plots of the estimated target radii for each of the three test fields: R C = 5 mm for (a); R C = 7.5 mm for (b); R C = 10 mm for (c).
Metrology 06 00028 g023
Table 1. List of modified, extended and new sections.
Table 1. List of modified, extended and new sections.
Section 2modified
Section 3extended
Section 4extended
Section 4.5new
Section 5extended
Section 5.1.4new
Section 5.2new
Section 6revised
Section 7modified
Appendix Anew
Table 2. Circle center coordinates and inner and outer radii for the planar test field.
Table 2. Circle center coordinates and inner and outer radii for the planar test field.
X C in mm Y C in mm Z C in mm R C , i in mm R C , o in mm
0001530
06701530
013401530
67001530
676701530
6713401530
134001530
1346701530
13413401530
201001530
2016701530
20113401530
33.533.5036
33.5100.5036
100.533.5036
100.5100.5036
167.533.5036
167.5100.5036
234.533.5036
234.5100.5036
Table 3. Minimum, maximum and mean major axis lengths of the image ellipses in the 12 images for the 12 larger and 8 smaller targets for the inner and outer rings.
Table 3. Minimum, maximum and mean major axis lengths of the image ellipses in the 12 images for the 12 larger and 8 smaller targets for the inner and outer rings.
2 · R C min ( 2 · a ) max ( 2 · a ) mean ( 2 · a )
larger targets, inner ring30 mm173 px321 px221 px
larger targets, outer ring60 mm347 px646 px444 px
smaller targets, inner ring6 mm34 px68 px44 px
smaller targets, outer ring12 mm69 px138 px89 px
Table 4. Scenarios of bundle adjustments.
Table 4. Scenarios of bundle adjustments.
IDModelInput
M 1 Standard pinhole model w/o ecc. corr.inner rings
M 2 Standard pinhole model w/o ecc. corr.outer rings
M 3 Standard pinhole model with ecc. corr. in image space (Section 4.1, Equation (13))inner rings
M 4 Standard pinhole model with ecc. corr. in image space (Section 4.1, Equation (13))outer rings
M 5 Standard pinhole model with ecc. corr. in image space (Section 4.1, Equation (8))inner rings
M 6 Standard pinhole model with ecc. corr. in image space (Section 4.1, Equation (8))outer rings
M 7 Standard pinhole model with ecc. corr. in image space (Section 4.2, Equation (22))both rings
M 8 Pinhole model for circles (Section 4.3)inner rings
M 9 Pinhole model for circles (Section 4.3)outer rings
M 10 Extended BA (model-side correction, Section 4.4)inner rings
M 11 Extended BA (model-side correction, Section 4.4)outer rings
M 12 BA with contour points (Section 4.5)inner rings
M 13 BA with contour points (Section 4.5)outer rings
Table 5. BA results of different models for simulations with 12 larger and 8 smaller concentric circles. n: number of observations, u: number of unknowns.
Table 5. BA results of different models for simulations with 12 larger and 8 smaller concentric circles. n: number of observations, u: number of unknowns.
nu RMS BA
in px
c
in mm
RMS ST - C
in mm
RMS ST - P
in mm
M 1 4801420.16912.0390.1490.594inner rings
M 2 4801420.66812.1440.6002.487outer rings
M 3 4801420.08912.0000.0200.162inner rings
M 4 4801420.35912.0470.0790.954outer rings
M 5 4801420.00012.0000.0000.000inner rings
M 6 4801420.00012.0000.0000.000outer rings
M 7 4801420.00212.0000.0010.004both rings
M 8 4801420.00012.0000.0000.000inner rings
M 9 4801420.00012.0000.0000.000outer rings
M 10 9602220.00012.0000.0000.000inner rings
M 11 9602220.00012.0000.0000.000outer rings
M 12 15,3602220.00012.0000.0000.000inner rings
M 13 15,3602220.00012.0000.0000.000outer rings
Table 6. BA results of different models with simulated image coordinates for the 12 larger equal-sized concentric circles. n: number of observations, u: number of unknowns.
Table 6. BA results of different models with simulated image coordinates for the 12 larger equal-sized concentric circles. n: number of observations, u: number of unknowns.
nu RMS BA
in px
c
in mm
RMS ST - C
in mm
RMS ST - P
in mm
M 1 2881180.02211.9880.0050.193inner rings
M 2 2881180.08911.9510.0210.776outer rings
M 3 2881180.00611.9820.0010.093inner rings
M 4 2881180.02611.9250.0030.370outer rings
M 5 2881180.00012.0000.0000.000inner rings
M 6 2881180.00012.0000.0000.000outer rings
M 7 2881180.00112.0010.0000.001both rings
M 8 2881180.00012.0000.0000.000inner rings
M 9 2881180.00012.0000.0000.000outer rings
M 10 5761660.00012.0000.0000.000inner rings
M 11 5761660.00012.0000.0000.000outer rings
M 12 92161660.00012.0000.0000.000inner rings
M 13 92161660.00012.0000.0000.000outer rings
Table 7. BA results of different models with 12 larger and 8 smaller concentric circles. n: number of observations, u: number of unknowns.
Table 7. BA results of different models with 12 larger and 8 smaller concentric circles. n: number of observations, u: number of unknowns.
nu RMS BA
in px
c
in mm
RMS ST - C
in mm
M 1 4801420.16812.1750.172inner rings
M 2 4801420.64612.2850.607outer rings
M 3 4801420.09812.1430.075inner rings
M 4 4801420.34112.1660.098outer rings
M 5 4801420.05712.1490.071inner rings
M 6 4801420.11112.1730.072outer rings
M 7 4801420.05512.1420.072both rings
M 8 4801420.05512.1480.071inner rings
M 9 4801420.09212.1670.071outer rings
M 10 9602220.06712.1610.070inner rings
M 11 9602220.12012.1410.068outer rings
M 12 19,9802220.11412.1230.070inner rings
M 13 20,1402220.14912.1040.068outer rings
Table 8. BA results of different models for the 12 larger equal sized concentric circles. n: number of observations, u: number of unknowns.
Table 8. BA results of different models for the 12 larger equal sized concentric circles. n: number of observations, u: number of unknowns.
nu RMS BA
in px
c
in mm
RMS ST - C
in mm
M 1 2881180.04812.1300.079inner rings
M 2 2881180.07612.1060.076outer rings
M 3 2881180.05212.1280.080inner rings
M 4 2881180.06012.0930.075outer rings
M 5 2881180.05412.1480.080inner rings
M 6 2881180.07412.1710.076outer rings
M 7 2881180.05612.1400.081both rings
M 8 2881180.05312.1470.079inner rings
M 9 2881180.06312.1700.075outer rings
M 10 5761660.07412.1560.077inner rings
M 11 5761660.12512.1170.070outer rings
M 12 12,0041660.12912.1090.078inner rings
M 13 12,0761660.17812.0850.072outer rings
Table 9. Minimum, maximum and mean major axis lengths of the image ellipses in the 12 images for the inner and outer rings of the targets.
Table 9. Minimum, maximum and mean major axis lengths of the image ellipses in the 12 images for the inner and outer rings of the targets.
2 · R C min ( 2 · a ) max ( 2 · a ) mean ( 2 · a )
inner rings26 mm72 px136 px96 px
outer rings52 mm144 px275 px193 px
Table 10. BA results of different models with simulated image coordinates for the non-planar test field of concentric circles. n: number of observations, u: number of unknowns.
Table 10. BA results of different models with simulated image coordinates for the non-planar test field of concentric circles. n: number of observations, u: number of unknowns.
nu RMS BA
in px
c
in mm
RMS ST - C
in mm
RMS ST - P
in mm
M 1 11502620.04312.0130.0560.053inner rings
M 2 11502620.17112.0510.2260.205outer rings
M 3 11502620.00711.9870.0130.025inner rings
M 4 11502620.02611.9470.0530.099outer rings
M 5 11502620.00012.0000.0000.000inner rings
M 6 11502620.00012.0000.0000.000outer rings
M 7 11502620.00012.0000.0000.000both rings
M 8 11502620.00012.0000.0000.000inner rings
M 9 11502620.00012.0000.0000.000outer rings
M 10 23005020.00012.0000.0000.000inner rings
M 11 23005020.00012.0000.0000.000outer rings
M 12 24,1505020.00012.0000.0000.000inner rings
M 13 24,1505020.00012.0000.0000.000outer rings
Table 11. BA results of different models for the non-planar test field of concentric circles. n: number of observations, u: number of unknowns.
Table 11. BA results of different models for the non-planar test field of concentric circles. n: number of observations, u: number of unknowns.
nu RMS BA
in px
c
in px
M 1 11502620.07212.124inner rings
M 2 11502620.19412.161outer rings
M 3 11502620.05712.098inner rings
M 4 11502620.10012.053outer rings
M 5 11502620.05612.111inner rings
M 6 11502620.09612.107outer rings
M 7 11502620.06512.112both rings
M 8 11502620.05612.111inner rings
M 9 11502620.09612.107outer rings
M 10 23005020.05612.110inner rings
M 11 23005020.09612.104outer rings
M 12 47,7985020.09112.108inner rings
M 13 48,1985020.15912.100outer rings
Table 12. Minimum, maximum and mean major axis lengths of the image ellipses for the three test fields.
Table 12. Minimum, maximum and mean major axis lengths of the image ellipses for the three test fields.
2 · R C min ( 2 · a ) max ( 2 · a ) mean ( 2 · a )
10 mm33 px48 px40 px
15 mm47 px70 px59 px
20 mm66 px102 px84 px
Table 13. Precision analysis of the radius determination in the BA for the different radii and models ( Δ R C = m e a n ( R C , B A ) R C , r e f ).
Table 13. Precision analysis of the radius determination in the BA for the different radii and models ( Δ R C = m e a n ( R C , B A ) R C , r e f ).
Model R C , ref
in mm
RMS BA
in px
mean ( R C , BA )
in mm
Δ R C
in mm
Δ R C / R C , ref
in %
mean ( σ RC , BA )
in mm
s R C , BA
in mm
s R C , BA / R C
in %
Section 4.45.00.0504.942−0.058−1.20.00290.0110.21
Section 4.55.00.0774.942−0.058−1.20.00100.0110.21
Section 4.47.50.0487.446−0.054−0.720.00290.0120.16
Section 4.57.50.0767.446−0.054−0.720.00100.0120.16
Section 4.410.00.0379.948−0.052−0.520.00320.0190.19
Section 4.510.00.0759.948−0.052−0.520.00090.0180.18
Table 14. Accuracy analysis of the scale definition by different radii and models.
Table 14. Accuracy analysis of the scale definition by different radii and models.
Model R C , ref
in mm
RMS BA
in px
d scalebar , estimated
in mm
d scalebar , target
in mm
Difference
in mm
Relative Error
in %
Section 4.45.00.050748.968740.289−8.679−1.2
Section 4.55.00.082748.920740.289−8.631−1.2
Section 4.47.50.048745.621740.289−5.332−0.72
Section 4.57.50.081745.600740.289−5.311−0.72
Section 4.410.00.037744.124740.289−3.835−0.52
Section 4.510.00.088744.159740.289−3.870−0.52
Table 15. Comparison of methods.
Table 15. Comparison of methods.
MethodAdvantagesDisadvantages
Ecc. corr. in image space (Section 4.1, Equation (8))
  • Small computational effort in BA
  • Ecc. completely corrected
  • Usage of standard pinhole model
  • Target radii and normals must be given
Approximate ecc. corr. in image space (Section 4.1, Equation (13))
  • Small computational effort in BA
  • Ecc. partly corrected
  • Usage of standard pinhole model
  • Target radii and normals must be given
Concentric circle target ecc. corr. in image space (Section 4.2, Equation (22))
  • Small computational effort in BA
  • Ecc. quasi completely corrected
  • Circle normal not required
  • Usage of standard pinhole model
  • Image ellipse analysis of two rings
  • Target radii ratio must be given
  • Larger target size
Pinhole model for circles with fixed radii and normals (Section 4.3)
  • Small computational effort in BA
  • Ecc. completely corrected
  • Target radii and normals must be given
Extended BA with pinhole model for circles (Section 4.4)
  • Ecc. completely corrected
  • Target radii and normals are computed in BA
  • High computational effort in BA
  • Initial target radii and normals required
BA with contour points (Section 4.5)
  • No eccentricity errors
  • Target radii and normals are computed in BA
  • Very high computational effort in BA
  • Initial target radii and normals required
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Liebold, F.; Maas, H.-G. Eccentricity Correction Methods for Circular Targets in Perspective Projection. Metrology 2026, 6, 28. https://doi.org/10.3390/metrology6020028

AMA Style

Liebold F, Maas H-G. Eccentricity Correction Methods for Circular Targets in Perspective Projection. Metrology. 2026; 6(2):28. https://doi.org/10.3390/metrology6020028

Chicago/Turabian Style

Liebold, Frank, and Hans-Gerd Maas. 2026. "Eccentricity Correction Methods for Circular Targets in Perspective Projection" Metrology 6, no. 2: 28. https://doi.org/10.3390/metrology6020028

APA Style

Liebold, F., & Maas, H.-G. (2026). Eccentricity Correction Methods for Circular Targets in Perspective Projection. Metrology, 6(2), 28. https://doi.org/10.3390/metrology6020028

Article Metrics

Back to TopTop