A General Point-Based Method for Self-Calibration of Terrestrial Laser Scanners Considering Stochastic Information

: Due to the existence of environmental or human factors, and because of the instrument itself, there are many uncertainties in point clouds, which directly a ﬀ ect the data quality and the accuracy of subsequent processing, such as point cloud segmentation, 3D modeling, etc. In this paper, to address this problem, stochastic information of point cloud coordinates is taken into account, and on the basis of the scanner observation principle within the Gauss–Helmert model, a novel general point-based self-calibration method is developed for terrestrial laser scanners, incorporating both ﬁve additional parameters and six exterior orientation parameters. For cases where the instrument accuracy is di ﬀ erent from the nominal ones, the variance component estimation algorithm is implemented for reweighting the outliers after the residual errors of observations obtained. Considering that the proposed method essentially is a nonlinear model, the Gauss–Newton iteration method is applied to derive the solutions of additional parameters and exterior orientation parameters. We conducted experiments using simulated and real data and compared them with those two existing methods. The experimental results showed that the proposed method could improve the point accuracy from 10 − 4 to 10 − 8 (a priori known) and 10 − 7 (a priori unknown), and reduced the correlation among the parameters (approximately 60% of volume). However, it is undeniable that some correlations increased instead, which is the limitation of the general method.


Introduction
In contrast to the traditional single-point acquisition method, terrestrial laser scanning (TLS) technology greatly improves work efficiency with a variety of applications [1][2][3][4]. While during the procedure of point cloud data acquisition, TLS could irresistibly be affected by, e.g., the instrument itself, the external environment, the scanning targets, etc., which results in the point cloud coordinates being modified by the systematic and random errors to varying degrees, reducing the observation accuracy of point cloud coordinates to a certain extent. Consequently, the coordinates obtained by TLS and the real coordinates of the target points are not always corresponded.
Similar to the total station (TS), three-dimensional coordinates in laser point clouds are calculated via the spherical coordinate system subjected to the oblique distances, horizontal, and vertical angles measured by the instruments itself. On the other side, systematic errors, in the course of scanning, caused by ranging the angle of incident, target reflectivity, and temperature are undoubtedly not involved in the model [36,37], which is an effective solution to avoid the above problems. In reality, distances and angles are two types of observations with diverse units. Moreover, the difference between the nominal and real accuracy of the instrument makes it unreasonable to use equal or direct weights. It's a proper time to introduce the variance component estimation (VCE) algorithm [38][39][40], which provides a solution for this plight.
Based on the observation equation of the TLS and GH models (spatial transformation model for specific), a general self-calibration model of the scanner with 11 parameters is constructed, including three translation parameters and three rotation parameters (exterior orientation parameters, EOPs), together with five instrument system error parameters (five APs). Due to the nonlinear nature of the general method, the Gauss-Newton iteration algorithm in [41] is employed to derive the solution of APs and EOPs. Furthermore, in the procedure of data processing, both optimal parameter estimation and reasonable accuracy assessment, are conducted based on the stochastic model (variance information) observations as the premise. As a result, ignoring random information or using a priori accuracy for weighting does not yield a reasonable stochastic model, and will generate an adverse impact on the parameter estimation. Finally, the VCE algorithm is applied to correct the weights after obtaining the residuals of the observations. Overall, compared to other studies, the general self-calibration method can account for random errors in the observations so the function model is more rigorous, and updating the covariance matrix using the VCE theory yields more accurate estimates of the parameters.
The rest of the paper is organized as follows. In Section 2, the observation principle of the scanner and the general self-calibration model are first introduced, and then the derivation procedure is described in detail. The experiments are presented in Section 3. We present results and discussions in Section 4. Finally, we conclude the paper with a summary of our work in Section 5.

Observation Principle of TLS
TLS establishes its datum on the basis of an independent left-handed coordinate system with the original point O located in the center of the scanner. The X-axis is in the transverse scanning plane, while the Y-axis is perpendicular to the X-axis, and the Z-axis is perpendicular to the X-Y plane. The original observation data of the TLS [12,20] in the spherical coordinate system are the oblique distance s, vertical angle θ, and horizontal angle α, i.e., (s, θ, α), as shown in Figure 1.
Remote Sens. 2020, 12, x FOR PEER REVIEW 3 of 22 problems. In reality, distances and angles are two types of observations with diverse units. Moreover, the difference between the nominal and real accuracy of the instrument makes it unreasonable to use equal or direct weights. It's a proper time to introduce the variance component estimation (VCE) algorithm [38][39][40], which provides a solution for this plight. Based on the observation equation of the TLS and GH models (spatial transformation model for specific), a general self-calibration model of the scanner with 11 parameters is constructed, including three translation parameters and three rotation parameters (exterior orientation parameters, EOPs), together with five instrument system error parameters (five APs). Due to the nonlinear nature of the general method, the Gauss-Newton iteration algorithm in [41] is employed to derive the solution of APs and EOPs. Furthermore, in the procedure of data processing, both optimal parameter estimation and reasonable accuracy assessment, are conducted based on the stochastic model (variance information) observations as the premise. As a result, ignoring random information or using a priori accuracy for weighting does not yield a reasonable stochastic model, and will generate an adverse impact on the parameter estimation. Finally, the VCE algorithm is applied to correct the weights after obtaining the residuals of the observations. Overall, compared to other studies, the general selfcalibration method can account for random errors in the observations so the function model is more rigorous, and updating the covariance matrix using the VCE theory yields more accurate estimates of the parameters.
The rest of the paper is organized as follows. In Section 2, the observation principle of the scanner and the general self-calibration model are first introduced, and then the derivation procedure is described in detail. The experiments are presented in Section 3. We present results and discussions in Section 4. Finally, we conclude the paper with a summary of our work in Section 5.

Observation Principle of TLS
TLS establishes its datum on the basis of an independent left-handed coordinate system with the original point O located in the center of the scanner. The X-axis is in the transverse scanning plane, while the Y-axis is perpendicular to the X-axis, and the Z-axis is perpendicular to the X-Y plane. The original observation data of the TLS [12,20] in the spherical coordinate system are the oblique distance s, vertical angle θ, and horizontal angle α , i.e., ( ) s, θ, α , as shown in Figure 1. For the purpose of obtaining the three-dimensional coordinates of the target point relative to the origin, it is necessary to transform the original observations into the Cartesian coordinate system. As illustrated in Equation (1), the transformation method for the above two coordinate systems, i.e., the observation principle of TLS [13,16,20] is shown. = cos cos = cos sin = sin  For the purpose of obtaining the three-dimensional coordinates of the target point relative to the origin, it is necessary to transform the original observations into the Cartesian coordinate system. As illustrated in Equation (1), the transformation method for the above two coordinate systems, i.e., the observation principle of TLS [13,16,20] is shown. where [x, y, z] T denotes the Cartesian coordinate vector of a single point obtained by TLS.
Likewise, the distance and angle data required for the self-calibration could also be converted out from Cartesian coordinates through Equation (2) [28].
From the observation equation, i.e., Equation (1), it is clear that the distances and angles are the direct observations. In addition to random errors, their systematic errors can also affect the scanning results, even if the target and environmental factors are typically different. Since the scanners are based on the optical ranging principle of distance measurement, with reference to the TS, there are two main types of APs in them, that is, the addition constant m and the multiplication constant λ, caused by mistakes in instrument manufacturing and installation, in conjunction with operational variations. As for the three APs of the angles, collimation error c and horizontal axis error i are often present in horizontal angle observations, toward the vertical index error t [16,18,28]. The correction results of the collimation axis error c' and horizontal axis error i' to the horizontal angle observations follow the equation:

General Self-Calibration Model
The above-mentioned reasons cause the obtained coordinate observations to not correspond to the real values, so a reasonable calibration method is necessary to effectively remove APs. Conventional self-calibration methods apply high-precision instruments (e.g., TS) and scanners to measure homonymous points uniformly distributed in space (e.g., target or target sphere) to collect the coordinates of the respective datum, after which the TS's measurement points are treated as a reference. Possible existing APs are considered as parameters to be estimated and brought into the model for adjusting [19,22,30]. Accordingly, the self-calibration function model is usually represented as a variant of the non-line Gauss-Markov (GM) model [42]. Processing the coordinate sequence through the GM model is to solve the vector of unknown parameters, containing five APs and six EOPs, which results in the identities; where [X, Y, Z] T denotes the coordinate vector of homonymous points observed through TS.
[∆x, ∆y, ∆z] T represent the translation parameters. [m, λ, c , i , t] T represent the APs. R is the rotation matrix, including three parameters, in the form of: where (ϕ, ω, κ) are the parameters geared to the rotation vector, i.e., the Euler angles rotating around the Y-axis, the X-axis, and the Z-axis, respectively. Regarding Equation (4), (∆x, ∆y, ∆z, ϕ, ω, κ) are the EOPs of the general self-calibration method.

of 21
For nonlinear models, Equation (4) generally needs to be linearized before solving for the unknown parameters [41]. Considering that the principle of indirect adjustment, the following error equation can be written Here, V and A denote the residual error vector and coefficient matrix of the parameter vector, respectively. ξ is the parameter vector to be estimated, and L indicates the observation vector.
In the absence of weights, the objective function to be minimized is obtained in the form: Starting from this state of discussion, and taking random errors into consideration, the present study aims to achieve the following objectives: 1.
Weight observations according to its corresponding prior information to solve the unknown parameters, for the sake of attenuating the effect of random errors on the coordinates of TLS; 2.
For cases where the actual accuracy differs from the nominal accuracy, a posteriori determination of the observed values is performed on the basis of the VCE algorithm.

3.
Develop a general self-calibration model for the scanner and derive its solution based on the nonlinear GH model and instrumental measurement principle within the weighted total least square algorithm (WTLS); The general point-based method for the TLS self-calibration proposed in this paper is constructed in the form of the GH model. Its specific representation is similar to Equation (4), but takes the random error of the original observations into account within the function model.
To one single point, where (e s , e θ , e α ) denotes the random error vector of the distance and angles in the vertical and horizontal directions; the meanings of those remaining can be referred to Equations (4) and (5).
The stochastic model for the general self-calibration method can be written in the form; with the objective function: where (σ s , σ θ , σ α ) represent median errors in the distance and angles, respectively. The corresponding parameter vector can be defined as

Derivation of General Self-Calibration Model
Since the proposed self-calibration model is essentially a nonlinear model, the corresponding estimates can no longer be claimed as least squares (LS) estimates. Due to the nonlinear nature of the Equation (8), the Gauss-Newton method [41] of the nonlinear LS is adopted to derive the solution. We assume that the appropriate approximate values (initial values) of e are e 0 = (e 0 s , e 0 θ , e 0 α ). The unknown parameter vector approximate values are set up as: For the initial values of the parameter vector, the linear GM model can be utilized to solve the EOPs. In addition, we can deem that the instrument is the ideal state at the time of the manufacturing or measurement so that the initial values of the APs and the residual vector of observations can be considered as Zero (a matrix with all elements zero) [19,30,35]. By substituting The right-hand members of Equation (8) are expanded at (ξ 0 , e 0 ) through the binary Taylor series, and the yield of the linear equation expressed within new parameters: where j the superscript denotes the sequence number of the iteration; during the first iteration, the matrices involved can be populated with the initial values; ∂ is the symbol of the partial derivative, where: Substituting The coefficient matrix of the APs vector can be expressed as: As with the parameters solution, the observation equation considering the random errors, namely Equation (13), is a nonlinear model that also requires a partial derivative for each random error residual ; thus the corresponding residual coefficient matrix can be represented as: where The altered vector of the new parameters to be estimated is: For ease of comprehension and reading, it is capable to merge similar items of the function model, resulting in Here, A j represents the coefficient matrix of the parameters, with the form where E 3×3 is the unit matrix with three dimensions. After linearization of the general self-calibration model, we draw on the Gauss-Newton method to implement the solving of unknown parameters and residuals of observations. Substituting: Establishing contact with the weight matrix P, the Lagrange objective function can be constructed in the identity: where K is a vector of the auxiliary "Lagrange multipliers". The weight matrix P can be represented as follows: where q ranges from 1 to n; n denotes the total number of homonymous points; (σ s , σ θ , σ α ) representing a priori information, which can be obtained from the nominal accuracy. The solution of this objective function can be derived by means of the Euler-Lagrange necessary conditions, i.e., the partial derivatives of each variable are equal to zero. We can readily obtain the correction vector of the unknown parameters and residual error vector of the observations as follows: where 'ˆ' indicates the estimation value; Q is the cofactor matrix of the observations, and Q = P −1 ; Thereby, the random error vectorê j of the observations needs to be updated in each iteration according to Equation (30), and the parameter vectors and random errors of the observation vectors after the first ( j + 1) iteration are updated as: Here, '~' indicates the prediction value; after stripping the solution ξ j+1 andê j+1 of its random character, it is then used in the next iteration step as the approximation [34,35,41], which also shows that the initial values in Equation (12) can only be used in the first iteration. As a consequence, the mean square error of the unit weight, and the covariance matrix of the estimated parameters can be estimated via:σ However, the nominal accuracy of an observed value is often not equal to the actual ones [41,42], i.e., the observed value at the first adjustment given the weights are essentially inappropriate, which would make the results obtained incorrect, although it may be very close to the true value. Therefore, a posterior estimation is capable of solving unknowns and correcting observations. As the raw observations in the general self-calibration model include both distances and angles, it is a reasonable time to introduce the VCE. Similar to the Gauss-Newton method, the VCE algorithm is iterative and terminates when the weight ratios of the various types of observations converge to one [40][41][42]. In this case, the corresponding residual vector and its coefficient matrix, including the corresponding weights and covariance matrix are altered, mainly a change in the position of the elements in the matrix; see Appendix A for specific.
The main purpose of the general self-calibration method is to restore the true positions of the object's surface coordinates in space by removing uncertainties in point clouds, i.e., random and systematic errors, and to provide a basis for improving subsequent point cloud segmentation [43,44], 3D modeling [45,46], etc. The general self-calibration method of TLS can be realized through the following steps: 1.
Determining the iterative initial value of the unknown parameters.
The linear transformation model would be appropriately adopted to obtain the initial values of EOPs, as described in the first identity of Equation (4), or take a simpler assumption that the translation parameter and rotation parameter are set to Zero, which will inevitably increase the number of iterations or the convergence time. It's important to note that doing so (EOPs ∝ Zero) risks converging to failure. In terms of APs, it can be considered that all kinds of errors are completely eliminated in the manufacture and installation of the instrument, so that the initial value of the system errors can be set to Zero [19,30,35].

2.
Computing original observations of homonymous point as illustrated in Figure 1.
The original observations, i.e., distances and angles, on the basis of the 3D coordinate data acquired by the scanner, are deduced according to Equation (2). Vice versa, the 3D coordinates can be back-calculated for comparing or checking, if needed.
From Equations (33) and (34), the standard deviation to the homonymous points can be deduced, toward the covariance information.
It is important to note that the matrices involved in step (1) are updated imperatively during every iteration, otherwise there will be no convergence [35,41]. Also, the vector L can be set at the initial value during the first iteration, but it is not valid for all the later iterations.
Since the general self-calibration method essentially is a nonlinear model, and the derivation process is relatively complex, to facilitate the reader's understanding, the overall comprehension as well as reproduction, a flowchart is additionally created for the description of the individual steps, as shown in Figure 2.
From Equations (33) and (34), the standard deviation to the homonymous points can be deduced, toward the covariance information.
It is important to note that the matrices involved in step (1) are updated imperatively during every iteration, otherwise there will be no convergence [35,41]. Also, the vector L can be set at the initial value during the first iteration, but it is not valid for all the later iterations.
Since the general self-calibration method essentially is a nonlinear model, and the derivation process is relatively complex, to facilitate the reader's understanding, the overall comprehension as well as reproduction, a flowchart is additionally created for the description of the individual steps, as shown in Figure 2.

Experiments
The experiments of the general method were carried out using simulated and real data. The data in the simulated experiment were derived from practical instrument parameters, with the external environmental influences such as atmospheric parameters, temperature and humidity neglected, as well as some parameters related to the instrumentation leveling, which can be found in [13,15,19]. In Figure 2. A flowchart of the general self-calibration method. The red part indicates the process of initialization and coordinate conversion, while the green and blue parts indicate the a priori processing and a posteriori estimation procedure of the proposed general self-calibration method, respectively.

Experiments
The experiments of the general method were carried out using simulated and real data. The data in the simulated experiment were derived from practical instrument parameters, with the external environmental influences such as atmospheric parameters, temperature and humidity neglected, as well as some parameters related to the instrumentation leveling, which can be found in [13,15,19]. In addition, there is often a correlation wandering in unknown parameters [19][20][21], which is along with the network design. The experimental idea was to use a high-precision TS and a scanner to be calibrated to obtain observation data of the points at the specified location, respectively. For the two sets of acquired coordinate data, we assumed the TS data as a reference, i.e., without containing any systematic nor random errors. All the experiments were performed in MatlabR2019b [47], which focused on the coordinate simulation and data processing. The proposed general self-calibration model was implemented to calculate the APs and EOPs compared with two existing methods.

Simulated Data
Assuming that there are 80 points distributed randomly in a space domain, 70 of which are homonymous, and the remaining 10 are used for checking. The distribution of these points is generated based on the real scanner's field of view (FOV), where the distances are set from 2 to 30 m; the horizontal angles are set from 0 to 360 • and the vertical angles are varied from −45 • to 90 • . The corresponding standardized residual, following a zero-mean and unit variance Gaussian density function [25,44], to each true value need to be generated and added on the basis of the a priori standard deviations, conducted under the standard null hypothesis with 4 mm for distances and 0.0033 • for horizontal and vertical angles, respectively. This simulation loops 5000 times.
Through Equation (1), we can convert the target points from a spherical coordinate system to a Cartesian coordinate system. Taking the results of one of the simulations as an example to illustrate the distribution of the target points in the TLS space, the results are shown in Figure 3. sets of acquired coordinate data, we assumed the TS data as a reference, i.e., without containing any systematic nor random errors. All the experiments were performed in MatlabR2019b [47], which focused on the coordinate simulation and data processing. The proposed general self-calibration model was implemented to calculate the APs and EOPs compared with two existing methods.

Simulated Data
Assuming that there are 80 points distributed randomly in a space domain, 70 of which are homonymous, and the remaining 10 are used for checking. The distribution of these points is generated based on the real scanner's field of view (FOV), where the distances are set from 2 to 30 m; the horizontal angles are set from 0 to 360° and the vertical angles are varied from −45° to 90°. The corresponding standardized residual, following a zero-mean and unit variance Gaussian density function [25,44], to each true value need to be generated and added on the basis of the a priori standard deviations, conducted under the standard null hypothesis with 4 mm for distances and 0.0033° for horizontal and vertical angles, respectively. This simulation loops 5000 times.
Through Equation (1), we can convert the target points from a spherical coordinate system to a Cartesian coordinate system. Taking the results of one of the simulations as an example to illustrate the distribution of the target points in the TLS space, the results are shown in Figure 3. As for the unknown parameters, we stipulated the true value of EOPs and APs, which are listed in Table 1, where the specific connotations of APs and EOPs can be found in the notes to Equations (4) and (5). As for the unknown parameters, we stipulated the true value of EOPs and APs, which are listed in Table 1, where the specific connotations of APs and EOPs can be found in the notes to Equations (4) and (5). Table 1. True values of EOPs and APs in simulation experiment.

EOPS APs
∆x/m ∆y/m ∆z/m ϕ/rad ω/rad κ/rad m/m λ c/rad i/rad t/rad According to the scanner observation principle, i.e., Equation (1), the 3D coordinates of the scanner data could be calculated toward the TS subjecting to the first identity of Equation (4) by ignoring the APs.
The following three strategies were employed to implement the self-calibration of TLS.
Self-calibration method based on nonlinear least-squares ignoring the random errors; 3.
General self-calibration method proposed in this paper.
At the beginning of the adjustment, it was assumed that the square root of the a priori variance component σ 0 was 0.001, and all the observation values in two datum were expected to be uncorrelated. We calculated the root mean square error (RMSE) for the x, y, and z of 70 homonymous points, and the remaining 10 points by the following identities: Therefore, the positional RMSE was derived from: where 'total' represents the observations from the TS; '~' here indicates the corrected coordinates calculated by Equation (13). RMSE for the checking points is similar to the above Equations (33)-(36), just replacing the denominator into the total number of remaining points. Accordingly, we could calculate the differences between the adjustment values and the true values of the parameters to obtain the RMSE of each parameter as well RMSE 5000 q=1 (∇ξ) 2 /5000 (40) where ξ true is the true value of parameters; ∇ξ denotes the difference between the adjustment and true values. For the situation where the a priori information is often disparate from the true accuracy or the a priori information is unknown in the actual measurement environment, the experiment is carried out in three cases. Case 1 is where nominal accuracy equals to true accuracy, while the second and third Remote Sens. 2020, 12, 2923 12 of 21 are, respectively, a slightly differential spread of two pieces of information and an equal-weighted treatment in the case where the a priori one is unknown.

Real Data
Two experimental strategies are designed as follows: 1.
Self-calibration method based on nonlinear least-squares ignoring random errors; 2.
General self-calibration method.
We bring the nominal accuracy of the HDS3000 (4 mm for range and 3.3 × 10 −3• for angles, one sigma) as a priori information into the adjustment process (Case 1), where the coordinates in the TS datum are treated as the true value, to analyze the validity and practicality of the algorithm proposed in this paper.
In addition, we have also assumed the case that the a priori information is unknown and the observations are treated with equal weights (Case 2). The self-calibration is implemented using the same two strategies described above, with the following results. It is assumed that the square root of the a priori variance component is σ 0 = 1.
In much of the literature, they directly take the nominal accuracy as a priori information to participate in the adjustment process, ignoring posterior estimation, which may lead to the observed values cannot match the appropriate weights and chop off the solution accuracy of the APs, nor can achieve perfect calibration results. Here, we use coordinate sequence in [28] as the experimental data, where eight points (five homonymous points using spherical target, and three checking points using planar target), tabulated in Table 2, are determined by the NET1200 (SOKKIA, 2003) and HDS3000 (Leica, 2003), respectively.

Simulated Data
Since Strategy 1 (blue lines) does not consider the APs, so that they are not shown in (g)-(k) in Figure 4. From the results of Table 3 and Figures 4-9, we can find that,
The results for both Strategy 2 (red lines) and Strategy 3 (green lines) hover around zero. However, compared to Strategy 3, the results of Strategy 2 are more scattered and diverged from the true value, even somewhat beyond Strategy 1 (Figures 4c, 6c and 8c) After the adjustment, the sequences of addition and multiplication constant in Strategy 2 and 3 are with broadly similar trends, probably due to the fact that the values of the two constants are much higher than the added random errors.

5.
In Strategy 3, the RMSE of the homonymous points are much smaller than those in Strategy 2, improving from 10 −4 to 10 −7 , as shown from (a) to (f) in Figures 4, 6 and 8         It should be noted that the results for Strategy 1 are the same in all cases so that they are not repeated in Figures 6-9 for Case 2 and Case 3 for ease of reading. In addition, we also computed the correlation coefficient matrix of the unknown parameters after each loop acquisition and stipulated the final correlation information by taking the average of 5000 experiments (removing the diagonal elements). We found that 55% of them decreased and 45% increased, and their magnitudes were in the order of 10 −4 to 10 −3 , indicating that the general algorithm does improve the correlation of the parameters, but not very significantly, mainly due to the fact that the correlation of the parameters was ignored over the course of the data simulation.  It should be noted that the results for Strategy 1 are the same in all cases so that they are not repeated in Figures 6-9 for Case 2 and Case 3 for ease of reading. In addition, we also computed the correlation coefficient matrix of the unknown parameters after each loop acquisition and stipulated the final correlation information by taking the average of 5000 experiments (removing the diagonal elements). We found that 55% of them decreased and 45% increased, and their magnitudes were in the order of 10 −4 to 10 −3 , indicating that the general algorithm does improve the correlation of the parameters, but not very significantly, mainly due to the fact that the correlation of the parameters was ignored over the course of the data simulation.

Real Data
Multiple scientific publications and the above simulation experiments have shown that a reasonable and correct instrument calibration can effectively weaken the effect of APs on the coordinate sequence and improve the accuracy of the coordinate data, see, e.g., [14,22,27,30]. Likewise, we validated the proposed method using real data and the results are shown in Table 4. From Table 4, we can see that the accuracy of the general self-calibration model is always the highest for the homonymous point part. For both cases, the level of point accuracy for the homonymous points could be increased from 10 −4 to 10 −8 and 10 −7 , respectively. Results in Table 4 also show that the proposed method can not only check the systematic errors, but also effectively remove the influence of random errors, and at the same time, it is also robust to different weighting methods. The results for the corrected checkpoints are similar to those of the simulation experiments due to the fact that the random error of the checkpoints cannot be estimated.
In fact, we still analyzed the correlations among the parameters, i.e., we calculated their correlation coefficient matrix based on the variance-covariance information of the unknown parameters from Strategy 1 and Strategy 2, respectively. As an example, Figure 8 shows the calculation of the absolute difference between the correlation coefficients of strategy 1 and strategy 2 under the equal weighting circumstance, where the horizontal and vertical axes indicate the order of the parameters. The elements in Figure 10 greater than 0 denote that the correlation of the parameters in Strategy 2 was lower than in Strategy 1, and vice versa.
We then performed a statistical analysis of the 110 elements of the difference matrix (without considering the diagonal elements), in which there were 74 elements greater than 0 and 36 elements less than 0, indicating that the general algorithm impairs most of the correlation among parameters; for those elements with increased correlations, it is conjectured that this may be due to the lack of use of geo-referencing.

Conclusions
In this study, we proposed a general point-based self-calibration method for TLS taking into account both random errors in the observations and posterior estimates in the cases where the a priori information differed from the true accuracy. Therefore, it was theoretically more rational and rigorous than the traditional self-calibration methods. In cases where the nominal accuracy was different from the true accuracy, or where the a priori information was unknown, a posterior estimation could be performed to obtain a more realistic calibration parameter. The coordinate components and positional accuracy of the coordinate dataset after the general method processing was be effectively improved, and more importantly, the difference between the corrected coordinates and the true coordinates was closer to a straight line, indicating that the general method wasmore stable and robust, as shown in the left four panels of Figures 4, 6 and 8. The coordinate difference between the true and corrected values obtained by the general method was sometimes larger compared to the traditional method because the random error of the coordinates of the remaining points (checkpoints) could not be effectively estimated, but this did not determine the results of the calculation of EOPs and APs, or the validity of the general calibration method.
In this paper, the raw observations were divided into two categories, distance and angle, in the posterior estimation process. Due to the environmental or human interference, the same kind of observations may have different a priori information [40,41], that is, observation values needed to be divided into more categories, and the idea in this paper can be extended to address this problem. The algorithm in this paper is derived based on the observation equation of TLS and the GH model, thus it could also be applied to solve some other problems, such as point cloud registration, coordinate

Conclusions
In this study, we proposed a general point-based self-calibration method for TLS taking into account both random errors in the observations and posterior estimates in the cases where the a priori information differed from the true accuracy. Therefore, it was theoretically more rational and rigorous than the traditional self-calibration methods. In cases where the nominal accuracy was different from the true accuracy, or where the a priori information was unknown, a posterior estimation could be performed to obtain a more realistic calibration parameter. The coordinate components and positional accuracy of the coordinate dataset after the general method processing was be effectively improved, and more importantly, the difference between the corrected coordinates and the true coordinates was closer to a straight line, indicating that the general method wasmore stable and robust, as shown in the left four panels of Figures 4, 6 and 8. The coordinate difference between the true and corrected values obtained by the general method was sometimes larger compared to the traditional method because the random error of the coordinates of the remaining points (checkpoints) could not be effectively estimated, but this did not determine the results of the calculation of EOPs and APs, or the validity of the general calibration method.
In this paper, the raw observations were divided into two categories, distance and angle, in the posterior estimation process. Due to the environmental or human interference, the same kind of observations may have different a priori information [40,41], that is, observation values needed to be divided into more categories, and the idea in this paper can be extended to address this problem. The algorithm in this paper is derived based on the observation equation of TLS and the GH model, thus it could also be applied to solve some other problems, such as point cloud registration, coordinate transformation, image processing, etc.
The correlation among most of the parameters was weakened by attaching weights to the observations, about 67%, but the correlation was undeniably increased in some other locations (see Figure 10). Also, it has been proposed in some literature [19] that the rational introduction of the geo-referencing and network design could effectively weaken the parameter correlation, which is the next step of research.
Author Contributions: All authors contributed to conceptualization, methodology, computation, investigation, visualization, writing-original draft preparation, reviewing and editing aspects of the study. All authors have read and agreed to the published version of the manuscript. It should be reminded that since the SOKKIA NET 1200 and the Leica HDS3000 have different reference coordinate systems, where the first one is a right-handed system and the second one is a left-handed system. Thus, the rotation matrix needs to be changed accordingly during the adjustment process.
The basic idea of the VCE algorithm is to weight the observations according to the a priori information, and then calculate the squared sum of the residuals of the observations, and finally estimate the variance of the observations according to a certain principle. For this reason, the order of the elements needs to be rearranged to classify the observations.