我使用其他数据集(没有 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 sensor setup ,我知道凸轮 2 与凸轮 0 的 X 轴负偏移 0.06m。
Camera像素大小为 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 ,上述矩阵适用于 Camera 01(P_rect_01) 0x79204。正如 Andreas Geiger、Philip Lenz、Christoph Stiller 和 Raquel Urtasun(第 IV B 部分 - 相机校准),第 i 个相机的投影矩阵 -P(i)rect = [[fu 0 cx -fu*bx],
[0 fv cy 0],
[0 0 1 0]]
其中,bx 是以米为单位的基线 w.r.t.引用相机 0。Kitti 网站上显示的传感器设置 - http://www.cvlibs.net/datasets/kitti/setup.php 表示凸轮 3 和凸轮 2 之间的基线为 0.54m,凸轮 0 和凸轮 2 之间的基线以及凸轮 1 和凸轮 3 之间的基线为 0.06m。
现在,-fu * BX/复= -386.1448/718.856〜= -0.537165〜= -0.54(乙 3-2 - 乙 2-0 + 乙 1-3 = 乙 1-0)
关于image-processing - Kitti校准矩阵是如何计算的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58918538/