SLAM에서 Lie group & Lie algebra 사용 (참고 자료)
SLAM에서 Lie group & Lie algebra 쓰는 이유와 무엇인지 알아보자.
어느 순간 SLAM 관련 논문을 읽으면서 Lie group과 Lie algebra만 나오면 Skip을 하는 내 자신을 발견하게 되었다…
이번 주제로 포스팅을 진행하려다 좋은 Reference들을 참고하면 충분히 다른 분들도 이해를 하실 것 같아 (아직 내가 이해가 덜 됐기 때문에ㅎ),
공부를 할 때 참고한 사이트의 링크를 공유하는 것으로 이번 포스팅을 짧게 하려고 한다.
우선 SLAM에서 Lie group & Lie algebra를 사용하는 이유를 간단히 설명하면 다음과 같다.
아래에 설명하는 내용은 “Introduction to Visual SLAM From Theory to Practice” By Xiang Gao and Tao Zhang에 Chapter 3 Lie Group and Lie Algebra의 앞부분을 간략하게 번역한 내용이다.
SLAM에서는 카메라 포즈를 추정하게 되는데 주로 Rotation Matrix $R$과 Translation vector $t$를 활용하여 표현한다. 하지만 Rotation Matrix에는 constraints(제약 조건)이 붙게되는데 직교(orthogonal) 행렬이여야 하며, 행렬식 값이 1이여야 한다.
정교한 카메라 포즈를 추정하기 위해 우리는 최적화라는 단계를 진행하게 된다.
하지만 앞서 카메라 포즈를 표현하는 Rotation Matrix $R$과 Translation vector $t$를 그대로 활용하여 최적화를 하면 어떻게 될까?
안그래도 최적화가 어려운데, Rotation Matrix $R$에 붙는 constraints(제약 조건)를 지키면서 최적화를 수행하긴 정말 어려운 작업이 될 것이다.
따라서 우리는 Lie group과 Lie algebra의 관계를 이용하여 카메라 포즈를 추정하는 것을 제약없는 최적화 문제로 변환한다.
이것이 SLAM에서 Lie group 과 Lie algebra의 개념을 사용하는 이유이다.
그렇다면 Lie group 과 Lie algebra을 참고자료들을 통해서 이해해보자.
Lie group 과 Lie algebra는 수식이 난무하기 때문에 어려운 내용이라고 생각한다. 같은 내용일 수 있지만 반복적으로 참고자료를 활용해서 공부하다보면 감을 잡을 수 있다고 하는데 나도 아직 잘 모르는게 현실이다.😅😅
너무 깊게 파고들기 보단 SLAM에서 나오는 용어 및 단어들에 친숙해지고 사용하는 이유에 대해서만 알고 넘어가야겠다.
Lie group을 알기 전에 Rigid Body Transformation에 대해서도 알아야 하는데, 관계된 포스팅도 참고자료에 집어넣었다.
참고자료
Lie Group
- SLAM KR - 20190210 Lie Group and Lie Algebra [Youtube]
- SLAM KR - 20190217 Lie Group and Lie Algebra, Nonlinear optimization [Youtube]
- Lie Theory 개념 정리 - ALIDA님 블로그
- 입문 Visual SLAM 14강 (제4장) : Introduction to Visual SLAM From Theory to Practice를 한글로 번역 [Google docs]
- STATE ESTIMATION FOR ROBOTICS (in English [PDF]) - Chapter 7을 참고
- Lie Groups for 2D and 3D Transformations (in English [PDF])
Rigid Body Transformation
혹시 Lie Group 과 Rigid Body Transformation을 정리해 놓은 글 및 영상이 있으면 댓글로 알려주시면 감사드리겠습니다. 😆 😆
댓글남기기