關於TUM的視覺慣性數據集 Visual-Inertial Dataset

關於TUM的視覺慣性數據集 Visual-Inertial Dataset

最近想使用TUM的VIO數據集,發現網上關於它的資料比較少,大多數都是對TUM RGBD的介紹,所以將自己踩得坑記錄一下,方便大家學習,有不對的地方還請指出.

資料:

TUM Visual-Inertial Dataset
具體的資料介紹,請查看官網內容,此處不在贅述.着重記錄自己遇到的問題

真實軌跡

位置

每個數據集的真實軌跡都位於對應的tar文件中的dso/imu_gt.csv

格式

真實軌跡的格式爲time/tx/ty/tz/qw/qx/qy/qz,時間是ns,
由於我想使用EVO工具來對其進行測評,而EVO不支持這種格式,所以是需要轉換的.EVO支持的具體格式見使用evo工具可視化和評測SLAM算法性能.

真實軌跡解決方法:(方法比較low):

思路:通過evo_traj euroc gt_imu.csv  --save_as_tum來進行修改.

Euroc格式
timestamp,px,py,pz,qw,qx,qy,qz,vx,vy,vz,bwx,bwy,bwz,bax,bay,baz
每行17個元素,逗號隔開,時間以納秒爲單位

  1. 用excel首先把更改時間戳的單元格格式,全部改爲數值
  2. 然後將列數擴展爲17列.
  3. evo_traj euroc gt_imu.csv  --save_as_tum

與真實軌跡進行比較

在TUM的VIO數據集中,有很多數據集僅提供了初始和結尾部分的真實軌跡, 一開始不清楚這種情況怎麼和算法結果進行比較,後來發現EVO可以只比較有真實軌跡的部分.下圖是corridor4的vins-mono和真實軌跡比較結果

軌跡對比 結果評估
在這裏插入圖片描述 在這裏插入圖片描述

相機模型的問題

官網所說的相機模型與想要用的相機模型不匹配

官網上說提供的相機模型爲:pinhole和omi
在這裏插入圖片描述
但是根據這個博文SLAM 中常用的相機模型&畸變模型總結
中所說,他們對應的應該是KB模型MEI模型. 同時通過VINS-MONO中自帶的TUM的yaml文件也說明,官網所說的pinhole確實是KB模型

相機模型是由 投影模型(也就是傳統意義的相機模型) 和畸變模型組成的

radtan畸變模型中,沒有k1,k2,p1,p2而是參數d0-4表示的.

vikit(pl-svo的一個依賴庫)中,使用五個參數d表示的
然後,根據其opencv中的描述
在這裏插入圖片描述
在這裏插入圖片描述
有時候會對高階項進行省略,k456全省略了.k3有時候省略,這也就是對應的五個參數

標定自己想要的針孔模型(pinhole-radtan)

  1. 安裝kalibr
  2. 官網下載TUM的相機校準數據集和對應的yaml文件
  3. source 3worksapce/2kalibr_workspace/devel/setup.bash
    rosrun kalibr kalibr_calibrate_cameras 
    	--bag 2data/TUM/camera/dataset-calib-cam1_512_16.bag 
    	--topic /cam0/image_raw /cam1/image_raw 
    	--models pinhole-radtan pinhole-radtan 
    	--target 2data/TUM/camera/april_6x6_80x80cm.yaml
    
  4. 結果暫時還沒出來,打算有了結果之後,在放入vins-mono中進行優化.後續更新

標定結果的誤差很大!!
以上做法不可取,相機模型不可隨意更改

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