For*_*ell 7 image-processing calibration kitti
我使用其他数据集(没有 kitti),但我需要将其转换为 kitti 数据集格式。我无法理解 kitti 中的校准矩阵是如何计算的。例子:
calib.txt 中的相机 2 (P2) 校准矩阵:
[718.856 0 607.1928 -386.1448]
[ 0 718.856 185.2157 0 ]
[ 0 0 1 0 ]
Run Code Online (Sandbox Code Playgroud)
我知道
[718.856 0 607.1928]
[ 0 718.856 185.2157]
[ 0 0 1 ]
Run Code Online (Sandbox Code Playgroud)
-- 是 K 相机固有的。但最后一栏是什么意思?
我建议,它是与第 0 个摄像机的偏移,以像素为单位测量。从kitti传感器设置中,我知道Cam 2相对于Cam 0在X轴上负偏移0.06m。 相机像素尺寸为4.65um。但
0.06[m] / (4.65 * 10^(-6)[m]) != 386.1448 [pixels]
Run Code Online (Sandbox Code Playgroud)
那么最后一栏是什么意思呢?以及如何计算校准矩阵,就像在 kitti 中一样。
小智 5
根据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,上述上述矩阵适用于Camera 01(P_rect_01)。正如Andreas Geiger、Philip Lenz、Christoph Stiller 和 Raquel Urtasun 的论文《视觉遇见机器人:KITTI 数据集》(第 IV B 节 - 相机校准)中提到的,第 i 个相机的投影矩阵 -
P(i)rect = [[fu 0 cx -fu*bx],
[0 fv cy 0],
[0 0 1 0]]
Run Code Online (Sandbox Code Playgroud)
其中,bx 是相对于参考相机 0 的基线(以米为单位)。Kitti 网站上显示的传感器设置 - http://www.cvlibs.net/datasets/kitti/setup.php指示凸轮 3 和凸轮 2 之间的基线为 0.54 m 与凸轮 0 和凸轮 2、凸轮 1 和凸轮 3 之间的基线为 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)
| 归档时间: |
|
| 查看次数: |
5113 次 |
| 最近记录: |