Ubuntu14.04调试ElasticFusion之TUM数据集的测试
本文将探讨运用其他的RGB-D数据集实现场景重构,并进行运动轨迹对比实验。
环境:ubuntu14.04 + cuda7.5 +GTX1070
TUM提供的_rgbd_数据集[下载]链接地址:vision.in.tum.de/data/datasets/rgbd-dataset/download
使用工具:png_to_klg
性能评估工具:
<https://github.io/svncvpr/cvpr-ros-pkg/trunk/RGB-D benchmark/RGB-D benchmark tools下的工具包路径>
其中,数据集我下载的是freiburg1_desk.tgz
一、TUM数据集的使用
1、将png_to_klg文件夹下的associate.py复制到数据集的文件夹下,然后
./associate.py depth.txt rgb.txt > associations.txt
就会生成匹配成功的rgb depth图像对,时间差在0.02s内。
深度图块...depth/...png RGB图块...rgb/...png
深度图块...depth/...png RGB图块...rgb/...png
深度图块...depth/...png RGB图块...rgb/...png
深度图块...depth/...png RGB图块...rgb/… png
处理 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目录中创建ply格式的全局模型文件fr1\_desk.klg.ply,并用于估计轨迹的数据集fr1\_desk.freiburg。
二、TUM测评工具的使用
该测评工具主要包含associate.py和evaluate_ate.py两个模块。操作非常简便,用户只需直接复制粘贴即可,并生成对应的Python脚本文件并进行保存操作。
1、通过时间戳生成关键文件,注意这次是先rgb.txt后depth.txt
python associate.py rgb.txt depth.txt > associate.txt
为了使ElasticFusion计算出的轨迹文件后缀名被命名为.txt格式,并将该文件与TUM数据集自带的groundtruth.txt置于同一路径中
i. 绝对轨迹误差ATE
(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
输出:

ii. 相对轨迹误差RPE
python evaluate_rpe.py groundtruth.txt fr1_desk.txt --verbose
结果:
共有9959组位姿对进行了对比分析。
平移误差方面:
- 根均方误差(RMSE)为0.042495米;
- 平均值为0.036843米;
- 中位数为0.033329米;
- 标准差为0.021175米;
- 最小值为0米;
- 最大值为0.190575米。
旋转误差方面: - 根均方误差(RMSE)为2.283527度;
- 平均值为1.990579度;
- 中位数为1.80357度;
- 标准差为1.11896度;
- 最小值为0度;
- 最大值达8.42182度。
python evaluate_rpe.py groundtruth.txt fr1_desk.txt --plot result.png --fixed_delta

