I got one set of 3d $(x,y,z)$ points (number of points $\geq3$) located in two different coordinate systems.
Is it possible to estimate the rotation and translation between these systems?
Something like
$$
\begin{pmatrix}
x_i' \\
y_i' \\
z_i' \\
\end{pmatrix}
=
\begin{pmatrix}
r_{11} & r_{12} & r_{13} \\
r_{21} & r_{22} & r_{23} \\
r_{31} & r_{32} & r_{33} \\
\end{pmatrix}
\begin{pmatrix}
x_i \\
y_i \\
z_i \\
\end{pmatrix}
+
\begin{pmatrix}
t_x \\
t_y \\
t_z \\
\end{pmatrix}
$$
$$i = 0,1,…,n$$
Best Answer
Wikipedia calls it Kabsch algorithm, based on:
KABSCH, Wolfgang. A solution for the best rotation to relate two sets of vectors. Acta Crystallographica Section A: Crystal Physics, Diffraction, Theoretical and General Crystallography, 1976, 32.5: 922-923.
KABSCH, Wolfgang. A discussion of the solution for the best rotation to relate two sets of vectors. Acta Crystallographica Section A: Crystal Physics, Diffraction, Theoretical and General Crystallography, 1978, 34.5: 827-828.
A recent exaplanation in Least-Squares Rigid Motion Using SVD by Olga Sorkine-Hornung and Michael Rabinovich.
Another reference is: ARUN, K. Somani; HUANG, Thomas S.; BLOSTEIN, Steven D. Least-squares fitting of two 3-D point sets. IEEE Transactions on pattern analysis and machine intelligence, 1987, 5: 698-700.
If you do not know the correspondences between the points then you can apply a method called Iterative Closest Point (ICP):
BESL, P. J.; MCKAY, Neil D. A method for registration of 3-D shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14.2: 239-256.
CHEN, Yang; MEDIONI, GĂ©rard. Object modelling by registration of multiple range images. Image and vision computing, 1992, 10.3: 145-155.