데브코스 자율주행 11주차 - SLAM EVO tool 설치

YUNJI·2023년 12월 6일
0
  • 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

    • 데이터와 비교하면서 증가할 때 어떤 상황인지 확인하면 좋다.
      -> 회전할 때 또는 다른 차가 있을 때(상대속도로 인해) 에러가 많이 난다.
    • 0 ~ 2 범위에 있는게 이상적

  • ORB_SLAM2 Stereo Version Result

    • map data

    • raw data

0개의 댓글

관련 채용 정보