我使用其他数据集(没有kitti(,但我需要将其转换为kitti数据集格式。我不明白kitti是如何计算校准矩阵的。示例:
calib.txt中的相机2(P2(校准矩阵:
[718.856 0 607.1928 -386.1448]
[ 0 718.856 185.2157 0 ]
[ 0 0 1 0 ]
我知道,
[718.856 0 607.1928]
[ 0 718.856 185.2157]
[ 0 0 1 ]
--是K相机固有的。但最后一列是什么意思?
我建议,这是从第0个相机的偏移量,以像素为单位。从kitti传感器设置中,我知道凸轮2与凸轮0负偏移0.06m。相机像素大小为4.65um。但是
0.06[m] / (4.65 * 10^(-6)[m]) != 386.1448 [pixels]
那么最后一列是什么意思呢?以及如何像kitti中那样计算校准矩阵。
根据Kitti网站上提供的文件calib_cam_to_cam.txt(calib_time:09-Jan-2012 14:00:15(-http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d,上述矩阵适用于相机01(P_rect_01(。正如Andreas Geiger、Philip Lenz、Christoph Stiller和Raquel Urtasun的论文《视觉与机器人:KITTI数据集》(第四节B-相机校准(中提到的,第i台相机的投影矩阵-
P(i)rect = [[fu 0 cx -fu*bx],
[0 fv cy 0],
[0 0 1 0]]
其中,bx是基准相机0的基线,单位为米。Kitti网站上显示的传感器设置-http://www.cvlibs.net/datasets/kitti/setup.php表示凸轮3和凸轮2之间的基线为0.54m,凸轮0和凸轮2的基线为0.06m,凸轮1和凸轮3的基线为
现在,-fu*bx/fu=-386.1448/7188.56~=-0.537165~=-0.54(B3-2-B2-B1-3=B1-0(