本文將介紹如何使用其他RGBD數據集進行場景重建,以及估計軌跡和真實軌跡的對比實驗。
環境:ubuntu14.04 + cuda7.5 +GTX1070
數據集:TUM數據集 TUM
使用工具:png_to_klg
其中,數據集我下載的是freiburg1_desk.tgz
一、TUM數據集的使用
1、將png_to_klg文件夾下的associate.py複製到數據集的文件夾下,然後
./associate.py depth.txt rgb.txt > associations.txt
就會生成匹配成功的rgb depth圖像對,時間差在0.02s內。
1305031453.374112 depth/1305031453.374112.png 1305031453.359684 rgb/1305031453.359684.png
1305031453.404816 depth/1305031453.404816.png 1305031453.391690 rgb/1305031453.391690.png
1305031453.436941 depth/1305031453.436941.png 1305031453.423683 rgb/1305031453.423683.png
1305031453.473352 depth/1305031453.473352.png 1305031453.459685 rgb/1305031453.459685.png
2、編譯png_to_klg
cd png_to_klg
mkdir build
cd build
cmake ..
make -j8
生成可執行文件pngtoklg
3、生成klg文件
./pngtoklg -w '/home/turtlebot/dataset/freiburg1_desk/' -o '/home/turtlebot/dataset/freiburg1_desk/fr_desk.klg' -t
文件轉換成功後,就可以在~/ElasticFusion/GUI/build下運行
./ElasticFusion -l ~/dataset/freiburg1_desk/fr1_desk.klg
之後,會在fr1_desk.klg目錄下生成全局模型fr1_desk.klg.ply和估計軌跡fr1_desk.freiburg
二、TUM測評工具的使用
測評工具主要是associate.py 和evaluate_ate.py,可以直接copy下來,保存成python腳本。
1、通過時間戳生成關鍵文件,注意這次是先rgb.txt後depth.txt
python associate.py rgb.txt depth.txt > associate.txt
2、將ElasticFusion估計的估計文件後綴名改成.txt,並與TUM數據集自帶的groundtruth.txt放在同一路徑下
(1)估計絕對誤差的均方根誤差ATE RMSE
python evaluate_ate.py groundtruth.txt fr1_desk.txt
輸出0.025414
(2)繪製估計誤差曲線
python evaluate_ate.py groundtruth.txt fr1_desk.txt --plot result.png
得到ATE RMSE和軌跡誤差曲線
(3)計算其他誤差,如均值、中值等,以m爲單位
python evaluate_ate.py groundtruth.txt fr1_desk.txt --verbose
輸出: