Abstract
Methods to register two sets of data have existed for quite some time. However, these sets of data are rarely error-free. Consequently, any registration based on this data will be affected by the error. Moreover, if the corresponding registration matrix is then used to transform data from one coordinate system to another, any error from the registration will also get propagated to the transformed data. In this paper, we will characterize this propagation of random error, or noise, through a mathematical perspective and will illustrate its use with data obtained from physical experiments and with quasi-simulated sets of data. In addition, we will discuss the limitations of this propagation of error when systematic bias is present in the data.
Keywords: calibration, propagation of error, registration, uncertainty analysis
1. Introduction
Registering data from two systems, or coordinate frames, is a classic problem in many fields such as metrology, photogrammetry, robotics, and computer vision. The problem consists of finding an optimal orientation and translation to transform the data collected from one system to another. For perfect data, this problem is easy to solve. However, as is typically the case, difficulties arise once errors are introduced into the problem. Specifically, errors in the data, most notably from noise in the data collection systems, affect the accuracy of the registration. Moreover, these errors propagate onto any data transformed by the matrix formulated from the registration. Here, we will mathematically characterize the propagation of random error from data, to registration, to newly transformed data from the corresponding registration matrix. To gain some insight into the problem, consider two data collection systems X and X′ that simultaneously track an object. From this tracking, data can be obtained from which a registration matrix Ψ can be built which optimally transforms data from system X to X′. This setup is useful in many metrology and manufacturing applications. For instance, consider two cameras tracking an object. Using common features on the object, visible to each camera, a registration matrix Ψ can be formulated which represents the transformation between the two cameras. This matrix can then be used to transform features on the object into a coordinate system of the camera that does not see the features. As a result, a full reconstruction of the geometry of the object can then be formulated. However, care must be taken with this process as noise will influence the results. For instance, if there are errors in the registration obtained from noisy data, those errors will propagate onto any data transformed using the corresponding registration matrix Ψ. The goal of this paper is to describe how errors in the registration will influence data transformed by Ψ by creating uncertainty measures as shown in Fig. 1. In addition, a method to approximate errors in the registration will be given if these errors are not known.
Fig. 1.
Two datasets obtained by two systems are registered using the data in the overlapping region on the object. Once registered, all data from one system is transformed to the other system via a registration matrix Ψ. The inset shows the position of a measured point by one system (white circle), the point transformed to the other system (black x), and the uncertainty of the transformed point (black dashed oval). For simplicity, only the uncertainty in the x and y directions are shown.
For this paper, we assume that each system gathers and stores data in matrices
| (1) |
| (2) |
where Xn and X′n describe the nth pose of an object in the corresponding coordinate system as homogeneous matrices of the form . Here the rotation matrix
| (3) |
represents the orientation of the object in the corresponding coordinate system where r is the angle of rotation for R , u = (ux,uy,uz)T = (cos(t)cos(f),cos(t)sin(f),sin(t))T is the (unit) axis of rotation of R parametrized by the angles t and f, and
| (4) |
is the skew-symmetric matrix representation of the unit vector u. The vector p = (px,py,pz)T represents the three degrees of freedom (3DOF) position of the object in the corresponding coordinate system. In addition, denotes the identity matrix. As a result, each Xn,X′n can be described using six degrees of freedom (6DOF) representing the pose (t,f,r,px,py,pz) of the object. It should be noted that many systems may only be able to collect 3DOF position data of the object. In this situation, the techniques appearing in this paper may be simplified since the 3DOF data is included in the 6DOF data.
The registration matrix can be derived by looking at the relationship between X and X′ using existing methods [1–7] or by using the technique for 6DOF data outlined in Sec. 3. For this paper, we will assume that the optimal orientation Ω is represented as a rotation matrix using the angle-axis representation via three parameters {θ,ϕ,ρ} such that
| (5) |
where μ = (cosθcosϕ,cosθsinϕ,sinθ)T is the angle of rotation of Ω, ρ is the axis of rotation of Ω, and [μ]s is the skew-symmetric matrix representation of the vector μ. In addition, the optimal translation τ represented using the three parameters {τx,τy,τz} that represent the typical Cartesian coordinates. In total, six registration parameters ψ = {θ,ϕ,ρ,τx,τy,τz} obtained from the registration matrix will be analyzed in this paper. For simplicity, a table of the most common variables used in this paper is shown in Table 1.
Table 1.
Common variables used in this paper. Note that subscripts and superscripts can be used to differentiate coordinate frames and poses.
| Symbol | Description |
|---|---|
| p = (px,py,pz)T | Given positional data |
| R = R(t,f,r) | Given rotation matrix from angles t,f,r |
| τ = (τx,τy,τz)T | Unknown translational vector |
| Ω = Ω(θ,ϕ,ρ) | Unknown orientation matrix from angles θ,ϕ,ρ |
| Ψ = {θ,ϕ,ρ,τx,τy,τz} | Unknown registration parameters from Ω and τ |
| Unknown registration matrix from Ω and τ | |
| Δx | Uncertainty in x approximated by the standard deviation |
| ΣΔx | Uncertainty in x approximated by the covariance matrix |
It should be noted that the formulation presented in this paper can be generalized to any representation of Ω that is parametrized by three independent parameters including Euler angles. Regardless of the technique used, the registration parameters ψ derived from the registration matrix Ψ are influenced by errors inherent in the data obtained from systems X and X′ As a result, the reliability of the registration parameters will depend on the quality of data. If there are systematic biases inherent in the data and they violate the rigid body conditions upon which the process of registration is based, then the resulting registration parameters may not be valid. In this paper, we will assume that any systematic biases in the data are smaller than the random errors occurring in the data from issues such as instrument noise. In such a case, the errors in the registration parameters can be approximated by acquiring, in the same experimental conditions, K repeats of the data. Specifically, for k = 1,2,…, K datasets Xk and X′k can be constructed and the corresponding registration parameters ψk calculated. The mean and standard deviations of the six individual elements of ψk can then be determined and used to characterize the errors in the registration parameters. However, such a procedure is expensive, in both time and labor, and therefore rarely performed in practical applications. A more realistic approach is to characterize the noise from a given system and then to plug this information into a random error propagation formula to derive an estimate for the errors in the registration parameters corresponding to a single pair of acquired data from system X and X′ In this paper, we will derive such a propagation formula for the registration parameters determined from 6DOF data. Moreover, we will verify that such determined errors agree with brute force calculations based on many repeated measurements and registrations.
It should be noted that our method of propagating error is an extension of the work done by Haralick [8] on 3DOF data. However, even earlier formulations of error propagation for 3DOF data do exist. Most notably, Sibson [9, 10] was one of the first to mathematically study how errors in the data affect the registration of 3DOF data by using perturbation theory. Since then, modern mathematical formulations have been constructed [8, 11–14]. Most recently, Dorst [11] created a first order error propagation based on the Polar Decomposition and characterized the error in 3DOF data using an “error axis vector.” This vector represents the axis of rotation needed to achieve a perturbed rotation. Though his end formulation has a very nice intuitive description related to the point clouds of the original data, the actual results are in terms of an error axis that may be difficult to interpret. In contrast, Haralick [8] took a more foundational look to calculate how noise in the positional 3DOF data affects the actual registration parameters ψ. In the case that 6DOF data are used, we will extend Haralick’s work to show how random errors in the full 6DOF data affects the registration parameters ψ In addition, once the errors in the registration parameters are known (regardless of the technique), we will show how to propagate the error onto any data transformed by the corresponding registration matrix Ψ.
This paper will be organized in the following way. Section 2 will define a method for propagating errors in the registration parameters ψ onto any data transformed by the corresponding registration matrix Ψ. If the registration parameters are unknown, Sec. 3 will define a novel method for calculating them for 6DOF data, while Sec. 4 will define a method for approximating their error. Experiments illustrating the use of these methods on physically obtained data will be shown in Sec. 5 and concluding remarks will be given in Sec. 6.
For this work, known scalars will be presented as non-bold letters (a, A), known vectors as lower-case bold letters (a), and known matrices as upper-case bold letters (A). Similarly, unknown scalars will be presented as lower-case Greek letters (ψ), unknown vectors as lower-case letters bold Greek letters (ψ), and unknown matrices as upper-case bold Greek letters (Ψ). The j th column of A will be denoted as A(:, j), and the Frobenius norm will be denoted using ‖·‖; i.e.,
| (6) |
where tr( ) denotes the matrix trace operation and T denotes the transpose operation. A description of the most common variables used in this paper is shown in Table 1.
2. Propagation of Error to Transformed Data
If we assume the errors of each of the registration parameters are known and approximated by
| (7) |
this section derives a method to propagate these errors onto any data transformed by the registration matrix Ψ corresponding to the registration parameters ψ = {θ,ϕ,ρ,τx,τy,τz}. We split up this section into Sec. 2.1 which describes how Δψ affects the positional components of the transformed data and Sec. 2.2 which describes how Δψ affects the orientational components of the transformed data. If the registration parameters or the errors in the registration parameters are unknown, Sec. 3 and Sec. 4, respectively, will outline methods to determine them.
2.1. Propagation of Error onto the Positional Component
Consider new positional data p = (px,py,pz)T with the error approximated by the vector Δp = (Δpx,Δpy,Δpz)T Here we assume that the data are new in the sense that they are not used in the registration process. We are interested in calculating the error in
| (8) |
i.e., data obtained from registering p with the registration matrix where Ω = Ω (θ,ϕ,ρ) and τ = τ(τx,τy,τz).Each element of p can then be calculated as
| (9) |
| (10) |
| (11) |
As a result, the uncertainty in can be approximated by the covariance matrix
| (12) |
where the Jacobian matrix is for
| (13) |
for ηi the i-th element of {θ,ϕ,ρ,τx,τy,τz,px,py,pz} and the covariance matrix
| (14) |
where the errors in the known variables are approximated as Here the block structure of is due to the registration error Δψ being independent of the positional error Δp of the positional data p. Note that the errors in each of the components of can then be approximated by taking the square root of the corresponding diagonal of .
2.2. Propagation of Error onto the Orientational Component
Consider new orientational data Q = Q(t,f,r) with error approximated by the three-dimensional vector
| (15) |
Again, we assume that the data are new in the sense that they are not used in the registration process. We are interested in calculating the error of the three terms that parameterize
| (16) |
where Ω = Ω(θ,ϕ,ρ)with error
| (17) |
Note that the error of can be expressed in terms of
| (18) |
In order to compute the individual uncertainties of , the quaternion representation of rotation will be used, Since
| (19) |
then the transformed data can be represented as the quaternion
| (20) |
where q = (qw,qx,qy,qz)T is the quaternion representation of Q As a result,
| (21) |
| (22) |
| (23) |
Moreover, the error of the three terms that parametrize the rotation can be approximated by the covariance matrix
| (24) |
where the Jacobian matrix is
| (25) |
such that ηi is the i-th element of {θ,ϕ,ρ,t,f,r}and the covariance matrix
| (26) |
where the errors in the known variables are approximated by . Here the block structure of is due to the error in the rotational registration parameters Δλ being independent of the orientational error Δq. Note that the error of each component of can then be approximated by taking the square root of the corresponding diagonal of .
2.3. Summary of Propagation of Error
For this section we assume that the registration parameters ψ = {θ,ϕ,ρ,τx,τy,τz} and corresponding registration matrix Ψ are known along with the error Δψ in the registration parameters. The propagation of errors from the uncertainty Δψ onto a pose obtained by transforming the pose (t,f,r,px,py,pz) with the registration matrix Ψ can be split up into two cases: propagation onto the positional component and propagation onto the orientational component . Note the error (Δt,Δf,Δr,Δpx,Δpy,Δpz) is assumed to be known.
To describe the propagation onto the positional component ,
Build the Jacobian matrix Jp as outlined in Eq. (13).
Build the covariance matrix as outlined in Eq. (14).
Combine to create the covariance matrix .
The error of each element in the positional component can then be described by calculating the square root of the corresponding diagonal of .
Similarly, to describe the propagation onto the orientational component ,
Build the Jacobian matrix Jq , as outlined in Eq. (25).
Build the covariance matrix as outlined in Eq. (26).
Combine to create the covariance matrix .
The error of each element in the orientational component can then be described by calculating the square root of the corresponding diagonal of .
3. Calculating Ω and τ
A method for calculating the optimal orientation Ω and translation τ for 6DOF data is outlined in this section. To begin, note that for error-free data, registering 6DOF data is equivalent to finding a homogeneous matrix such that
| (27) |
| (28) |
for all n = 1,2,…,N. This formulation can be split into the orientational component
| (29) |
and the positional component
| (30) |
In the presence of noise, Ω and τ may not be the same for all n = 1,2,…, N. Thus, an optimization routine has to be formulated to compute the optimal transformations. In earlier work [5], the authors suggested computing the optimal Ω and τ by simultaneously solving the orientational and positional components as
| (31) |
However, the solutions will be different depending on the scale of the positional components. In addition, the units for the orientational and positional components are different. These problems can be eliminated by reformulating the orientational component.
To begin notice that in the ideal case
| (32) |
where p,p′ are the centroids of pn and p′n respectively, are the mean-adjusted points of pn and p′n respectively In addition, for j = 1,2,3
| (33) |
As a result,
| (34) |
Thus, Eq. (31) can be reformulated as
| (35) |
Where
| (36) |
| (37) |
Concentrating on the second sum or the positional component of Eq. (35):
| (38) |
| (39) |
| (40) |
| (41) |
where
| (42) |
Since T can arbitrarily be set to 0 for a given Ω by setting
| (43) |
then
| (44) |
as is typical with general absolute orientation problems [1]. Thus, Eq. (35) can be restructured using only one unknown Ω
| (45) |
which can be reformulated as a general Procrustes problem
| (46) |
where
| (47) |
| (48) |
whose solution
| (49) |
where the singular value decomposition (SVD) of
| (50) |
and D is a diagonal matrix with diagonal entries {1,1,det(VUT)}.
3.1. Summary of 6DOF Registration
To optimally register two sets of 6DOF data
| (51) |
| (52) |
-
Define the mean-centroid points
(53) (54) and define(55) (56) -
Calculate the SVD of
(57) where(58) (59) -
Define the optimal orientation
(60) where D is a diagonal matrix with diagonal entries {1,1,det(VUT )}
- Define the optimal translation
(61)
4. Errors in the Registration Parameters
The previous section outlined a method for obtaining the optimal orientation Ω and translation τ for noisy 6DOF data. Assuming we can approximate the error in the given 6DOF data as the covariance matrix ΣΔx, where the standard deviations are represented as the vector
| (62) |
this section derives a methodology for obtaining the errors in the registration parameters
| (63) |
from the registration matrix . Note, that this section is an extension of Haralick’s 3DOF work shown in [8].
For 6DOF data, we assume that the objective function can be defined as
| (64) |
| (65) |
| (66) |
where the given rotations are
| (67) |
| (68) |
for angles of rotation rj and rj′,respectively and axes of rotation
| (69) |
| (70) |
the given positions are
| (71) |
| (72) |
and the projected mean-centered positions are
| (73) |
| (74) |
Moreover, the unknown orientation Ω is defined as
| (75) |
where μ = (cosθcosϕ,cosθsinϕ,sinθ)T is the axis of rotation of Ω, ρ is the angle of rotation of Ω, and the unknown translation
| (76) |
Using this formulation, the gradient G of the function F can be decomposed as the partials
| (77) |
Taking the Taylor’s series expansion of g around the calculated points , we obtain a first order approximation:
| (78) |
| (79) |
Since extremizes . Similarly, ψ extremizes , so . Therefore,
| (80) |
Since the relative extremum of F is a relative minimum,
| (81) |
must be positive-semidefinite. Typically, this matrix will be positive definite and thus invertible. Therefore,
| (82) |
up to a first order approximation. Moreover, the error in each element of ψ can approximated by looking at the square root of the corresponding diagonal of the covariance matrix
| (83) |
Note that Eq. (119) and Eq. (120) detail the partials and , respectively, in Appendix A.
4.1. Summary of Calculating Errors in the Registration Parameters
Given data x with errors approximated with the standards deviation vector
| (84) |
the errors in the optimal orientation Ω and translation τ can be approximated by
Build the covariance matrix ΣΔx corresponding to Δx.
Build the partial as defined in Eq. (119) of Appendix A.
Build the partial as defined in Eq. (120) of Appendix A.
- Combine to create the covariance matrix
(85)
The error in each element of ψ = {θ,ϕ,ρ,τx,τy,τz} can then be calculated by taking the square root of the corresponding diagonal of ΣΔψ.
5. Experimental Results
To illustrate the formulations presented in the previous sections, 6DOF data of the object appearing in Fig. 2 at N poses with K repeats are acquired from two systems X and X′. Specifically, the positional component of each pose was obtained by measuring the same point (point O in Fig. 2) by each system X and X′, while the orientational component was obtained for system X by creating a coordinate frame using data acquired from vector bars attached to the object and the orientational component was obtained for system X′ by creating a coordinate frame using data acquired from markers attached to the object (see Fig. 2). This 6DOF data representing pose n = 1,2,…,N, repeat k = 1,2,…,K was then stored as
| (86) |
| (87) |
Here the first three components describe the orientation of pose n, repeat k and the last three components describe the position of pose n, repeat k We then assume that the actual n th pose can be approximated as the average of the K repeats
| (88) |
| (89) |
Fig. 2.
The object used to collect data from systems X and X′ The position data is obtained from each system by locating point O. The orientation data is obtained from system X by using the vector bars and from system X′ by using the markers. and the corresponding errors Δxn and Δx′n can be approximated as the standard deviation of the K and repeats, respectively. For the analysis performed in this section N = 14 and K = 200. Similar results are obtained for other experiments with varying N values. For simplicity, commonly used variables in this section are shown in Table 2.
5.1. Data Processing
To check that the data collected from system X are consistent with the data collected from system X′, the following tests are performed. Rotation matrices
| (90) |
| (91) |
are calculated from the average orientational components of the n th poses xn and x′n, respectively. Similarly, the positional vectors
| (92) |
| (93) |
are calculated from the average positional components of the n th poses xn and x′n respectively. Since both systems are tracking the same object at the same pose, we would assume that the relative rotational change R′i,j is given by
| (94) |
As a result, the angle of rotation ri,j of Ri,j should be approximately equal to the angle of rotation ri′,j of R′i,j or
| (95) |
Similarly, the relative positional change is given by
| (96) |
As a result,
| (97) |
or
| (98) |
If the quantity given by either Eq. (95) or Eq. (98) is not close to 0, then this would suggest that systematic biases are influencing the data and caution is advised for any registration based on this data.
To determine if systematic biases are influencing the data collected from systems X and X′ the relative rotational changes and relative positional changes are calculated for each of the N(N −1)/2 unique pairings (i, j) for i, j = 1,2…,N such that i ≠ j From these calculations, the average systematic bias for the rotational data is defined as
| (99) |
while the average systematic bias for the positional data is defined as
| (100) |
Note that these values would be 0 if systematic biases are not influencing the data. Results from our data are displayed in Table 3.
Table 3.
Average systematic biases in the rotational and positional data of X and X′ versus the random variability in the data represented as X and X′ and the registered data represented as . For these systems, the average systematic biases are larger than the random variability in the data resulting in the average distance between and X′ to be larger than the variability in the data.
| t [mrad] | f [mrad] | r [mrad] | Px [mm] | Py [mm] | Pz [mm] | |
|---|---|---|---|---|---|---|
| Systematic Bias | avgrot = 12.79 | avgpos = 3.14 | ||||
| Variability in | 0.35 | 0.45 | 0.58 | 0.15 | 0.27 | 0.17 |
| Average | 15.20 | 18.01 | 26.93 | 4.02 | 4.54 | 5.17 |
Another factor affecting registration is random variability in the data due to factors such as the level of instrument noise. The random variability is computed by first calculating the variances of the K repeats for each of the N poses. Then the mean of the variances is computed from all N poses from which the corresponding mean standard deviation can be calculated for each system. Note that these mean standard deviations gauge the variability of the data measured in the same experimental conditions and that these values are independent from the previously calculated parameters which gauge systematic biases. Therefore, it is possible to observe in an experiment different scenarios when the systematic biases are larger than the variability, comparable to the variability, or less than the variability. From the data, we can see that the average systematic biases are larger than the random variability in the data. As a result, caution is advised for any registration based on this data.
5.2. Registration Results
The analytical formulations for propagation of error derived in the previous sections are compared with a brute force method based on the leave-one-out method on experimentally obtained data. Specifically, analytical solutions are obtained for each n = 1,2,…,N by withholding xn and x′n and the associated Δxn and Δx′n from the pool of N datasets. The remaining N −1 datasets are used to calculate the analytical registration parameters ψn from the corresponding registration matrix Ψn as outlined in Sec. 3. In addition, the corresponding uncertainty is calculated as outlined in Sec. 4. The registration parameters ψn and the corresponding uncertainty are then used to study how the errors in each of the 6DOF values of xn, represented as the standard deviation Δxn, propagate onto the registered point . Here, the registered point is the 6DOF representation of the homogeneous matrix where Xn is the homogeneous matrix formulation of xn. The resulting errors of each of the 6DOF elements of , represented as , can then be approximated by looking at the square root of the corresponding diagonal of for the positional data and for the orientational data as outlined in Sec. 2.
The brute force solutions are obtained for each n = 1,2,…,N, by obtaining the K registration, parameters ψn,k formulated from registering xi,k with x′i,k for all i ≠ n and k = 1,2,…,K The covariance matrix is then calculated from the ψn,k and compared with the analytically derived calculated from above. Comparing the i th diagonal element σi of with the i th diagonal element of , we found
| (101) |
Note that if , then . As a result, we see that our analytical solutions do match up with the brute force methods.
The transformed poses are also computed for is the k = 1,2,…,K where Ψn,k is the registration matrix associated with ψn,k and Xn,k is the homogeneous matrix representation of xn,k. Using the 6DOF representation of , the covariance matrix is computed for the positional data and the covariance matrix is computed for the orientational data. Comparing the i th diagonal element from these covariance matrices with the i th diagonal element σi from and , we found
| (102) |
as illustrated in Fig. 3. Note that if , then . As a result, we see that our analytical solutions do match up with the brute force methods.
Fig. 3.
The standard deviation of the propagated test point .obtained from the experimental (E) brute force method and the theoretical (T) analytical method presented in this paper.
The variability of the registered data are comparable with the variability of the original data xn,k and x′n,k as shown in Table 3. However, the average distance between the registered data and x′n is larger than the average uncertainty This is the result of the systematic biases affecting the systems X and X′ as cautioned in Sec. 5.1. As a result, x′n does not lie in the uncertainty region as shown in left example of Fig. 4. The next section will further elaborate on the effects of systematic biases on registration.
Fig. 4.
Possible outcomes from the registration of data from systems X and X′ with fixed positional bias. The black dots are the averaged (over K repeats) registered data , while the white dots are the averaged x′n data. The light gray circles illustrate the uncertainty of the registered data , while the dark gray circles illustrate the uncertainty of Δx′n from system X′. Pose x′n lies in the uncertainty of the registered data only in the case where the positional bias is less than the uncertainty. For ease of understanding, only the x and y directions are shown and the uncertainties in these directions are the same which generally is not the case.
5.3. Effects of Systematic Bias
In order to investigate the effects of systematic biases on the data, quasi-simulated data are generated from the experimentally acquired data by first determining the deviation of the k th repeated measurement from the mean value as
| (103) |
Then the registration matrix Ψ is computed from all pairs (xn,x′n ). The quasi-simulated data is then determined by setting
| (104) |
where 0 ≤ s ≤ 1 is a scale factor. Note that when s = 0 the average systematic biases are 0 and the assumption of a rigid body registration is perfectly fulfilled. As s increases, the average systematic biases increase linearly until s = 1and x′n (s) = x′n (1) = x′n. For an illustration, see Fig. 5. The noisy k th repeated quasi-simulated data can then be generated as
| (105) |
Note that the standard deviation of the simulated data x′n,k(s) is exactly the same as the standard deviation of the original experimental data x′n,k– the only thing that changes is the location of the average x′n(s).Through this process, data for a new quasi-simulated system X′(s) is created that depends on s.
Fig. 5.
Schematic diagram explaining how the simulated data x′n(s) are generated from experimental data. The black dots depict registered data which corresponds to zero systematic biases (s = 0)), while the white circles correspond to the original data obtained from system X′ with large systematic biases (s = 1).
The analytical formulations for propagation of error on the simulated data from systems X and X′(s) are compared with the brute force methods outlined in Sec. 5.2 for multiple s values. Specifically, results comparing the covariance of the registration parameters derived from the analytical and brute force methods are similar to the results shown in Eq. (101) regardless of the s value. In addition, results comparing the propagation of error through the covariances of the registered poses derived from the analytical and brute force methods are similar to the results shown in Eq. (102) regardless of the s value. However, s does affect the likelihood that a given pose in system X′(s) lies in the uncertainty region of the corresponding registered pose. Let the n th registered pose for repeat k be defined as where Ψn,k(s) is the registration between Xi,k(s) and X′i,k(s) for i ≠ n where xi,k is the homogeneous matrix representation of xi,k From these poses, the average pose
| (106) |
can be defined where is the 6DOF representation of and the corresponding errors in can be approximated with – the standard deviation of each of the 6DOF elements of . Then the goodness of fit ratio between and x′n (s) can be represented by the vector
| (107) |
Where for being the i th vector elements of respectively and is the standard deviation of the i th elements of . Note that if for all i
| (108) |
| (109) |
| (110) |
Results for our data are shown in Fig. 6. If the systematic bias represented by s < 0.022 then x′n(s) is in the region centered at and the analytical formulations presented in this work accurately represent the actual propagation of error.
Fig. 6.
The goodness of fit ratio g(s) calculated from the original experimental 6DOF data from system X registered to the simulated data from system X′(s)for varying scale s values.
6. Conclusions
This paper focuses on methods to understand how errors in collected data from two systems can be propagated to parameters obtained from the registration of the two systems. These, often error-prone, registration parameters are then used to build a homogeneous matrix to transform data collected in only one system to the other. As a result, any errors in the original collected data that get propagated to the registration parameters will also be propagated onto any transformed data through the corresponding registration matrix. In this paper, mathematical formulas are derived and tested on experimentally obtained data to show how this propagation of error occurs. We found that the original errors in the data can be attributed to systematic biases in the data as well as random variations occurring in the data from sources such as instrument noise. If systematic biases found in the data are larger than the random variations in the data, then the practitioner should be cautious as the approximation of the registered pose unseen by a given system may not accurately represent the actual pose in the system. However, if the systematic biases are less than the random variation appearing in the data, then the methods outlined in this paper are adequate to model the propagation of error from noisy data to registration parameters to transformed data. The relationship between the systematic biases and the random variations in the data can be approximated before registration occurs by simple tests on the data. Therefore, it is recommended that a practitioner performs these tests to validate the accuracy of any resulting registration. However, regardless of the relationship between systematic biases and random variations, it should be noted that the efficient analytical formulations presented in this paper match with the tedious and often time consuming brute force methods.
Table 2.
Representation of pose at position n in different systems.
| Symbol | Description |
|---|---|
| xn | 6DOF representation of pose n in system X |
| Xn | Homogeneous matrix representation of pose n in system X |
| 6DOF representation of pose n in system X’ | |
| Homogeneous matrix representation of pose n in system X’ | |
| Registered 6DOF representation of pose n in system X to system X’ | |
| Registered homogeneous representation of pose n in system X to system X’ |
Acknowledgments
The first author is a Guest Researcher at the National Institute of Standards and Technology (NIST). The problem discussed in this paper was formulated at NIST under the Intelligent Systems Division. Data were collected and analyzed within this program with results appearing in this paper.
Biography
About the authors: Mili Shah is an associate professor in the Department of Mathematics and Statistics at Loyola University Maryland and a guest researcher in the Intelligent Systems Division at NIST. Her research interests include robotics, computer vision, and symmetry detection.
Marek Franaszek is a physicist in the Intelligent Systems Division of the NIST Engineering Laboratory. His current research interests include mathematical modeling and algorithm development for processing data acquired with 3D imaging systems.
Geraldine Cheok is a research structural engineer in the Sensing and Perception Group of the Intelligent Systems Division of the Engineering Laboratory at NIST. She conducts research to evaluate the performance of sensors used for robotic applications in manufacturing.
The National Institute of Standards and Technology is an agency of the U.S. Department of Commerce.
7. Appendix A.
Let the objective function be defined as
| (111) |
| (112) |
| (113) |
Note that each component of F can be decomposed as
| (114) |
| (115) |
Using this formulation, the gradient G of F can be decomposed as the partials
| (116) |
where
| (117) |
and
| (118) |
Moreover, the partials
| (119) |
| (120) |
where
| (121) |
| (122) |
and
| (123) |
| (124) |
| (125) |
| (126) |
for am ∈{tm,fm,rm} and . The partials and can be obtained in a method similar to Eq. (118). And,
| (127) |
| (128) |
| (129) |
| (130) |
| (131) |
| (132) |
8. References
- [1].Arun KS, Huang TS, Blostein SD (1987) Least-squares fitting of two 3-D point sets. IEEE Trans Pattern Anal Mach Intell PAMI-9(5):698–700. 10.1109/TPAMI.1987.4767965 [DOI] [PubMed] [Google Scholar]
- [2].Horn BKP (1987) Closed-form solution of absolute orientation using unit quaternions. J Opt Soc Am A Opt Image Sci Vis 4(4):629–642. 10.1364/Josaa.4.000629 [DOI] [Google Scholar]
- [3].Horn BKP, Hilden HM, Negahdaripour S (1988) Closed-form solution of absolute orientation using orthonormal matrices. J Opt Soc Am A Opt Image Sci Vis 5(7):1127–1135. 10.1364/Josaa.5.001127 [DOI] [Google Scholar]
- [4].Kanatani K (1994) Analysis of 3-D rotation fitting. IEEE Trans Pattern Anal Mach Intell 16(5):543–549. 10.1109/34.291441 [DOI] [Google Scholar]
- [5].Shah M (2011) Comparing two sets of corresponding six degree of freedom data. Comput Vis Image Underst 115(10):1355–1362. 10.1016/j.cviu.2011.05.007 [DOI] [Google Scholar]
- [6].Umeyama S (1991) Least-squares estimation of transformation parameters between two point patterns. IEEE Trans Pattern Anal Mach Intell 13(4):376–380. 10.1109/34.88573 [DOI] [Google Scholar]
- [7].Walker MW, Shao L, Volz RA (1991) Estimating 3-D location parameters using dual number quaternions. CVGIP: Image Underst 54(3):358–367. 10.1016/1049-9660(91)90036-O [DOI] [Google Scholar]
- [8].Haralick RM (2000) Propagating covariance in computer vision Performance Characterization in Computer Vision, Computational Imaging and Vision, eds Klette R, Stiehl HS, Viergever MA, Vincken KL (Springer, Netherlands: ), Vol 17, pp 95–114. [Google Scholar]
- [9].Sibson R (1978) Studies in the robustness of multidimensional scaling: procrustes statistics. J R Stat Soc Series B Stat Methodol 40(2):234–238. [Google Scholar]
- [10].Sibson R (1979) Studies in the robustness of multidimensional scaling: perturbational analysis of classical scaling. J R Stat Soc Series B Stat Methodol 41(2):217–229. [Google Scholar]
- [11].Dorst L (2005) First order error propagation of the procrustes method for 3D attitude estimation. IEEE Trans Pattern Anal Mach Intell 27(2):221–229. 10.1109/TPAMI.2005.29 [DOI] [PubMed] [Google Scholar]
- [12].Fitzpatrick JM, West JB (2001) The distribution of target registration error in rigid-body point-based registration. IEEE Trans Med Imaging 20(9):917–927. 10.1109/42.952729 [DOI] [PubMed] [Google Scholar]
- [13].Fitzpatrick JM, West JB, Maurer CR Jr (1998) Predicting error in rigid-body point-based registration. IEEE Trans Med Imaging 17(5):694–702. 10.1109/42.736021 [DOI] [PubMed] [Google Scholar]
- [14].Söderkvist I (1993) Perturbation analysis of the orthogonal procrustes problem. BIT Numer Math 33(4):687–694. 10.1007/bf01990543 [DOI] [Google Scholar]






