視覺SLAM筆記--第3篇: SLAM軌跡評估工具(evo安裝與使用)

1. evo安裝

1.1 更新pip

# 打開終端,筆者是在python2.7基礎上更新,當然python3.5更好
pip install --user --upgrade pip
# pip安裝numpy和matplotlib,使用清華的鏡像
pip install --user --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
pip install --user --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

1.2 安裝evo

git clone https://github.com/MichaelGrupp/evo.git
cd evo
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple evo --upgrade --no-binary evo

2. evo使用

2.1 數據集轉換格式

保存/導出爲其他格式:euroc、tum、kitti數據集格式之間的互相轉換.

# euroc數據集 -> tum數據集格式文件(data.tum)
evo_traj euroc data.csv --save_as_tum     

# tum數據集 -> kitti數據集格式文件(*.kitti)
evo_traj tum traj_1.txt traj_2.txt traj_3.txt --save_as_kitti   

# tum數據集 -> ROS bag文件格式(<時間戳>.bag)
evo_traj tum traj_1.txt traj_2.txt traj_3.txt --save_as_bag 

相互轉換圖解:
在這裏插入圖片描述

2.2 evo命令格式

command  bag  bagfile-path  reference-topic  estimated-topic   [options]

 -  command:指令(evo_traj、evo_ape、evo_rpe)
 -  bag:數據集名稱(euroc、kitti、tum) 
 -  bagfile-path:文件所在路徑(參考和估計文件在同一文件夾下)
 -  reference-topic:真實值
 -  estimated-topic:估計值
 -  [options]: 其他參數選項(-a、-s、-as)

2.3 其他參數選項-[options]

 - 自動對齊  --align 或者 -a
 - 尺度校準  --correct_scale 或者 -s
 - 自動對齊且尺度校準  --align --correct_scale 或者 -as

2.4 顯示軌跡evo_traj

  • 顯示單軌跡
 evo_traj  euroc  data.csv   -p   --plot_mode=xy
 evo_traj  tum    data.tum   -p   --plot_mode=xy
 evo_traj  tum    groundtruth.txt   -p   --plot_mode=xy
  • 顯示雙軌跡(真值和估計值)
 evo_traj  tum    CameraTrajectory.txt  --ref=data.tum   -p   --plot_mode=xy   -as
 evo_traj  euroc  CameraTrajectory.txt  --ref=data.csv   -p   --plot_mode=xy   -as
 等價於:
 evo_traj  tum    CameraTrajectory.txt  --ref=data.tum   -p   --plot_mode=xy  --align  --correct_scale
 evo_traj  euroc  CameraTrajectory.txt  --ref=data.csv   -p   --plot_mode=xy  --align  --correct_scale

在這裏插入圖片描述

2.5 絕對位姿誤差evo_ape

 evo_ape  tum     data.tum   CameraTrajectory.txt  -va   -p   --plot_mode=xyz
 evo_ape  euroc   data.csv   CameraTrajectory.txt  -va   -p   --plot_mode=xyz

在這裏插入圖片描述在這裏插入圖片描述

2.6 相對位姿誤差evo_rpe

evo_rpe  tum     data.tum   CameraTrajectory.txt   -va   -p  --plot_mode=xyz
evo_rpe  euroc   data.tum   CameraTrajectory.txt   -va   -p  --plot_mode=xyz

在這裏插入圖片描述在這裏插入圖片描述其中:

  • max: 表示最大誤差;
  • mean:平均誤差;
  • median:誤差中位數;
  • min: 最小誤差;
  • rmse:均方根誤差;
  • sse: 和方差、誤差平方和;
  • std: 標準差

3. 後續計劃

後續將進行深度卷積網絡的學習,以及VIO的SLAM課程學習,主要研究方向還是深度學習(圖像和點雲方向).

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