TUM數據集rgbd_benchmark工具的使用方法


 # 在學習視覺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

        為了計算相對姿勢誤差,需要使用腳本''evaluate_rpe.py''。此腳本計算時間戳對之間相對運動中的誤差。
       
       默認情況下,該腳本計算估計軌跡文件中所有時間戳對之間的錯誤。
       
       由於估計軌跡中的時間戳對的數量在軌跡的長度上是二次的,因此將該集合下采樣為固定數量(-max_pairs)是有意義的。
 
       或者,可以選擇使用固定窗口大小(-fixed_delta)。 在這種情況下,估計軌跡中的每個姿勢根據窗口大小(-δ)和單位(-delta_unit)與稍后的姿勢相關聯。
 
       該評估技術可用於估計漂移量。
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM