[데브코스 자율주행 TIL] DAY 57 (12/07)

happy_quokka·2023년 12월 13일
0
post-thumbnail

2023.12.07 DAY57

profiler와 evo를 다 실행, 분석해보고 ORB SLAM에 대해 제대로 알고 싶어 코드를 공부하기 시작했다. 코드...정리가 잘되어 있는 것 같지만 양이 많고 함수를 타고타고 가야해서 많이 복잡하다ㅠㅠ 사실 ORB SLAM에 대해 명확하게 이해가 되지 않아서 코드를 보면 이해할 수 있을까 싶어 코드 공부를 하기 시작했다. 그런데 내용을 잘 모르니 이해하기 더 어려운 것 같다. 그!래!도! 시간이 걸리더라도! 분석해보고 싶다ㅎㅎ 화이팅!!


ORB SLAM

  • 코드를 읽다가 몰랐던 부분을 적어봐야겠다

unique_lock

  • 하나의 thread에만 접근할 수 있도록 lock을 걸어준다
  • 이 함수의 장점은 {} 또는 함수가 끝날때 자동으로 unlock 된다

FAST 알고리즘

  • grid를 나누고 각 grid 안에서 FAST를 사용하여 corner point를 검출
  • grid 마다 corner poins를 가지고 있다

BRIEF로 descriptor 계산 방법

  • keypoint 주변의 랜덤 픽셀 쌍을 선택하여 두 픽셀을 비교하여 1, 0를 return한다
  • BRIEF는 128번 반복하여 keypoint마다 128bit의 vector를 생성
  • ORB의 경우 BRIEF를 keypoint 방향에 따라 조종하여 rotation invarient하게 만든다
  • bitpattern_31
    • 두 개의 픽셀쌍을 고를 때 낮은 상관도와 높은 분산을 가진 pair를 원한다
    • 미리 여러 쌍을 학습하여 좋은 256개의 pair를 남긴다

keypoint angle 계산

  • 이 부분이 도저히 이해가 가지 않아서 강사님께 질문드렸다
  • y축 방향(세로)와 x축 방향(가로)의 gradient를 계산
  • gradient를 계산할 때 중심 keypoint에서의 거리x밝기값 으로 계산
  • 이 두 방향을 통해 angle을 계산

0개의 댓글