Estimate a SE3 transform from lines My current problem is to find a SE3 tranformation (3D rotation and translation) between a set of lines given an already known coordinate system.
I have already a set of matches :
{Li} and {Lj}
I wish to find M such that Lj = M * Li * Mt (transposed)
where Li and Lj are expressed in Plücker coordinates.
First I would like to know if there is a proper way to do this using the full information (i have already seen methods from 2D to 3D).
And if possible if there is a quick way to do the estimation even if this can be incorrect, i would be glad to hear it.
The idea would be finally to try to guess the answer to gain some time.
 A: First some definitions before I come to you question:


*

*A line represented in Plücker coordinates $L = (m^T, d^T)^T$ can be constructed from two points $a, b \in R^3$ with $m = a \times b$ (we call it momentum) and $d = b - a$ (we call it direction). As Plücker lines are also a homogeneous representation, it is helpful to define a "normalized" version. We do that by applying $\hat{d} = d/\|d\|$ and $\hat{m} = m/ \|d\|$.

*Transforming a point $x$ with $R$ the rotation and $t$ the translation is done by
$$ x' = Rx + t $$
If we apply this transformation to the definition of a line we get
$$ d' = b' - a' = (Rb + t) - (Ra + t) = R(b-a) = Rd$$
$$ m' = a' \times b' = (Ra + t) \times (Rb + t) = \ldots = Rm + t\times(Rd)$$


Given you have at least two line correspondences $(L', L)$, I would suggest to calculate at first $R$ using the transformation definition of the direction. This can be done quite easily using a SVD (Google "orthogonal procrustes problem").
Once you got the rotation, you can set up a linear equation system using the formular for the transformation of the momentum and calculate $t$.
Hope that helps!
