Concept · 1 paper · updated 2026-10-18
Dual-number quaternion
A dual-number quaternion r + ε s packs a rigid motion into two quaternions, with r unit-length and r·s = 0. Turning pose constraints into quadratic forms in (r, s) lets a penalised least-squares error be minimised with a trust-region method. Author-reported: for camera pose from points, it is far more accurate than the linear Faugeras-Toscani method under noise.
pose-estimationquaternionsrigid-motiontrust-region
Markdown5 min read
AI-compiled overview, updated 2026-10-18, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
Overview
A dual-number quaternion writes a rigid motion as r + ε s, where r and s are quaternions and ε² = 0 2610.19734 §2.1. A valid pose needs r·r = 1 and r·s = 0 2610.19734 §2.1. The rotation and translation are read from (r, s) through the matrices Q(r) and W(r) 2610.19734 eq. 6 eq. 7. The paper uses this form for exterior calibration of a camera from a known 3-D object. The unknown pose is then the rigid transform from the object frame to the camera frame 2610.19734 §1.
The reason to use it is that each image measurement gives a constraint that is quadratic in (r, s). The paper rewrites the line and point constraints this way and sums their squares 2610.19734 §2.2 §3. The same penalty terms keep r unit-length and orthogonal to s 2610.19734 §2.2. The paper credits the use of dual-number quaternions in computer vision to Walker, Shao and Volz (1991), for 3-D/3-D pose; it applies them to 2-D/3-D pose 2610.19734 §1.2.
Variants
The paper uses the same representation in three error functions. All three are minimised with the trust-region method described below 2610.19734 §4.
Line correspondences, joint fit
Each image line gives two constraints, r^T A r = 0 and r^T B r + r^T C s = 0, with A, B and C built from the line normal, the object direction and a point on the object line 2610.19734 §2.2. The error sums their squares over all lines and adds the two penalties, with λ = 50 in the experiments 2610.19734 §2.2 eq. 13. The eight values of (r, s) are estimated together 2610.19734 §4 eq. 23.
Line correspondences, rotation then translation
The first stage minimises a rotation-only error in r 2610.19734 eq. 14. The second stage fixes r and solves a linear least-squares problem for s 2610.19734 §2.2 eq. 15. The translation then follows from s and r 2610.19734 eq. 7. The paper does not say whether r is re-estimated jointly with s afterwards 2610.19734 §2.2.
Point correspondences, joint fit
Each image point gives two collinearity equations of its image ray 2610.19734 §3 eq. 16 eq. 17. They are rewritten as quadratic forms in (r, s) through four matrices per point 2610.19734 §3 eq. 18 eq. 19 eq. 20 eq. 21. The error is eq. 22, with the same penalties as the line version 2610.19734 §3 eq. 22. The paper's point experiments estimate rotation and translation jointly 2610.19734 §5 tab. 7.
When to use which
The paper's results are author-reported, on one calibration object with 460 points and 50 to 230 lines, and compare only against the linear Faugeras-Toscani method 2610.19734 §5. No other iterative solver is benchmarked numerically 2610.19734 §4.2 §6. The choices below follow from those results.
| Situation | Use | Why |
|---|---|---|
| Points are the measurements, noise is present, and an iterative solve is affordable | Point joint fit | At 100 points and noise amplitude 1.00, the translation error is 0.0002 cm against 11.48 cm for the linear method 2610.19734 tab. 2 tab. 8. |
| Lines are the measurements, and speed matters most | Line rotation then translation | It is the cheapest variant in the paper's timings, about 0.25 s at 230 lines 2610.19734 §6 tab. 3. |
| Lines are the measurements, and the joint estimate is wanted | Line joint fit | The joint line and point variants cost more than the rotation-first variant 2610.19734 §6 tab. 5. The paper gives no separate accuracy table for the line joint fit. |
| Some correspondences may be wrong | Point joint fit, with a check | The non-linear error degrades gently when 1 to 10 of 400 pairs are mismatched, while the linear method gives erroneous results 2610.19734 §5.1 fig. 9. The values appear only in a plot, so the size of the gap is not in the text. |
| No good starting pose and no iteration budget | Not covered by this paper | The paper gives no initial pose, and its experiments do not vary the start 2610.19734 §4.1 §6. |
Implementation sketch
The three variants share one error form. Each variant supplies its own quadratic terms. The loop below follows the penalised error of 2610.19734 §2.2 eq. 13 and eq. 22.
# Penalised error for one set of quadratic constraints [arxiv:2610.19734 eq. 13]
# real: r, 4 values; dual: s, 4 values [§2.1]
# terms: one function per constraint, each quadratic in (r, s) [§2.2] [§3]
# lam: penalty weight, 50 in the experiments [§2.2]
def penalised_error(real, dual, terms, lam):
total = 0
for term in terms:
# each measurement contributes its squared constraint [§2.2]
total += term(real, dual) ** 2
# penalties: r is unit-length, and r is orthogonal to s [§2.2]
total += lam * (dot(real, real) - 1) ** 2
total += lam * dot(real, dual) ** 2
return totalThe minimiser is a trust-region method on the stacked unknowns 2610.19734 §4:
- At each iterate, form the gradient and the Gauss-Newton Hessian JᵀJ 2610.19734 §4 eq. 24 eq. 25.
- Shift the Hessian by α = 0.001 2610.19734 §4. Use the unconstrained step if it is inside the radius; otherwise find the constrained step with Hebden's search 2610.19734 §4.1 app. A.
- Accept the step when the actual reduction is at least r = 0.25 of the predicted reduction; otherwise halve the radius. Double the radius when the ratio is at least s = 0.75 2610.19734 §4.1 eq. 28.
Caveats the paper leaves open. Each one changes the numbers, so check them before comparing with another implementation:
- Sign. The paper does not discuss whether r and −r, which give the same rotation, are treated as one solution 2610.19734 §2.1.
- Scale of the line normal. Figure 1 calls n a unit normal, but eq. 3 takes n = (a, b, c) from the image line, which need not be unit length 2610.19734 fig. 1 eq. 3. The penalty balance depends on this choice.
- Factor of one half. The least-squares form uses ½ Σ Φ² [arxiv:2610.19734 §4] eq. 23, while eqs. 13, 14, 15 and 22 have no ½. The paper says these are equivalent 2610.19734 §4. The fixed shift α is still relative to the scale of the chosen form.
- Penalty residuals. The residual vector for the penalty terms is not written out 2610.19734 §2.2.
- Missing solver settings. The initial radius, the initial pose, the Hebden start μ₀ and all stop tolerances are not stated 2610.19734 §4.1 app. A. The paper's claim that the result does not depend on the start is not tested 2610.19734 §6.
- Intrinsics sign. The ground-truth αu in Table 1 is negative, and the text does not comment on it 2610.19734 tab. 1. Check the camera convention against 2610.19734 §2.
Contradictions
None known. Only one card in this wiki uses dual-number quaternions, so no second paper can disagree with it yet.
Papers
- Dual-quaternion pose from points and lines: the representation applied to point and line correspondences, minimised by a trust-region method.
Source and license
Compiled from the papers listed on this page, all published under CC BY, CC BY-SA or CC0, with citations. See each paper's page for its authors and license.