【问题标题】:How to understand the KITTI camera calibration files?如何理解 KITTI 相机校准文件?
【发布时间】:2015-06-07 02:02:05
【问题描述】:

我正在研究 KITTI 数据集。
我已经下载了对象集的对象数据集(左右)和相机校准矩阵。

我想使用立体声信息。
但是我不知道如何获得两个相机的Intrinsic Matrix和R|T Matrix。而且我不明白校准文件是什么意思。

校准文件的内容:

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

【问题讨论】:

    标签: computer-vision camera-calibration kitti


    【解决方案1】:

    来自README

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

    calib_cam_to_cam.txt:相机到相机校准


    • S_xx:校正前图像 xx 的 1x2 大小
    • K_xx:校正前相机 xx 的 3x3 校准矩阵
    • D_xx:校正前相机 xx 的 1x5 畸变矢量
    • R_xx:相机 xx 的 3x3 旋转矩阵(外部)
    • T_xx:相机 xx 的 3x1 平移向量(外部)
    • S_rect_xx:校正后图像 xx 的 1x2 大小
    • R_rect_xx:3x3 校正旋转以使图像平面共面
    • P_rect_xx:校正后的 3x4 投影矩阵

    注意:使用此数据集时,您很可能只需要访问 P_rect_xx,因为该矩阵对校正后的图像序列有效。 维护

    【讨论】:

      【解决方案2】:

      https://medium.com/test-ttile/kitti-3d-object-detection-dataset-d78a762b5a4

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

      将在这里进行 2 次测试。第一个测试是投影 3D 边界框 从标签文件到图像。第二个测试是点中投影 云坐标到图像。代数很简单,如下所示。首先 方程用于在参考相机中投影 3D 边界框 坐标到 camera_2 图像。第二个方程投影一个velodyne 坐标点到 camera_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 是从对象映射的旋转矩阵 坐标到参考坐标。”

      【讨论】:

      • 我建议编辑答案以使其更具可读性
      猜你喜欢
      • 1970-01-01
      • 2020-03-14
      • 2015-10-15
      • 2020-04-29
      • 2013-10-07
      • 2011-04-05
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      相关资源
      最近更新 更多