Source-linked AI summary
Efficient Derivative Computation for Cumulative B-Splines on Lie Groups
Christiane Sommer, Vladyslav Usenko, David Schubert, Nikolaus Demmel, Daniel Cremers
TL;DR
Continuous-time Lie group spline trajectories need efficient time derivatives, but existing approaches have high computational cost. This paper derives recurrence-based derivatives and analytic knot Jacobians, reporting linear-in-order computation and speedups in practical computer vision applications. Its calibration evaluation assumes pre-calibrated camera intrinsics and a good initial camera-IMU rotation guess.
Problem
Existing time-derivative computation for Lie group cumulative B-splines has high cost, despite these splines' use in continuous-time trajectory applications.
Source: §1 · p. 1Method
The paper derives recurrence relations for time derivatives and analytic Jacobians with respect to spline knots.
Source: §1 · pp. 1–2Results
Up to 4.4x speedups are reported in practical computer vision applications.
Source: §7 · p. 8Takeaways & Limitations
The derivatives and Jacobians can be computed in O(k) matrix operations, supporting real-time applications of continuous-time trajectories.
Source: §7 · p. 8The camera-IMU calibration experiment assumes pre-calibrated camera intrinsics and a good initial camera-IMU rotation estimate.
Source: §6.2 · p. 7
Abstract
from arXiv · showhide
Continuous-time trajectory representation has recently gained popularity for tasks where the fusion of high-frame-rate sensors and multiple unsynchronized devices is required. Lie group cumulative B-splines are a popular way of representing continuous trajectories without singularities. They have been used in near real-time SLAM and odometry systems with IMU, LiDAR, regular, RGB-D and event cameras, as well as for offline calibration. These applications require efficient computation of time derivatives (velocity, acceleration), but all prior works rely on a computationally suboptimal formulation. In this work we present an alternative derivation of time derivatives based on recurrence relations that needs $\mathcal{O}(k)$ instead of $\mathcal{O}(k^2)$ matrix operations (for a spline of order $k$) and results in simple and elegant expressions. While producing the same result, the proposed approach significantly speeds up the trajectory optimization and allows for computing simple analytic derivatives with respect to spline knots. The results presented in this paper pave the way for incorporating continuous-time trajectory representations into more applications where real-time performance is required.
1. Introduction
Continuous-time trajectories represented by Lie group cumulative B-splines support applications that require sensor motion or pose over time. The paper replaces costly derivative computation with recurrence relations and reports linear-in-order formulations and faster optimization.
1. Introduction
- Continuous-time trajectories represent pose as a function of time and are used in tasks including odometry, SLAM, tracking, and trajectory planning.B-splines are presented as a natural choice for this representation.Source: §1 · p. 1
- Existing Lie group spline derivative approaches have quadratic computational cost in spline order, limiting an important computation for continuous-time trajectories.The paper notes that differentiation is more involved for pose-valued trajectories than for trajectories in Euclidean space.Source: §1 · p. 1
- Recurrence relations yield time derivatives using a number of matrix operations that scales linearly with spline order k.The formulation also provides simple analytic Jacobians of SO(3) spline values and time derivatives with respect to knots.Source: §1 · pp. 1–2
- The proposed formulation speeds optimization compared with available implementations, as demonstrated in simulations and applications including camera-IMU calibration.Figure 1 depicts calibration-pattern observations combined with accelerometer and gyroscope measurements in a joint optimization.Source: Figure 1 · p. 1, §1 · p. 2
2. Related Work
Related work covers B-spline foundations and their use in computer vision. Prior Lie group spline work includes derivative formulas, while efficient computation and complexity had not been explicitly investigated.
2. Related Work
- The paper reviews prior work on both Lie group spline theory and computer vision applications.The review is organized around these two parts.Source: §2 · p. 2
- Cumulative B-splines extend spline representations from Euclidean functions to Lie-group-valued functions, with prior work generalizing from SO(3) to arbitrary Lie groups.The cited arbitrary-group work includes derivative formulas that the authors describe as impractical to implement.Source: §2 · p. 2
- Computer vision and robotics applications include calibration, sensor odometry, 3D reconstruction, and trajectory planning, all of which require temporal spline derivatives.The authors state that earlier work had not explicitly investigated efficient computation and complexity of those derivatives.Source: §2 · p. 2
- Prior comparisons of SE(3) splines with split R3 and SO(3) representations found the split representation better on average, while the best choice depends on the use case.The reported advantage concerns both trajectory representation and computation time.Source: §2 · p. 2
3. Lie Group Foundations
The foundations define the Lie-group and Lie-algebra notation used for trajectories and establish the differentiation conventions used in optimization. They also introduce the right Jacobian and its role in relating exponential-map changes to vector perturbations.
3.1. Notation
- A Lie group is a differentiable manifold with differentiable multiplication and inversion; its Lie algebra is the tangent space at the identity.The paper identifies SO(3) and SE(3) as matrix Lie groups used in computer vision.Source: §3.1 · p. 2
- Trajectories take values in a Lie group, while the hat transform maps tangent vectors to the Lie algebra and the exponential maps algebra elements back to the group.The logarithm followed by the inverse hat transform maps group elements back to vectors.Source: §3.1 · p. 2
- The notation includes the adjoint, which equals the rotation matrix for SO(3), and the commutator of Lie-algebra elements.These constructions are introduced as tools used in the paper's Lie-group calculations.Source: §3.1 · pp. 2–3
3.2. Differentiation
- The right Jacobian describes how the logarithmic vector difference between Exp(v) and Exp(v + w) changes with perturbation w.For SO(3), the paper points to a reference for the right Jacobian and its inverse.Source: §3.2 · p. 3
- Optimization updates a Lie-group variable by left-multiplying it with Exp(δ), where δ is the increment supplied by the optimizer.This follows the paper's convention for differentiating functions with respect to a Lie-group element.Source: §3.2 · p. 3
4. B-Spline Foundations
The foundations describe uniform B-splines through control points and coefficients, then express them in matrix and cumulative forms. Local support limits each time segment to k control points, and cumulative representation extends the construction to Lie groups.
4.1. Basics
- Uniform B-splines use control points and spline coefficients, and an order-k spline has C^(k−1) smoothness and local support.For linear splines with k = 2 the curve hits its control points, unlike higher-order splines in general.Source: §4.1 · p. 3, Figure 2 · p. 3
- The De Boor–Cox recurrence defines spline coefficients, and the standard representation can be transformed into a cumulative representation.The figure illustrates that changing one control point changes the curve only in its vicinity.Source: §4.1 · p. 3, Figure 2 · p. 3
4.2. Matrix Representation
- At time t in a segment, the spline depends only on control points p_i through p_(i+k−1), and normalized time u locates the position within that segment.This local segment representation supports evaluating the spline with a matrix form.Source: §4.2 · p. 3
- The cumulative matrix form uses control-point differences and cumulative coefficients, with its first matrix row equal to the unit vector e_0.That row makes λ_0(u) identically one and simplifies the resulting expression.Source: §4.2 · p. 4
5. Cumulative B-splines in Lie groups
The section defines cumulative B-splines for Lie-group-valued trajectories, then derives efficient time-derivative recurrences and linear-cost knot Jacobians for SO(3).
5. Cumulative B-splines in Lie groups
- Lie-group cumulative splines replace vector addition with group multiplication and scale increments via Log, scalar multiplication, and Exp; multiplication order matters.The paper follows the multiplication convention most commonly used in related work.Source: §5 · p. 4
5.1. Time derivatives
- Recurrences replace prior quadratic first-derivative and cubic second-derivative computations with schemes whose operation counts scale linearly with spline order.First derivatives use k−1 matrix-vector multiplications and one matrix-matrix multiplication; second derivatives use 2k matrix-matrix and k−1 matrix-vector multiplications, plus additions. The approach also extends to higher derivatives, with third-order computation remaining linear in spline order.Source: §5.1 · pp. 4–5
5.2. Jacobians w.r.t. control points in SO(3)
- For SO(3), a backward recurrence computes knot Jacobians of the spline value ρ, angular velocity ω, and acceleration ˙ω with linear-in-k multiplications and additions.Here ρ maps the rotation R to R^d via the Log map.Source: §5.2 · p. 6
6. Experiments
The experiments compare the proposed derivative formulation with prior work in simulated trajectory fitting and camera–IMU calibration. They report lower computation time while preserving the calibration solution.
6.1. Simulated Sequence
- The proposed formulation outperformed the baseline in every simulated case, with a larger time difference for acceleration measurements because baseline computation is cubic in spline order.Both formulations converged to the same result in the same number of iterations.Source: §6.1 · p. 7, Table 1 · p. 7
6.2. Camera-IMU calibration
- Calibration converged to the same values after 12 iterations across the tested formulations, so switching formulations did not affect solution accuracy.The comparison included SO(3) × R3 and SE(3) spline representations.Source: §6.2 · p. 8, Table 2 · p. 8
- The custom solver with analytic SO(3) Jacobians completed camera–IMU calibration in less than 6 seconds, 2.6 times faster than the baseline split representation.With Ceres Jacobians, the proposed formulation reduced computation time by 6% for the split representation and 36.7% for SE(3).Source: §6.2 · p. 8, Table 3 · p. 8
- The authors note that reduced derivative computation could have a larger effect in multiple-IMU calibration, where rotational acceleration is also required with the split formulation.Source: §6.2 · p. 8
7. Conclusions
The conclusion presents efficient differentiation of Lie-group B-splines with respect to time and control points. It reports linear complexity and practical speedups of up to 4.4x.
- Time derivatives and Jacobians can both be computed in O(k) matrix operations, versus traditional schemes that are up to cubic in k.The authors mathematically prove the correctness of these claims.Source: §7 · p. 8
- Choosing a suitable representation together with the derivative computation produced speedups of up to 4.4x in practical computer-vision applications.Source: §7 · p. 8
- The authors identify real-time continuous-time trajectory applications as a relevant scope for the proposed method.Source: §7 · p. 8
8. Appendix
The appendix establishes symbol conventions, points to the SO(3) right Jacobian, and includes third-order time derivatives for Lie-group splines.
8.1.1 Symbols with specific meaning
- The appendix uses p(u) and pi for Euclidean spline values and control points, X(u) and Xi for Lie-group values and control points, and R(u) and Ri for SO(3).Source: §8.1.1 · p. 10
8.1.2 Indices
- The index k denotes spline order, i indexes control points or time intervals, and l, m, n, and s are dummy indices.Source: §8.1.2 · p. 10
8.2. Right Jacobian for SO(3)
- For L = SO(3), the appendix points to the right Jacobian and its inverse in [3, p. 40].Source: §8.2 · p. 10
8.3. Third order time derivatives
- The appendix gives third-order time derivatives for a general Lie group and identifies ¨ω as jerk, with a simpler expression for SO(3).Source: §8.3 · p. 10
8.4. Complexity analysis
The complexity analysis contrasts the proposed computation with prior methods and describes linear-operation schemes for temporal derivatives and SO(3) Jacobians.
- The proposed temporal derivatives require O(k) matrix operations, while prior temporal-derivative formulations can require more.The authors state that they are the first to compute Lie-group spline temporal derivatives in O(k) matrix operations.Source: §8.4 · p. 10
- The proposed SO(3) Jacobian computation also requires no more than O(k) matrix operations.Source: §8.4 · p. 10
- Table 4 compares the numbers of matrix multiplications and additions for temporal derivatives in related work and the proposed formulation.Source: §8.4 · p. 10
8.5. Proofs
The section proves the cumulative blending matrix identity and Jacobian formulas through induction and algebraic identities.
8.5.1 Proof of (20) (cumulative blending matrix)
- The cumulative blending matrix identity is proved by induction over spline order, using binomial-sum properties and index shifts.Source: §8.5.1 · pp. 10–11
8.5.2 Proof of (51) (Jacobian of Exp(−λd) multiplied by a vector)
- The proof of the Jacobian of Exp(−λd) multiplied by a vector uses the right Jacobian property (10).Source: §8.5.2 · p. 11
8.5.3 Proof of (59) (Jacobian of acceleration)
- The acceleration Jacobian proof establishes equivalence of two formulas by induction, with the base case at l = j + 2 and cancellation advancing the induction step.Source: §8.5.3 · pp. 11–12