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 :
- 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
- 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
- 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!
2D -->2D, 2D-->3D both are not for your application.
ICP -> Yes. It's overkill if your data is noiseless
Your problem is called rigid body registration. There is a closed-form solution.
See page 3 (Paired Point Methods) https://www.yanivresearch.info/writtenMaterial/rigidRegistrationIGIBook.pdf