evo使用

"evo usage"

Posted by xxc on October 10, 2023

安装

pip install evo --upgrade --no-binary evo
evo_traj - 用于分析,绘制或导出一个或多个轨迹的工具
evo_res - 用于比较evo_ape或evo_rpe一个或多个结果文件的evo_rpe
evo_fig - 用于重新打开序列化图的(实验性)工具(使用--serialize_plot保存)
evo_config - 全局设置和配置文件操作的工具

Plot_traj

evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz

APE

evo_ape tum 0-mono-cidi-CameraTrajectory.txt 1-gps.txt -r full -v -a   --plot --plot_mode xyz
参数解析
-v表示verbose mode,详细模式

–align/-a表示采用SE(3) Umeyama对齐,其余可选项如下表所示。

–align --correct_scale/ -as尺度对齐

–correct_scale/-s  仅对齐尺度

不加-s表示默认尺度对齐参数为1.0,即不进行尺度对齐。

–plot表示画图,–plot_mode选择画图模式,二维图或者三维图,可选参数为[xy, xz, yx, yz, zx, zy, xyz],默认为xyz。

RPE

evo_rpe tum data.txt XXX.txt -r trans_part --delta 1 --delta_unit m -v -as -p --save_results ./ours_stereo.zip
参数解析

-r表示rpe所基于的姿态关系,不添加-r/–pose_relation和可选项,则默认为trans_part。

无单位的full和rot_part的误差指标比较特殊,使用了矩阵的二范数。比较而言,用平移误差单位为m,旋转误差单位可以是度或弧度,更容易理解。

  • –d/–delta表示相对位姿之间的增量;
  • –u/–delta_unit表示增量的单位,可选参数为[f, d, r, m],分别表示[frames, deg, rad, meters];
  • –d/–delta -u/–delta_unit合起来表示衡量局部精度的单位,如每米,每弧度,每百米等。
  • 其中–delta_unit为f时,–delta的参数必须为整形,其余情况下可以为浮点型。–delta 默认为1,–delta_unit默认为f。

轨迹对齐

若轨迹原点不同,需要轨迹对齐

evo_traj tum estTraj.txt --ref realTraj.txt -p -a
--ref参数指定参考轨迹,并增加参数-a(或--align)进行对齐(旋转与平移)