代码准备:
运行GPUTest
修改 ElasticFusion/Core/src/Utils/GPUConfig.h
使用Kinect2,需要修改
MainController.cpp ln 37:Resolution::getInstance(512, 424);//Resolution::getInstance(640, 480)
使用数据集,不需要修改
数据准备:
将TUM数据集的RGB-D图像序列作为ElasticFusion(https://github.com/mp3guy/ElasticFusion)的输入数据,旨在使用TUM数据集的工具量化ElasticFusion估计的估计误差,这样可以与其他方法对比。
$ ./associate.py depth.txt rgb.txt > associations.txt
https://github.com/HTLife/png_to_klg,将TUM数据集的RGB-D数据集转化为klg格式后输入到ElasticFusion中处理。
$ cd png_to_klg $ mkdir build $ cd build $ cmake .. $ make $ ./pngtoklg -w '/home/turtlebot/Database/TUM/rgbd_dataset_freiburg1_360/' -o '/home/turtlebot/Database/TUM/rgbd_dataset_freiburg1_360/fr1360.klg' -t
$ ./ElasticFusion -l ~/Database/TUM/rgbd_dataset_freiburg1_360/fr1360.klg -f
执行结束后会在/home/turtlebot/Database/TUM/rgbd_dataset_freiburg1_360/下生成fr1360.klg.freiburg文件,即就是ElasticFusion估计的相机位姿,之后就可以使用TUM提供的工具了,比如evaluate_ate.py。
ICLNUIM数据:
转klg时注意没有t
./pngtoklg -w '/home/wen/data/traj0_frei_png' -o '/home/wen/data/traj0_frei_png/traj0.klg'
./ElasticFusion -l /home/wen/data/traj0_frei_png/traj0.klg -d 12 -c 3 -f -q -o