Computer vision 如何理解KITTI摄像机校准文件?

Computer vision 如何理解KITTI摄像机校准文件?,computer-vision,camera-calibration,kitti,Computer Vision,Camera Calibration,Kitti,我正在处理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.0000

我正在处理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 -1.143899000000e-03 -3.321029000000e-01
Tr_imu_to_velo: 
9.999976000000e-01 7.553071000000e-04 -2.035826000000e-03 -8.086759000000e-01 
-7.854027000000e-04 9.998898000000e-01 -1.482298000000e-02 3.195559000000e-01 
2.024406000000e-03 1.482454000000e-02 9.998881000000e-01 -7.997231000000e-01

传感器校准zip存档包含文件,将矩阵存储在 行对齐顺序,表示第一个值对应于 第一行:

calib_cam_to_cam.txt:摄像机到摄像机的标定


  • S_xx:校正前图像xx的1x2大小
  • K_xx:校正前摄像机xx的3x3校准矩阵
  • D_xx:1x5摄像机xx校正前的畸变矢量
  • R_xx:xx摄像机的3x3旋转矩阵(外部)
  • T_xx:xx摄像机的3x1平移向量(外部)
  • S_rect_xx:校正后图像xx的1x2大小
  • R_rect_xx:3x3矫正旋转以使图像平面共面
  • P_rect_xx:3x4校正后的投影矩阵
注意:使用此数据集时,您很可能只需要访问 P_rect_xx,因为该矩阵对校正后的图像序列有效。 维持

Px矩阵在校正后的参考相机中投影一个点 坐标到摄影机的x图像。摄像头_0是参考摄像头 坐标R0_rect是参考的整流旋转 坐标(校正)使多个摄像机的图像位于 同一计划)。Tr_velo_to_cam将点云坐标中的点映射到 参考坐标

我将在这里做两个测试。第一个测试是投影三维边界框 从标签文件到图像。第二个测试是逐点投射 云坐标到图像。代数很简单,如下所示。第一 公式用于在参考摄影机中投影三维边界框 与摄像头_2图像协调。第二个方程式投射出一个velodyne 将点坐标到摄像机2图像中

y_image = P2 * R0_rect * R0_rot * x_ref_coord
y_image = P2 * R0_rect * Tr_velo_to_cam * x_velo_coord
在上面的例子中,R0_rot是从对象映射的旋转矩阵 坐标到参考坐标。”


我建议编辑答案,使其更具可读性。