evo
Python package for the evaluation of odometry and SLAM
github : https://github.com/MichaelGrupp/evo
evo 설치 명령어
pip install evo --upgrade --no-binary evo
sudo apt install python-tk
issue : evo_traj: command not found
solution : python pkg 설치 미적용으로 프로그램 재부팅
issue : evo_traj kitti KeyFrameTrajectory.txt -p를 실행했더니, [ERROR] KITTI pose files must have 12 entries per row and no trailing delimiter at the end of the rows (space) 발생
solution : 갖고 있는 KetFrameTrajectory 형식을 확인해보니, 8개의 인자를 가짐 >> Kitti 형식이 아니고 Tum 형식
-> evo_traj tum KeyFrameTrajectory.txt -p 사용
Result
issue : https://www.cvlibs.net/datasets/kitti/eval_odometry.php 에서 제공한 GT 데이터는 kitti 형식
solution : python /home/evo/contrib/kitti_poses_and_timestamps_to_trajectory.py
Result
issue : GT 데이터와 KeyFrameTrajectory 간 scale이 맞지 않음
solution : --align --correct_scale or -as option을 사용해 Sim(3) Umeyama alignment (rotation, translation, scale) 수행, 참조
Result
TUM 형식의 Trajectory와 GT 데이터의 APE(Absolute pose error) 값 비교(with Sim(3) alignment)
-> evo_ape tum 00_tum.txt KeyFrameTrajectory.txt -vap -as
ORB_SLAM2 Monocular Version Result
map data
raw data
mean : 전체 평균, 전체적인 값을 볼 때, 작은 게 좋다
median : 중앙값, 튀는 값을 제외하고 볼 때, 작은 게 좋다
rmse : 평균 제곱근 오차, 보통 mean, median 보다 높은데, 제곱으로 인해 튀는 것에 대한 영향이 더 많아지기 때문이다. 1차로 성능 변화를 한 눈에 확인하고 싶다면 rmse를 활용한다.
std : 표준편차, 안정성 확인할 때 사용한다. (아마 3σ)
APE
ORB_SLAM2 Stereo Version Result
map data
raw data