Next Article in Journal
Unveiling Turbulence-Induced Stress Dynamics in Dented Pipe Using Acoustic Emission and Time–Frequency Analysis
Next Article in Special Issue
A Six-Tap 720 × 488-Pixel Short-Pulse Indirect Time-of-Flight Image Sensor for 100 m Outdoor Measurements
Previous Article in Journal
A Multi-Step Grasping Framework for Zero-Shot Object Detection in Everyday Environments Based on Lightweight Foundational General Models
Previous Article in Special Issue
Scale-Adaptive High-Resolution Imaging Using a Rotating-Prism-Guided Variable-Boresight Camera
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Closed-Form Dual Quaternion Model for Drift Correction in TLS Pose-Circuits

by
Rubens Antonio Leite Benevides
1,*,
Daniel Rodrigues Dos Santos
2 and
Luis Augusto Koenig Veiga
1
1
Geomatics Department, Federal University of Paraná, Curitiba 81530-900, PR, Brazil
2
Military Institute of Engineering, Rio de Janeiro 22290-270, RJ, Brazil
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(23), 7126; https://doi.org/10.3390/s25237126
Submission received: 8 October 2025 / Revised: 10 November 2025 / Accepted: 20 November 2025 / Published: 21 November 2025
(This article belongs to the Collection 3D Imaging and Sensing System)

Highlights

Dual quaternion interpolation works better than the least squares method or decoupled interpolation of rotations and translations to distribute the closure error of 3D point cloud registration circuits.
What are the main findings?
  • Linear dual quaternion interpolation is the most efficient solution for distributing the closure error along a circuit of 3D poses.
  • Our CSI (Constant Smooth Interpolation) method unifies the translation and rotation correction of an entire circuit of poses in a single step.
What are the implications of the main findings?
  • Easy implementation. It is possible to correct the closure error of the circuit just by linearly interpolating eight parameters.
  • The interpolation can be performed fast and without losing the property of the shortest path on the manifold of the 3D poses.

Abstract

Laser scanning allows for the rapid acquisition of three-dimensional data in the form of 3D point clouds. However, due to the accumulation of errors in the registration of multiple pairs of point clouds along the sensor’s trajectory, the generated 3D reconstructions exhibit drift, which creates global inconsistencies in the scan. To address this error, there are drift correction models that distribute the error along a closed circuit of stations. In this work, we present a model of this nature based on the linear interpolation of dual quaternions. This linear solution simultaneously refines rotations and translations in a closed trajectory without iterative computations or matrix decomposition. Experimental evaluations on eight TLS datasets indicate that the proposed drift correction model provides a robust average error reduction of 26%, with a maximum reduction of 41% in circuits with large drift. This simultaneous solution improves pose accuracy in closed trajectories with theoretical advantages that translate into efficient and fast implementation. Although validated using TLS data, the proposed pose-circuit correction model is sensor-agnostic and can be applied to other 3D mapping systems.

1. Introduction

Laser scanning transforms geoscience by enabling the rapid and precise acquisition of three-dimensional data. These precise 3D data are foundational for critical downstream tasks, such as environmental understanding via semantic segmentation [1] and object detection in autonomous driving [2]. The utility of all such applications, however, is contingent on the global geometric accuracy of the final, aggregated 3D model. Achieving this global consistency requires registering multiple point clouds, a process that invariably introduces cumulative drift error. While this is a general challenge in 3D mapping, it presents distinct difficulties when using Terrestrial Laser Scanners (TLSs).
This drift in TLS projects is compounded by three key factors. First, the point clouds have a non-constant, variable density due to the angular mode of acquisition. Second, exact 3D point correspondences cannot be found between scans. Most importantly, the operational strategy for TLS—maximizing the distance between stations to reduce fieldwork—is the primary driver of rapid drift growth. This wide spacing of several meters means that point clouds often overlap only in areas far from the scanner, where the point density is lowest. This sparsity, combined with the lack of exact 3D matches, degrades the quality of the pairwise registration, which depends on enough inlier matches. As a result, the sensor trajectory quickly deviates from its true path, accumulating significant errors with each successive station.
This work presents a linear Global Refinement Model (GRM) to correct this drift in a closed loop of TLS poses. The model uses dual quaternion algebra [3] to represent 3D rigid poses efficiently. This algebra unifies rotation and translation into a single mathematical object, the dual quaternion, which avoids the over parametrization found in matrices. Instead of using 12 parameters—3 for translation and 9 for rotation—it uses only 8 parameters, which is more efficient from a computational standpoint. In addition, dual quaternion algebra allows for faster and easier linear interpolation of 3D poses than with matrices. Specifically, our GRM applies the ScLERP technique [3] for drift correction in a closed loop of TLS poses, which is equivalent to the SLERP [4] for ordinary quaternions.
There are several GRMs for drift correction in TLS station graphs. Many of them include a consistency check of the graph edges. For example, in ref. [5], the authors refined a complete graph of TLS stations using two global optimizations. They first evaluated trajectory consistency with a loop closure check and then applied a minimum spanning tree to guide the second refinement with the algorithm of pose optimization described in [6].
In ref. [11], the authors refined pairwise registrations between a TLS-generated point cloud and 41 smaller clouds obtained through a Structured Light Scanner (SLS) using the model proposed in [12]. This model iteratively diffuses pairwise registration errors across the clouds. Similarly, ref. [13] employed an iterative graph diffusion method but parametrized transformations using dual quaternions. In [14], the authors proposed a method for the simultaneous registration of multiple TLS point clouds by globally adjusting rotations using quaternions and applying Singular Value Decomposition (SVD) on a hypermatrix, which follows the graph’s adjacency matrix.
In ref. [7], the authors used the Binary Shape Context (BSC) descriptor [8] to compute pairwise transformations for the TLS station graph. However, instead of performing an exhaustive search across all point clouds pairs as in [5,9], they aggregated the BSC descriptor during scan matching. This descriptor handles density variations effectively with a Gaussian kernel and achieves high computational efficiency by encoding information as binary vectors, enabling fast comparisons using the Hamming distance. The authors refined the final graph using the multi-view ICP algorithm proposed in [10].
In ref. [15], the authors introduced an iterative GRM based on graph structures, capable of handling the six degrees of freedom of pose transformations. This method generalizes the approach from [6]. Alternatively, closed-form solutions avoid iterative processes by using Spherical Linear Interpolation (SLERP) for loop-closure correction [4]. These methods backpropagate the closure error along the circuit, ensuring an identity pose in the closure of stations, as described in [16,17].
In addition to these classical approaches, hybrid systems are emerging that integrate deep learning with traditional graph optimization. For example, ref. [18] presented a LiDAR-SLAM system that uses conventional ICP for odometry and a factor graph for global optimization. They replaced the difficult task of place recognition with a module that learns feature descriptors for point cloud segments, enabling robust, viewpoint-invariant loop closures on a CPU.
These optimization principles have also been applied to correct drift in the field of deep learning-based visual odometry (VO). For instance, ref. [19] presented a hybrid, unsupervised VO network where pose drift was corrected by integrating classical pose graph optimization and bundle adjustment directly into the network’s training loop.
An example of an end-to-end approach is the work of [20], which used deep learning to replace the classical optimization process entirely, proposing PoGO-Net, a Graph Neural Network (GNN) designed to solve the complete pose graph optimization problem. Their method takes a noisy pose graph as input and learns to regress globally consistent poses. A key component of their network is a “de-noise layer” that learns to identify and drop outlier edges.
More recently, furthering the integration of deep learning and classical methods, ref. [21] presented ‘Wednesday’, a state-of-the-art multiway registration pipeline. This framework uses a learned, diffusion-based model for high-accuracy pairwise registration but employs a classical, non-learned algorithm for the core global rotation averaging. The authors note that recent learning-based graph optimization methods like PoGO-Net are difficult to reproduce or less effective. The pipeline then uses a novel, globally optimal translation re-estimation algorithm before applying a final diffusion-based network for joint pose refinement. This work highlights a trend of using deep learning to augment specific, non-robust steps while retaining the stability of classical geometric solvers for the core global optimization.
Many studies have addressed pairwise point cloud registration and global drift correction together. This research, however, focuses only on the latter. While pairwise registration is well-documented, correcting drift—a more complex problem that handles all 3D poses using GRMs—is less understood. Therefore, our primary contribution is a fully linear GRM that ensures convergence to the optimal solution without requiring iterations. This non-iterative quality is a desirable characteristic for such models [10].
Although existing works parameterize pairwise registration with dual quaternions [22] in a closed-form and iterative graph diffusion methods exist [13], to the best of our knowledge, no article has presented a linear, closed-form method for globally optimizing the poses within a point cloud loop.

2. Materials and Methods

2.1. Datasets

Table 1 lists our datasets collected using the Leica BLK360 TLS (Leica, Wetzlar, Germany), which were carefully selected with a realistic overlap to compare the proposed GRMs. Among the datasets, the UFPR dataset stands out as the most challenging to GRMs due to its total circuit length with 51 poses of the TLS. To obtain the initial approximated poses, we performed the pairwise registration in a coarse-to-fine manner using Fast Global Registration [23] and the Generalized ICP [24] implemented in a multiscale approach. Even with these two algorithms, about 15% of the pairs still could not be registered automatically in these cases, so we proceeded to manual registration and refined it with the G-ICP.
Table 1 lists the eight datasets used for validation. Four of these were not obtained by us: the Bremen (Dataset available at: https://kos.informatik.uni-osnabrueck.de/3Dscans/, accessed on: 9 November 2025) dataset, which was captured by Dorit Borrmann and Andreas Nüchter from Jacobs University, using Riegl VZ400 TLS (Riegl, Horn, Austria), and the Arch, Façade, and Courtyard datasets from [5], captured by a Faro Focus 3D TLS (Faro Technologies, Lake Mary, FL, USA). The Bremen and UFPR datasets are particularly notable, with circuit lengths exceeding 300 m. This extensive length is crucial as it amplifies the cumulative drift error, which helps to clearly visualize and quantify the behavior of the different GRMs.
Figure 1 provides a top view of the datasets: (a) Crater; (b) Wood; (c) Theater; (d) Bremen; (e) UFPR; (f) Arch; (g) Façade; and (h) Courtyard. Cover removed to visualize the stations in the Wood, Theater, and Façade datasets. The grid on the floor measures 10 × 10 m.

2.2. Proposed Global Refinement Method

Our Constant Smooth Interpolation (CSI) model refines translations and rotations simultaneously without any initial estimative, and does not perform iterations, matrix inversions, or decompositions, which means that it is linear and deduced in a closed form. We assume that the reader is familiar with the formulas to convert 3D poses to dual quaternions and vice versa, as well as the formulas for the exponentiation of dual quaternions. We recommend [25] for these formulations. The proposed loop closure correction operates in a closed circuit of n TLS stations s 1 ,   s 2 , ,   s n . Closed means the case where there is an overlap between the first and last cloud, so it is possible to estimate a transformation between them. Our GRM receives a set of relative poses and returns a set of optimized global poses, as follows:
G R M r e l a t i v e   p o s e s   g l o b a l   p o s e s , r e l a t i v e   p o s e s =     T 0 , T 1 2 , T 2 3   ,   T n 1 n ,   T n 1   , g l o b a l   p o s e s =     T 0 , T 1 2 , T 1 3 , T 1 n , T e  
where a relative pose T i i + 1 = ( R , t ) is the rigid homogeneous transformation T 4 × 4 which transform the point cloud from station s i + 1 to s i ; thus, the relative poses originate from the pairwise registrations. The global poses are compositions of relative poses to the global origin, defined here as station s 1 . Note that the first pose of both lists is the identity pose T 0 = I 4 × 4 , so in a closed loop with n stations there are n + 1 relative poses and the same number of global poses.
The last item on the list of relative poses is the loop-closure pose T n 1 , which transforms the station s 1 to s n . The last item of the global poses is the closure error T e , which is the result of accumulating all relative poses. In an ideal scenario without drift, the composition of all relative transformations around a circuit should return to the starting point, therefore T e should equals T 0 , but in practice the difference T e T 0 quantifies the closure error.
With these definitions we can start mapping all relative poses T i i + 1 to unit dual quaternions:
r i : =   r i T i i + 1
with i   =   0 ,   1 ,   2 , ,   n + 1 , where the identity T 0 becomes r 0 . Then, we compose the relative dual quaternions r i through the following sequence of multiplications:
g 0 = r 0 g 1 = r 1 g 0 g n = r n g n 1 g e = r n g n
In Equation (2) g i is the global dual quaternion that maps the station s i to the global origin s 1 , with i = 1,2 , n . In Equation (2) g e is the closure error in the dual quaternion form and r n is the loop-closure dual quaternion that maps points in station 1 to n . The right arrow is used to highlight the fact that we are composing poses in the direction defined earlier i i 1 . Let us consider this the backward direction, since it is opposite to the sensor’s path.
Nevertheless, in a closed circuit we can traverse the circuit in the reverse direction and express the transformations to reference each station back to s 1 using the inverse of the product in reverse order:
g 1 = r 2 r 3 r n 1 r n 1 g 2 = r 3 , , r n 1 r n 1 g n 1 = r n 1 r n 1 g n = r n 1 g e = r 1 r 2 r 3 r n 1 r n 1
as before, g i is the global dual quaternion which maps station s i to the global origin s 1 , with i = 1 , 2 , , n , but in the reverse direction: i i + 1 . Let this be the forward direction. Note that in Equation (3) the last global dual quaternion is the inverse of the loop-closure dual quaternion: g n = r n 1 ; the number of accumulated poses in g i is i , while in g i , it is n i . This means that each new pose accumulated in one direction decreases a pose in the other direction, which is easily understood when walking in a closed circuit. Moreover, the closure error in the backward composition equals the inverse of the closure error in the reverse order: g n = g n 1 .
Let g i be the best estimative between g i and g i . We define g i as follows: g i = C S I ( g i , g i , t i ) , where g i is the optimized dual quaternion that maps station s i to the global origin s 1 , and t i is the interpolation interval 0,1 with i = 1,2 , , n . C S I stands for Constant Smooth Interpolation, which has a formulation identical to the Screw Interpolation (ScLERP) [3]. Figure 2 illustrates the pipeline of our GRM, culminating in the global refinement via ScLERP interpolation.
As shown in the figure, the pipeline begins with relative poses from pairwise registration, represented as 4 × 4 homogeneous matrices. These matrices are converted to dual quaternions, which are then accumulated to form global poses. This accumulation is performed in both the backward (Equation (2)) and forward (Equation (3)) directions of the circuit. The resulting forward and reverse global poses are interpolated using the optimal intervals t i and converted back to a final, refined set of homogeneous matrices. These final matrices represent the optimized global poses, which are applied to their respective point clouds to transform the entire circuit into the single coordinate system of the first station s 1 .
From this point on, equations are developed to determine the optimal interpolation intervals. The ScLERP exponential formulation is presented in Equation (4), as follows:
g 1 = g 1 g 1 1   g 1 t 1   g 2 = g 2 g 2 1   g 2 t 2 g n = g n g n 1   g n t n
to deduce the interpolation intervals t i , one should write Equation (3) as follows:
g 1 = g 1 g e 1   g 2 = g 2 g e 1 g n = g n g e 1
Equation (5) can be verified by replacing g e with the product of the relative dual quaternions r i . Substituting Equation (5) in Equation (4) we have:
g 1 = g 1 g 1 1   g 1 g e 1 t 1 = g 1 g e t 1 g 2 = g 2 g 2 1   g 2 g e 1 t 2 = g 2 g e t 2 g n = g n g n 1   g n g e 1 t n = g n g e t n
now, one forces the triple composition constraint g i 1 r i g i 1 r 0 , as follows:
g 1 1 r 1 g 0 r 0 g 2 1 r 2 g 1 r 0 g n 1 r n g n 1 r 0 g e 1 r n g n r 0
The constraint forces g e equal the identity. g 0 and g 0 also equal the identity, we have written these terms only for consistency in the equations, and they are left out in the next ones. Expanding the left side of Equation (7) using Equation (6) we obtain:
  g 1 g e t 1 1 r 1 g 0 r 0   g 2 g e t 2 1 r 2   g 1 g e t 1 r 0   g n g e t n 1 r n g n 1 g e t n 1 r 0 r n g n g e t n r 0
now one can simplify Equation (8) by performing the inversion of the terms inside the brackets and replacing r i g i 1 by g i (see Equation (2)). The resulting terms cancel each other out as follows:
g e t 1 g 1 1 g 1 = g e t 1 r 0 g e t 2 g 2 1 g 2 g e t 1 = g e t 2 g e t 1 = g e t 2 t 1 r 0 g e t n g n 1 g n g e t n 1 = g e t n g e t n 1 = g e t n t n 1 r 0 g e g e t n = g e 1 t n r 0
with the product of powers (same base) we can add the exponents on the right-hand side of Equation (9) as follows:
t 1 = 0 t 2 t 1 = 0 t n t n 1 = 0 1 t n = 0
The system in Equation (10) has n + 1 equations and n unknowns, so it is possible to apply the Least Squares (LS) method to obtain an optimal solution. Let J be the Jacobian matrix of that system concerning the variables t 1 , t 2 , t n ; and b = [ 0,0 , 0,1 ] the vector defined by the right-hand side of Equation (10). One can obtain the interpolation intervals τ = t 1 , t 2 , t n 1 by:
τ = J T J 1 J T b
The result of Equation (11) is a function of the number of stations, in a closed circuit of n vertices, and τ is previously known, since the matrix J and the vector b follow a simple pattern:
J = 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 n + 1 , n ;   b = 0 0 0 1 n
For a circuit with n = 4 stations, τ is:
τ = 1 4 , 2 4 , 3 4
The LS solution divides the interval 0,1 into complementary parts, so that t i + t n i = 1 . This means that the CSI proceeds as a weighted mean between g i and g i where the weight is the index distance from station 1 given by t = i / n . In our example with n = 4 , one of the three interpolations happens exactly at ½, because going in the reverse or forward direction accumulates the same number of poses up to the middle of the circuit. As the same amount of error is expected in g 2 and g 2 , we have g 2 = C S I g 2 , g 2 , 2 / 4 ; For the first pose, the interval is closer to zero: g 1 = C S I g 1 , g 1 , 1 / 4 , and for the last pose, the interval is closer to one: g 3 = C S I g 3 , g 3 , 3 / 4 .

3. Results

Our GRM, referred to as Constant Smooth Interpolation (CSI), can optimize any closed circuit of TLS stations. We compared it against three other linear models on the same circuit for each dataset. The three models were (1) the LLS model, which adjusts and enforces the closure of translations using the Linear Least Squares (LS); (2) the SLERP model, which interpolates rotation like the approach in [16]; and (3): the SLERP + LS model, which combines the previous two to adjust rotations and translations in two steps [17]. All four models are linear, but only ours performs a simultaneous adjustment of rotations and translations.
We quantified the drift error of one pose using the metric defined in Equation (14), as follows:
e r r o r i = t i g t i e 2
and we also present the Total Error ( E T o t a l ) of the circuit:
E T o t a l = i = 1 n e r r o r i
the Mean Absolute Error (MAE):
M A E = 1 n i = 1 n e r r o r i
and the Root Mean Squared Error (RMSE):
R M S E = 1 n i = 1 n e r r o r i 2
where e r r o r i is the Euclidean distance in translation between the estimated global pose ( t e ) and the ground truth pose ( t g ). The ground truth of the global poses comes from the g2o model [26] incorporating all edges of the complete pose graph, which provides a higher quality reference than any of the GRMs and ensures reliable comparisons. We did not compare rotations because any change in these directly affects the translation vector of the pose.
Figure 3 compares the performance of each model across the eight datasets: (a) Crater, (b) Wood, (c) Theater, (d) Bremen, (e) UFPR, (f) Arch, (g) Façade, and (h) Courtyard. The line graphs on the left plot the error per pose, which originates at zero (the reference station) and accumulates along the circuit. The bar charts on the right summarize the Total Error for each model, with the error bars representing the standard deviation of the pose errors.
Table 2 quantifies the absolute error metrics for each GRM. It lists the Total Error (Equation (15)), which corresponds to the bar charts in Figure 3, along with the Mean Absolute Error (Equation (16)) and the Root Mean Squared Error (Equation (17)). Together, these metrics summarize the absolute error of each model for every circuit.
Table 3 quantifies the relative error for each GRM, expressed as a percentage. This value indicates the improvement (negative) or degradation (positive) of the Total Error relative to the original poses, calculated as: r e l a t i v e   e r r o r = 1 ( E G R M / E O r i g i n a l ) .
We can see in Figure 3 that adjusting rotations or translations in isolation is not a desirable alternative. The LS and SLERP models, when applied individually, showed inconsistent performance and, in several key datasets (Crater, Theater, and UFPR), delivered unsatisfactory results. Another disadvantage of the LS and SLERP models is the large variation in error across poses, which is shown by the standard deviation of the error, represented as a black bar in the bar graphs in Figure 3.
One can see in Table 3 that the LS model worsened the outcomes in five out of the eight datasets (Crater, Wood, Theater, Bremen, and UFPR). It showed negligible improvement in Arch and Façade and a 40% improvement in Courtyard. The limitations of the LS approach are well-known in the field of speleology, where loop closure corrections often degrade results rather than improve them, especially in the presence of blunders [27], which was not the case in any of the poses discussed here.
Similarly, the SLERP model degraded pose accuracy in the Crater, Theater, and UFPR datasets (Figure 3a,c,e) while it offered improvements in the other five datasets; these two GRMs (LS and SLERP) highlight the need for a model that works directly in the SE(3) space of 6D poses.
An alternative is to combine the output of the SLERP model (adjusted rotations) with the output of the LS model (adjusted translations). This is the proposal of the SLERP + LS model from [17], which delivered better results than our CSI model on the datasets with low drift: Crater (Figure 3a) and Wood (Figure 3b). Conversely, in datasets with large drift, Bremen (Figure 3d) and UFPR (Figure 3e), the CSI model delivered remarkably better results. In the remaining four datasets (Theater, Arch, Façade, and Courtyard), both models provided similar results, with CSI showing a minor advantage in three cases (Figure 3c,f–h).
The experimental results suggest that the primary advantage of the CSI model is its simultaneous handling of rotation and translation, which becomes critical as the magnitude of the error increases. In datasets with low cumulative drift (Crater and Wood), the rotational error was minimal. Consequently, the coupling between rotational and translational error is negligible.
The decoupled SLERP + LS model performed well here because its two-step process is a valid approximation. The SLERP step does not induce a significant new error, allowing the LS step to solve a clean translational problem. When the rotational error is close to zero, the coupling effect (the “lever arm” problem) is also close to zero. In this simplified scenario, the decoupled SLERP + LS model may even slightly outperform the CSI, as its LS component is, according to the Gauss–Markov Theorem [28], the Best Linear Unbiased Estimator (also called BLUE). Thus, assuming that the errors are uncorrelated, which is the case for the translational error since the movements in R 3 are independent, it is not surprising that the SLERP + LS method delivered good results when operating with a rotational error close to zero.
However, in long trajectories with large drift (Bremen and UFPR), the rotational and translational errors were significant and strongly coupled. A large rotational correction, when applied in isolation (as in SLERP), induced a substantial, new translational error across the circuit. As rotation and translation are not independent, a small rotational error at the beginning of a long 400 m circuit (like Bremen) will negatively affect the rest of the trajectory, creating a significant translational error at the end.
The SLERP + LS model failed because its first step contaminated the input for the second. The SLERP technique operates in the nonlinear S 3 manifold, while the LS technique operates in R 3 , a linear space. This decoupled optimization process can be interpreted as an inadequate approximation of the shortest path between the 6-degree-of-freedom (6-DoF) poses, which describes a geodesic in the SE(3) manifold.
The CSI model excels in these high-drift scenarios precisely because its dual quaternion formulation treats the 6-DoF pose as a unified entity. It distributes the error along the true SE(3) geodesic, inherently modeling the nonlinear coupling between translation and rotation, thus providing a geometrically sound and more accurate correction.
In the Bremen dataset (Figure 3d), the CSI model delivered a 41% improvement over the original poses, significantly surpassing the 7% improvement in the SLERP + LS model. In the most extensive dataset, UFPR, the CSI reduced the error by 27% (Figure 3e), whereas SLERP + LS increased the error by 18% when compared to the original poses. Figure 4 depicts the qualitative result of each GRM in the closure of the UFPR circuit, where the effect of drift was considerable.
Figure 4a highlights significant drift along the Z-axis, evidenced by a pronounced vertical displacement between the initial (blue) and final (green) point clouds at the circuit’s extremities, particularly visible in roof structures. In Figure 4b, the drift was partially mitigated, but a detailed analysis revealed that the LS model threw the green clouds down—an expected outcome of the Least Squares (LS) model, as it does not account for rotational adjustments. Figure 4c demonstrates reduced displacement between point clouds using the Spherical Linear Interpolation (SLERP) model, though persistent horizontal drift remained apparent in the window frame.
The SLERP + LS model in Figure 4d attenuated both horizontal and vertical drift, as evidenced by the sharper outlines of the windows and the ceiling line. However, it failed to correct one final cloud, which remained shifted upward and forward. This residual misalignment created subtle artifacts around the window arms. To provide a clearer view of this specific effect, Figure 5 presents a side-by-side, magnified comparison of this region from Figure 4d (SLERP + LS) and Figure 4e (CSI). We have included a video in the Supplementary Materials, where we highlight these changes in more detail.
In Figure 6, we performed the same analysis as with the Bremen dataset, but focused only on the top of the church towers, which, being far from the TLS positions, clearly demonstrated the effects of drift on the reconstruction of the building.
Figure 6a depicts the Bremen dataset reconstruction, with emphasis on the two church tower spires. Without global refinement in Figure 6a, all 13 dispersed point clouds were visible, evidenced by the 13 distinct crosses atop the towers. The application of the LS model in Figure 6b yielded no perceptible alignment improvements. Figure 6c demonstrates the effect of rotational correction via the SLERP model, which narrowed the spatial separation between towers.
In Figure 6d, the combined SLERP + LS model brought the clouds closer together. This change was subtle, but was noticeable when comparing the circles on the right side of Figure 6c,d. In Figure 6e, the CSI model reduced the drift a little more, although four scattered clouds were still noticeable in the left circle and two in the right circle. Finally, in Figure 6f, with the groundtruth poses, the towers came together precisely without drift.
These results, along with Table 2 and Table 3, suggest that circuits with greater drift errors are more likely to benefit from our CSI model. Our model not only reduces the magnitude of the error but also its variability, as indicated by the black lines on the error bars. This means that the CSI enhanced both the accuracy and stability of the global pose estimations more effectively than the other models. We also point out that in none of the five datasets did the CSI model deliver worse results than the original poses.
Although CSI performed worse than SLERP + LS in two datasets, it provides theoretical advantages through its dual quaternion formulation. These theoretical advantages translate into a more efficient implementation of the model, which allows for less execution time. Figure 6 compares the median execution times of the GRMs.
Figure 7 demonstrates that CSI executed faster than both the SLERP and SLERP + LS models. All tests were implemented in Python 3.11 and run on our Intel i3 9350 KF CPU. This advantage stems from its reliance on the direct linear interpolation of dual quaternions. As detailed in [3], linear interpolation, followed by normalization, preserves the shortest path in dual quaternion space, the essential property for our application. By sacrificing constant rotational speed, CSI achieves increased computational efficiency, as it performs only one interpolation per pair of dual quaternions instead of the multiple interpolations typically utilized in animation.
CSI is based on direct linear interpolation (followed by normalization), which requires only basic arithmetic operations. This avoids the computationally more expensive trigonometric functions required by SLERP. Although SLERP only interpolates between quaternions and can benefit from similar optimization, its spherical interpolation process results in slower execution, as we use its default implementation.

4. Conclusions

This research introduced a linear Global Refinement Method (GRM) to correct drift errors in closed-loop trajectories from Terrestrial Laser Scanner (TLS) data. We derived a closed-form solution based on dual quaternion interpolation that simultaneously refines the translation and rotation of global poses. The formulation is non-iterative and does not require matrix decompositions.
Experimental evaluation on eight datasets demonstrated that the proposed method consistently improves the accuracy and stability of the global poses. The improvements were most significant in datasets with extensive trajectories. Furthermore, the GRM was computationally more efficient than other linear and decoupled approaches.
In summary, this work contributes to a unified model that reduces drift and enhances 3D reconstructions from 3D pose graphs. Future research will focus on extending the formulation to graphs containing multiple overlaps and generalizing the method to accommodate multiple cycles.

Supplementary Materials

We provide a video containing a comparison of our model against the other three linear models discussed in the article. Video S1: “https://youtu.be/64euDcRq9VU (accessed on 19 November 2025), Drif correction: Comparing 4 linear models”.

Author Contributions

Conceptualization, R.A.L.B., D.R.D.S. and L.A.K.V.; Data curation, R.A.L.B. and L.A.K.V.; Formal analysis, R.A.L.B.; Funding acquisition, D.R.D.S. and L.A.K.V.; Investigation, R.A.L.B.; Methodology, R.A.L.B.; Project administration, R.A.L.B., D.R.D.S. and L.A.K.V.; Resources, R.A.L.B., D.R.D.S. and L.A.K.V.; Software, R.A.L.B.; Supervision, R.A.L.B., D.R.D.S. and L.A.K.V.; Validation, R.A.L.B.; Visualization, R.A.L.B.; Writing—original draft, R.A.L.B.; Writing—review and editing, R.A.L.B., D.R.D.S. and L.A.K.V. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

All of the code to reproduce results can be downloaded from: https://github.com/RubensBenevides/Closed-Form-Dual-Quaternion-Model-for-Drift-Correction-in-TLS-Pose-Circuits (accessed on 19 November 2025).

Acknowledgments

We thank the Federal University of Paraná (Universidade Federal do Paraná—UFPR) for the infrastructure to carry out the work.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
CSIConstant Smooth Interpolation
GRMGlobal Refinement Model
ICPIterative Closest Point
LSLeast Squares
SLERPSpherical Linear Interpolation
TLSTerrestrial Laser Scanner
UFPRUniversidade Federal do Paraná

References

  1. Han, J.; Liu, K.; Li, W.; Zhang, F.; Xia, X.-G. Generating inverse feature space for class imbalance in point cloud semantic segmentation. IEEE Trans. Pattern Anal. Mach. Intell. 2025, 47, 5778–5793. [Google Scholar] [CrossRef] [PubMed]
  2. Sun, Y.; Lu, B.; Liu, Y.; Yang, Z.; Behera, A.; Song, R.; Yuan, H.; Jiang, H. Exploiting label uncertainty for enhanced 3d object detection from point clouds. IEEE Trans. Intell. Transp. Syst. 2024, 25, 6074–6089. [Google Scholar] [CrossRef]
  3. Kavan, L.; Collins, S.; O’Sullivan, C.; Zara, J. Dual Quaternions for Rigid Transformation Blending; Technical Report TCD-CS-2006–46; Trinity College Dublin: Dublin, Ireland, 2006. [Google Scholar]
  4. Shoemake, K. Animating rotation with quaternion curves. ACM SIGGRAPH Comput. Graph. 1985, 19, 245–254. [Google Scholar] [CrossRef]
  5. Theiler, P.W.; Wegner, J.D.; Schindler, K. Globally consistent registration of terrestrial laser scans via graph optimization. ISPRS J. Photogramm. Remote Sens. 2015, 109, 126–138. [Google Scholar] [CrossRef]
  6. Lu, F.; Milios, E. Globally consistent range scan alignment for environment mapping. Auton. Robot. 1997, 4, 333–349. [Google Scholar] [CrossRef]
  7. Dong, Z.; Yang, B.; Liang, F.; Huang, R.; Scherer, S. Hierarchical registration of unordered TLS point clouds based on binary shape context descriptor. ISPRS J. Photogramm. Remote Sens. 2018, 144, 61–79. [Google Scholar] [CrossRef]
  8. Dong, Z.; Yang, B.; Liu, Y.; Liang, F.; Li, B.; Zang, Y. A novel binary shape context for 3D local surface description. ISPRS J. Photogramm. Remote Sens. 2017, 130, 431–452. [Google Scholar] [CrossRef]
  9. Huber, D.F.; Hebert, M. Fully automatic registration of multiple 3D data sets. Image Vis. Comput. 2003, 21, 637–650. [Google Scholar] [CrossRef]
  10. Williams, J.; Bennamoun, M. Simultaneous registration of multiple corresponding point sets. Comput. Vis. Image Underst. 2001, 81, 117–142. [Google Scholar] [CrossRef]
  11. Shao, J.; Zhang, W.; Mellado, N.; Grussenmeyer, P.; Li, R.; Chen, Y.; Wan, P.; Zhang, X.; Cai, S. Automated markerless registration of point clouds from TLS and structured light scanner for heritage documentation. J. Cult. Heritage 2019, 35, 16–24. [Google Scholar] [CrossRef]
  12. Pulli, K. Multiview registration for large data sets. In Proceedings of the Second International Conference on 3-D Digital Imaging and Modeling (Cat. No.PR00062), Ottawa, ON, Canada, 8 October 1999; pp. 160–168. [Google Scholar]
  13. Torsello, A.; Rodola, E.; Albarelli, A. Multiview registration via graph diffusion of dual quaternions. In Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Colorado Springs, CO, USA, 20–25 June 2011; pp. 2441–2448. [Google Scholar]
  14. Pavan, N.L.; dos Santos, D.R.; Khoshelham, K. Global registration of terrestrial laser scanner point clouds using plane-to-plane correspondences. Remote Sens. 2020, 12, 1127. [Google Scholar] [CrossRef]
  15. Borrmann, D.; Elseberg, J.; Lingemann, K.; Nüchter, A.; Hertzberg, J. Globally consistent 3D mapping with scan matching. Robot. Auton. Syst. 2008, 56, 130–142. [Google Scholar] [CrossRef]
  16. Vlaminck, M.; Luong, H.; Philips, W. Have I seen this place before? A fast and robust loop detection and correction method for 3D lidar SLAM. Sensors 2019, 19, 23. [Google Scholar] [CrossRef] [PubMed]
  17. Benevides, R.A.L.; dos Santos, D.R.; Pavan, N.L.; Veiga, L.A.K. Advancing Global Pose Refinement: A Linear, Parameter-Free Model for Closed Circuits via Quaternion Interpolation. Sensors 2024, 24, 5112. [Google Scholar] [CrossRef] [PubMed]
  18. Ramezani, M.; Tinchev, G.; Iuganov, E.; Fallon, M. Online LiDAR-SLAM for legged robots with robust registration and deep-learned loop closure. In Proceedings of the 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–31 August 2020; pp. 4158–4164. [Google Scholar]
  19. Lu, G. Deep unsupervised visual odometry via bundle adjusted pose graph optimization. In Proceedings of the 2023 IEEE International Conference on Robotics and Automation (ICRA), London, UK, 29 May–2 June 2023. [Google Scholar]
  20. Li, X.; Ling, H. PoGO-Net: Pose graph optimization with graph neural networks. In Proceedings of the 2021 IEEE/CVF International Conference on Computer Vision (ICCV), Montreal, QC, Canada, 10–17 October 2021; pp. 5875–5885. [Google Scholar]
  21. Jin, S.; Armeni, I.; Pollefeys, M.; Baráth, D. Multiway point cloud mosaicking with diffusion and global optimization. In Proceedings of the 2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, WA, USA, 16–22 June 2024; pp. 20838–20849. [Google Scholar]
  22. Wang, Y.; Wang, Y.; Wu, K.; Yang, H.; Zhang, H. A dual quaternion-based, closed-form pairwise registration algorithm for point clouds. ISPRS J. Photogramm. Remote Sens. 2014, 94, 63–69. [Google Scholar] [CrossRef]
  23. Zhou, Q.-Y.; Park, J.; Koltun, V. Fast global registration. In Computer Vision—ECCV 2016; Springer: Cham, Switzerland, 2016; pp. 766–782. [Google Scholar]
  24. Segal, A.; Haehnel, D.; Thrun, S. Generalized-icp. In Proceedings of the Robotics: Science and Systems, Seattle, WA, USA, 28 June–1 July 2009; p. 435. [Google Scholar]
  25. Kenwright, B. A beginners guide to dual-quaternions: What they are, how they work, and how to use them for 3D character hierarchies. In Proceedings of the 20th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision 2012, Plzen, Czech Republic, 26–28 June 2012. [Google Scholar]
  26. Kummerle, R.; Grisetti, G.; Strasdat, H.; Konolige, K.; Burgard, W. G2o: A general framework for graph optimization. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 3607–3613. [Google Scholar]
  27. Budaj, M.; Mudrák, S. Therion–digital cave maps therion–cartographie souterraine digitale. In Proceedings of the 4th European Speleological Congress, Banska Bystrica, Slovakia, 2008; Available online: https://therion.speleo.sk/downloads/tharticle-vercors-2008.pdf (accessed on 7 October 2025).
  28. Aldrich, J. Doing least squares: Perspectives from Gauss and Yule. Int. Stat. Rev./Rev. Int. Stat. 1998, 66, 61–81. [Google Scholar] [CrossRef]
Figure 1. Datasets: (a) Wood; (b) Crater; (c) Theater; (d) Bremen; (e) UFPR; (f) Arch; (g) Façade; and (h) Courtyard.
Figure 1. Datasets: (a) Wood; (b) Crater; (c) Theater; (d) Bremen; (e) UFPR; (f) Arch; (g) Façade; and (h) Courtyard.
Sensors 25 07126 g001aSensors 25 07126 g001b
Figure 2. Pipeline of our proposed GRM for global pose optimization.
Figure 2. Pipeline of our proposed GRM for global pose optimization.
Sensors 25 07126 g002
Figure 3. Error per station (left) and Total Error/model (right) of each circuit: (a) Crater; (b) Wood; (c) Theater; (d) Bremen; (e) UFPR; (f) Arch, (g) Façade, and (h) Courtyard. The total drift reduction in each dataset can be seen in the bars on the right, where the original error is reduced or increased by each GRM. The black bars in the figures on the right are the standard deviation of the circuit poses and represent how much the error varies throughout the circuit. The colors of the lines on the left correspond to the colors of the bars on the right where the smaller, the better.
Figure 3. Error per station (left) and Total Error/model (right) of each circuit: (a) Crater; (b) Wood; (c) Theater; (d) Bremen; (e) UFPR; (f) Arch, (g) Façade, and (h) Courtyard. The total drift reduction in each dataset can be seen in the bars on the right, where the original error is reduced or increased by each GRM. The black bars in the figures on the right are the standard deviation of the circuit poses and represent how much the error varies throughout the circuit. The colors of the lines on the left correspond to the colors of the bars on the right where the smaller, the better.
Sensors 25 07126 g003aSensors 25 07126 g003bSensors 25 07126 g003c
Figure 4. Effect of each GRM in the drift correction of the UFPR dataset. All scenes were taken from the same viewpoint. The blue cloud is from the beginning of the circuit, the green cloud is from the end of the circuit. (a) Original Poses (No Refinement): Considerable vertical misalignment (drift) was visible between the initial (blue) and final (green) clouds. (b) LS: The model incorrectly shifted the green cloud downwards, and significant misalignment remained. (c) SLERP: Vertical alignment was improved, but horizontal misalignment became apparent between the window frames. (d) SLERP + LS: Drift was reduced, which was noticeable in the window frames, but vertical drift persisted in one of the clouds, although not visible. (e) CSI (Ours): The proposed model attenuated the vertical drift more effectively, yielding the closest reconstruction to the ground truth. (f) Groundtruth: In the groundtruth poses, there was no drift; the windows and pillars lined up perfectly.
Figure 4. Effect of each GRM in the drift correction of the UFPR dataset. All scenes were taken from the same viewpoint. The blue cloud is from the beginning of the circuit, the green cloud is from the end of the circuit. (a) Original Poses (No Refinement): Considerable vertical misalignment (drift) was visible between the initial (blue) and final (green) clouds. (b) LS: The model incorrectly shifted the green cloud downwards, and significant misalignment remained. (c) SLERP: Vertical alignment was improved, but horizontal misalignment became apparent between the window frames. (d) SLERP + LS: Drift was reduced, which was noticeable in the window frames, but vertical drift persisted in one of the clouds, although not visible. (e) CSI (Ours): The proposed model attenuated the vertical drift more effectively, yielding the closest reconstruction to the ground truth. (f) Groundtruth: In the groundtruth poses, there was no drift; the windows and pillars lined up perfectly.
Sensors 25 07126 g004
Figure 5. Magnified comparison of residual artifacts in the UFPR window frame. The blue cloud is from the beginning of the circuit, the green cloud is from the end of the circuit. (a) Misalignment artifacts remaining after SLERP + LS correction. (b) The cleaner, more accurate alignment provided by the proposed CSI model.
Figure 5. Magnified comparison of residual artifacts in the UFPR window frame. The blue cloud is from the beginning of the circuit, the green cloud is from the end of the circuit. (a) Misalignment artifacts remaining after SLERP + LS correction. (b) The cleaner, more accurate alignment provided by the proposed CSI model.
Sensors 25 07126 g005
Figure 6. Effect of each GRM on drift correction in the Bremen dataset, with all scenes from the same viewpoint. The clouds have a gradient from blue to red in the positive direction of the Z-axis. The images show the accumulation of error on the two church tower spires. (a) Original Poses (No Refinement): The accumulation of errors dispersed the tips of the two towers, making all 13 point clouds visible. (b) LS: Results in imperceptible changes, with all 13 clouds remaining dispersed. (c) SLERP: The rotation correction merged the clouds on the right tower into three, while the seven on the left became less dispersed. (d) SLERP + LS: A subtle, almost imperceptible change where one cloud on the right tower moved slightly closer to the others. (e) CSI (Ours): Provided a significant drift reduction, with only four crosses visible on the left and two on the right. (f) Groundtruth: The groundtruth poses showed no drift, with the towers appearing as a single, perfectly aligned cross.
Figure 6. Effect of each GRM on drift correction in the Bremen dataset, with all scenes from the same viewpoint. The clouds have a gradient from blue to red in the positive direction of the Z-axis. The images show the accumulation of error on the two church tower spires. (a) Original Poses (No Refinement): The accumulation of errors dispersed the tips of the two towers, making all 13 point clouds visible. (b) LS: Results in imperceptible changes, with all 13 clouds remaining dispersed. (c) SLERP: The rotation correction merged the clouds on the right tower into three, while the seven on the left became less dispersed. (d) SLERP + LS: A subtle, almost imperceptible change where one cloud on the right tower moved slightly closer to the others. (e) CSI (Ours): Provided a significant drift reduction, with only four crosses visible on the left and two on the right. (f) Groundtruth: The groundtruth poses showed no drift, with the towers appearing as a single, perfectly aligned cross.
Sensors 25 07126 g006
Figure 7. Execution time of each GRM. Median of one hundred tests across all datasets. Error bars use the Median Absolute Deviation (MAD).
Figure 7. Execution time of each GRM. Median of one hundred tests across all datasets. Error bars use the Median Absolute Deviation (MAD).
Sensors 25 07126 g007
Table 1. Datasets to compare the GRMs in drift correction.
Table 1. Datasets to compare the GRMs in drift correction.
EnvironmentDatasetNo. of ScansPts./ScanApplicationMean OverlapMean Station
Distance
TLS
IndoorTheater1510 MBIM81%7 mLeica BLK 360
OutdoorCrater99 MEnvironmental Surveillance63%6 mLeica BLK 360
Wood1115 MForestry68%8 mLeica BLK 360
UFPR5112 MUrban Surveying75%6 mLeica BLK 360
Bremen1320 MUrban Surveying69%39 mRiegl VZ400
Arch526 MHeritage Documentation52%17 mFaro Focus 3D
Facade725 MUrban Surveying74%4 mFaro Focus 3D
Courtyard813 MArcheology79%11 mFaro Focus 3D
Table 2. Absolute error in meters of all models in all datasets. Total Error, MAE, and RMSE of the difference between groundtruth poses and estimated poses.
Table 2. Absolute error in meters of all models in all datasets. Total Error, MAE, and RMSE of the difference between groundtruth poses and estimated poses.
DatasetModelTotal Error (m)MAE (m)RMSE (m)
Crater (n = 9 poses)Original0.0350.0040.005
LS0.1620.0180.022
SLERP0.0720.0080.011
SLERP + LS0.0180.0020.002
CSI0.0330.0040.005
Wood (n = 11 poses)Original0.2560.0230.029
LS0.2820.0260.032
SLERP0.2410.0220.029
SLERP + LS0.1120.0100.012
CSI0.1890.0170.024
Theater (n = 16 poses)Original0.2360.0150.018
LS0.3080.0190.023
SLERP0.3290.0210.024
SLERP + LS0.1900.0120.015
CSI0.1900.0120.014
Bremen (n = 13 poses)Original9.4110.7240.984
LS13.4601.0351.347
SLERP8.4920.6530.868
SLERP + LS8.7440.6730.928
CSI5.5630.4280.591
UFPR (n = 51 poses)Original24.6850.4840.605
LS34.8900.6840.807
SLERP31.7950.6230.745
SLERP + LS29.3310.5750.703
CSI18.0960.3550.465
Arch (n = 5 poses)Original0.2160.0430.062
LS0.2120.0430.071
SLERP0.1550.0310.045
SLERP + LS0.1310.0260.040
CSI0.1290.0260.038
Façade (n = 7 poses)Original0.0780.0110.014
LS0.0770.0110.013
SLERP0.0770.0110.014
SLERP + LS0.0760.0110.013
CSI0.0760.0110.013
Courtyard (n = 8 poses)Original1.0630.1330.172
LS0.6360.0790.094
SLERP1.0210.1280.165
SLERP + LS0.5810.0730.088
CSI0.5660.0710.086
Table 3. Relative error of each GRM about the original poses. Red means an error increase; blue means an error reduction.
Table 3. Relative error of each GRM about the original poses. Red means an error increase; blue means an error reduction.
Circuit/GRMLSSLERPSLERP + LSCSI
Crater+367%+108%−49%−5%
Wood+10%−6%−56%−26%
Theater+31%+40%−19%−20%
Bremen+43%−10%−7%−41%
UFPR+41%+29%+19%−27%
Arch−1%−28%−39%−40%
Façade−1%−1%−2%−2%
Courtyard−40%−4%−45%−47%
Average+56%+16%−25%−26%
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Benevides, R.A.L.; Dos Santos, D.R.; Veiga, L.A.K. A Closed-Form Dual Quaternion Model for Drift Correction in TLS Pose-Circuits. Sensors 2025, 25, 7126. https://doi.org/10.3390/s25237126

AMA Style

Benevides RAL, Dos Santos DR, Veiga LAK. A Closed-Form Dual Quaternion Model for Drift Correction in TLS Pose-Circuits. Sensors. 2025; 25(23):7126. https://doi.org/10.3390/s25237126

Chicago/Turabian Style

Benevides, Rubens Antonio Leite, Daniel Rodrigues Dos Santos, and Luis Augusto Koenig Veiga. 2025. "A Closed-Form Dual Quaternion Model for Drift Correction in TLS Pose-Circuits" Sensors 25, no. 23: 7126. https://doi.org/10.3390/s25237126

APA Style

Benevides, R. A. L., Dos Santos, D. R., & Veiga, L. A. K. (2025). A Closed-Form Dual Quaternion Model for Drift Correction in TLS Pose-Circuits. Sensors, 25(23), 7126. https://doi.org/10.3390/s25237126

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