MichaelGrupp / evo

Python package for the evaluation of odometry and SLAM
https://michaelgrupp.github.io/evo/
GNU General Public License v3.0
3.52k stars 756 forks source link

Effect of alignment on RPE #214

Closed thohemp closed 5 years ago

thohemp commented 5 years ago

Hello,

I want to compare my TUM data test from orbslam2 with the groundtruth. Using the avo_rpe I receive a rmse of 0.02m. But when I try to plot it both graphs are completely different: image

MichaelGrupp commented 5 years ago

Did you maybe run evo_ape with alignment and evo_traj without alignment?

thohemp commented 5 years ago

Thanks for your answer. What do you mean with alignment? I use the output cameratrajectory from the fr1 room dataset and the corresponding groundtruth.

MichaelGrupp commented 5 years ago

This here: https://github.com/MichaelGrupp/evo/wiki/evo_traj#geometric-alignment

If you're not sure please post your commands.

thohemp commented 5 years ago

Hm, i used following command for plotting:

evo_traj tum CameraTrajectory.txt groundtruth.txt -p

which results in the plot above.

For rpe I used: evo_rpe tum CameraTrajectory.txt groundtruth.txt

with following output:

RPE w.r.t. translation part (m) for delta = 1 (frames) using consecutive pairs (not aligned)

   max      0.112366
  mean      0.008361
median      0.006333
   min      0.000243
  rmse      0.011756
   sse      0.186722
   std      0.008264
thohemp commented 5 years ago

Okay, according to your link, I used: evo_traj tum CameraTrajectory.txt --ref groundtruth.txt -p --align_origin

which gives m image e a much better result plot:

I am doing this right?

MichaelGrupp commented 5 years ago

Ah, I misread your text. You are using evo_rpe, not evo_ape.

The relative pose error doesn't change if the trajectories are aligned or not because it's comparing relative poses. So your results are expected.