0

Thanks for reading this question!

We have a setup as seen in this visualisation. There are 4 cameras which are calibrated with intrinsic (Camera Matrix, Distortion coefficients) and extrinsic (Rotation, Translation, Essential and Fundamental Matrices) parameters available.

The top left of the white plane is the origin of the world coordinates. With positive x going right, positive y going down and positive z going towards the object. One of the red cameras (2nd from the white plane) is the master and the other 3 are the slaves (For calibration purposes)

We want to be able to use the cameras to locate and position the objects in the scene with reference to the world coordinates (White plane). So far we are able to locate and get the 3d position of objects in the camera (Master camera) coordinates. The question is, what is the efficienct/easiest way to do the transformation from camera coordinates to the world coordinates? Will finding the normal of the projected white plane help? (Example we can do How to project a point onto a plane in 3D?) Or if the 3d position with respect to the white plane is known, can we use OpenCV api like cv2.estimateAffine3D?

Thanks!

Scene or setup

Sak
  • 269
  • 1
  • 4
  • 13
  • I don't get what is missing. You have position of the object in the master camera frame, and you have position of master camera in the world frame. – unlut Oct 29 '19 at 13:08
  • The orientation/rotation of the cameras is not the same as the white screen plane. Does it affect? I'm not sure if simple trigonometry is enough to get the coordinate transform. – Sak Oct 29 '19 at 13:24
  • You said you have extrinsic parameters (rotation and translations) for all cameras, including master camera. Let alone trigonometry, a linear transform between two coordinate frames should be enough. – unlut Oct 29 '19 at 13:32
  • Not sure I follow your reasoning, how do you get the linear transformation matrix which transforms (x,y,z) in camera coordinates to (x',y',z') which is the screen plane coordinates? The Rotation and translation of all the cameras are with respect to the master camera and the master camera is at an orientation at which only part of the white screen is visible.... – Sak Oct 29 '19 at 13:41
  • When you say you had extrinsics, I thought extrinsic parameters were with respect to world frame. So they are with respect to master camera frame and rotation/translation of master camera is 0? – unlut Oct 29 '19 at 13:44
  • Yes, R and T of slave cameras are with respect to the the master and the R and T of the master is 0. Sorry for the confusion, Can't seem to be able to update the question. – Sak Oct 29 '19 at 13:48
  • Then, I would say if you have possibility to know position of master camera in world frame, that would be easiest way. – unlut Oct 29 '19 at 13:57
  • Let us [continue this discussion in chat](https://chat.stackoverflow.com/rooms/201553/discussion-between-sak-and-unlut). – Sak Oct 29 '19 at 13:59

1 Answers1

1

Thanks unlut for the help!

I was able to get the transformation using each of these following approaches:

Sak
  • 269
  • 1
  • 4
  • 13