본문 바로가기

Curated

[Curated] SLAM 입문자를 위한 로드맵 가이드

본 포스트에서는 SLAM을 처음 접하거나 아직 익숙해지지 않은 분들에게 필요한 선수 지식, 공부 자료들에 대해 설명한다. 필자는 2019년에 SLAM에 대해 처음 접하고 석사 연구 주제로 선정하였으며 그 때 많이 도움을 받은 자료 위주로 설명할 예정이다. 이후 더 좋은 자료가 있으면 업데이트할 예정이다. (last updated: 23.11.22)

 

1. Korean community

SLAM을 공부하면서 커뮤니티의 도움을 받으면 어려운 난관을 비교적 수월하게 헤쳐나갈 수 있다. 포스팅 시점에 국내에는 크게 두 개의 커뮤니티가 존재한다.

1.1. Facebook SLAM KR

 

SLAM KR | Facebook

SLAM 연구 관련하여 정보를 나누는 공간입니다. 학문적 이론에서 실제적 구현을 거쳐 재미있는 응용으로 까지 다양한 SLAM 관련 주제에 대해서 공유하고 토론하는 장이 되었으면 좋겠습니다. For th

www.facebook.com

포스팅 시점(23.6) 기준 3500명 규모의 페이스북 그룹이다. 국내에서는 최대 규모인 것으로 알고 있다. 개설된 지 5년 정도 되었으며 다양한 학술 자료 및 연구, 최신 뉴스 등을 공유하는 페이지이다. 신동원님이 운영자로 관리하고 있으며 비정기적으로 스터디 모임 또한 하고 있다. 페이스북 특성 상 포스팅이 빠르고 커뮤니티가 활성화되어 있진 않지만 포스팅된 글들을 천천히 훑어보며 최신 동향과 공부 리스트를 찾기 좋다. 모르는 내용에 대해 물어보면 자세한 답변을 얻을 수 있다.
 

1.2. KakaoTalk '저희는 SLAM 마스터가 될 겁니다'

 

저희는_SLAM_마스터가_될겁니다

#slam #robot #로봇 #참여코드는 ‘Simultaneous Localization and ???????) (힌트: 7글자)

open.kakao.com

포스팅 시점(23.6) 기준 1000명 규모의 카카오톡 오픈채팅방이다. 장형기님이 운영자로 관리하고 있으며 SLAM에 대한 최신 동향을 알 수 있다. 카카오톡 특성 상 커뮤니티가 활성화되어 있으며 질문 및 답변이 활발한 편이다. 
 

2. Study

2.1. Visual SLAM learner's road map

필자가 생각하는 Visual SLAM의 공부 로드맵은 다음과 같다. 각각 학문에서 필수적으로 알아야 하는 키워드를 회색 글자로 표기하였다. 개인적으로 Visual SLAM을 공부하면서 정립한 road map이므로 참고 용도로만 봐주면 좋을 것 같다. Visual SLAM을 파고자하는 경우가 아니면 다중기하학은 제외하여도 좋을 것으로 보인다. 추가적으로 Deep SLAM에 관심이 있는 독자는 딥러닝 관련 지식을 학습하면 좋을 것이다.

 

2.2. SLAMKR Online Study Season 1

 

SLAM Online Study Season 1

 

www.youtube.com

페이스북 SLAMKR 그룹에서 2019년에 업로드한 SLAM 온라인 스터디 자료이다. SLAM의 기본적인 개요부터 시작해서 Image Formation, 3D Rigid Body Transformation, Camera Model, Lie Group, Visual Odometry, Backend, Loop Closing까지 거의 모든 분야에 대해 커버하고 있어서 SLAM에 대해 공부하려면 어떤 어떤 개념들을 익혀야 하는지 로드맵을 잡는데 큰 도움이 되었다.
 

2.3. SLAMBook (English ver.)

 

GitHub - gaoxiang12/slambook-en: The English version of 14 lectures on visual SLAM.

The English version of 14 lectures on visual SLAM. - GitHub - gaoxiang12/slambook-en: The English version of 14 lectures on visual SLAM.

github.com

pdf: https://github.com/gaoxiang12/slambook-en/blob/master/slambook-en.pdf
필자가 Visual SLAM을 공부하면서 가장 많은 도움을 받은 책 중 하나이다. 해당 책은 TUM의 박사과정 학생 Xiang Gao이 2017년에 입문용으로 작성하였는데 Visual SLAM의 기초부터 심화까지 깔끔한 설명 + 수식 + 예제 코드를 통해 친절하게 설명해주기 때문에 엄청난 인기를 누렸다. 하지만 원문이 중국어로 작성되어 있어서 영문판에 대한 요구가 이어졌고 2021년에 영문 번역이 마무리 되어 공개되었다. 앞서 설명한 SLAMKR Online Study도 SLAMBook을 기반으로 하여 스터디하였을 정도로 구성이나 내용이 좋다. Visual SLAM에 관심있는 분들은 적극 추천한다.
개인적으로는 영문이 나오기 전에 신동원님 포함 SLAMKR 분들이 한글로 번역한 버전을 주로 많이 봤다.

 


2.4. SLAMBook (Korean ver.) 

 

비주얼 슬램 - 예스24

구체적인 알고리즘 구현, Kaldi 툴박스의 사용법, 음성 인식키워드 검색, 화자 인식, 언어 인식 시스템 구축이 책은 Visual SLAM을 소개하는 책이다. 그렇다면 SLAM은 뭘까? SLAM은 Simultaneous Localization and

www.yes24.com

앞서 설명한 Visual SLAM 중국어 원본을 정식으로 한국어로 번역한 책이다. 필자도 구매해보진 못했으나 주변에 들리는 평가로는 번역이 깔끔하게 잘 되어서 공부하기 좋다고 한다. Slambook을 한글로 공부하고 싶은 독자들에게 추천한다.

 

 

2.5. 신동원, 장형기님의 'NVIDIA Jetson Nano와 함께하는 SLAM 이해와 구현'

 

NVIDIA Jetson Nano와 함께하는 SLAM의 이해와 구현

안녕하세요 SLAM KR! SLAM에 입문하시는 슬린이 여러분들을 위해 SLAM KR 커뮤니티에서 공부한 내용들을 교재로 정리해보았습니다 :-) SLAM이 무엇인지 , 어디에 쓰일수 있는지 흥미를 돋우는 내용으로

dongwonshin.oopy.io

SLAMKR의 운영자이신 신동원님과 장형기님께서 23.6.15에 공개한 SLAM 교재이다. 대부분의 자료가 영어인 SLAM 필드에서 한국인 저자가 한글로 작성한 최초의 SLAM 책이라고 할 수 있다. SLAM의 배경부터, 이론, 코드 구현, 미래 방향, 자료 추천까지 거의 모든 내용에 대해 다루고 있으므로 입문자들에게 추천한다.

2.6. 주재걸 교수님의 '인공지능을 위한 선형대수'

 

인공지능을 위한 선형대수

부스트코스 무료 강의

www.boostcourse.org

주재걸 교수님의 선형대수학 강의는 선형대수학을 전혀 공부하지 않았던 필자에게 많은 도움이 되었던 수업이다. 기초부터 매우 자세하게 예시와 함께 설명해주기 때문에 선형대수 이론을 공부하는데 매우 좋았던 강의였다.
 

2.7. Robot Mapping Course (by Prof. Cyrill Stachniss)

필자가 처음으로 공부했던 SLAM 강의 영상이다. 전통적인 Filter-based SLAM 부터 최신 Graph-based SLAM까지 다양한 내용에 대해 커버하고 있으며 비교적 쉬운 설명과 양질의 슬라이드로 인해 SLAM의 전반적인 개념을 잡는데 많은 도움을 받았다. 모든 강의가 영어로 진행되기 때문에 영어에 익숙해야 강의를 원활하게 이해할 수 있다.
 

2.8. Multiple View Geometry - Lecture 1 (Prof. Daniel Cremers)

Visual SLAM을 공부하면서 필수적으로 공부해야 하는 Multiple View Geometry를 설명하는 강의이다. TUM의 Daniel Cremers 교수님이 직접 강의하시며 Visual Odometry에 필요한 MVG의 핵심 개념들을 배울 수 있다. 모든 강의가 영어로 진행되기 때문에 영어에 익숙해야 강의를 원활하게 이해할 수 있다.
 

2.9. Lie theory for the roboticist (by Joan Sola)

SLAM을 공부하면서 최적화를 공부하면 Lie Theory를 자주 접하게 된다. 처음에 이론적인 배경을 모르고 들으면 복잡한 수학에 압도되어 더 나아가기 어렵다. 유튜브에 Joan Sola님의 강의는 복잡한 Lie Theory를 다양한 그림 자료와 함께 자세하게 설명해주기 때문에 개념을 잡기에 매우 좋다. 모든 강의가 영어로 진행되기 때문에 영어에 익숙해야 강의를 원활하게 이해할 수 있다.
 
 

3. My posting

필자가 SLAM을 공부하면서 느낀점 중 하나는 인터넷에 양질의 자료는 많지만 너무 파편화되어있고 영어로 작성되어 있어서 이를 공부하는데 많은 시간이 소요된다는 것이었다. 따라서 이를 한글로 한 번에 정리하는 자료를 PPT, PDF 포맷으로 SLAMKR에 게시하였고 추후 블로그를 시작하여 지속적으로 포스팅하고 있다. SLAM을 공부하면서 필요하다고 생각하는 선수 지식들을 블로그 포스팅으로 정리하였다. 
 

3.1. Linear Algebra

 

선형대수학 (Linear Algebra) 개념 정리

pdf version is available here: Go to download 본 포스트는 선형대수학의 전반적인 내용에 대해 간락히 정리한 내용이다. 대부분의 내용은 인공지능을 위한 선형대수 - 주재걸 교수님 (edwith) 영상을 참고하

alida.tistory.com

Edwith의 주재걸 교수님의 '인공지능을 위한 선형대수'라는 강의를 듣고 이를 정리한 내용의 블로그 포스팅이다. 선형 방정식부터 선형 시스템, 행렬의 Rank와 Null Space, Least Squares, SVD 등등 많은 내용들을 쉽게 자세하게 설명해주셔서 선형대수학을 공부하는 데 많은 도움이 되었다.

 

3.2. Robotics (Spatial Transformation)

 

3D Rigid Body Transformation 개념 정리

pdf version is available here: Go to download 본 포스팅에서는 3차원 공간 상의 강체를 변환할 때 사용하는 다양한 표현법에 대해 설명한다. Rigid body transformation 본 자료에서는 3차원 공간 상의 강체(rigid bod

alida.tistory.com

로봇공학에서 배우는 3차원 물체의 변환과 관련된 내용을 정리하였다. Coordinate System, Rotation Matrix, Transformation Matrix부터 시작하여 다양한 3차원 회전 표현법들인 Angle-axis, Euler Angle, Quaternion에 대해 공부할 수 있다.
 

3.3. Multiple View Geometry Part 1,2,3

 

Multiple View Geometry in Computer Vision 책 내용 정리 Part 1

pdf version is available here: Go to download 0. Projective Space 사영 공간(projective space) $\mathbb{P}^{n}$는 $\mathbb{R}^{n+1}$ 공간 상의 원점을 지나는 직선들의 집합을 의미한다. 따라서 원점을 제외한 $\mathbb{R}^{n+1}$

alida.tistory.com

Visual SLAM에 관심이 있다면 필수적으로 공부해야 하는 Hartley의 "Multi View Geometry in Computer Vision" 책을 한글로 정리한 포스팅이다. 석사과정 때 들었던 MVG 수업과 인터넷 상의 다양한 자료를 참고하여 정리하였다. Projection Space, Camera Models, Homogeneous Coordinate, Epipolar Geometry 등 Visual SLAM의 필수적인 내용들을 공부할 수 있다.
 

3.4. Lie Theory (SO(3), SE(3))

 

Lie Theory 개념 정리 (SO(3), SE(3))

pdf version is available here: Go to download Introduction 본 포스트에서는 SLAM에서 사용되는 Lie Theory에 대해 설명한다. SLAM에서 최적화 부분을 공부하다보면 Lie Theory 기반의 최적화 방법이 자주 나오는데 해

alida.tistory.com

SLAM을 공부하면서 가장 수학적으로 난해했던 부분인 Lie Theory를 정리하였다. 대부분의 내용은 유튜브의 Lie theory for the roboticist (by Joan Sola) 영상을 참고하였다. SLAM 최적화 부분에서 항상 나오는 Lie Theory가 왜 사용되는지, 어떤 성질을 가지고 있는지 자세하게 작성하였다.
 

3.5. Plücker Coordinate 

 

Plücker Coordinate 개념 정리

pdf version is available here: Go to download 1. Introduction Plücker Coordinate 표현법은 19세기 수학자 Julius Plücker에 의해 처음 소개되었다. 해당 표현법은 직선을 표현하는 방법 중 하나로 6차원 $\mathbb{P}^{5}$ 공

alida.tistory.com

3차원 공간 상의 직선을 나타내는 방법 중 하나인 Plücker Coordinate를 공부하면서 마땅한 한글 자료 및 전체적으로 알아보기 쉽게 정리한 포스팅이 없다고 생각하여 이를 직접 정리하였다. 이는 SLAM에서 Line Feature를 표현 및 최적화할 때 사용하는 방법으로 Line Feature 기반의 SLAM을 공부한다면 필수적으로 알아야 할 개념이다.
 

3.6. Kalman Filter (+ Probability Theory)

 

Kalman Filter (KF, EKF, ESKF) 개념 정리

pdf version is available here: Go to download 본 포스트는 Kalman Filter 공부하면서 배운 내용을 정리하는 포스트이다. Probability theory Sample space and event 어떤 시행에서 일어날 수 있는 모든 결과들의 모임을 표

alida.tistory.com

최적화 기반 SLAM 이전에 널리 연구되었던 EKF SLAM을 공부하거나 VIO에서 IMU의 Error-state System Equation을 이해하기 위해서는 우선 Kalman Filter를 이해해야 한다. Joint Gaussian, Mutlivarite Gaussian 등 확률 이론의 기본 개념에 대해 소개한 후 KF, EKF, ESKF에 대해 설명한다. 

 

4. Useful posting

SLAM 관련하여 잘 정리된 자료들을 공유한다. 순서는 무작위로 리스팅하였다.

  1. Visual Odometry and vSLAM - IanFlow 블로그
  2. How to use g2o - IanFlow 블로그
  3. Visual Odometry - Miller Shin 블로그
  4. ORB SLAM의 구조와 쓰레드 영상 - Yotube : 한동대학교 황성수 교수님이 설명해주시는 ORB SLAM 분석 영상이다
  5. 50가지 CV/SLAM 기술면접 질문 리스트 - cv-learn 블로그 : 다양한 SLAM의 이론적 내용을 면접 질문/답변 형식으로 정리하셔서 개념을 공부하기 좋다

 

5. Useful blog

잘 정리된 국내 SLAM 엔지니어분들의 블로그를 공유한다. 개인적으로 SLAM 공부하면서 많이 참조하였다. 아래 리스트에 없는 좋은 SLAM 블로그가 있는 경우 댓글로 언급해주면 추가하도록 하겠다. (순서는 무작위로 리스팅하였다.)
 
- https://limhyungtae.github.io/

 

Hyungtae Lim

Robotics, Deep Learning, and SLAM {% for post in paginator.posts %} {{ post.title }} {% if post.subtitle %} {{ post.subtitle }} {% endif %} Posted on {{ post.date | date: site.date_format }} {% if post.image %} {% endif %} {{ post.excerpt | strip_html | xm

limhyungtae.github.io


- https://slamwithme.oopy.io/

 

슬램과 함께 춤을

Profile ──

slamwithme.oopy.io


- https://changh95.github.io/

 

cv-learn

Vision, SLAM, Spatial AI

www.cv-learn.com


- http://jinyongjeong.github.io/

 

Blog · Jinyong

Ubuntu bluetooth HFP profile issue (No microphone issue) I am using Ubuntu 18.04 on two laptop (dell XPS9700, Lenovo X1 carbon 7th). In both laptop, I was not able to use my Bluetooth earphone for online meeting because I can’t find any micro phone. I te

jinyongjeong.github.io


- https://gisbi-kim.github.io/

 

Giseop Kim - Blog Main

I obtained a Ph.D. (2022) at KAIST, South Korea. I was a member of the IRAP lab (currently moved to RPM Robotics Lab, SNU), and advised by Prof. Ayoung Kim. My research topic during Ph.D. had been focused on LiDAR-based robust 3D mapping in complex urban s

gisbi-kim.github.io

 
- https://gsk1m.github.io/

 

Giseop Kim Blog

Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.

gsk1m.github.io

 
- https://dongwonshin.oopy.io/

 

신동원 Dong-Won Shin

NFT (Non-Fungible Talented, 대체 불가능 인재)가 되고 싶은 자율주행 개발자

dongwonshin.oopy.io


- https://taeyoung96.github.io/

 

Taeyoung’s Blog

Taeyoung96의 개발 블로그입니다.

taeyoung96.github.io


- https://youngguncho.github.io/

 

Home

The official Hydejack blog. Version updates, example content and how-to guides on how to blog with Jekyll. Open index.html to edit this text.

youngguncho.github.io

 

- https://merobot.tistory.com/

 

MEROBOT

SLAM을 연구하는 오현준 입니다 [Github] www.github.com/Hyounjun-Oh [E-mail] ohj_980918@naver.com

merobot.tistory.com