0
$\begingroup$

Given a set of 3D points with their coordinates in 2 different coordinate systems, what is the correct algorithm to use in order to estimate the relative rotation and translation of the coordinate systems. Explored until now :

  1. 2D -->2D : basically project those points into some image plane, and perform 8-point algorithm to estimate fundamental matrix -> decompose it to obtain R|T This is seems like an overly complex solution, where the 3D information is not being used
  2. 2D-->3D : project one set of points onto an image plane and solve PnP pose problem. Also seems like we are not using the full 3D information provided
  3. ICP (iterative closest point) : to register the 2 point clouds. This probably could work but it seems like an overkill since it is usually used to registed possibly noisy data or incomplete sets Any help of guidance is appreciated!
$\endgroup$
1
  • $\begingroup$ So to fix the idea, you have the point-to-point relations between the point clouds given, and both coordinate systems are orthogonal, so that $x'=Ax+b$. Then for instance $\sum x_k'x_k^T=A\sum x_kx_k^T+b\sum x_k^T$, $\sum x_k'=A\sum x_k+b\sum 1$ is a system that allows to determine $A$, $b$. Use QR or SVD to remove the error from $A$ to an orthogonal matrix, this might induce a correction for $b$. $\endgroup$ Apr 11, 2022 at 10:43

1 Answer 1

1
$\begingroup$

Found a similar solution from the website below. basically similar to what @lutz is suggesting. Remove translation component and solve for rotation in a least sqaure fashion, then compute translation . http://nghiaho.com/?page_id=671

http://nghiaho.com/?page_id=671

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.