Xiang Gao, Tao Zhang 저자의 'Introduction to Visual SLAM from Theory to Practice' 책을 통해 SLAM에 대해 공부한 내용을 기록하고자 한다.
책의 내용은 주로 'SLAM의 기초 이론', 'system architecture', 'mainstream module'을 다룬다.
포스팅에는 기초 이론만 다룰 것이며, 실습을 해보고 싶다면 다음 github를 참조하자.
https://github.com/gaoxiang12/slambook2
GitHub - gaoxiang12/slambook2: edition 2 of the slambook
edition 2 of the slambook. Contribute to gaoxiang12/slambook2 development by creating an account on GitHub.
github.com
Visual Odometry 이전 과정인 feature extraction 및 feature matching 과정에 대한 내용은 다음 글을 참조하자.
https://jjuke-brain.tistory.com/entry/Visual-Odometry-1-ORB-Feature-Feature-Matching
Visual Odometry (1) - Feature Method, ORB Feature, Feature Matching
Xiang Gao, Tao Zhang 저자의 'Introduction to Visual SLAM from Theory to Practice' 책을 통해 SLAM에 대해 공부한 내용을 기록하고자 한다. 책의 내용은 주로 'SLAM의 기초 이론', 'system architecture', 'ma..
jjuke-brain.tistory.com
카메라의 motion(pose)를 추정할 때의 세 가지 경우 중 2D-2D case인 epipolar geometry를 다루는 내용은 다음을 참조하자.
Triangulation
Epipolar geometry를 통해 카메라의 motion을 추정한 뒤, 이를 활용하여 feature point들의 위치를 추정해 주어야 한다.
그런데 monocular SLAM에서는 픽셀의 detph를 모르므로, triangulation을 통해 이러한 depth를 추정해줄 필요가 있다.
Triangulation이란, 같은 landmark(feature point)를 다른 위치에서 관측하고, 관측 위치와 landmark 간의 거리를 구하는 과정을 말한다.
Direct Solution

위와 같이 왼쪽 이미지가 reference인
카메라의 principal points
여기서 두 직선
실제로 노이즈 때문에 그림과 같이 두 직선이 완전히 교차하지 않을 수 있다. (그림 상에서는 2차원으로 표현해서 교차해 보이지만, 실제로 3차원 상에서는 화면을 뚫고 들어가는 방향의 거리가 존재한다고 생각하면 된다.)
따라서 이를 least-square 개념으로 풀 수 있다.
Epipolar geometry의 정의에 따라, 두 feature points의 normalized coordinate를 각각
이제 epipolar geometry의 결과인
기하학적으로,
여러 방법이 있지만, 결과는 비슷하다.
스스로의 외적이 되므로 좌변은 영벡터가 되고, 우변은
이렇게 depth를 구할 수 있는데, 문제는 노이즈가 존재하기 때문에 epipolar geometry로 구한
따라서 이와 같은 direct solution을 얻기보다 least-square solution을 얻는 방법이 더 일반적이다.
Least-square solution은 OpenCV 라이브러리에 구현되어 있다.
Limitation & Uncertainty
Triangulation을 수행할 때, 카메라가 점
또한, 아래와 같이 triangulation contradiction을 야기하는 triangulation의 uncertainty를 고려해야 한다.

Translation
Triangulation의 정확도를 높이기 위해서는 다음과 같은 방법을 사용한다.
- Feature points 추출 시 정확도를 향상시킨다. 즉, image의 resolution을 증가시킨다.
- 이는 계산량을 증가시키는 문제를 낳는다.
- Translation의 양을 증가시킨다.
- 직관적으로 생각해봐도 translation이 커질수록 보이지 않던 부분이 많이 보일 것이다. 하지만 외관이 너무 많이 바뀌어도 feature extraction과 matching이 어려워질 수 있다.
- 이러한 trade-off를 contradiction of triangulation이라 한다.
최근댓글