본문 바로가기

전체 글

[SLAM] Hand-eye Calibration 개념 정리 (+ Trajectory Evaluation) 본 포스트는 공부용으로 작성되었습니다. 틀린 부분이나 수정해야 할 부분이 있다면 말씀해주시면 확인 후 반영하겠습니다. 본 포스트에서는 Visual SLAM의 성능 평가를 위하여 ground truth (GT) 데이터를 취득한 후 주로 수행하는 Hand-eye calibration에 대해 설명한다. Introduction Visual SLAM의 성능을 평가하기 위해서는 다양한 방법들이 존재하지만 실내에서는 주로 모션 캡쳐 시스템을 활용하여 ground truth (GT) 데이터를 취득한 후 성능을 평가한다. 모션 캡쳐 시스템은 일반적으로 카메라에 IR 반사 마커를 부착하여 GT 좌표계 $\{A\}$를 만든 후 실내에 고정된 여러 대의 카메라가 반사 마커를 추적하면서 GT trajectory를 만든다. 이 .. 더보기
[Curated] SLAM 유튜브 채널 Youtube(ALIDA)  1. [코드 리뷰] G2O Examples [코드 리뷰] G2O Examples  www.youtube.com 2. [코드 리뷰] Visual SLAM Book [코드 리뷰] Visual SLAM Book www.youtube.com 3. ROS 개념 및 다양한 명령어 설명 4. 리군 이론(Lie Theory) 개념 정리 (SO3, SE3)  5. 다중관점기하학(Multiple View Geometry) 개념 정리 더보기
[Curated] SLAM 입문자를 위한 로드맵 가이드 본 포스트에서는 SLAM을 처음 접하거나 아직 익숙해지지 않은 분들에게 필요한 선수 지식, 공부 자료들에 대해 설명한다. 필자는 2019년에 SLAM에 대해 처음 접하고 석사 연구 주제로 선정하였으며 그 때 많이 도움을 받은 자료 위주로 설명할 예정이다. 이후 더 좋은 자료가 있으면 업데이트할 예정이다. (last updated: 23.11.22) 1. Korean community SLAM을 공부하면서 커뮤니티의 도움을 받으면 어려운 난관을 비교적 수월하게 헤쳐나갈 수 있다. 포스팅 시점에 국내에는 크게 두 개의 커뮤니티가 존재한다. 1.1. Facebook SLAM KR SLAM KR | Facebook SLAM 연구 관련하여 정보를 나누는 공간입니다. 학문적 이론에서 실제적 구현을 거쳐 재미있는 응.. 더보기
3D 강체 변환(Rigid Body Transformation) 개념 정리 본 포스팅에서는 3차원 공간 상의 강체를 변환할 때 사용하는 다양한 표현법에 대해 설명한다. Rigid body transformation본 자료에서는 3차원 공간 상의 강체(rigid body)의 움직임을 수학적으로 표현하는 다양한 방법들에 대하여 설명한다. 강체란 이론적으로 무한대의 강성을 가지는 물체를 뜻한다. 따라서 강체는 외부에서 힘을 가해도 모양이 변형이 되지 않으며 무게중심으로 지정되는 하나의 점에 의해 운동이 결정된다.SLAM에서 강체란 일반적으로 움직이는 카메라 센서를 의미하며 시간에 따라 카메라의 형태가 일정하다고 가정하므로 강체 변환(rigid body transformation)를 사용하여 카메라의 움직임을 수학적으로 표현할 수 있다.Coordinate system본 섹션에서는 이후.. 더보기
[Curated] Download Archive Outdated (2019~2021) SLAM prerequisite (2019) 3D Rigid Body Transformation 개념 리뷰 (2019) Pose Graph-based SLAM + Bundle Adjustment 개념 리뷰 (2019) Visual SLAM, Indirect vs Direct method 개념 비교 SLAM lecture review Freiburg university's Prof. Cyrill Stachniss (2018) Ch14 Least Squares (2018) Ch15 Least Square Approach to SLAM (2018) Ch16 Hierarchical Pose Graph (2018) Ch17 LS SLAM with Landmark (2018) .. 더보기
[En] Notes on Multiple View Geometry in Computer Vision Part 1 0. Projective Space Projective geometry is an essential topic in computer vision, particularly in 3D reconstruction and Simultaneous Localization and Mapping (SLAM) algorithms. Projective geometry is the study of properties that are invariant under projective transformations. A projective transformation is a non-singular linear transformation of the projective space $\mathbb{P}^{n}$. In projecti.. 더보기
[SLAM][En] Direct Sparse Odometry (DSO) Paper Review Part 2 4. Keyframes 4.1. Inverse Depth Update To be added 4.2. Immature Point Activation To be added 4.3. Sliding Window Optimization 4.3.1. Error Function Formulation If a specific frame is determined as a keyframe, the error function must be updated between keyframes within the sliding window and a new keyframe. At this time, Local Bundle Adjustment (LBA) is performed to optimize not only the keyfram.. 더보기
[SLAM][En] Direct Sparse Odometry (DSO) Paper Review Part 1 In this post, we review the DSO paper, which is famous for its direct method-based VO algorithm. While analyzing the DSO code, I found out that there were a lot of details omitted in the thesis, and I wrote a summary that included formula derivation and code review by referring to other people's already well-organized data. 1. Initialization 1.1 Calibration Since the direct method estimates the .. 더보기
[En] Notes on Lie Theory (SO(3), SE(3)) In this post, Lie Theory used in SLAM is explained. When studying the optimization part in SLAM, Lie Theory-based optimization methods often appear, but it is difficult to understand the optimization process without prior knowledge of the content. did Most of the contents were referred to [6]. Group Theory A group refers to an algebraic structure consisting of a set and a binary operation, which.. 더보기
[En] Notes on Plücker Coordinate 1. Introduction The Plücker Coordinate representation was first introduced by the 19th century mathematician Julius Plücker. This expression is one of the ways to express a line, and is used to express a line in the 4-dimensional $\mathbb{P}^{3}$ space using a point in the 6-dimensional $\mathbb{P}^{5}$ space. do. This expression method is characterized by a one-to-one correspondence between a p.. 더보기
[SLAM][En] Errors and Jacobian Derivations for SLAM Part 2 7. IMU measurement error In order to obtain the IMU measurement error, you must first know about the IMU preintegration technique and error-state modeling. The following figure expresses the overall IMU measurement error-based optimization process. The overall IMU measurement error-based optimization process, with detailed explanations and color highlighting added for better understanding, is as.. 더보기
[SLAM][En] Errors and Jacobian Derivations for SLAM Part 1 1. Introduction This post explains the definition of various errors used in SLAM and the Jacobian derivations for nonlinear optimization. The errors covered in this post are: Reprojection error \begin{equation} \begin{aligned} \mathbf{e} & = \mathbf{p} - \hat{\mathbf{p}} \in \mathbb{R}^{2} \end{aligned} \end{equation} Photometric error \begin{equation} \begin{aligned} \mathbf{e} & = \mathbf{I}_{.. 더보기
[En] Vim - Useful plugins and C++/Python development environment 1. Introduction This post explains how to build C++/Python development environment through Vim editor on Linux. In this post, vim's code navigations plugin used youcompleteme and vim-lsp, and youcompleteme was a uniquely powerful code navigation plugin in vim before the vim-lsp came out in 2016. However, as vim-lsp supporting various programming languages appeared, both are now widely used. As o.. 더보기
[SLAM][En] Notes on Formula Derivation and Analysis of the VINS-mono This post is the study note on Yibin Wu's "Formula Derivation and Analysis of the VINS-mono" paper. If you see something wrong or needs to be corrected, please comment, and I will check it later. 1. Introduction Visualizing the camera and IMU coordinate system is as follows. Both sensors are fixed on a single board, and calibrating the board yields the extrinsic parameter $\mathbf{T}^{b}_{C}$, w.. 더보기
[SLAM] 에러와 자코비안 정리(Errors and Jacobians) 정리 Part 2 7. IMU measurement errorIMU measurement 에러를 구하기 위해서는 우선 IMU preintegration 기법과 error-state 모델링에 대해 알아야 한다. 전반적인 IMU measurement 에러 기반 최적화 과정을 표현한 그림은 위와 같다. [1]-[6] 순서대로 보면 된다. 보다 자세한 내용은 [SLAM] Formula Derivation and Analysis of the VINS-mono 내용 정리를 참조하면 된다.  NOMENCLATURE of IMU measurement error $\alpha_{b_{k+1}}^{b_{k}} \in \mathbb{R}^{3 \times 1}$: $t \in [b_{k}, b_{k+1}]$ 시간 동안 누적된 위치의 관측값 .. 더보기