CAMERA CALIBRATION MODELS AND METHODS
FOR CORRIDOR MAPPING WITH UAVS

E. Cledat, D A Cucci, J. Skaloud

► To cite this version:

E. Cledat, D A Cucci, J. Skaloud. CAMERA CALIBRATION MODELS AND METHODS FOR CORRIDOR MAPPING WITH UAVS. ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2020, V-1-2020, pp.231-238. 10.5194/isprs-annals-V-1-2020-231-2020 . hal-04424502

HAL Id: hal-04424502

https://hal.science/hal-04424502v1

Submitted on 29 Jan 2024

**HAL** is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# CAMERA CALIBRATION MODELS AND METHODS
## FOR CORRIDOR MAPPING WITH UAVS

E. Cledat¹*, D. A. Cucci¹, J. Skaloud¹

¹ Geodetic Engineering Laboratory, École Polytechnique Fédérale de Lausanne, Switzerland
(emmanuel.cledat, davide.cucci, jan.skaloud)@epfl.ch

Commission I, WG I/9

**KEY WORDS:** Camera calibration, Interior Orientation, lens distortions, Corridor mapping, UAVs

**ABSTRACT:**

Camera calibration refers to the modeling of the relationship between the coordinates of object points and their projections on the image plane. This is usually done by parametric models that describe the physical properties of the lens systems and camera assemblies, such as the camera principal distance, the principal point, and various types of optical distortions. In photogrammetry, accurate knowledge of the parameters of such models, often referred to as Interior Orientation (IO), is of ultimate importance. In this work, we target advanced corridor mapping applications with UAVs. In this scenario, the camera calibration is not completely observable due to the unfavorable geometry of the flight trajectory (e.g., no cross flight lines available and a single altitude) and needs to be determined beforehand. Further challenges are introduced by the limited mechanical stability of UAV-grade cameras. This may cause slight variations in the IO that need to be recovered while processing production flights. We review and compare two well known camera models, the Brown-Conrady and the Ebner's self-calibration functions, in 36 calibration setups and provide a discussion of the results, where sub ground sampling distance accuracy in the checkpoints was achieved for some, but not all, configurations.

## 1. INTRODUCTION

Camera calibration, or the camera Interior Orientation (IO), is an essential prerequisite to determine precise and accurate three dimensional, metric, information from images. It models the relationship between the coordinates of object points in the camera reference frame and the corresponding image coordinates. The knowledge of such relationship allows, among others, to recover three dimensional object coordinates from multiple views by means of a bundle adjustment algorithm (Triggs et al., 1999). The IO is specific to each particular assembly of camera and lenses and may change in time (Läbe, Förstner, 2004).

A wide range of digital cameras commonly employed in photogrammetry are equipped with lenses designed to obey the perspective projection law (i.e., the collinearity equations). However, this is seldom true in reality because of at least four effects related to imperfections in their construction (Fraser, 1997): i) symmetric radial distortion, ii) decentering distortion, iii) image plane unflatness and iv) in-plane image distortion. These can cause non negligible deviations from collinearity. At least two families of models have been proposed to account for this: Brown-Conrady (Brown, 1971) (abbreviated to Brown in the following) and Ebner's self calibration functions (Ebner, 1976). These models are characterized by a variable number of parameters that need to be determined, through a process called camera calibration (Remondino, Fraser, 2006).

Camera calibration is typically approached by acquiring a large set of images (typically more than 50) of an object (such as a chessboard or a calibration field composed of several Ground Controls Points: GCPs) in order to describe accurately the camera behavior. The parameters of the chosen camera model (e.g., Brown) are then estimated to best fit the observations. A very

well known approach in computer vision relies on the use of easily recognisable targets (e.g., checkerboards) whose metric dimensions are known. Several established tools are available to determine Brown's distortion coefficients in this setup, e.g., (Bouguet, 2000), however, these often yield correlated estimates for the calibration parameters. One reason is that all the known points lie on the same plane. Even in three dimensional laboratory calibration setups, the depth of field is typically much smaller with respect to target applications, such that erroneous estimates for the distortion coefficients may be obtained (Lichti et al., 2008). Therefore, photogrammetrists typically prefer to perform camera calibration in conditions that are similar with respect to the target application. For example, in aerial photogrammetry, dedicated flights are performed over a field equipped with several GCPs: the orientation of the camera, along with the IO, are recovered during the bundle adjustment. This approach also relies on additional points identified automatically (tie-points) whose object space coordinates are not known.

Further issues related to camera calibration arise in the emerging field of aerial photogrammetry based on Micro Aerial Vehicles (UAVs), which are becoming an essential tool for surveyors, engineers and scientists (Colomina, Molina, 2014). Here, consumer-grade cameras and lenses are employed due to payload size, weight and cost limitations of UAVs. The mechanical stability of such sensors is uncertain: for example, the µm level positioning and alignment of the lens might change when vibrations, bumps during landing, temperature variations, etc. occur during the operation of a UAV. This implies that the IO determined from one calibration flight may not be directly applicable, as it is, in subsequent production flights (Cramer et al., 2017). However, in general it is not possible to determine the IO from scratch in production flights as i) the geometry of certain mapping missions, e.g., for corridor mapping, is such

<footnote>*Corresponding author</footnote>
that the IO is not fully observable, ii) practitioners strive to reduce the number of GCPs since they are time and cost intensive. This calls for sound methods to exploit the IO from dedicated calibration flights but at the same time recover minor variations due to the mechanical instability of consumer-grade cameras.

In this work we focus on long corridor mapping missions with UAVs where no GCPs are available. Here, a high quality a-priori IO is essential. We consider five instances of models from the Brown's and Ebner's families, differing by the number of IO parameters, which we determine using two different calibration setups. Next, we employ these IOs in a 2 km long corridor mapping flight, first using only values determined during calibration, and then using three different strategies to estimate corrections for camera mechanical instabilities during the bundle adjustment. Practically unbiased Check Points (CPs) errors and sub-Ground Sampling Distance (GSD) root mean squared error (RMS) were achieved, in certain cases, approaching the accuracy to which CPs are known. We've also found combinations of models and calibration strategies which do not provide satisfactory results, for which we investigate the causes and provide an extensive discussion.

This work is organised as follows: in Section 2 we review the Brown and Ebner's calibration models in a unified formulation. In Section 3 and 4 we review the calibration state of the art in Integrated Sensor Orientation (ISO) and we present three strategies to re-calibrate the IO during production flights. In the last sections we present the results of a rigorous experimental evaluation of the different models and strategies presented in a real-world corridor mapping application.

## 2. CAMERA MODELS

In this section we review two approaches to model the departures from collinearity typical of many narrow angle cameras and lenses. The first is the physical oriented approach, the Brown function, while the second, more numerically oriented, is given by the Ebner self-calibration functions, and later extensions. Whereas the principles behind those are well known, several slightly different formulations have been presented in the literature. Thus, we report those used in this study in the following analysis.

We define the projection function $\pi: \mathbb{R}^3 \to \mathbb{R}^2$ as:

$$ \begin{bmatrix} x \\ y \end{bmatrix} = \frac{1}{Z} \begin{bmatrix} X \\ Y \end{bmatrix}, \qquad (1) $$

where $[X, Y, Z]^T$ are the object coordinates of a point with respect to the camera reference frame (in meters) and $[x, y]^T$ is the corresponding (unit-less) projection on a plane at unitary distance from the optical center of the camera. The well known pinhole camera model is found by multiplying $\pi$ by the principal distance of the camera, e.g., in pixels. Many lens systems are designed to best follow this relation.

More complex camera models, able to account for different kinds of distortion effects introduced by real lens systems, build on $\pi$ as follows:

$$ \begin{bmatrix} x' \\ y' \end{bmatrix} = \xi \left( \pi \left( [X, Y, Z]^T \right) \right), \qquad (2) $$

with $\xi: \mathbb{R}^2 \to \mathbb{R}^2$. Image coordinates $[x', y']^T$ are typically expressed in pixels. The function $\xi$ involves a set of parameters

which are generally referred to as Additional Parameters (APs), or camera Interior Orientation (IO).

### 2.1 Brown distortion model

In Brown's distortion model (Brown, 1971), the function $\xi(\cdot)$ is defined as the composition of two other functions $\xi = \xi_2 \circ \xi_1$: the output of the function $\xi_1$ is used as input of the function $\xi_2$.

$$ \xi_2: \begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} f + B_1 & B_2 \\ 0 & f \end{bmatrix} \begin{bmatrix} x'' \\ y'' \end{bmatrix} + \begin{bmatrix} pp_x \\ pp_y \end{bmatrix}, \qquad (3) $$

$$ \xi_1: \begin{bmatrix} x'' \\ y'' \end{bmatrix} = (1 + K_1 r^2 + K_2 r^4 + K_3 r^6 + \dots) \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix} (P_1 (r^2 + 2x^2) + 2P_2 xy) \\ (2P_1 xy + P_2 (r^2 + 2y^2)) \end{bmatrix} (1 + P_3 r^2 + \dots). \qquad (4) $$

where:

1. $f$ and $[pp_x, pp_y]^T$ are the principal distance and the principal point (in pixels),

2. $B_1$ accounts for non-uniform scaling and $B_2$ for skewing along the axis of the imaging sensor,

3. $K_i$ and $P_i$ are the radial and tangential distortion coefficients,

4. "..." stands for an arbitrary number of additional terms in the polynomial expansion in $r^2$,

5. $r^2 = x^2 + y^2$.

This formulation is very well known and corresponds to the one implemented in established photogrammetry software, such as Agisoft Metashape, or open-source computer vision libraries, such as OpenCV.

In this work we consider three specific instances of the Brown model, referred to as Brown10, Brown15 and Brown18 in the following, which differ in the total number of parameters employed. Whereas $f$, $pp_x$, $pp_y$, $B_1$ and $B_2$ are always considered, the models differ in the order of the polynomial expansions for the radial and tangential distortion (with respect to $r^2$):

1. Brown10: $K_i, i \in [1, \dots, 3]$, $P_j, j \in [1, \dots, 2]$,

2. Brown15: $K_i, i \in [1, \dots, 6]$, $P_j, j \in [1, \dots, 4]$,

3. Brown18: $K_i, i \in [1, \dots, 8]$, $P_j, j \in [1, \dots, 5]$.

### 2.2 Orthogonal polynomials

A second family of models for camera distortions was introduced in (Blázquez, Colomina, 2010) building on a typical example of Orthogonal polynomials: the Ebner's self-calibration functions (Ebner, 1976) (extensions of Ebner's Orthogonal polynomials such as Grün polynomials: (Grün, 1986) are also referred in (Blázquez, Colomina, 2010) but increase the number of parameters). We refer the reader to the original publications for the derivations. The function $\xi$ reads as follows:

$$ \xi: \begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} 1 \\ x \\ x^2 - \frac{2}{3} b_x^2 \\ 1 \\ x \\ x^2 - \frac{2}{3} b_x^2 \end{bmatrix}^T \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \\ b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23} \\ b_{31} & b_{32} & b_{33} \end{bmatrix} \begin{bmatrix} 1 \\ y \\ y^2 - \frac{2}{3} b_y^2 \\ 1 \\ y \\ y^2 - \frac{2}{3} b_y^2 \end{bmatrix}, \qquad (5) $$
where $b_x$ and $b_y$ are the width and the height of the image (in pixels) divided by twice the nominal focal length (in pixels). This model is fully defined by the set of 18 parameters $a_{ij}$ and $b_{ij}$ and will be referred to as OrthoPoly18 in the following.

Brown's and Orthogonal Polynomial models are intrinsically different and it is not possible to give a closed form expression that would map parameters from one model to the other, except for the following:

1. $a_{11} \rightarrow pp_x,$

2. $b_{11} \rightarrow pp_y,$

3. $a_{21} \rightarrow f + B_1,$

4. $b_{12} \rightarrow f.$

### 3. CAMERA CALIBRATION

In order to properly compensate for the distortions introduced by the lens system, one has to first choose which model is best suited for the camera in use, and second determine the values for the parameters defining the model (the IO, or the APs). The first step is often left to user experience, even though modern photogrammetry software is able to automatically select the most significant parameters to be considered within a model family (e.g., choose between Brown10 and Brown15). The second step is called calibration. If the calibration is performed without the use of an external instrument to characterize the sensor, we speak of self-calibration. The methods are well known, and we are going to summarize them in the following.

Camera calibration via aerial photogrammetry is commonly achieved by establishing a dense network of accurately georeferenced ground control points (GCPs) over a calibration field. Dedicated flights are executed to collect several images in a favourable geometrical configuration (e.g., cross flight lines, different elevations and a mix of nadir/oblique views). The images are then oriented by means of the bundle adjustment algorithm, which determines the camera exterior orientation (EO), the parameters of the distortion model (IO), and possibly their precision and reliability. This approach is commonly referred to as Indirect Sensor Orientation (InSO).

In InSO, it is sometimes difficult to achieve optimal decorrelation between the camera EO and IO, and within the IO itself, even when the calibration have been performed with several camera orientations and flight heights. This is the case when the GCPs lie on the same plane, such as when the computer vision approach to camera calibration, based on checkboards, is employed. In this case the parameters corresponding to the focal length ($f$ in BrownXX and $a_{21}$, $b_{12}$ in OrthoPolyXX) remain correlated with the camera position.

If the aerial mapping platform is equipped with a survey grade GNSS receiver, and (optionally) an IMU, the additional information made available by these sensors can be introduced in the bundle adjustment. This approach is called Integrated Sensor Orientation (ISO), see for example see (Rehak, 2017) for a comprehensive description focused on UAVs.

In ISO, GNSS and inertial observations are fused together by means of a Kalman filter/smoothen in a pre-processing step. This calculates positions and orientations for the camera that can be used as prior information in the bundle adjustment (aerial

control, in photogrammetry jargon). More modern approaches consider a single step where both image and raw inertial/GNSS observation are adjusted together (Cucci et al., 2017). The availability of the extra information from GNSS and inertial sensors helps to de-correlate the camera model parameters from the camera exterior orientation.

In UAVs, only MEMS IMUs can be employed due to space and take-off weight limitations. These are substantially less accurate with respect to tactical or navigation grade IMUs commonly employed in airborne photogrammetry. Thus, the GNSS/inertial solution might be biased, or not sufficiently accurate. In this case, a very effective approach is to use relative, instead of absolute, position/orientation control in the bundle adjustment, as proposed in (Blázquez, Colomina, 2012) and further investigated for the UAV scenario in (Rehak, Skaloud, 2016). This technique exploits the fact that the GNSS/inertial solution may not be sufficiently accurate, but is locally precise, and thus it can be effectively employed to constrain the relative change between subsequent image orientations. Furthermore, relative orientation control eliminates the need to determine the camera boresight with respect to the IMU. We refer the reader to the original publications for the details.

#### 3.1 Orthogonal Polynomials over-parameterization

In InSO, OrthoPoly18 suffers from over-parameterization: some of the parameters defining the model fully correlate with the exterior orientation of the camera. This means that if no absolute aerial orientation control is available, unreliable estimates or worse, numerical instabilities and singularities will be obtained during the bundle adjustment.

To address this issue, in (Blázquez, Colomina, 2010), the authors introduced six constraints on the parameters $a_{ij}$, $b_{ij}$:

$$ \left\{ \begin{array}{l} a_{11} = b_{11} \\ a_{21} = -b_{12} \\ b_{13} = -2a_{22} \\ a_{31} = -2b_{22} \\ a_{12} = b_{21} \end{array} \right. \qquad (6) $$

If these are used to simplify Equation 5, the original 12 parameter Ebner's self-calibration functions are obtained.

In this work we've chosen to omit the first two constraints in Equation 6, since they correspond to $f$ and $pp$ in BrownXX. These are important for modeling consumer-grade cameras where the lens system can not be considered fully geometrically stable in time, or in large camera systems where they depend on environmental factors such as temperature and air pressure. Simplifying Equation 5 with the remaining three constraints gives OrthoPoly15, which requires at least absolute aerial position control during calibration.

### 4. RE-ESTIMATING THE INTERIOR ORIENTATION

In UAVs, consumer grade digital cameras are commonly employed. These are not built for photogrammetry applications and can not be considered mechanically and geometrically stable. In particular, the alignment of the lens with the imaging sensor is subject to change due to external stresses such as vibration or temperature change. The lens radial distortions are in general considered to be more stable, but can still depend on environmental factors. This means that the IO may slightly
change with time and thus be different between calibration and production flights.

To account for this, IO is often re-calibrated during production flights. This means that the bundle adjustment algorithm is initialized with the IO determined from calibration flights, and estimated corrections which account for camera instabilities are applied while processing subsequent production flights. Indeed, particular care needs to be taken as the geometry of production flights may not guarantee the observability of the full IO (e.g., in corridor mapping). In this work we consider three strategies which are discussed in the following.

## 4.1 Leading (Lead)

The parameters *f*, *pp<sub>x</sub>* and *pp<sub>y</sub>* in *BrownXX* and the corresponding parameters *a*<sub>11</sub>, *a*<sub>21</sub>, *b*<sub>11</sub> and *b*<sub>12</sub> in *OrthoPolyXX*, are estimated, while the remaining parameters are kept fixed. This option is well known and implemented in professional aerial photogrammetry softwares such as *Pix4D Mapper* and *Agisoft Metashape*.

## 4.2 A-posteriori covariance (APC)

Let $\Theta$ be the vector of the interior orientation parameters, e.g., for *BrownXX*:

$$ \Theta = [f, pp_x, pp_y, B_1, B_2, \dots] \quad (7) $$

The a-posteriori covariance matrix of this vector, $\Sigma_{\Theta}$, is available as an additional output from the bundle adjustment run on the dedicated calibration datasets. The square root of the diagonal of $\Sigma_{\Theta}$ is typically reported as the error bound for the IO vector. On the off-diagonal terms, often neglected yet significant to experienced practitioners, we find the covariance between two parameters. Non-complete observability of some parameters is spotted by computing the correlation matrix from $\Sigma_{\Theta}$ and looking for off-diagonal terms which are close to one in absolute value.

We can exploit the prior information on the IO available from the calibration flight, including the residual correlations between the single parameters, for the re-estimation of the IO. During the bundle adjustment for the production flight we re-estimate the entire IO vector, where we include an extra observation equation as follows, where $\Theta_0$ have been determined in a calibration flight.

$$ \Theta - \Theta_0 = 0, \quad (8) $$

$\Sigma_{\Theta}^{-1}$ weights the pseudo-observations $\Theta_0$.

## 4.3 A-posteriori covariance inflated (APCI)

While $\Sigma_{\Theta}$ is the best estimate of uncertainty for the camera IO just after the calibration flight, the use of this information in production flights does not account for possible changes in IO due to camera instability.

We thus propose to scale up the diagonal elements corresponding to the leading parameters defined in Section 4.1. The degree to which each parameter is up-scaled is determined by the amount that they are expected to change with time.

<table><caption>Table 1. Calibration and production flights details.</caption><thead><tr><th></th><th>CF1</th><th>CF2</th><th>PF</th></tr></thead><tbody><tr><td>UAV type</td><td>Copter</td><td>Fixed wing</td><td>Fixed wing</td></tr><tr><td>Aerial control</td><td>No</td><td>Yes</td><td>Yes</td></tr><tr><td>Geometry</td><td>Close range</td><td>Block</td><td>Corridor</td></tr><tr><td>Images</td><td>75</td><td>440</td><td>290</td></tr><tr><td>Flight lines</td><td></td><td>26</td><td>4</td></tr><tr><td>Flight levels</td><td>2</td><td>2</td><td>2</td></tr><tr><td>Long. overlap [%]</td><td>≈ 100</td><td>65</td><td>70</td></tr><tr><td>Lat. overlap [%]</td><td>≈ 100</td><td>45</td><td>70</td></tr><tr><td>Mean depth [m]</td><td>16.3</td><td>157</td><td>117</td></tr><tr><td>Min depth [m]</td><td>6.9</td><td>111</td><td>84</td></tr><tr><td>Max depth [m]</td><td>22.7</td><td>546</td><td>186</td></tr><tr><td>mean GSD [mm]</td><td>3</td><td>30</td><td>20</td></tr><tr><td>Tie-points</td><td>2,565</td><td>22,955</td><td>23,813</td></tr><tr><td># GCPs</td><td>17</td><td>21</td><td>0</td></tr><tr><td># CPs</td><td>1</td><td>4</td><td>24</td></tr><tr><td>GCPs accuracy (XYZ) [mm]</td><td>2, 2, 2</td><td>10, 10, 15</td><td>10, 10, 15</td></tr><tr><td>GCPs accuracy (xy) [pixels]</td><td>0.1</td><td>0.2</td><td>0.2</td></tr></tbody></table>

# 5. EXPERIMENTAL EVALUATION

In this work we address challenging corridor mapping applications where we seek to achieve a ground accuracy that is better than the GSD using no ground control points. In these cases, it is essential to determine a reliable IO beforehand since the geometry of such production flights does not allow for self-calibration. Indeed, in corridor mapping missions we typically do not observe at multiple elevations and/or orthogonal flight-lines. Furthermore, in our case no ground control point is available. Another important element is the correct choice of the camera model, which needs to be able to compensate for lens distortion while minimizing the number of parameters employed.

For all the flights, we have employed an aerial photogrammetry payload tailored for a small fixed wing UAV (Rehak, Skaloud, 2015). This payload is composed of: i) a custom, 20 Mpx camera for aerial photogrammetry developed by IGN, France (Martin et al., 2014) with Zeiss Biogon 35 mm lens, ii) a Gecko4Nav redundant IMU board with two Intersense NavChip MEMS IMUs (Clausen, 2019), iii) a Topcon B110 GPS/GLONASS L1/L2 receiver.

We determine the IO of the camera during the bundle adjustment as described in Section 3. Two different strategies are considered:

1. CF1. A set of close-range images of a calibration field densely covered with mm-accurate GCPs (surveyed with theodolites) is oriented without the use of any aerial control (Indirect Sensor Orientation: InSO). The images are taken with converging geometry and from distances between 8 and 12 m.

2. CF2. A block mapping mission is flown over a large area equipped with several cm-accurate GCPs (surveyed by post-processed GNSS). The images are oriented with aerial control (Integrated Sensor orientation: ISO with absolute position and relative orientation control). Two flight altitudes are considered, i.e., 120 and 150 m AGL.
<table><caption>Table 2. Statistics of the checkpoints error for PF. Units are mm.</caption><thead><tr><th rowspan="2"></th><th rowspan="2"></th><th colspan="3">CF1</th><th colspan="3">CF2</th></tr><tr><th>E</th><th>N</th><th>h</th><th>E</th><th>N</th><th>h</th></tr></thead><tbody><tr><td rowspan="10">Brown10</td><td rowspan="3">Fix</td><td>mean</td><td>56</td><td>-8</td><td>185</td><td>22</td><td>-5</td><td>1</td></tr><tr><td>max</td><td>95</td><td>38</td><td>243</td><td>58</td><td>28</td><td>46</td></tr><tr><td>RMS</td><td>60</td><td>21</td><td>186</td><td>29</td><td>12</td><td>17</td></tr><tr><td rowspan="3">Lead</td><td>mean</td><td>2</td><td>1</td><td>48</td><td>4</td><td>-1</td><td>15</td></tr><tr><td>max</td><td>40</td><td>28</td><td>96</td><td>38</td><td>23</td><td>60</td></tr><tr><td>RMS</td><td>22</td><td>15</td><td>52</td><td>20</td><td>11</td><td>23</td></tr><tr><td rowspan="3">APC</td><td>mean</td><td>0</td><td>1</td><td>46</td><td>15</td><td>-3</td><td>3</td></tr><tr><td>max</td><td>37</td><td>24</td><td>92</td><td>51</td><td>26</td><td>48</td></tr><tr><td>RMS</td><td>20</td><td>12</td><td>49</td><td>25</td><td>12</td><td>17</td></tr><tr><td rowspan="3">APCI</td><td>mean</td><td>2</td><td>0</td><td>31</td><td>7</td><td>-1</td><td>9</td></tr><tr><td>max</td><td>36</td><td>24</td><td>77</td><td>42</td><td>23</td><td>53</td></tr><tr><td>RMS</td><td>20</td><td>12</td><td>36</td><td>21</td><td>11</td><td>19</td></tr><tr><td rowspan="10">Brown15</td><td rowspan="3">Fix</td><td>mean</td><td>55</td><td>-9</td><td>173</td><td>23</td><td>-6</td><td>2</td></tr><tr><td>max</td><td>94</td><td>37</td><td>229</td><td>60</td><td>28</td><td>46</td></tr><tr><td>RMS</td><td>59</td><td>20</td><td>174</td><td>31</td><td>12</td><td>17</td></tr><tr><td rowspan="3">Lead</td><td>mean</td><td>3</td><td>0</td><td>43</td><td>5</td><td>-1</td><td>14</td></tr><tr><td>max</td><td>41</td><td>25</td><td>90</td><td>40</td><td>22</td><td>57</td></tr><tr><td>RMS</td><td>22</td><td>14</td><td>47</td><td>20</td><td>11</td><td>22</td></tr><tr><td rowspan="3">APC</td><td>mean</td><td>1</td><td>0</td><td>45</td><td>17</td><td>-4</td><td>3</td></tr><tr><td>max</td><td>36</td><td>24</td><td>90</td><td>53</td><td>26</td><td>47</td></tr><tr><td>RMS</td><td>20</td><td>12</td><td>48</td><td>26</td><td>12</td><td>17</td></tr><tr><td rowspan="3">APCI</td><td>mean</td><td>3</td><td>0</td><td>29</td><td>8</td><td>-2</td><td>10</td></tr><tr><td>max</td><td>38</td><td>23</td><td>74</td><td>43</td><td>23</td><td>53</td></tr><tr><td>RMS</td><td>20</td><td>12</td><td>34</td><td>21</td><td>11</td><td>20</td></tr><tr><td rowspan="10">Brown18</td><td rowspan="3">Fix</td><td>mean</td><td>55</td><td>-9</td><td>172</td><td>23</td><td>-6</td><td>2</td></tr><tr><td>max</td><td>94</td><td>37</td><td>229</td><td>60</td><td>28</td><td>46</td></tr><tr><td>RMS</td><td>59</td><td>20</td><td>173</td><td>30</td><td>12</td><td>17</td></tr><tr><td rowspan="3">Lead</td><td>mean</td><td>3</td><td>0</td><td>42</td><td>5</td><td>-1</td><td>14</td></tr><tr><td>max</td><td>41</td><td>26</td><td>90</td><td>40</td><td>22</td><td>57</td></tr><tr><td>RMS</td><td>22</td><td>15</td><td>47</td><td>20</td><td>11</td><td>22</td></tr><tr><td rowspan="3">APC</td><td>mean</td><td>1</td><td>0</td><td>44</td><td>17</td><td>-4</td><td>3</td></tr><tr><td>max</td><td>36</td><td>24</td><td>90</td><td>53</td><td>26</td><td>47</td></tr><tr><td>RMS</td><td>20</td><td>12</td><td>48</td><td>26</td><td>12</td><td>17</td></tr><tr><td rowspan="3">APCI</td><td>mean</td><td>3</td><td>0</td><td>28</td><td>8</td><td>-2</td><td>11</td></tr><tr><td>max</td><td>37</td><td>23</td><td>74</td><td>43</td><td>23</td><td>54</td></tr><tr><td>RMS</td><td>20</td><td>12</td><td>34</td><td>21</td><td>11</td><td>20</td></tr><tr><td rowspan="10">OrthoPoly15</td><td rowspan="3">Fix</td><td>mean</td><td>-274</td><td>41</td><td>-850</td><td>32</td><td>-8</td><td>-6</td></tr><tr><td>max</td><td>388</td><td>136</td><td>924</td><td>65</td><td>50</td><td>49</td></tr><tr><td>RMS</td><td>284</td><td>80</td><td>852</td><td>36</td><td>24</td><td>24</td></tr><tr><td rowspan="3">Lead</td><td>mean</td><td>-6</td><td>-4</td><td>-114</td><td>13</td><td>-6</td><td>-115</td></tr><tr><td>max</td><td>78</td><td>98</td><td>182</td><td>48</td><td>54</td><td>158</td></tr><tr><td>RMS</td><td>40</td><td>39</td><td>119</td><td>23</td><td>25</td><td>117</td></tr><tr><td rowspan="3">APC</td><td>mean</td><td>11</td><td>-11</td><td>-255</td><td>23</td><td>-7</td><td>-12</td></tr><tr><td>max</td><td>45</td><td>78</td><td>308</td><td>55</td><td>49</td><td>54</td></tr><tr><td>RMS</td><td>24</td><td>33</td><td>256</td><td>28</td><td>24</td><td>25</td></tr><tr><td rowspan="3">APCI</td><td>mean</td><td>3</td><td>-5</td><td>-138</td><td>10</td><td>-4</td><td>-21</td></tr><tr><td>max</td><td>34</td><td>70</td><td>189</td><td>41</td><td>49</td><td>63</td></tr><tr><td>RMS</td><td>20</td><td>30</td><td>141</td><td>19</td><td>24</td><td>30</td></tr><tr><td rowspan="10">OrthoPoly18</td><td rowspan="3">Fix</td><td>mean</td><td></td><td></td><td></td><td>32</td><td>-8</td><td>-6</td></tr><tr><td>max</td><td></td><td></td><td></td><td>65</td><td>50</td><td>49</td></tr><tr><td>RMS</td><td></td><td></td><td></td><td>36</td><td>24</td><td>24</td></tr><tr><td rowspan="3">Lead</td><td>mean</td><td></td><td></td><td></td><td>15</td><td>-9</td><td>-145</td></tr><tr><td>max</td><td></td><td></td><td></td><td>54</td><td>61</td><td>186</td></tr><tr><td>RMS</td><td></td><td></td><td></td><td>26</td><td>29</td><td>146</td></tr><tr><td rowspan="3">APC</td><td>mean</td><td>Not applicable</td><td></td><td></td><td>23</td><td>-7</td><td>-11</td></tr><tr><td>max</td><td></td><td></td><td></td><td>56</td><td>49</td><td>53</td></tr><tr><td>RMS</td><td></td><td></td><td></td><td>29</td><td>24</td><td>25</td></tr><tr><td rowspan="3">APCI</td><td>mean</td><td></td><td></td><td></td><td>10</td><td>-4</td><td>-20</td></tr><tr><td>max</td><td></td><td></td><td></td><td>41</td><td>48</td><td>62</td></tr><tr><td>RMS</td><td></td><td></td><td></td><td>19</td><td>24</td><td>30</td></tr></tbody></table>

See Table 1 for a detailed description of the considered flights.

For both CF1 and CF2, we consider five choices for the camera models: i) Brown10, ii) Brown15, iii) Brown18, iv) OrthoPoly15 and v) OrthoPoly18. See Section 2 and Section 3.1.

We test the IO determined with each combination of calibration strategy and camera model on a challenging 2 km N-S oriented corridor mapping mission, referred to as the Production Flight (PF) in the following, see again Table 1. This can be done by either keeping the IO fixed as it has been determined from the calibration flights (Fix, in the following), or by correcting for estimated camera instabilities in the bundle adjustment starting from the known initial values, according to any of the strategies presented in Section 4, i.e., Lead, APC, APCI.

For each of the 5 (camera models) × 4 (re-calibration strategies) × 2 (calibration setups) − 4 (because OrthoPoly18 cannot be applied in CF1 where no aerial control is available) = 36 experiments, we compute the statistics of the CPs error, in terms of mean, maximum and root mean squared error (RMS). See Table 2. To ease the interpretation, the cells are color coded according to the RMS, where white and red are associated with the lowest and highest values, respectively.

# 6. DISCUSSION

## 6.1 Camera calibration strategy

The IO parameters determined in CF2 perform better than those determined in CF1. In fact, when the first ones are directly applied in PF with no correction, (Fix), they always yield better results.

In Figure 1 we have reported the correlation matrix for the Brown10 IO parameters as determined from CF1 and CF2. The matrix for CF1 shows substantially higher correlations between parameters as compared to that of CF2, notably for the lead parameters. Note that almost complete correlation exists between the principal distance and the y component of the principal point ($\rho_{f,pp_y} = -0.97$). This means that the values for the IO parameters could not be fully resolved, and that one could manipulate those to a relatively large extent (e.g., along the direction of the first eigenvector of the covariance matrix) and obtain similar values for the image observation residuals.

We argue that the reason for this is that aerial control in CF2 brings extremely valuable information to de-correlate IO parameters. This is an argument for the use of aerial control in camera calibration flights.

## 6.2 Camera models

We observe that the physical models BrownXX outperform OrthoPolyXX in the considered case. Indeed, some aspects of the distortions specific to the considered lens system could not be compensated using any of the OrthoPolyXX models.

To show this, we attempt to compare the departures from collinearity as observed from tie-points and as implied by the estimated IO model. For each tie-point $P_i$ we define a vector $\vec{v}_{P_i}$ as the difference between its image projection implied by the pinhole camera model and the actual tie-point image coordinates:

$$ \vec{v}_{P_i} = f\pi(P_i) + \begin{bmatrix} pp_x \\ pp_y \end{bmatrix} - z_{P_i}, \quad (9) $$
<figure><img src="image_2.png" /><figcaption>Figure 1. IO correlation matrix for Brown10. Black to white colors highlight low and high correlation coefficients, respectively.</figcaption></figure>

where $P_i$, $f$, $pp_x$ and $pp_y$ are taken from the output of the bundle adjustment for PF with OrthoPoly18. A vector $\vec{v}_M$, i.e., the corrections implied by a given IO model, can be defined analogously for any point of the image plane.

$\vec{v}$ can be decomposed in two components, radial, in the direction of the principal point, and orthoradial, i.e., orthogonal to the first, see Figure 2.

<figure><img src="image_3.png" /><figcaption>Figure 2. Decomposition of the departure from collinearity vector, $\vec{v}_{P_i}$ into its radial ($v_\rho$) and orthoradial ($v_\theta$) components for a tie-point observed at image coordinates $z_{P_i}$.</figcaption></figure>

As an example, in Figure 3 we have plotted the radial component of $\vec{v}_M$ along the diagonal of the image plane (blue curve) and the observed $\vec{v}_{P_i}$ for the tie-point observation close to such diagonal, for all the considered IO models. It is readily evident that BrownXX fits the observations better than OrthoPolyXX. Note the overfit in Brown18 in the extremities of Figure 3c. In Figure 4 and Figure 5 we have plotted the radial and the orthoradial components of $\vec{v}_M$, respectively, as a function of the image coordinates. We can observe that no clear radially symmetric correction is implied by OrthoPolyXX, see especially Figure 4d and 4e.

These results may hold for the specific lens at hand, a high quality Zeiss Biogon, and may not be generally applicable. However, the numerical models based on Ebner's self-calibration functions were developed in the seventies when aerial photogrammetry was performed by means of film cameras and additional corrections due to film out of plane deformations were important. This is why numerically inspired models were developed. We suggest that this may no longer be appropriate

with modern digital cameras. In fact, with digital cameras, even consumer grade, the distortion effects are dominated by a component that is radially symmetrical. For this, no explicit term is present in Ebner's functions.

## 6.3 Re-calibration

With respect to the re-calibration strategy, we argue the following:

1. In general, it is not optimal to directly employ the IO as determined in calibration flights (Fix), at least with consumer grade cameras, since it is well known that the leading IO parameters may slightly but significantly change due to camera mechanical instability.

2. The well known strategy of re-estimating the leading IO parameters (Lead) improves results with respect to Fix in all the considered experiments and yields some of the best results.

3. APC and APCI further improve upon Lead and such improvement is more marked when the available IO parameters from calibration are correlated, as in CF1. Unfortunately, these strategies are not implemented in commercial aerial photogrammetry software.

4. It is not clear whether APCI is better than APC. We note that APCI has one tuning parameter which affects how much the diagonal components of $\Sigma_\Theta$ corresponding to the leading IO parameters are inflated. This is related to how much those are expected to change with time and is an empirical parameter that relies upon user experience and the specific camera being utilized.

Finally, we note that no matter what re-calibration strategy we employ, better results are obtained when IO from CF2 are employed. This is related to the fact that the geometry of corridor mapping missions enables correction for imperfect IO, even when the full a-priori uncertainty $\Sigma_\Theta$ is employed.
<figure><img src="image_4.png" /><figcaption>Figure 3. Radial component of the observed departures from collinearity, $\vec{v}_P$, (red dots), and as implied by the estimated IO model, $\vec{v}_M$ (blue curve), for points on the diagonal of the image plane.</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>Figure 4. Radial component of $\vec{v}_M$ as a function of image coordinates. Black corresponds to +10 pixels and red to -10 pixels.</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>Figure 5. Orthoradial component of $\vec{v}_M$ as a function of image coordinates. Black corresponds to +2.5 pixels and red to -2.5 pixels.</figcaption></figure>
## 7. CONCLUSIONS

In this work we have investigated different calibration strategies and IO models targeting corridor mapping applications. In this scenario, a-priori knowledge of the IO is essential. We've seen that certain choices may lead to poor results and should be avoided, while others allowed us to obtain sub-GSD residuals at checkpoints using no GCP.

Our results can be summarized in the following guidelines useful to UAV practitioners who are targeting delicate mapping missions in which redundancy and ground control are limited:

1. prefer calibration flights in similar configurations (e.g., altitude) with respect to production flights,

2. use aerial control during camera calibration, as opposed to laboratory setups or Integrated Sensor Orientation,

3. allow some form of re-estimation of the camera calibration during the bundle adjustment of production flights (unfortunately only Lead is available in commercial bundle adjustment software),

4. strive to reduce the number of calibration parameters, as long as they are sufficient for modeling the lens at hand,

5. prefer the Brown family model over Ebner's for lenses with a predominant radial distortion component.

## ACKNOWLEDGEMENTS

We would like to warmly thank the researchers from the LASTIG, Gustave Eiffel University, ENSG, IGN (French Institute for geomatics and geodesy) for having lent us the camera used for this research and in particular, Jean-Philippe Souchon, Christian Thom and Olivier Martin for their precious support in integrating the camera in a complete aerial photogrammetry payload. Moreover, we would like to thank Jesse LaHaye for his help in proofreading the language.

## REFERENCES

Blázquez, M., Colomina, I., 2010. On the role of self-calibration functions in integrated sensor orientation. Proceedings of the International Calibration and Orientation Workshop (EuroCOW). Castelldefels, Spain.

Blázquez, M., Colomina, I., 2012. Relative INS/GNSS aerial control in integrated sensor orientation: Models and performance. *ISPRS journal of photogrammetry and remote sensing*, 67, 120–133.

Bouguet, J.-Y., 2000. Matlab camera calibration toolbox. Caltech Technical Report, http://www.vision.caltech.edu/bouguetj/calib_doc/.

Brown, D., 1971. Close-range camera calibration. Photogrammetric Engineering, 37(8), 855–866.

Clausen, P., 2019. Calibration Aspects of INS Navigation. PhD thesis, EPFL.

Colomina, I., Molina, P., 2014. Unmanned aerial systems for photogrammetry and remote sensing: A review. *ISPRS Journal of Photogrammetry and Remote Sensing*, 92, 79–97.

Cramer, M., Przybilla, H., Zurhorst, A., 2017. UAV cameras: overview and geometric calibration benchmark. *The International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences*, 42, 85.

Cucci, D. A., Rehak, M., Skaloud, J., 2017. Bundle adjustment with raw inertial observations in UAV applications. *ISPRS Journal of Photogrammetry and Remote Sensing*, 130, 1–12.

Ebner, H., 1976. Self calibrating block adjustment. *Bildmessen und Luftbildwessen*, 44, 128–139.

Fraser, C. S., 1997. Digital camera self-calibration. *ISPRS Journal of Photogrammetry and Remote sensing*, 52(4), 149–159.

Grün, A., 1986. Photogrammetrische Punktbestimmung mit der Bündelmethode. *Mitteilungen, Vol. 40, Institut für Geodäsie und Photogrammetrie, ETHZ, Zürich, Switzerland*.

Läbe, T., Förstner, W., 2004. Geometric stability of low-cost digital consumer cameras. *Proceedings of the 20th ISPRS Congress, Istanbul, Turkey*, Citeseer, 528–535.

Lichti, D., Skaloud, J., Schaer, P., 2008. On the calibration strategy of medium format cameras for direct georeferencing. *International Calibration and Orientation Workshop EuroCOW*.

Martin, O., Meynard, C., Pierrot Deseilligny, M., Souchon, J.-P., Thom, C., 2014. Réalisation d'une caméra photogrammétrique ultralégère et de haute résolution. *Proceedings of the colloque drones et moyens légers aéroportés d'observation, Montpellier, France*, 24–26.

Rehak, M., 2017. Integrated sensor orientation on micro aerial vehicles. PhD thesis, EPFL.

Rehak, M., Skaloud, J., 2015. Fixed-wing micro aerial vehicle for accurate corridor mapping. *ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences*, 2(1), 23.

Rehak, M., Skaloud, J., 2016. Applicability of new approaches of sensor orientation to micro aerial vehicles. *ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences*, 3, 441.

Remondino, F., Fraser, C., 2006. Digital camera calibration methods: considerations and comparisons. *International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences*, 36(5), 266–272.

Triggs, B., McLauchlan, P. F., Hartley, R. I., Fitzgibbon, A. W., 1999. Bundle adjustment—a modern synthesis. *International workshop on vision algorithms*, Springer, 298–372.