Computer vision KITTI'中的参数格式;s校准文件

Computer vision KITTI'中的参数格式;s校准文件,computer-vision,camera-calibration,slam,slam-algorithm,Computer Vision,Camera Calibration,Slam,Slam Algorithm,我从中访问了校准文件,其中一个校准文件的内容如下: P0: 7.188560000000e+02 0.000000000000e+00 6.071928000000e+02 0.000000000000e+00 0.000000000000e+00 7.188560000000e+02 1.852157000000e+02 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000

我从中访问了校准文件,其中一个校准文件的内容如下:

P0: 7.188560000000e+02 0.000000000000e+00 6.071928000000e+02 0.000000000000e+00 0.000000000000e+00 7.188560000000e+02 1.852157000000e+02 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00
P1: 7.188560000000e+02 0.000000000000e+00 6.071928000000e+02 -3.861448000000e+02 0.000000000000e+00 7.188560000000e+02 1.852157000000e+02 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00
P2: 7.188560000000e+02 0.000000000000e+00 6.071928000000e+02 4.538225000000e+01 0.000000000000e+00 7.188560000000e+02 1.852157000000e+02 -1.130887000000e-01 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 3.779761000000e-03
P3: 7.188560000000e+02 0.000000000000e+00 6.071928000000e+02 -3.372877000000e+02 0.000000000000e+00 7.188560000000e+02 1.852157000000e+02 2.369057000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 4.915215000000e-03
Tr: 4.276802385584e-04 -9.999672484946e-01 -8.084491683471e-03 -1.198459927713e-02 -7.210626507497e-03 8.081198471645e-03 -9.999413164504e-01 -5.403984729748e-02 9.999738645903e-01 4.859485810390e-04 -7.206933692422e-03 -2.921968648686e-01
我可以得到P0,P1代表单色相机,P2,P3代表彩色相机。据我所知,相机的常见形状是固有的

fx 0  cx
0  fy cy
0  0  1 .
因此,我无法理解标签
Tr
后面的每一行和最后一行中剩余的三个参数(我猜用于失真校正)的含义


类似的问题也可以从中找到,但我仍然不知道答案。有人能帮我吗?

在这些文件中,
P1
P0
等不是摄影机的内部属性,而是投影矩阵,由以下内容定义

P1=calibration_matrix * [R_1 | T_1]  
这意味着它们的大小为
3*4
。我不确定对应的定义是上面的定义,还是必须使用(好吧,这是一个等价的定义,或多或少…)

但我认为通过读取/显示数据就可以很容易地检查这一点

至于
Tr
,它是所有摄像机位置的串联。您有四个摄像头
P0,…,P3
,并且
Tr
12个
元素,因此前三个是
P0
的翻译,后三个是
P1
的翻译,依此类推。我不确定的是,它们是否都表示为
T\u I
-R\u I.transpose()*T\u I
。我认为最安全的方法是尝试通过玩数据来检查这一点

至于为什么有四个摄像头,
P0,…,P3
,请引用它们的:

这里,, 我 ∈ { 0 , 1. , 2. , 3. } 是相机索引,在哪里 0 代表 左边的灰度, 1. 正确的灰度, 2. 左边的颜色和 3. 正确的彩色照相机


我认为这也解释了为什么它们的投影矩阵彼此接近。

这些是基线,单位为米w.r.t。参考摄像机0

这篇文章有更多的细节:

但为什么在加入相机外部特征(即旋转和平移)后投影矩阵保持不变。或者,每一行只表示第一帧的投影矩阵?这些在我看来不是常数。。。看看第四列,或者最后一列。嗨,我的信息是四个投影矩阵中的每一个都应该随着每个相机的自我运动而变化。换句话说,每个图像都对应于单独的投影矩阵。此外,除了第四、第八、第十二列之外,所有参数都相同。@Finley我编辑了答案。此外,我认为你最好看一下我链接的那篇论文。这能回答你的问题吗?你能把你的答案再延长一点吗?
P1=calibration_matrix*[R_1.transpose() | -R_1.transpose()*T_1]