# 在学习视觉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