Kitti校准矩阵是如何计算的? [英] How Kitti calibration matrix was calculated?

查看:329
本文介绍了Kitti校准矩阵是如何计算的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在处理其他数据集(无kitti),但需要将其转换为kitti数据集格式.我不明白如何在kitti中计算校准矩阵.示例:

I working with other dataset (no kitti), but I need to convert it in kitti dataset format. I can't understand how calibration matrices were calculated in kitti. Example:

摄像机2(P2)校准矩阵:

camera 2 (P2) calibration matrix from calib.txt:

[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-相机固有的.但是最后一列是什么意思?

-- are K - camera intrinsic. But what the last column mean?

我建议,这是从第0个摄像头开始的偏移,以像素为单位. 从 kitti传感器设置,我知道Cam 2从Cam 0偏移0.06. m沿X轴为负数. 相机像素大小为4.65um.但是

I suggested, that it's an offset from 0-th camera, measured in pixels. From kitti sensor setup, I know that Cam 2 offsets from Cam 0 for 0.06m negatively by axis X. Camera pixel size is 4.65um. But

0.06[m] / (4.65 * 10^(-6)[m]) != 386.1448 [pixels]

那么最后一列是什么意思?以及如何像在kitti中一样计算校准矩阵.

So what does the last column mean? And how to calculate calibration matrix just like in kitti.

推荐答案

根据Kitti网站上提供的文件calib_cam_to_cam.txt(calib_time:09-Jan-2012 14:00:15)-

According to the file calib_cam_to_cam.txt(calib_time: 09-Jan-2012 14:00:15) provided on Kitti Website - http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d, the above mentioned matrix is for Camera 01(P_rect_01). As mentioned in the paper Vision meets Robotics: The KITTI Dataset by Andreas Geiger, Philip Lenz, Christoph Stiller and Raquel Urtasun(Section IV B - camera calibration), projection matrix for i-th camera -

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之间以及凸轮1和凸轮3之间的基线为0.06m.

where, bx is the baseline in meters w.r.t. the reference camera 0. The sensor setup as shown on Kitti website - http://www.cvlibs.net/datasets/kitti/setup.php indicates baseline between cam 3 and cam 2 is 0.54m and baseline between cam 0 and cam 2, and cam 1 and cam 3 is 0.06m.

现在-fu * bx/fu = -386.1448/718.856〜= -0.537165〜= -0.54( B 3-2- B 2-0 + B 1-3 = B 1-0)

Now, -fu*bx/fu = -386.1448/718.856 ~= -0.537165 ~= -0.54 (B3-2 - B2-0 + B1-3 = B1-0)

这篇关于Kitti校准矩阵是如何计算的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆