欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

视觉SLAM笔记--第3篇: SLAM轨迹评估工具(evo安装与使用)

程序员文章站 2022-04-16 20:36:54
...

1. evo安装

1.1 更新pip

# 打开终端,笔者是在python2.7基础上更新,当然python3.5更好
pip install --user --upgrade pip
# pip安装numpy和matplotlib,使用清华的镜像
pip install --user --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
pip install --user --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

1.2 安装evo

git clone https://github.com/MichaelGrupp/evo.git
cd evo
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple evo --upgrade --no-binary evo

2. evo使用

2.1 数据集转换格式

保存/导出为其他格式:euroc、tum、kitti数据集格式之间的互相转换.

# euroc数据集 -> tum数据集格式文件(data.tum)
evo_traj euroc data.csv --save_as_tum     

# tum数据集 -> kitti数据集格式文件(*.kitti)
evo_traj tum traj_1.txt traj_2.txt traj_3.txt --save_as_kitti   

# tum数据集 -> ROS bag文件格式(<时间戳>.bag)
evo_traj tum traj_1.txt traj_2.txt traj_3.txt --save_as_bag 

相互转换图解:
视觉SLAM笔记--第3篇: SLAM轨迹评估工具(evo安装与使用)

2.2 evo命令格式

command  bag  bagfile-path  reference-topic  estimated-topic   [options]

 -  command:指令(evo_traj、evo_ape、evo_rpe)
 -  bag:数据集名称(euroc、kitti、tum) 
 -  bagfile-path:文件所在路径(参考和估计文件在同一文件夹下)
 -  reference-topic:真实值
 -  estimated-topic:估计值
 -  [options]: 其他参数选项(-a、-s、-as)

2.3 其他参数选项-[options]

 - 自动对齐  --align 或者 -a
 - 尺度校准  --correct_scale 或者 -s
 - 自动对齐且尺度校准  --align --correct_scale 或者 -as

2.4 显示轨迹evo_traj

  • 显示单轨迹
 evo_traj  euroc  data.csv   -p   --plot_mode=xy
 evo_traj  tum    data.tum   -p   --plot_mode=xy
 evo_traj  tum    groundtruth.txt   -p   --plot_mode=xy
  • 显示双轨迹(真值和估计值)
 evo_traj  tum    CameraTrajectory.txt  --ref=data.tum   -p   --plot_mode=xy   -as
 evo_traj  euroc  CameraTrajectory.txt  --ref=data.csv   -p   --plot_mode=xy   -as
 等价于:
 evo_traj  tum    CameraTrajectory.txt  --ref=data.tum   -p   --plot_mode=xy  --align  --correct_scale
 evo_traj  euroc  CameraTrajectory.txt  --ref=data.csv   -p   --plot_mode=xy  --align  --correct_scale

视觉SLAM笔记--第3篇: SLAM轨迹评估工具(evo安装与使用)

2.5 绝对位姿误差evo_ape

 evo_ape  tum     data.tum   CameraTrajectory.txt  -va   -p   --plot_mode=xyz
 evo_ape  euroc   data.csv   CameraTrajectory.txt  -va   -p   --plot_mode=xyz

视觉SLAM笔记--第3篇: SLAM轨迹评估工具(evo安装与使用)视觉SLAM笔记--第3篇: SLAM轨迹评估工具(evo安装与使用)

2.6 相对位姿误差evo_rpe

evo_rpe  tum     data.tum   CameraTrajectory.txt   -va   -p  --plot_mode=xyz
evo_rpe  euroc   data.tum   CameraTrajectory.txt   -va   -p  --plot_mode=xyz

视觉SLAM笔记--第3篇: SLAM轨迹评估工具(evo安装与使用)视觉SLAM笔记--第3篇: SLAM轨迹评估工具(evo安装与使用)其中:

  • max: 表示最大误差;
  • mean:平均误差;
  • median:误差中位数;
  • min: 最小误差;
  • rmse:均方根误差;
  • sse: 和方差、误差平方和;
  • std: 标准差

3. 后续计划

后续将进行深度卷积网络的学习,以及VIO的SLAM课程学习,主要研究方向还是深度学习(图像和点云方向).