Unit of rvecs, stdDeviationsExtrinsics

Hi all,
I’am using the method calibrateCamera() to calculate the pose of some camera positions while calibrating it at the same time. Everything works as expected, but for interpretation purposes I’m wondering in which unit the rvecs and the standard deviations are given:

I am entering my object coordinates in mm and get the following standard deviations for the extrinsic parameters:

4.37535132e-03  5.60375147e-03  1.43808849e-03  5.46775238e-01  1.37696084e+00  2.49662701e+00 ;
4.17371714e-03  7.75073536e-03  2.13087320e-03  7.75227292e-01  1.64358082e+00  2.70639652e+00 ;
4.00737068e-03  7.27430192e-03  2.17427739e-03  1.09629993e+00  1.17799586e+00  3.16707994e+00 ;

So interprete this like this: the standard deviation for the camera position is around e-03 mm while the standard deviation for the rotation angles are around 1 to 3 (degrees?).

Thanks in advance for the help :slight_smile:

I’ve formatted your numbers differently.

your interpretation is wrong. the first three values are for rotation, the second three are for translation.

you have on the order of a few millimeters of standard deviation in translation.

I don’t see any information on how to interpret the std dev for rvecs. you’ll probably have to look in the source.

# R parts
array([[0.00438, 0.0056 , 0.00144],
       [0.00417, 0.00775, 0.00213],
       [0.00401, 0.00727, 0.00217]])
# T parts
array([[0.54678, 1.37696, 2.49663],
       [0.77523, 1.64358, 2.7064 ],
       [1.0963 , 1.178  , 3.16708]])

an rvec encodes two pieces of information.

  • it points in the direction of the rotational axis
  • its length encodes the amount of rotation in radians
1 Like

Ahhh, so the first three numbers are std deviations vector are for the rotation angles. They are given in radiant and therefore quite small.

Numbers 4-6 are the standard deviations for the camera position and therefore are in the unit in which i defined my object coordinates, in my case mm.

Am I understanding that right?

yes, that is correct.

1 Like

Thank you very much, this helped a lot and corresponds to the visualisation.

for my own interest: is this actually documented in the OpenCV Doc? Because i actually searched a lot and didn’t find information on this.

docs for calibrateCamera say this about these output parameters of the function

1 Like