web-dev-qa-db-ja.com

KITTIカメラのキャリブレーションファイルを理解するにはどうすればよいですか?

私はKITTIデータセットに取り組んでいます。
オブジェクトデータセット(左と右)とオブジェクトセットのカメラキャリブレーションマトリックスをダウンロードしました。

ステレオ情報を使いたい。
しかし、2台のカメラの固有行列と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
15
Yao Liu

[〜#〜] 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のみにアクセスする必要がある可能性があります。維持

6
en_Knight

https://medium.com/test-ttile/kitti-3d-object-detection-dataset-d78a762b5a4 を参照してください

Px行列は、修正された参照カメラ座標の点をcamera_xイメージに投影します。camera_0は参照カメラ座標です。R0_rectは参照座標の修正回転です(修正により、複数のカメラの画像が上に配置されます)同じ計画)。Tr_velo_to_camは、ポイントインポイントクラウド座標を参照座標にマップします。

ここで2つのテストを行います。最初のテストは、ラベルファイルから画像に3Dバウンディングボックスを投影することです。 2番目のテストは、点群座標を画像に投影することです。代数は次のように単純です。最初の方程式は、camera_2画像に座標する参照カメラの3Dバウディングボックスを投影するためのものです。 2番目の方程式は、ベロダイン座標点を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は、オブジェクト座標から参照座標にマップするための回転行列です。」

0
fandulu