REFINED SATELLITE IMAGE ORIENTATION IN THE FREE OPEN-SOURCE PHOTOGRAMMETRIC TOOLS APERO / MICMAC

This publication presents the RPC-based bundle adjustment implemented in the freeware open-source photogrammetric tool Apero/MicMac. The bundle adjustment model is based on some polynomial correction functions, enriched with a physical constraint that introduces the notion of a global sensor rotation into the model. The devised algorithms are evaluated against two datasets consisting of two stereo and a triplet pair of the Pleiades images. Two sets of correction functions and a number of GCPs configurations are examined. The obtained geo-referencing accuracy falls below the size of 1GSD.


INTRODUCTION
The value of high-resolution optical satellite imaging in earth sciences is indisputable.Among the most common applications are the mapping of natural hazards, monitoring the effects of the climate change, as well as large-scale land classification and surveying.
Quantification of the ground displacements caused by Earthquakes with e.g.SPOT-2 (Puymbroeck et al., 2000), SPOT-5 (Binet and Bollinger, 2005;Vallage et al., 2015), Quickbird-II (Rosu et al., 2015) has proven to give supixel accuracy result.That is, displacements of few cm are possible to resolve.Within the context of natural disasters and crisis areas, satellite imagery is also of interest in mapping changes occurring around residential areas, be it e.g. the collapsed buildings (Klonus et al., 2012), flooded settlements, or structural damages like harbors (Cho et al., 2014).Besides the short term observations, the long term phenomena are observable too, for instance, in the study of glacier melts caused by the changing climate (Jóhannesson et al., 2013).Last but least, the satellite optical sensors offer a variety of ground sample distances (GSD) and frequent revisit times thus are advantageous for cost-effective land-cover classification (Schindler, 2012), country/world-wide digital surface model (DSM) creation, orthophoto generation (d'Angelo, 2013) or even updating of the city building models/cadastral maps (Guerin et al., 2014).

Modelling of the pushbroom sensors
Pushbroom sensors are time-dependent sensors represented by the central perspective projection in the across-track direction, and the orthogonal projection in the along-track direction.As such, they can be described a) rigorously by a physical model (sensor's position, attitude etc.), or b) empirically by some approximating functions.Since the physical modelling varies from sensor to sensor, and is mathematically complex, the common practice is to work with the approximating functions which are purely empirical and generated from the rigorous model (or dense network of ground control points), yet reasonably accurate within * Corresponding author a specified validity zone.Further advantage of the empirical approach is in maintenance of its format due the fact that changes in the sensor geometry/configuration do not necessitate any satellite processing software re-implementation.
Examples of the empirical (a.k.a.generalized) functions are the rational polynomial functions (RPCs), affine functions, or simply object space GRIDs.All three provide an efficient means to functionally relate the image and object space.The 3D affine model approximates the image to ground relation with orthogonal projection, which is full-fledged for the satellites' narrow field of views and high flying altitudes.See Fraser and Yamakawa (2003) and Tao and Hu (2001) as good references on the affine and rational function models.

Refining the RPC-based sensor orientation
The general RPCs -nowadays customarily delivered with Pleiades, SPOT 6/7, QuickBird, WorldView, GeoEye, IKONOS, Cartosat etc. -of a stereo or a triplet pair are said to guarantee accuracy of plus or minus 10pix (CE90)(depending on the satellite employed), corresponding to up to 12m in the ground space (Oh and Lee, 2015).The absolute geo-location misalignment is due to limitations of the sensor's direct spatial positioning, primarily the attitude, the position and velocity (Fraser and Hanley, 2005).Notwithstanding, for large image blocks, multi-temporal acquisitions, and/or images captured from different orbits, the RPCs typically reveal inconsistencies between the scenes, hindering their suitability for application demanding high-precision orientation parameters, e.g. for DSM generation with the semi-global matching algorithms (d'Angelo, 2013).The RPC positioning is hence subject to some refinement.
Consequently, direct and indirect methods of refining the RPCs were conceived.The direct methods modify the original RPCs (for example with the help of GCPs), whereas the indirect methods introduce auxiliary correction functions defined in the image space.The approved methodology is that of indirectly correcting for the differences between true and measured (derived from RPCs) image coordinates with polynomial functions.Grodecki and Dial (2003) and Fraser and Hanley (2003) independently proposed the method and laid down the recipe on how to estimate the parameters of the functions in a bundle adjustment routine.For a good overview of all the available refinement approaches the reader is referred to Xiong and Zhang (2009).

Objectives
The principal objectives of the work presented here were to a) have a free open-source software that is capable of handing the pushbroom sensor data, b) include the pushbroom sensor orientation refinement within one implementation framework of the existing tools of Apero thus allow for future fusion of frame and pushbroom sensors, and c) conceive a generic refinement algorithm that can handle all of the nowaday's available pushbroom sensors (Pleiades, SPOT, Worldview, Quickbird, Ikonos, Aster, etc.).This research contributes to the approved methodology of empirically correcting the sensor orientation parameters by adding a physical piece of information into the bundle adjustment (BA), be it a global sensor rotation.Consequently, it shall lead to the strengthening the BA when none of very few GCPs are available.
Section 2. presents the devised adjustment approach and familiarizes the reader with one evaluation method, namely the residual transverse parallax.The experiments and the commentary on the conducted tests for Limoge and Oregon datasets are presented in Subsections 3.1, 3.2.Subsection 3.3 examines in short the effect of weighting parameters on the outcome BA accuracy.

METHODS
When devising the orientation correction functions, the following was assumed, (a) the satellite trajectory is precise, (b) only the calibration and attitude are incorrect, thus (c) the refinement can be modelled by a smooth 2D polynomial in x, and y of the image space.
The necessary algorithm input data are the images with their respective RPCs, Eqs. ( 1)-(3), and some homologous points between them.The GCPs are optional in the adjustment.
where Pi are the nominator and denominator functions of the RPC equations, and m, n, ∈ (0, 3).

Polynomial compensation with a physical constraint
Analytically, the problem of sensor orientation refinement is formulated in two condition (observations) and three constraint equations.4)-( 7).
where aij and bij are the polynom coefficients' to be estimated.
Constraints Defining the orientation improvement in terms of polynomials, as described above, is risky for the arising overparameterization.The constraint equations are introduced into the system so as to reduce that risk.The first and most significant is the rotation constraint in Eq. ( 8), stating that there exists a global 3D rotation of the sensor, which causes a displacement of the image pixels being equal the displacements caused by the 2D polynomial defined in Eqs. ( 6), (7).Fig. 1 renders a graphical representation of the constraint.The small angles δαi along respective coordinate axes, induce a 2D pixel motion, displayed in the displacement fields maps Ri.The composition of the three motions caused by the three angles gives rise to the total pixel displacement and is modelled by a 2D deforming polynomial.
The second constraint, specified in Eq. ( 9) ascertains that the displacements remain close to zero.Ultimately, Eq. ( 10) controls the convergence rate, declaring the difference in displacements between subsequent iterations be small too.
The pdsrot, pds nul , pds last functions in Eqs. ( 8)-( 10) are nonparameterized weight functions, whereas the pds N b in Eq. ( 11) limits the influence of this particular category of equations.
where s, t correspond to a grid defined over the image size, and pds all is the sum of weights of all observation equations (typically the tie points and GCPs).Note that MicMac defines separate pds N b weights for each of its observations (conditions) and constraints; refer to the manual (MicMac, Apero) for the comprehensive equations.The bundle adjustment in MicMac internally recomputes the initial RPCs to convert and subsequently work on object coordinates defined in a chosen projection system.

Residual transverse parallax
The residual transverse parallax of a stereo pair is a means to evaluate the internal accuracy of the sensor's orientations (the combined interior and exterior orientation).For an ideal pair, irrespective of whether the orientations are known through RPCs or the physical parameters, the homologous points should lie along their respective epipolar curves.In other words, the distance of a point in the right image to the epipolar curve of the corresponding point in the left image, shall equal zero (equivalent to no transverse parallax).
Semi-global matching To quantify the remaining transverse parallax MicMac performs semi-global matching (Hirschmüller, 2008;Pierrot-Deseilligny and Paparoditis, 2006) in the direction perpendicular to the epipolar curve.The similarity measure used is the normalized cross-correlation computed over a window.The usual values for the full-resolution matching step is 0.025 or 0.05 pix, and at each step the matching occurs on an area of 0.05 x 0.2 pix in the along and transverse epipolar line directions.
Epipolar curves generation To ease the computational effort, prior to the matching, the images are resampled to their epipolar geometries.It is known that, unlike for frame cameras, the epipolar curves of pushbroom sensors a) do not follow straight lines, and b) globally there exist no epipolar curve pairs (Gupta et al., 1997).Nonetheless, locally -within some limited depths -the curves can be approximated as straight lines and as such their corresponding epipolar lines in the left and right images are conjugate (Oh, 2011).
The MicMac's strategy commences with the generation of the conjugate piecewise linear epipolar curves for a 2D image grid.Every grid point commits to an epipolar line originating from the intersection of this grid point with the minimum and maximum Z-coordinates in the global reference frame.The Z-coordinates are known from the provided RPC data, and the entire procedure is conducted symmetrically for the left and the right image.Typically, the global direction of all epipolar curves does not follow the direction of the image rows.To make it compliant with the epipolar condition, hence bring it parallel to the image rows, the curves are approximately rotated so that the points in the left and the right images are row-wise aligned.The last step does the actual resampling of images with a polynomial function by default of 9 th degree.
The recovery of epipolar curves in MicMac resembles that of (Oh, 2011), thus no further implementation details will be discussed herewith.

EXPERIMENTS
The orientation refinement is tested on two datasets acquired with the Pleiades satellites.The first dataset -Limoge -is composed of four images, i.The GCPs on the Limoge dataset were obtained by triangulation on aerial images with a ground sampling distance (GSD) of 0.3m (cf.Fig. 2).The estimated planimetric point accuracy is about 0.5 GSD, and the altitude accuracy is about 1.0 GSD.The testing scenarios differ in terms of the number/distribution of the employed GCPs (1-6 denoted with letters A-E; cf.Fig. 5) and the degree of the deforming polynomial (0 and 1 st degree denoted with the respective numbers and placed after the letters indicating the GCPs scenario, e.g.A1 for degree 1 in GCP scenario A).Scenarios X include no GCPs in the processing.The total number of the control points equals 36.
The GCPs on the Oregon dataset were obtained from a 2x2m Li-DAR point cloud data available from the OpenTopography1 platform (cf.Fig. 3).Due to the problematic accurate point identification in both the satellite images and the point clouds, the evaluation proceeds solely on the Z-coordinates of control points.In analogy to the Limoge data, the testing scenarios differ in GCPs number/distribution (1-6 GCPs, cf.6), and the degree of the deforming polynomial.The naming convention of particular scenarios follows that of the Limoge dataset, too.The total number of the control points equals 19.
Taking the physical viewpoint, the 0-degree polynomial absorbs the in-track and across-track errors hence it models an image by two parameters and the authors refer to it as the shift model.The extra four parameters furnished by the 1 st -degree polynom absorb the surplus gyro drift, radial ephemeris error and leftover interior orientation errors.It is referred to as the drift model (Grodecki and Dial, 2003).The employed weighting parameters were: pdsrot = 0.02, pds last = 1e − 15, pds nul = 0, s • t = 20 and remained unchanged throughout the processing.
In the X scenarios, the pds N b for the condition equations on all tie points was set to 1000, and for scenarios A − E it was equal to 10. Bundle adjustment on both datasets was carried out in the UTM projection system.

Results on Limoge
In Tab. 2 and Fig. 5 the BA results with different GCP configurations are depicted.Two correction parameter sets were tested: modelling the shift, and the drift.The geo-positioning accuracy prior to the adjustment is listed at the top of the table.Notably, the mean reprojection error in the range of 3 pixels, and the significant differences on CPs suggest that both the relative and absolute orientations are apt for refinement.
Scenarios X0 and X1, correspond to the adjustment result without any GCPs.In this case, only the relative orientation between images will be improved, whereas in absolute, the result will remain related by a spatial similarity transformation.This test is to see whether no control information in the solution leads to undesired deformations in object space, and to verify that the imposed constraint do work as anticipated.To remove the effect of the absolute shift, the residuals on control points reported in Tab. 2 and Fig. 5 were aligned with the global frame by a translation (exclusively in X0,1 cases).The 0-degree polynomial perfectly models the relative orientation and does not introduce any systematic artefacts with respect to the global frame (the residuals most optimistic).The 1-degree polynomial result furnishes slightly higher residuals, nonetheless, still more than satisfactory and comparable to the best case with GCPs.
Including one GCP in the shift model compensates for the misclosures in relative orientation (see the σ0 of the BA) and improves the geo-location.The B0 configuration barely affects the result, yet a more indicative reduction would be expected, were the GCPs distributed symmetrically on the diagonal of the area.The remaining GCPs configurations render equivalent results, implying that if adopting the shift model, as many as 3 GCPs suffice to obtain a geo-location accuracy that falls below 1.0 GSD.
The drift model with one and two GCPs clearly performs inferior to the shift model.The systematic error introduced in the adjustment (cf.Fig. 5(g)) is owing to overparameterizing the solution (6 unknowns per an image and only 3 observations for a single GCP) and the rather rigid weighting attached to the GCPs.It is believed to ameliorate if the control information is loosely weighted in the BA.According to Fraser and Hanley (2005), such a solution can be thought of as equivalent to free-network adjustment with inner constraints.Interestingly, the GCPs configuration with 3 points is commensurate with the result E0, i.e. the shift model with the total of 6 GCPs.As a general note, the drift model delivers better accuracies with the increased number of GCPs.
Tab. 1 and Fig. 4 report on the remaining transverse parallax between images of across-track stereo pair, when 4 GCPs are employed, in the shift (D0) and drift (D1) models.In either case the parallaxes place below the BA standard deviation (σ0), nonetheless, the reduced figures in the drift model indicate it is a more suitable choice for the given dataset.The visible sinusoidal pattern is possibly due to the sensor's small frequency vibrations, or the limited approximating capabilities of RPCs.
Table 1: Limoge; µP x 2 , σP x 2 -the mean and standard deviation of the residual parallax computed for across-track stereo pair.

Results on Oregon
As in the previous case, the Oregon dataset was tested with two sets of correction parameters -the shift and the drift, the results of which are shown in Tab. 3 and Fig. 6.Here, unlike in the Limoge dataset where 4 images were acquired from two different orbits, the triplet stereo locates on a single orbit and it manifests in a very good relative orientation, still before the BA (the points' reprojection error of 0.5pix).Inclusion of one GCP in the shift model enhances the Z-accuracy on CPs to ≈1GSD, reaching the best result when 3 GCPs are used.With 4 and 6 GCPs the Z-accuracy slightly deteriorates.The viable explanation for this happening is the hampered identification of corresponding points in the Pleiades images and the LiDAR point cloud data.For the

Tests on weighting parameters
Fig. 8 presents the variation of accuracy as a function of the weighting parameters pdsrot, and pds last .In the performed tests, the pds null was set to 0 thus excluding the constraint on small formations.
The datasets manifest most optimal results for low pds last weight, turning it into a soft constraint.The pdsrot weight is more conservative, however, our experiences prove that if no control information is included in the bundle solution, its value should tend again toward a softer constraint.

CONCLUSIONS
This work presents the RPC-based bundle adjustment (BA) implemented in the free open-source software Apero/MicMac.The adjustment model estimates the parameters of some polynomial correction functions, constraining their estimation by the global sensor rotation.Two datasets consisting of 4 and 3 Pleiades images were used as the real cases to evaluate both, the metric capabilities of the imagery, and the devised algorithms themselves.
A number GCPs configurations scenarios were arranged to examine the behavior of the BA.For each scenario two sets of correction parameters were taken into account -considering only a shift error in the RPCs, and a shift plus a drift.It has been shown that as long as the acquisitions took place from the same orbit (Oregon), the shift parameters were sufficient to refine the geolocalization of the data.On the other hand, images captured from neighboring orbits (Limoge) proclaimed higher accuracy positioning when more parameters entered the BA, i.e. with the drift model.
The number of GCPs employed in the adjustment and their distribution affects the quality of the outcome sensor's geo-referencing.Generally speaking, a minimum of 3 control points are required to obtain accuracy in the range of 1GSD.The empirical findings further signal that the drift model (1 st -degree polynomial) should not be adopted in scenarios with less than 3 GCPs as it leads to overparameterization.It has also been shown that bundle adjustment without control information assures quality results, and does not introduce unwanted deformations.
Future works include automated estimation of weighting parameters, as well as investigating the possibility of a combined treatment of satellite and aerial optical imagery.

Figure 1 :
Figure 1: The relationship between the change in sensor attitude δαi, and the arising 2D pixel displacements Ri.
e. along ( B /H = 0.15 and B /H = 0.3) and across-track ( B /H = 0.2) stereo pairs; the second dataset -Oregon -is a along-track image triplet ( B /H = 0.1).Both datasets capture a scene occupied by urban and rural landscapes.Evaluation of the results is based on (a) σ0 -bundle adjustment (BA) standard deviation, (b) µ cp ∆X,∆Y,∆Z -mean discrepancies between BA-estimated and true values of the check points (CPs), (c) P x2 -the residual transverse parallax computed on the total image (cf.Subsection 2.2).

Figure 4 :
Figure 4: Limoge; residual transverse parallaxes computed for an across-track stereo pair with the matching interval of 0.025 pix.Left: the D0; right: the D1, scenarios.The parallax's magnitudes are found in Tab. 1.

Figure 5 :
Figure 5: Limoge; BA results in different test scenarios.Red triangular markers correspond with the GCPs, the black circular markers are the CPs, and the vectors indicate the discrepancies between the BA-estimated and true values of control points in object space.Note the different scales in (g).

Figure 6 :
Figure 6: Oregon; BA results in different test scenarios.Red triangular markers correspond with the GCPs, the black circular markers are the CPs, and the blue circle radius' indicate the discrepancies between the BA-estimated and true values of LiDAR-derived control points.Note the different scales in (a) and (e).same reason the increased points' reprojection error (σ0) is observed.The drift model -again, for the same reasons mentioned in the subsection on Limoge -diverges from the true solution if solely a GCP is incorporated in the processing.Two GCPs considerably improve the geo-location, albeit still exhibit systematical errors at the far ends of the scene (cf.Fig. 6(e)).

Figure 7 :
Figure 7: Oregon; residual transverse parallaxes computed for along-track stereo pair with the matching interval of 0.05 pix.Left: the D0; right: the D1, scenarios.The parallax's magnitudes are found in Tab. 4.

Figure 8 :
Figure 8: Accuracy as a function of weighting parameters pdsrot, and pds last , in scenario D0.Top: Limoge; bottom: Oregon.

Table 3 :
Oregon; σ0 -bundle adjustment standard deviation, µ gt ∆Z -mean discrepancies between BA-estimated and true Z-values on GCPs, and µ cp ∆Z -on CPs.; both derived from LiDAR point cloud.