關於EuRoc數據集雙目相機之間的基線長度

EUROC數據集提供了雙目和IMU數據,可是並沒有找到關於雙目相機基線長度的直接描述。

查看了一番關於該數據集的論文publisher,設備描述部分並沒有關於這一點的細節。

不過數據集中提供了sensor.yaml文件,該文件中,有這個sensor關於Body的T_BS(齊次座標形式的4×4矩陣,可以參考高博的書籍或者博客)。

根據座標轉換關係:

T_C1C2=T_C1B * T_BC2,寫兩行代碼應該可以算一下。

#include <iostream>
using namespace std;
#include <Eigen/Core>
#include <Eigen/Dense>

int main()
{
  Eigen::Matrix4d T_BC1;
  Eigen::Matrix4d T_BC2;
  T_BC1<<0.0148655429818, -0.999880929698, 0.00414029679422, -0.0216401454975,
	0.999557249008, 0.0149672133247, 0.025715529948, -0.064676986768,
	-0.0257744366974, 0.00375618835797, 0.999660727178, 0.00981073058949,
	0.0, 0.0, 0.0, 1.0;
  T_BC2<<0.0125552670891, -0.999755099723, 0.0182237714554, -0.0198435579556,
	0.999598781151, 0.0130119051815, 0.0251588363115, 0.0453689425024,
	-0.0253898008918, 0.0179005838253, 0.999517347078, 0.00786212447038,
	0.0, 0.0, 0.0, 1.0;
  cout.precision(15);
  cout<<"T_BC1"<<endl<<T_BC1<<endl;
  cout<<"T_BC2"<<endl<<T_BC2<<endl;

  Eigen::Matrix4d T_C1C2 = Eigen::Matrix4d::Zero();
  T_C1C2 = T_BC2.inverse()*T_BC1;
  
  cout<<"T_C1C2"<<endl<<T_C1C2<<endl;  
  return 0;
}

T_BC1和T_BC2的數據來自cam0和cam1文件夾中的sensor.yaml文件。

輸出結果如下:

T_BC1
0.0148655429818 -0.999880929698 0.00414029679422 -0.0216401454975
0.999557249008 0.0149672133247 0.025715529948 -0.064676986768
-0.0257744366974 0.00375618835797 0.999660727178 0.00981073058949
         0          0          0          1
T_BC2
0.0125552670891 -0.999755099723 0.0182237714554 -0.0198435579556
0.999598781151 0.0130119051815 0.0251588363115 0.0453689425024
-0.0253898008918 0.0179005838253 0.999517347078 0.00786212447038
         0          0          0          1
T_C1C2
0.999997256477881 0.00231206719242389 0.00037600810241559 -0.110073808127187
-0.00231713572328124 0.999898048506644 0.0140898358466482 0.000399121547014141
-0.000343393120524168 -0.0140906684527146 0.999900662637728 -0.000853702503358044
           0            0            0            1
可以看出來,T_C1C2的t向量部分(代表平移),只有第一個值不是0(近似)。R矩陣部分近似單位陣也證明兩個cam之間沒有旋轉。

姑且認爲這個

0.110073808127187

就是基線的長度,單位:米。(無人機上裝載的傳感器,10釐米左右的基線貌似也挺合理)

如果哪位看官發現了數據集官方有對基線長度的直接描述,歡迎交流,指正!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章