Format of parameters in KITTI's calibration file

与世无争的帅哥 提交于 2019-12-31 05:07:07

问题


I accessed calibration files from part odometry of KITTI, wherein contents of one calibration file are as follows:

P0: 7.188560000000e+02 0.000000000000e+00 6.071928000000e+02 0.000000000000e+00 0.000000000000e+00 7.188560000000e+02 1.852157000000e+02 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00
P1: 7.188560000000e+02 0.000000000000e+00 6.071928000000e+02 -3.861448000000e+02 0.000000000000e+00 7.188560000000e+02 1.852157000000e+02 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00
P2: 7.188560000000e+02 0.000000000000e+00 6.071928000000e+02 4.538225000000e+01 0.000000000000e+00 7.188560000000e+02 1.852157000000e+02 -1.130887000000e-01 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 3.779761000000e-03
P3: 7.188560000000e+02 0.000000000000e+00 6.071928000000e+02 -3.372877000000e+02 0.000000000000e+00 7.188560000000e+02 1.852157000000e+02 2.369057000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 4.915215000000e-03
Tr: 4.276802385584e-04 -9.999672484946e-01 -8.084491683471e-03 -1.198459927713e-02 -7.210626507497e-03 8.081198471645e-03 -9.999413164504e-01 -5.403984729748e-02 9.999738645903e-01 4.859485810390e-04 -7.206933692422e-03 -2.921968648686e-01

I can get that P0, P1 represent monochrome camera and P2, P3 color camera. To my understanding, common shape of camera intrinsic is

fx 0  cx
0  fy cy
0  0  1 .

So I cannot figure out the meaning of remaining three parameter (I guess used for distortion rectification) in each line and the last line following label Tr.

A similar question can be found from this post, but answers to it are still unobvious to me. Can anyone help me out?


回答1:


In those files, P1, P0 etc are not camera intrinsics but projection matrices, defined by something like

P1=calibration_matrix * [R_1 | T_1]  

which means that they are of size 3*4. I'm not exactly sure whether the corresponding definition is the one above or if you'll have to use (well, it's an equivalent definition, more or less...)

P1=calibration_matrix*[R_1.transpose() | -R_1.transpose()*T_1] 

but I think that it's easy to check this by just reading/displaying the data.

As for Tr, it is the concatenation of all camera positions. You have four cameras P0, ..., P3, and Tr has 12 elements, so the first three are the translation of P0, the next three are the translation of P1 and so on. What I'm not sure about is whether each of those are expressed as T_i or -R_i.transpose()*T_i. I think the safest way is try to check this by playing with the data.

As for why there are four cameras P0, ...,P3, to quote their paper:

Here, i ∈ { 0 , 1 , 2 , 3 } is the camera index, where 0 represents the left grayscale, 1 the right grayscale, 2 the left color and 3 the right color camera.

I think that also explains why their projection matrices are close to each other.



来源:https://stackoverflow.com/questions/50210547/format-of-parameters-in-kittis-calibration-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!