我正在研究KITTI数据集.
我已经下载了对象数据集(左和右)和对象集的相机校准矩阵.
我想使用立体声信息.
但我不知道如何获得两个相机的内在矩阵和R | T矩阵.我不明白校准文件的含义.
校准文件的内容:
P0:
7.070493000000e+02 0.000000000000e+00 6.040814000000e+02 0.000000000000e+00
0.000000000000e+00 7.070493000000e+02 1.805066000000e+02 0.000000000000e+00
0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00
P1:
7.070493000000e+02 0.000000000000e+00 6.040814000000e+02 -3.797842000000e+02
0.000000000000e+00 7.070493000000e+02 1.805066000000e+02 0.000000000000e+00
0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00
P2:
7.070493000000e+02 0.000000000000e+00 6.040814000000e+02 4.575831000000e+01
0.000000000000e+00 7.070493000000e+02 1.805066000000e+02 -3.454157000000e-01
0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 4.981016000000e-03
P3:
7.070493000000e+02 0.000000000000e+00 6.040814000000e+02 -3.341081000000e+02
0.000000000000e+00 7.070493000000e+02 1.805066000000e+02 2.330660000000e+00
0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 3.201153000000e-03
R0_rect:
9.999128000000e-01 1.009263000000e-02 -8.511932000000e-03
-1.012729000000e-02 9.999406000000e-01 -4.037671000000e-03
8.470675000000e-03 4.123522000000e-03 9.999556000000e-01
Tr_velo_to_cam:
6.927964000000e-03 -9.999722000000e-01 -2.757829000000e-03 -2.457729000000e-02
-1.162982000000e-03 2.749836000000e-03 -9.999955000000e-01 -6.127237000000e-02
9.999753000000e-01 6.931141000000e-03 …Run Code Online (Sandbox Code Playgroud) 我使用其他数据集(没有 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 中一样。
我正在尝试计算来自 KITTI 原始数据集的视频中两帧之间的相对姿势。该oxts数据提供了lat, lon, alt, roll, pitch, yaw对每个帧。如何将此数据转换为转换矩阵(旋转矩阵和平移向量)?
这个答案表明这是可能的,但没有给出解决方案。Python 是首选,但如果您有其他语言的解决方案,那也很好。我可以将代码翻译成python。
样本数据:
lat, lon, alt, roll, pitch, yaw = 49.015003823272, 8.4342971002335, 116.43032836914, 0.035752, 0.00903, -2.6087069803847
PS:我正在尝试使用投影几何将一帧姿势扭曲到另一帧。为此,我需要姿势、深度和相机矩阵。KITTI raw 提供相机矩阵。我打算从立体图像计算深度。所以,我只剩下计算它们之间的姿势/变换矩阵
我目前正在尝试使用 Matlab 和KITTI 数据集制作立体视觉里程计
我知道文件夹“ poses.txt ”包含前 11 个序列的真实姿势(轨迹)。每个文件 xx.txt 包含一个 N x 12 表,其中 N 是该序列的帧数。但是,这12个参数是什么?x、y、z、行、俯仰、偏航还有什么?
我的第二个问题是,如果我想创建自己的数据集,如何使用 IMU 获取这些姿势?