# 在學習視覺slam過程當中,須要對數據集合進行預處理和對slam或者跟蹤結果進行評價,TUM提供一組這樣的工具,爲了本身之後方便查找,因而把它記錄下來
1. add_pointclouds_to_bagfile.pypython
2. associate.pysvn
3. evaluate_ate.py工具
4. evaluate_rpe.py性能
5. generate_pointcloud.py學習
6. generate_registered_pointcloud.pylua
7. plot_trajectory_into_image.pyspa
經過timestamp(時間戳)生成rgb和depth的關聯文件,命令以下:code
1 python associate.py rgb.txt depth.txt > associations.txt
在估計了相機軌跡並將其保存到文件後,咱們須要經過將其與地面實況進行比較來評估估計軌跡中的偏差。 有不一樣的偏差指標。 blog
兩種突出的方法是絕對軌跡偏差(ATE)和相對姿態偏差(RPE)。ci
ATE適合評估視覺SLAM系統的性能。 相比之下,RPE適合評估視覺里程計的漂移量,例如每秒的漂移量。
絕對軌跡偏差腳本直接測量真實軌跡和估計軌跡的點之間的差別。
做爲預處理步驟,咱們使用時間戳將估計的姿式與地面真實姿式相關聯。 基於此關聯,咱們使用奇異值分解來對齊真實軌跡和估計軌跡。
最後,咱們計算每對姿式之間的差別,並輸出這些差別的均值/中值/標準差。
此外,腳本還能夠將兩個軌跡繪製到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