# 在學習視覺slam過程中,需要對數據集合進行預處理和對slam或者跟蹤結果進行評價,TUM提供一組這樣的工具,為了自己以后方便查找,於是把它記錄下來
一、RGBD_Benchmark工具下載鏈接:Download here
下載鏈接下有如下python腳本,可供使用
1. add_pointclouds_to_bagfile.py
2. associate.py
3. evaluate_ate.py
4. evaluate_rpe.py
5. generate_pointcloud.py
6. generate_registered_pointcloud.py
7. plot_trajectory_into_image.py
二、RGBD_Benchmark工具使用方法(部分,后續用到再做完善)
1. associate.py
通過timestamp(時間戳)生成rgb和depth的關聯文件,命令如下:
1 python associate.py rgb.txt depth.txt > associations.txt
2. 評價腳本
在估計了相機軌跡並將其保存到文件后,我們需要通過將其與地面實況進行比較來評估估計軌跡中的誤差。 有不同的誤差指標。
兩種突出的方法是絕對軌跡誤差(ATE)和相對姿態誤差(RPE)。
ATE適合評估視覺SLAM系統的性能。 相比之下,RPE適合評估視覺里程計的漂移量,例如每秒的漂移量。
2.1 evaluate_ate.py
絕對軌跡誤差腳本直接測量真實軌跡和估計軌跡的點之間的差異。
作為預處理步驟,我們使用時間戳將估計的姿勢與地面真實姿勢相關聯。 基於此關聯,我們使用奇異值分解來對齊真實軌跡和估計軌跡。
最后,我們計算每對姿勢之間的差異,並輸出這些差異的均值/中值/標准差。
此外,腳本還可以將兩個軌跡繪制到png或pdf文件,這樣一來可以更加直觀的看到差異。
接下來,我們分別看一下相應的腳本執行命令
(注:需要將evaluate_ate.py、groundtruth.txt、CameraTrajectory.txt、associate.py放在同一位置)
(1)僅輸出RMSE/cm誤差,執行如下命令:
1 python evaluate_ate.py groundtruth.txt CameraTrajectory.txt
(2)輸出真實軌跡和預測軌跡以及誤差,並直觀顯示,執行如下命令:
1 python evaluate_ate.py groundtruth.txt CameraTrajectory.txt --plot result.png
(3)輸出所有誤差,包含平均值,中值等, 執行如下命令:
1 python evaluate_ate.py groundtruth.txt CameraTrajectory.txt --verbose
2.1 evaluate_pre.py