Next Article in Journal
A Novel Infringement Detection Method for GIS Vector Data
Previous Article in Journal
The State of Mapillary: An Exploratory Analysis
Previous Article in Special Issue
Relevance of the Cell Neighborhood Size in Landscape Metrics Evaluation and Free or Open Source Software Implementations
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

ACYOTB Plugin: Tool for Accurate Orthorectification in Open-Source Environments

1
Department of Civil, Constructional and Environmental Engineering, Sapienza University of Rome, I-00184 Rome, Italy
2
Niccolò Cusano University Via Don Carlo Gnocchi 3, 00166 Rome, Italy
*
Author to whom correspondence should be addressed.
ISPRS Int. J. Geo-Inf. 2020, 9(1), 11; https://doi.org/10.3390/ijgi9010011
Submission received: 18 September 2019 / Revised: 15 December 2019 / Accepted: 18 December 2019 / Published: 20 December 2019
(This article belongs to the Special Issue Free and Open Source Tools for Geospatial Analysis and Mapping)

Abstract

:
High-resolution satellite images must undergo a geometric rectification process in order to be used for metrical purposes. This operation, called orthorectification, is necessary because of deformations mainly due to camera distortions and acquisition geometry. To correctly orthorectify an image, it is necessary to accurately reconstruct the photogrammetric-acquisition characteristics and the image position with respect to a reference system connected to the ground. This operation, called orientation, can be done using various mathematical models such as rigorous, rational polynomial function (RPF), and rational polynomial coefficient, or, according to some authors, rapid positioning coefficient (RPC) models. Orientation and orthorectification are usually performed within specific commercial software, but in QGIS, these complex operations can be performed using the open libraries of the Orfeo Tool Box (OTB). Unfortunately, instructions given by OTB developers lead to scarce results. In fact, the procedure proposed in OTB does not allow for the full exploitation of the potential of RPC models, on which OTB itself is based. As OTB is open-source software, a plugin was developed to overcome these limitations and exploit its full potential. In fact, OTB interfaces are unfortunately essential, and some necessary functions are missing. Therefore, a new QGIS plugin was developed in order to run the entire process in the most photogrammetrically and statistically correct way, and, at the same time, to simplify the relative procedures.

1. Introduction

In the last twenty years, the availability of high- and very-high-resolution satellite images has stimulated methodological research for accurate geometric correction and the orientation of the images themselves. These corrections are necessary for accurate image orthorectification, an operation required to properly position the represented objects. Currently, the most established orthorectification models are based on the rigorous photogrammetric or the rapid positioning coefficient (RPC) approach; these models are almost exclusively available in closed-source commercial software. The possibility to orthorectify in free open-source software is necessary for the research world to disseminate the correct geometric management of the satellite images and to study possible improvements to the currently available models. We studied the possibilities of geometric correction made available by the Orfeo Tool Box (OTB), a library of open-source algorithms implemented within the GIS software QGIS, and we verified how some of the initial parameters of the RPC model could be improved to obtain results equal to or better than those of commercial software. This approach was implemented in a new QGIS plugin that was specifically developed by the authors and that allows for the entire process to be carried out, from data input to the estimation of the actual accuracy of the results, which is presently not possible. This paper describes the improvements that we propose to the OTB orthorectification process, how they were implemented in our plugin, and the first obtained results, comparing them with those that could be obtained under the same condition using commercial software that is considered as a reference by the academic world.

2. Materials and Methods

The present experiment began from the verification of possibilities offered by the orthorectification module contained in open-source software OTB, an open library for processing and elaborating optical and radar images [1,2]. All OTB algorithms are accessible from Monteverdi, QGIS, and Python, and available through a command line or graphical interface. In this context, OTB QGIS functionalities, both command line and graphical interfaces, were checked: the former is more complex, even for experienced users, while not all functions are available in the latter.
The orthorectification of high-resolution satellite images is widely discussed in the literature [3,4], and several models have been developed for their orientation [5,6,7]. However, the availability of new images and models is always a reason for further research and development in search of increasingly optimized and efficient strategies [8,9]. Some commercial software have implemented rigorous, scientifically accredited models such as the well-known Toutin model [10], making such software [11,12] the reference for the most recently performed experiments.
The same cannot be said for open-source and freeware software packages for orthorectification: the available software is not user-friendly and is often poorly documented. Among these packages, the implementation of OTB in a QGIS environment up to the latest version, 3.x, is a matter of special interest.
OTB is built on the Insight Toolkit (ITK), a C++ library developed for image processing, and it manages raster and vector formats supported by the GDAL library, on which it relies for reading/writing data. As for sensor modeling and metadata reading, it is based on the OSSIM library and currently supports the Sentinel, Pléiades, SPOT6, SPOT5, and Digital Globe satellites. OTB is included in the standalone installation of QGIS for Windows, but it needs to be properly enabled and configured, defining the folder where the library was installed.
Once correctly installed, OTB applications can be directly accessed from the QGIS Processing Toolbox panel, and they provide a large number of useful functions to process remote-sensing images, from preprocessing to high-performance analysis such as orthorectification, sensor-model enhancement, segmentation, radiometric calibration, image fusion, pan-sharpening, and element extraction. Some functions, but unfortunately not all, are available with an intuitive graphical interface, simplifying data entry and input parameters, even for less experienced users, who could also take advantage of QGIS to edit, display, and compare different data formats (both raster and vector). As an alternative to the combined use of QGIS and OTB, the latter comes with Monteverdi, a satellite-image viewer that allows quick access to OTB functions, but not the editing and linking of data available with QGIS.
Subsequently, notwithstanding the knowledge of the correct application of photogrammetric models in the OTB, we analyzed the possibility of significantly improving the potential of the procedure, both from the simple point of view of its interface, and from the point of view of photogrammetric and statistical strictness of the operations.
In fact, OTB in QGIS currently does not allow for the accurate entry of measured ground control point (GCP) heights, which are always available when points are measured by differential GPS receivers.
At present, GCP heights in OTB are compulsorily estimated on a digital elevation model (DEM); the Shuttle Radar Topography Mission (SRTM) DEM is used if no DEM is available from the user. According to some authors, the SRTM DEM [13] has indeterminations of up to 10 m; in addition, the OTB only processes ellipsoidal heights, so the SRTM DEM must be corrected by the EGM96 geoid model, introducing further indetermination of the metric order.
Since the OTB is able to orthorectify decimetric ground resolution images (such as the QuickBird one used in this experiment), it is clear that metric approximations on the coordinates of input GCPs cannot provide optimal results. Moreover, in the OTB, it is currently only possible to insert GCPs, but not check points (CPs), allowing us to only estimate precision, but not accuracy, as it is generally defined in statistics.
After a quick description of the experiments, the limits of the current procedure are explained in detail, and then possible solutions with the proposed plugin are illustrated. Finally, the experiment results using OTB with and without the plugin are shown in detail and compared with those obtained through the use of commercial software in rigorous and RPC mode.

2.1. Orientation Models

Aerial and satellite images must be oriented before they can be used for photogrammetric applications such as orthorectification and stereoscopic restitution [14,15].
In particular, for the orthorectification of satellite images, which is the subject of this research, the most widely used algorithms are based on two completely different approaches, generally defined as rigorous and RPC models.
Rigorous models are based on collinearity equations (photogrammetric approach) and describe the imagery acquisition considering geometrical and sensor characteristics. The reconstruction of the orbital segment during image acquisition is obtained by studying the acquisition mode, sensor features, satellite position, and attitude. Even though the rigorous model was not tested in this study, since OTB does not seem to support it with QuickBird images, it was considered quite important to briefly describe its characteristics in Appendix A.
A different type of orientation models is the rational polynomial functions (RPF) or the RPF with RPC. These types of models are completely independent from the physical and geometrical characteristics of the image acquisition. Their parameters can be directly estimated by GCPs by means of the least-squares estimation (RPF) or estimated a priori by the satellite provider, in which case the model is generally defined as RPC.
In the case of RPF, up to 30 uniformly distributed GCPs over the entire image are needed. With RPF, it is possible to obtain scarce accuracy if compared with RPC and the rigorous model. For this reason, RPF models calculated on GCPs are now rarely used. In contrast, RPC-based RPF models (generally referred to simply as RPC or RPC models) can orient the image even with very few GCPs, and with final accuracy close to that of the rigorous models.
In contrast with what is usually reported in the literature [5,6], we show in the discussion that, in this specific test, the RPC algorithms obtained slightly better results than those of the rigorous model of Toutin; for this reason, it was deemed that further tests should be carried out in order to understand the statistical significance of these specific results.
Both in the RPF and RPC models, the object coordinates (latitude, longitude, and ellipsoidal height) of a point are functions of pixel coordinates (I, J) using ratios of polynomial expressions:
I = P 1 ( φ , λ , h ) P 2 ( φ , λ , h ) = a 0 + a 1 λ + a 2 φ + a 3 h + a 4 λ φ + + a 17 λ 3 + a 18 φ 3 + a 19 h 3 1 + b 1 λ + b 2 φ + b 3 h + b 4 λ φ + + b 17 λ 3 + b 18 φ 3 + b 19 h 3 J = P 3 ( φ , λ , h ) P 4 ( φ , λ , h ) = c 0 + c 1 λ + c 2 φ + c 3 h + c 4 λ φ + + c 17 λ 3 + c 18 φ 3 + c 19 h 3 1 + d 1 λ + d 2 φ + d 3 h + d 4 λ φ + + d 17 λ 3 + d 18 φ 3 + d 19 h 3
where aj, bj, cj, dj are the coefficients; φ is latitude; λ is longitude; h is ellipsoidal height; I is the column of the pixel in the raster file; and J is the row.
The order of the RPF is generally less than or equal to 3, because a higher order does not substantially improve the results and it requires a very large number of GCPs. In particular, the National Imagery and Mapping Agency (NIMA) has defined a standardization for RPC contained in specific documentation, where the order of the polynomials is fixed at 3, all coordinates (image and terrain) are normalized in the range [+1; −1], using normalization parameters available in the metadata file. Normalized rather than actual values are used in order to minimize the introduction of errors during calculations [16].
The number of RPCs obviously depends on the polynomial order, so that for the third order, the maximum number of coefficients is 80 (20 for each polynomial), but it is reduced to 78 because each equation is divided by the zero-order terms of the denominators. Within well-known GDAL libraries, direct transformation (1) and inverse transformation are available, where the former expresses image coordinates (I, J) as a function of 3D coordinates on the ground, and the latter expresses the 3D coordinates on the ground as a function of image coordinates (I, J). Both direct and inverse transformations of the ellipsoidal height of the points must be provided [17].
The orientation results obtained with RPC are usually refined introducing a 6-parameter 1st-order transformation in the RPF equation:
I = A 0 + A 1 I + A 2 J + a 0 + a 1 λ + a 2 φ + a 3 h + a 4 λ φ + + a 17 λ 3 + a 18 φ 3 + a 19 h 3 1 + b 1 λ + b 2 φ + b 3 h + b 4 λ φ + + b 17 λ 3 + b 18 φ 3 + b 19 h 3 J = B 0 + B 1 I + B 2 J + c 0 + c 1 λ + c 2 φ + c 3 h + c 4 λ φ + + c 17 λ 3 + c 18 φ 3 + c 19 h 3 1 + d 1 λ + d 2 φ + d 3 h + d 4 λ φ + + d 17 λ 3 + d 18 φ 3 + d 19 h 3
where the six parameters (A0, A1, A2, B0, B1, and B2) are estimated using a set of few GCPs [18,19,20,21].
We observed that OTB instead uses 5-parameter rototranslation [22] to refine RPC results:
I = A 0 + s λ   λ cos α s φ φ sin α J = B 0 + s λ   λ sin α s φ   φ cos α
This probably explains the different results that were obtained using the two software products, which are shown in detail below.
Currently, OTB supports RPC models for most high-resolution satellite images, while, according to the developers, “a more rigorous model is available for SPOT 5 and Sentinel” [23]. Having used a QuickBird image in this experiment, we were compelled to use the RPC model in OTB software. Despite this, details of the rigorous model are reported in Appendix A because it is important to precisely define what the meaning of the ”rigorous model” is based on the photogrammetric approach, clarifying confusion on the subject that is sometimes found in the literature.
The accuracy of the final product strictly depends on the original image characteristics, on the quality of the measured coordinates of ground control points, and on the model chosen to perform the orientation.
Currently, the most used method to investigate the precision and the accuracy of the orientation models is residual analysis, which is based on known ground points that are partitioned into two sets: the first is used in the orientation model (GCPs) and is dedicated to model precision estimation; the second is used to validate the performance of the model itself (CPs) and to define the final accuracy of the product through the root mean square error (RMSE) of CP residuals [5,10].
Residual analysis is performed by comparing the image coordinates of the ground points collimated on the image with the image coordinates calculated through model equations and surveyed coordinates.

2.2. Experiment

The experiment was based on the study of a panchromatic image released by the QuickBird platform (0.7 m ground simple distance (GSD)) belonging to the ortho-ready standard category that was already corrected both radiometrically and geometrically, and also contained an approximate geographical transformation that provided a quick estimate of the image location, contained in the “.IMD” file, and also in the RPC parameters in the “.RPB” file.
There were 25 available ground points, but four of them were discarded because they were not univocally recognizable on the image (Figure 1). All of them were first used as GCPs because, as already explained, OTB does not currently allow the use of CPs. All points were measured with a double-frequency GPS/GNSS receiver and differentiated in postprocessing, and referred to the permanent ISCH station (yellow triangle in Figure 1), with baseline lengths always less than 6 km and a consequent centimeter accuracy for the 3D position. For each measured point, a descriptive monographic document was created to make their subsequent identification more certain for later studies; an example of a monograph is given in Appendix B.
Orthorectification of satellite images in OTB requires the succession of three independent applications. The first, ReadImageInfo, allows for the image metadata and sensor model to be read and writes them into a text file that becomes the input for the next application. The second, RefineSensorModel, adjusts the sensor model using a set of GCPs by calculating the five parameters of the double-scaled rototranslation that are exported to a new text file. The third is used as input, in addition to the raw satellite image and the digital terrain model, in the third and final step, OrthoRectification.
OTB can orthorectify by using different photogrammetric models including a “more rigorous” model [23]; here, the experiment focused on the RPC model that is currently the only one available for QuickBird images.

2.2.1. Read Image Info

Command otbgui_ReadImageInfo provides a graphical interface to read the metadata of the image contained in the .IMD file; this command simultaneously reads even approximate positioning information of the image itself. By checking option “Write the OSSIM keywordlist to a geom file”, the application allows for a “.geom” text file containing the information to be exported.
Currently supported sensors are GeoEye, Ikonos, Pleiades, QuickBird, RadarSat, Sentinel-1, SPOT5 (TIF format); as already mentioned, only for the last two satellites is a “more rigorous” model available according to the developers. It is not exactly clear what the meaning of a “more rigorous” model is, since orientation models in photogrammetry can be divided into rigorous (for example, the Toutin model) and not rigorous (such as the RPC and RPF models). For orthorectification purposes, the OTB needs a sensor model to reproject the image: if sensors are not supported, or the application does not detect any RPC model, the otbgui_GenerateRPCSensorModel command generates an RPC sensor model from a list of GCPs by using the RPF approach. At least 20 points are required for estimation without DEM, and 40 points for estimation with height support. This function, which is actually an RPF model, was not tested here because RPF provided poor results in previous experiments [10].

2.2.2. RefineSensorModel

Command RefineSensorModel reads the previously exported “.geom” text file and a text file containing a list of GCPs as the input information, and provides a least-squares adjustment of the sensor model parameters as output. The application allows a new .geom text file that contains the five following transformation parameters to be exported:
  • intrack_offset,
  • crtrack_offset,
  • intrack_scale,
  • crtrack_scale, and
  • map_rotation

2.2.3. DownloadSRTMTiles

If the user does not have an accurate DEM of the area, the software allows orthorectification, although with poor accuracy, by using the application otbgui_DownloadSRTMTiles, which allows the appropriate SRTM tiles covering the area of interest to be downloaded (Figure 2). SRTM tiles were downloaded from the USGS SRTM3 website [24]
The application downloads version 2.1 of DEM STRM with a 90 m resolution. As this DEM has indeterminations of up to 10 m, as previously mentioned, it is unsuitable for most experiments and applications with high- and very-high-resolution images. This DEM was tested to verify how much the use of the plugin improved the original results. The first verifications immediately showed unsatisfactory results because they were not accurate enough and because there were several void values (white pixels in Figure 2), mainly in the shoreline area. These inadequacies of the digital elevation model also influence the orthorectification process; in fact, the obtained orthophoto showed discontinuities, as seen in Figure 3. For this reason, in the following orthorectification tests, a DEM obtained from the interpolation of a contour map on a 1:5000 scale was used; a planimetric cell size of 2 m was imposed on the final grid.

2.2.4. OrthoRectification

This application allows the final orthorectified product to be obtained (i.e., the correction of the remotely sensed image from deformations that occurred during the acquisition phase. Command otgui_OrthoRectification opens a graphical interface that allows this process to be customized. In the experiment, as above-mentioned, we dealt with an Ortho-Ready QuickBird image (i.e., an image with georeferencing information). For an Ortho-Ready Standard product, according to OTB documentation, the software must be forced to omit approximate location information, inserting the path of the image in the input file, followed by the ?&skipcarto=true extension. A further constraint is to “force” the OTB to read the refined sensor model through the RefineSensorModel application, adding specific key &geom= to the input image path, followed by file path refine.geom (Figure 4).

3. Results and Discussion

3.1. Current OTB Limits

OTB does not currently have a function for the collimation and management of GCPs and CPs, so in this experiment, the GCPs were collimated in the QGIS georeferencer, but image coordinates were not expressed according to OTB convention. Then, it was necessary to develop the first part of the plugin to further convert the image coordinates.
Moreover, in the OTB, as already mentioned several times, it is not possible to enter the value of the point heights, which are automatically obtained from the DEM uploaded in OTB by using the path of the folder that contains it. Since it is possible to only specify the path of the folder and not the name of the DEM file, it is advisable to insert a single file in the folder to avoid reading errors. In addition, the OTB performs all calculations with ellipsoidal heights; for this reason, if an orthometric DEM is used, a Geoid model is also needed. If, erroneously, an ellipsoidal DEM and Geoid file are introduced together, undulation is added anyway, providing incongruous results.
The impossibility of assigning a surveyed height to each ground point represents a serious fault of OTB in the orthorectification process because it does not allow the high precision of the coordinates of the ground control points acquired with a GPS/GNSS survey to be exploited. High-precision coordinates are necessary to obtain appropriate metric accuracy from high- and very-high-resolution images. At present, this inconvenience could be artificially circumvented by the creation of a “service DEM” (Figure 5) from the interpolation of the GCP heights; obviously, this DEM can only be used for this purpose because, moving away from the GCPs, heights become totally arbitrary.
Moreover, a further shortcoming of the OTB is its inability to select the type of collimated points as a check or ground control point, so that all of them are considered to be GCPs and used in the model estimation. For this reason, it is not possible to strictly estimate the accuracy of the final product, but only the precision of the orientation model; the latter usually shows lower values than those of the actual accuracy, so that confounding the two could lead to overestimation of the actual accuracy.
For this reason, the results indicated as “accuracy” in the RefineSensorModel (Figure 6) seem to be more model precision than accuracy, strictly defined according to the most accepted definition [25,26].

3.2. ACYOTB Accuracy Estimation for OTB) Plugin

In order to facilitate orthorectification operations and to allow for real accuracy estimation, a QGIS plugin was implemented (Figure 7). First, the plugin can directly interface with the QGIS georeferencer; it is thus possible to directly collimate the points within the QGIS itself.
The OTB can only manage geographical coordinates and not projected coordinates; the ACYOTB plugin solves this problem because it can manage both. For any conversion between different projections, ACYOTB uses well-proven library PROJ.4 [27].
The previously described OTB criticality related to GCP height information, inserted only through a DEM, has been reported to the OTB development group. Waiting for a possible OTB development to fix this drawback, the ACYOTB plugin circumvents the problem by creating a “service DEM” by only using the three-dimensional coordinates of GPS GCPs (Figure 5). The service DEM is interpolated through the classical inverse distance weight (IDW) algorithm by using GPS-derived heights, and saved in a specific temporary directory. This DEM was used by the plugin only to estimate the GCP heights. For the final orthorectification step, a different DEM must be used.
In order to verify if interpolation of the service DEM decreases GCP height quality, the original GPS values of the heights were compared with those readable on the service DEM. Analysis showed that on only one point was the difference 1 mm, and on all other points it was less than 1 mm (Table A2). Considering that the height accuracy of the GNSS/GPS surveys is only a few centimeters, the error was always considered negligible.
The plugin also allowed the accuracy of the orientation model to be estimated considering a strict procedure based on CPs. In this way, it was possible to solve another OTB fault that currently does not allow CPs to be inserted, only GCPs (ground points used to refine the sensor model).
CPs are a set of ground points independent from GCPs, and they can be used to estimate the actual accuracy of the final results in terms of deviation from values measured on the ground. (Figure 8).
In order to estimate residuals on the CPs, it is necessary to calculate the predicted coordinates of the CPs themselves; residuals are in fact estimated by comparing the measured coordinates (for example, with the GPS) and corresponding predicted coordinates. OTB performs this calculation, but only on GCPs, so it is necessary to repeat the estimation for CPs.
The process takes place in two steps: first, image coordinates are transformed into ground coordinates using actual RPC transformations. This operation is carried out by using the appropriate functions of the GDAL libraries. These functions read RPCs directly from the header of the raw image tiff file that contains them, according to specifications defined by the NIMA. By using the RPCs of the raw image, they allow the ground coordinates of each point of the image to be recalculated. This first step allows for the recalculation of the coordinates of the various points with a bias that could be modeled by a rototranslation of the whole image. This rototranslation is necessary because RPCs are estimated by the owner of the satellite with only orbital data; to reach the accuracy of the ground-sample-distance (GSD) order, it is necessary to make corrections on the basis of some ground points. For this reason, the coordinates of the obtained points with the RPCs are then refined with a least-squares adjustment estimated rototranslation. Rototranslation is only estimated on the GCPs, and rototranslation parameters thus obtained must then be applied to CPs to estimate the accuracy. The ACYOTB plugin uses the GDAL functions for the first step, and then uses a specially developed routine to estimate five-parameter transformation, starting from the coordinates of the GCPs in analogy with what OTB does.
It is assumed that other types of software such as PCI, perform the transformation in the same way, probably by using similar functions for the RPC; different results between PCI and the OTB with the plugin may be due to the fact that PCI uses six-parameter rototranslation. However, as PCI is closed commercial software, this is only a hypothesis.

3.3. Plugin Test Results

For a complete verification of the results that can be obtained with the plugin, we performed a series of tests using the same image and the same dataset in order to ensure the repeatability of the tests. First, a series of tests were carried out using all 21 points measured with GPS as GCPs; this series of tests was used to evaluate the precision of the different models. Residual analysis was performed by comparing the image coordinates of the ground point collimated on the image, with image coordinates calculated through model equations and surveyed coordinates. More specifically, the same points were used as GCP in the OTB by using different heights: elevations extracted from the SRTM DEM were corrected with the Geoid EGM96 model, and elevations obtained from the DEM were extracted from the 1:5000 contour map and the measured elevations (with GPS). The same GPS points were used in accredited commercial software PCI Geomatica 2018 (PCI). In this software, residuals on the 21 GCPs were estimated by using both the RPC model and the rigorous Toutin model. This last test was performed for a comparison with a model that is considered in the literature as representative of the state of the art for high- and very-high-resolution satellite images. The average residues separately calculated on 21 GCPs for ‘across’ and ‘along track’ components (x and y component, respectively) are shown in Table 1, while calculated values at each single point are shown in the complete table in Appendix C.
The indication of the used DEM for the final orthorectification is shown here only for greater clarity; in fact, actual orthorectification at this stage has not yet been done. In this regard, the use of an inaccurate DEM (such as SRTM) in the final orthorectification phase had the effect of further worsening the results compared to the already poor results reported in Table 1 and Table 2. The precision of the results obtained with the plugin were absolutely equivalent if compared to the corresponding results of the PCI computed with both RPC and the rigorous model (slightly better in one component in the last case). From these first results, the precision of the OTB model seems even more balanced between the ‘across’ and ‘along track’ components if compared to the rigorous PCI model. Further tests with different image types are necessary to confirm this behavior.
A comparison between the obtained results considering the OTB with (column “OTB + plugin RPC”) and without the plugin (column “OTB RPC/h from map” and “OTB RPC/ h from SRTM + geoid model EGM96”) highlights clear residual improvement by using the plugin, especially in comparison with the heights from the SRTM DEM corrected with the EGM96.
Subsequently, to evaluate the actual accuracy of the final results, 10 out of the 21 points were only used as CPs; therefore, they were not used for the least-squares estimation of orientation parameters. The ten points were uniformly distributed over the area, as can be seen in Figure 1.
As already done for the precision estimation, tests were repeated by using the same points with different models: rigorous PCI, PCI RPC, and OTB RPC. In this case, the OTB RPC model was also tested with the GPS heights, DEM heights from the 1:5000 contour map, and SRTM + EGM96 heights in order to verify the OTB improvements by using the plugin. The average results can be seen in Table 2, while the complete results for each point can be verified in the appendix in Table A3.
It can be observed that the accuracy results showed that the plugin (sixth column) significantly improved the OTB results without the plugin (fourth and fifth columns), up to twice on the along-track component. Comparing the obtained results with the plugin and with PCI (second and third columns), we can see that the accuracies were very similar for both the RPC and the rigorous model. Moreover, OTB results with the plugin seemed even better than the obtained results with the two PCI models; in this case, further tests must also be performed to validate this behavior.

4. Conclusions and Further Developments

The developed functions in OTB allow to orthorectify high- and very-high-resolution satellite images using several models. Currently, the OTB in QGIS has some limitations that significantly decrease the final achievable accuracy. Moreover, the interfaces of various operations are often complex to use, making it easier, in some cases, to use command-line functions. For this reason, the QGIS plugin described here was developed to simplify OTB usability and improve the accuracy of its results.
The described plugin made it possible to facilitate some operations including:
-
capability of directly collimating the necessary points from the QGIS georeferencer without external software;
-
feasibility to input GCP coordinates in different systems that are reprojected by the plugin;
-
graphical interface for necessary options for proper orthorectification;
-
input accurate heights for GCPs and CPs such as those measured with differential GPS; and
-
ability to distinguish GCPs and CPs during the input step to evaluate the actual accuracy as defined in the statistics.
To verify the effectiveness of the ACYOTB plugin from the point of view of model precision and result accuracy, a complete set of tests were performed on an existing dataset. The results showed significant improvement in the accuracy and precision by performing the same operations in the OTB with and without the presented plugin. Using the RPC OTB model with the plugin, the results were practically the same (sometimes better) as the ones of accredited commercial software, both in comparison with the rigorous model and with the RPC model. The better results obtained from the OTB by using RPC with the plugin compared to PCI on the specific type of image could be due to the different rototranslation algorithms used. In fact, OTB uses five-parameter transformation, while PCI instead uses the more widespread Affine transformation. The differences in the results could also be due to other causes, but since PCI, unlike OTB, is closed commercial software, it is difficult to understand them. On the other hand, open-source OTB functions could be further developed, expanded, and improved.
We plan to extend the plugin and experimentation to all other satellites available in the OTB in collaboration with its development team.

Author Contributions

Supervision, Valerio Baiocchi, Francesca Giannone, Felicia Monti and Felicia Vatore; Methodology, Valerio Baiocchi, Francesca Giannone, Felicia Monti and Felicia Vatore; Investigation, Valerio Baiocchi, Francesca Giannone, Felicia Monti and Felicia Vatore; Writing—Review and editing, Valerio Baiocchi, Felicia Monti and Felicia Vatore. All authors have read and agreed to the published version of the manuscript.

Funding

This paper was partially funded by the FFABR 2017 funds of the Italian Ministry for Universities and Scientific Research (MIUR).

Acknowledgments

The authors thank the Città metropolitana di Napoli (Administration of Metropolitan City of Naples) for allowing the use of some of the materials for experimentation.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

Rigorous models are based on collinearity equations (photogrammetric approach), and describe imagery acquisition by considering geometrical and sensor characteristics. Reconstruction of the orbital segment during image acquisition is obtained by studying the acquisition mode, sensor features, satellite position, and attitude (Figure A1, Equation (A1)).
Collinearity equations relate the position of a point in the image space to the corresponding point in the object space, according to a central projection.
Figure A1. Rigorous photogrammetric model.
Figure A1. Rigorous photogrammetric model.
Ijgi 09 00011 g0a1
{ x s f = R 11 | X t X S | + R 12 | Y t Y S | + R 13 | Z t Z S | R 31 | X t X S | + R 32 | Y t Y S | + R 33 | Z t Z S | y s f = R 21 | X t X S | + R 22 | Y t Y S | + R 23 | Z t Z S | R 31 | X t X S | + R 32 | Y t Y S | + R 33 | Z t Z S |
where
  • f is the focal distance;
  • R is the rotation matrix from ECI to the sensor system;
  • xs and ys are the sensor system coordinates;
  • Xt, Yt, and Zt are the ECI coordinates of the ground point, and
  • Xs, Ys, and Zs are the ECI coordinates of the satellite.
The Earth-Centered Earth-Fixed (ECEF) system (E) is the origin is the Earth’s center of mass, the X-axis is the intersection of equatorial plane and the plane of the reference meridian (transit meridian: close but not equal to the Greenwich meridian), the Z-axis is the mean rotational axis, and the Y-axis completes the right-handed coordinate system. The Earth Centered Inertial system (ECI) (I) is the origin of the Earth’s center of mass, the X-axis points to vernal equinox (epoch J2000, 1 January 2000, ore 12 UT), the Z-axis points to the celestial North Pole (epoch J2000), and the Y-axis completes the right-handed coordinate system. The transformation matrix from the sensor to ECI system can be expressed as a function of Keplerian orbital parameters and attitude angles; approximate values for all parameters included in the model may be derived from metadata information released together with the image.
These approximate parameters must be corrected with least-squares estimation based on a suitable number of ground control points (GCPs), a set of points with object coordinates computed through a direct survey as a GNSS differential survey.
Usually, GCP coordinates are expressed in an ECEF reference frame (for example, RDN2008- ETRF2000 for Italy); so, in order to use them in collinearity equations, an ECEF–ECI transformation is needed. The ECI–ECEF rotation matrix is computed considering the motions of Earth in space: precession, nutation, polar motion, and Earth’s rotation about its axis.
Even if rigorous models should theoretically provide the highest accuracy, they are complex models that require orbital parameters and sensor attitude information, and cannot be used when few or no GCPs are available; in fact, at least 10 GCPs are usually needed for each image.

Appendix B

Figure A2. Example of the GPS/GNSS surveyed point monography.
Figure A2. Example of the GPS/GNSS surveyed point monography.
Ijgi 09 00011 g0a2

Appendix C

Table A1. Complete table for the model precision estimation on the GCPs.
Table A1. Complete table for the model precision estimation on the GCPs.
Point IDPCI RigorousPCI RPCOTB h from MapOTB h from GPS Measurements OTB h from SRTM + EGM96 Geoid Model
Res XRes YRes XRes YRes XRes YRes XRes YRes XRes Y
mmmmmmmmmm
18220.9930.5981.1430.019−0.9590.627−1.136−0.052−1.136−0.052
391−0.5580.429−0.8251.4000.523−1.0180.630−0.9030.630−0.903
3920.860−0.4570.691−0.058−0.9191.143−1.0090.597−1.0090.597
sangel21−0.5830.060−0.6300.1530.7670.0130.714−0.1650.714−0.165
sangel31−0.917−0.115−0.8690.0501.1090.1991.0540.0151.0540.015
452−0.325−1.6080.260−0.200−0.332−0.192−0.1610.033−0.1610.033
molo arag10.3500.9670.1390.210−0.1430.016−0.168−0.410−0.168−0.410
sangel110.767−0.5150.796−0.568−0.6280.505−0.6550.405−0.6550.405
5910.399−0.3140.2690.786−0.310−0.795−0.202−0.430−0.202−0.430
8220.326−1.3800.629−1.474−0.5182.060−0.5881.796−0.5881.796
891−0.6361.439−0.3010.3410.4910.0180.464−0.1360.464−0.136
18520.194−0.446−0.2100.2650.033−0.2380.1410.0160.1410.016
PC27075−0.9900.785−0.9290.1590.648−0.3780.644−0.7020.644−0.702
1851−0.0371.137−0.1240.9930.411−0.2830.279−0.8300.279−0.830
812−0.0420.803−0.1950.2130.006−0.1470.0940.1130.0940.113
482−0.348−1.127−0.627−0.8330.7621.2270.5660.4210.5660.421
4710.460−0.4640.380−0.025−0.468−0.015−0.519−0.522−0.519−0.522
sangel510.2180.0910.2700.083−0.0120.072−0.075−0.140−0.075−0.140
muro sost10.0380.3960.0930.292−0.360−1.141−0.151−0.879−0.151−0.879
811−0.014−0.8030.345−2.214−0.3012.307−0.2592.347−0.2592.347
sangel61−0.1560.525−0.3060.4110.352−0.3110.281−0.5500.281−0.550
X RMSY RMSX RMSY RMSX RMSY RMSX RMSY RMSX RMSY RMS
mmmmmmmmmm
0.5400.8150.5640.7650.5660.8860.5650.7930.6931.751
Table A2. Complete table of different heights used; columns 1 and 3 do not show significant differences.
Table A2. Complete table of different heights used; columns 1 and 3 do not show significant differences.
Ellipsoidal Heights in Metres
Measured GPS HeightsHeights from Official Map + ITALGEO05 Geoid Model“Fake” DEM Heights from GPS Measures Heights from SRTM DEM + EGM96 Geoid Model
191.885192.886191.885199.326
97.22894.95697.228101.885
95.78996.18895.78998.577
48.14747.02348.14253.961
47.81646.73447.82355.562
312.926309.796312.926319.341
47.26246.92647.26248.368
48.20746.73848.20652.085
110.957107.550110.95796.778
51.46450.81351.46454.960
105.856104.732105.856107.494
379.053376.014379.053373.255
97.48196.74197.48196.506
485.805486.252485.805490.396
175.679172.781175.679173.371
223.448224.961223.448225.125
54.53954.58454.53961.953
47.70746.73447.70744.221
200.025196.525200.025193.016
132.642130.675132.642144.147
47.58846.73447.58844.867
Table A3. Complete table for model precision estimation on 11 GCPs and accuracy on 10 CPs.
Table A3. Complete table for model precision estimation on 11 GCPs and accuracy on 10 CPs.
Point ID TypePCI RigorousPCI RPCOTB h from MapOTB h from GPS Measurements OTB h from SRTM + EGM96 Geoid Model
Res XRes YRes XRes YRes XRes YRes XRes YRes XRes Y
mmmmmmmmmm
1822GCP0.358−0.0420.745−0.144−0.5250.860−0.8020.131−0.1352.274
391GCP−0.5180.372−0.6631.0670.320−0.9530.519−0.7930.499−0.959
392GCP0.804−0.5350.801−0.372−1.0631.204−1.0750.696−1.1690.275
452GCP−0.378−1.7530.003−0.416−0.0580.0660.0440.2590.4681.595
molo aragonese 1GCP0.2180.93−0.2120.0060.2390.4200.085−0.0640.0840.134
591GCP0.298−0.067−0.0350.6210.017−0.7790.102−0.432−0.743−3.079
822GCP0.274−1.2390.518−1.699−0.4102.034−0.4411.784−0.1952.583
891GCP−0.6741.462−0.3780.1010.5600.0100.577−0.1280.6450.051
1851GCP0.2180.961−0.3540.7880.654−0.1650.494−0.7280.8420.436
sangel51GCP−0.3350.026−0.127−0.0590.4210.1480.295−0.1000.253−0.019
muro sost1GCP−0.266−0.114−0.2970.110.065−0.7960.149−0.592−0.421−1.844
sangel21CP1.778−0.6801.584−0.7981.3890.2930.589−0.0741.2381.103
sangel31CP1.1510.3461.1510.3461.1030.9200.9120.0911.7573.248
sangel11CP−0.731−0.416−0.7310.183−0.5360.751−0.580−0.2110.0472.409
1852CP−0.472−0.2500.164−0.8370.518−0.3620.431−0.5900.383−0.887
PC27075CP1.121−1.1180.505−0.4981.057−0.0291.073−0.2030.676−0.720
812CP−0.123−1.264−0.172−0.0920.331−0.1040.220−0.3000.3190.049
482CP0.5532.4631.1251.8741.0711.3911.0711.3911.2140.962
471CP−0.1380.0660.4730.085−0.2140.505−0.214−0.3730.0181.129
811CP−0.4770.334−0.4912.148−0.4352.585−0.5822.3950.2834.681
sangel61CP0.519−0.6140.519−0.6140.401−0.0500.366−0.3120.2820.246
GCPX RMSY RMSX RMSY RMSX RMSY RMSX RMSY RMSX RMSY RMS
mmmmmmmmmm
0.4350.9040.4590.7000.4920.8900.5190.7060.5891.609
CPX RMSY RMSX RMSY RMSX RMSY RMSX RMSY RMSX RMSY RMS
mmmmmmmmmm
0.8571.0110.8171.0130.8041.0250.6760.9190.8342.075

References

  1. Grizonnet, M.; Michel, J.; Poughon, V.; Inglada, J.; Savinaud, M.; Cresson, R. Orfeo ToolBox: open source processing of remote sensing images. Open Geospat. Data Softw. Stand. 2017, 2. [Google Scholar] [CrossRef] [Green Version]
  2. Teodoro, A.C.; Araujo, R. Comparison of performance of object-based image analysis techniques available in open source software (Spring and Orfeo Toolbox/Monteverdi) considering very high spatial resolution data. J. Appl. Remote. Sens. 2016, 10. [Google Scholar] [CrossRef]
  3. Heipke, C.; Jacobsen, K.; Mills, J.P. High-resolution earth imaging for geospatial information, part II. Photogramm. Rec. 2008, 23, 351–352. [Google Scholar] [CrossRef]
  4. Heipke, C.; Jacobsen, K.; Mills, J.P. High-resolution earth imaging for geospatial information, Part I. Photogramm. Rec. 2008, 23, 252–254. [Google Scholar] [CrossRef]
  5. Baiocchi, V.; Crespi, M.; De Vendictis, L.; Giannone, F. A new rigorous model for the orthorectification of syncronous and asyncronous high resolution imagery. In Proceedings of the 24th EARSel Symposium on New Strategies for European Remote Sensing, Dubrovnil, Croatia, 25–27 May 2004; Oluić, M., Ed.; Millpress: Rotterdam, The Netherlands, 2005; ISBN 90 5966 003 X. [Google Scholar]
  6. Toutin, T. State-of-the-art of geometric correction of remote sensing data: a data fusion perspective. Int. J. Image Data Fusion 2011, 2, 3–35. [Google Scholar] [CrossRef]
  7. Jacobsen, K. Systematic geometric image errors of very high resolution optical satellites. Int. Arch. Photogramm. Remote. Sens. Spat. Inf. Sci. 2018, -XLII-1, 233–238. [Google Scholar] [CrossRef] [Green Version]
  8. Topan, H.; Jacobsen, K.; Cam, A.; Ozendi, M.; Oruc, M.; Bakioğlu, O.B.; Bayik, C.; Taşkanat, T. Comprehensive evaluation of Pléiades-1A bundle images for geospatial applications. Arab. J. Geosci. 2019, 12, 223. [Google Scholar] [CrossRef]
  9. Zhang, R.; Zhou, G.; Zhang, G.; Zhou, X.; Huang, J. RPC-Based Orthorectification for Satellite Images Using FPGA. Sensors 2018, 18, 2511. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  10. Toutin, T. Review article: Geometric processing of remote sensing images: models, algorithms and methods. Int. J. Remote. Sens. 2004, 25, 1893–1924. [Google Scholar] [CrossRef]
  11. Technical Specification-Technical Specification. Available online: www.pcigeomatics.com/pdf/geomatica/techspecs/2018/Satellite-Ortho-Suite.pdf (accessed on 28 March 2019).
  12. ENVI Photogrammetry Module. Available online: www.harrisgeospatial.com/Portals/0/pdfs/HG_ENVI_Photogrammetry_module_data-sheet_WEB.pdf (accessed on 28 March 2019).
  13. Mukul, M.; Srivastava, V.; Jade, S.; Mukul, M. Uncertainties in the Shuttle Radar Topography Mission (SRTM) Heights: Insights from the Indian Himalaya and Peninsula. Sci. Rep. 2017, 7, 41672. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  14. Fraser, C.S.; Yamakawa, T.; Hanley, H.B.; Dare, P.M. Geopositioning from high-resolution satellite imagery: experiences with the affine sensor orientation model. In Proceedings of the 2003 IEEE International Geoscience and Remote Sensing Symposium, Toulouse, France, 21–25 July 2003. [Google Scholar] [CrossRef]
  15. Lei, Z.; Wang, M.; Li, D.; Lei, T.L. Stream Model-Based Orthorectification in a GPU Cluster Environment. IEEE Geosci. Remote. Sens. Lett. 2014, 11, 2115–2119. [Google Scholar] [CrossRef]
  16. NIMA—National Imagery and Mapping Agency. The Compendium of Controlled Extensions (CE) for the National Imagery Transmission Format (NITF). Available online: http://geotiff.maptools.org/STDI-0002_v2.1.pdf (accessed on 28 March 2019).
  17. GDAL. Available online: http://gdal.org/gdal.pdf (accessed on 18 October 2019).
  18. Rupnik, E.; Pierrot Deseilligny, M.; Delorme, A.; Klinger, Y. Refined satellite image orientation in the free open-source photogrammetric tools apero/micmac. ISPRS Ann. Photogramm. Remote. Sens. Spat. Inf. Sci. 2016, III-1, 83–90. [Google Scholar] [CrossRef]
  19. Fraser, C.S.; Hanley, H.B. Bias-compensated RPCs for Sensor Orientation of High-resolution Satellite Imagery. Photogramm. Eng. Remote. Sens. 2005, 7, 909–915. [Google Scholar] [CrossRef]
  20. Hanley, H.B.; Fraser, C.S. Sensor orientation for high-resolution satellite imagery: Further insights into bais-compensated RPCs. Photogramm. Eng. Remote. Sens. 2004, 71. [Google Scholar]
  21. Zhou, G.; Li, R. Accuracy Evaluation of Ground Points from IKONOS High-Resolution Satellite imagery. Photogramm. Eng. Remote. Sens. 2000, 66, 1103–1112. [Google Scholar]
  22. Greenfeld, J.S. Least squares weighted coordinate transformation formulas and their applications. J. Surv. Eng. 1997, 123, 147–161. [Google Scholar] [CrossRef]
  23. OTB Users, Orectification Models. July 2019. Available online: http://otb-users.37221.n3.nabble.com/Orthorectification-models-td4031100.html (accessed on 19 December 2019).
  24. SRTM Web Site. Available online: http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/ (accessed on 19 December 2019).
  25. Baiocchi, V.; Lelo, K. Accuracy of 1908 high to medium scale cartography of Rome and its surroundings and related georeferencing problems. Acta Geodaetica et Geophysica Hungarica 2010, 45, 97–104. [Google Scholar] [CrossRef]
  26. Pulighe, G.; Baiocchi, V.; Lupia, F. Horizontal accuracy assessment of very high resolution Google Earth images in the city of Rome, Italy. Int. J. Digit. Earth 2016, 9, 342–362. [Google Scholar] [CrossRef]
  27. PROJ Coordinate Transformation Software Library. Release 6.0.0. 21 January 2019. Available online: https://raw.githubusercontent.com/OSGeo/proj.4/gh-pages/proj.pdf (accessed on 19 December 2019).
Figure 1. Ground control point (GCP) distribution used for the orthorectification process; the image is about 13 km wide. Red, GCPs; green, CPs; and yellow, permanent station “ISCH”. Study area is the whole territory of Ischia Island, Italy.
Figure 1. Ground control point (GCP) distribution used for the orthorectification process; the image is about 13 km wide. Red, GCPs; green, CPs; and yellow, permanent station “ISCH”. Study area is the whole territory of Ischia Island, Italy.
Ijgi 09 00011 g001
Figure 2. Shuttle radar topography mission (SRTM) tile; image is about 13 km wide. White pixels are “no data value” pixels.
Figure 2. Shuttle radar topography mission (SRTM) tile; image is about 13 km wide. White pixels are “no data value” pixels.
Ijgi 09 00011 g002
Figure 3. Detail of (a) “no data value” cells in SRTM and (b) obtained discontinuity in the orthorectified image.
Figure 3. Detail of (a) “no data value” cells in SRTM and (b) obtained discontinuity in the orthorectified image.
Ijgi 09 00011 g003
Figure 4. OrthoRectification module menu.
Figure 4. OrthoRectification module menu.
Ijgi 09 00011 g004
Figure 5. Fictitious digital elevation model (DEM) obtained from inverse distance weighted interpolation of GCP height values.
Figure 5. Fictitious digital elevation model (DEM) obtained from inverse distance weighted interpolation of GCP height values.
Ijgi 09 00011 g005
Figure 6. “Accuracy” report from RefineSensorModel.
Figure 6. “Accuracy” report from RefineSensorModel.
Ijgi 09 00011 g006
Figure 7. Flowchart of the accuracy estimation of the ACYOTB plugin. Ground points were divided into GCPs and CPs using the “enable” option of the QGIS georeferencing plugin.
Figure 7. Flowchart of the accuracy estimation of the ACYOTB plugin. Ground points were divided into GCPs and CPs using the “enable” option of the QGIS georeferencing plugin.
Ijgi 09 00011 g007
Figure 8. Graphical interface of the ACYOTB plugin. Input file was obtained from the QGIS georeferencer, while the output file is a text file in OTB format. If it is necessary, plugin automatically computes coordinate transformation.
Figure 8. Graphical interface of the ACYOTB plugin. Input file was obtained from the QGIS georeferencer, while the output file is a text file in OTB format. If it is necessary, plugin automatically computes coordinate transformation.
Ijgi 09 00011 g008
Table 1. Estimated precision on GCPs using different models and heights.
Table 1. Estimated precision on GCPs using different models and heights.
Orientation ModelPCI RigorousPCI RPCOTB RPCOTB RPCOTB + Plugin RPC
GCPs Height h from GPSh from GPSh from SRTM +EGM96h from 1:5000 Maph from GPS
DEM for Orthorectification1:5000 Map DEM1:5000 Map DEMSRTM DEM + EGM961:5000 Map DEM1:5000 Map DEM
RMS ComponentX RMSY RMSX RMSY RMSX RMSY RMSX RMSY RMSX RMSY RMS
RMS (meters)0.54008150.5640.7650.6931.7510.5660.8860.5650.793
Table 2. Estimated precision of 11 GCPs and accuracy of 10 CPs using different models and heights.
Table 2. Estimated precision of 11 GCPs and accuracy of 10 CPs using different models and heights.
Orientation ModelPCI RigorousPCI RPCOTB RPCOTB RPCOTB + Plugin RPC
GCPs Height h from GPSh from GPSh from SRTM +EGM96h from 1:5000 Maph from GPS
DEM for Orthorectification1:5000 Map DEM 1:5000 Map DEM SRTM DEM + EGM961:5000 Map DEM 1:5000 Map DEM
RMS ComponentX RMSY RMSX RMSY RMSX RMSY RMSX RMSY RMSX RMSY RMS
Precision: GCPs RMS (meters)0.4350.9040.4590.7000.5891.6090.4920.8900.5190.706
Accuracy: CPs RMS (meters)0.8571.0110.8171.0130.8342.0750.8041.0250.6760.919

Share and Cite

MDPI and ACS Style

Baiocchi, V.; Giannone, F.; Monti, F.; Vatore, F. ACYOTB Plugin: Tool for Accurate Orthorectification in Open-Source Environments. ISPRS Int. J. Geo-Inf. 2020, 9, 11. https://doi.org/10.3390/ijgi9010011

AMA Style

Baiocchi V, Giannone F, Monti F, Vatore F. ACYOTB Plugin: Tool for Accurate Orthorectification in Open-Source Environments. ISPRS International Journal of Geo-Information. 2020; 9(1):11. https://doi.org/10.3390/ijgi9010011

Chicago/Turabian Style

Baiocchi, Valerio, Francesca Giannone, Felicia Monti, and Felicia Vatore. 2020. "ACYOTB Plugin: Tool for Accurate Orthorectification in Open-Source Environments" ISPRS International Journal of Geo-Information 9, no. 1: 11. https://doi.org/10.3390/ijgi9010011

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop