Fundamental 썸네일형 리스트형 Quaternion kinematics for the error-state Kalman filter 내용 정리 Part 2 3 Quaternion conventions. My choice3.1 Quaternion flavors쿼터니언은 다양한 표기법이 존재한다. 일반적으로 다음과 같이 4개의 선택지가 존재한다.실수부와 허수부를 어디에 둘 것인가에 따라\begin{equation} \mathbf{q} = \begin{bmatrix} q_{w} \\ \mathbf{q}_{v} \end{bmatrix} \quad \text{vs.} \quad \mathbf{q} = \begin{bmatrix} \mathbf{q}_{v} \\ q_{w} \end{bmatrix} \end{equation}쿼터니언 대수학을 어떻게 정의하느냐에 따라\begin{equation} ij = -ji = k \quad \text{vs.} \quad ji = -.. 더보기 Quaternion kinematics for the error-state Kalman filter 내용 정리 Part 1 본 포스트는 Joan Solà의 "Quaternion kinematics for the error-state Kalam filter (2017)" 페이퍼를 정리한 포스트이다. 이는 Quaternion과 SO(3) 군, Error-state Kalman filter 모델링에 대해 자세히 나와있어서 SLAM을 공부할 때 이론적인 부분을 참고하면 좋은 페이퍼이다.1 Quaternion Definition and properties1.1 Definition of quaternion두 개의 복소수 $A = a+bi, C=c+di$가 주어졌을 때 이를 $Q=A+Cj$와 같이 구성하고 $k \triangleq ij$로 정의하면 $Q$는 쿼터니언 공간 $\mathbb{H}$ 안에 존재하는 수가 된다.\begin{equ.. 더보기 칼만 필터(Kalman Filter) 개념 정리 (+ KF, EKF, ESKF, IEKF, IESKF) Part 1 본 포스트는 필자가 Kalman filter 공부하면서 배운 내용을 정리한 포스트이다.다음 포스팅 칼만 필터(Kalman filter) 개념 정리 Part 2에서 더 많은 내용을 확인할 수 있다.Kalman filter를 이해하는데 필요한 기반 지식은 확률 이론(Probability Theory) 개념 정리 포스팅을 참조하면 된다.Particle filter에 대해 알고 싶으면 파티클 필터(Particle Filter) 개념 정리 포스팅을 참조하면 된다.arXiv preprintEnglish version Notes on Kalman Filter (KF, EKF, ESKF, IEKF, IESKF)The Kalman Filter (KF) is a powerful mathematical tool widely.. 더보기 선형대수학 (Linear Algebra) 개념 정리 Part 2 본 포스트에서는 주로 행렬대수학과 관련된 내용을 다룬다.선형대수학 (Linear Algebra) 개념 정리 Part 1은 일반적인 선형대수학의 내용을 다룬다.확률 이론에 대한 내용을 알고싶으면 확률 이론(Probability Theory) 개념 정리 포스트를 참조하면 된다. Chapter 6 - Matrix algebraIdentity matrix항등행렬(Identity Matrix)는 대각성분이 전부 1이고 나머지 성분이 전부 0인 $n\times n$ 크기의 정방행렬을 의미한다. 일반적으로 $\mathbf{I} \in \mathbb{R}^{n\times n}$ 으로 표현한다.\begin{equation}\begin{aligned}\mathbf{I} = \begin{bmatrix} 1 & 0 & 0 \.. 더보기 [SLAM] Optical Flow와 Direct Method 개념 및 코드 리뷰 본 포스트에서는 optical flow와 direct method의 개념을 리뷰한다. direct method 관련 내용은 [4]에서 대부분의 내용을 참고했다.Optical flowOptical flow는 시간 경과에 따른 이미지 간 픽셀 이동을 계산하는 알고리즘을 말한다. Opticalflow는 이미지의 밝기 변화를 기반으로 알고리즘을 계산하기 때문에 다음과 같은 key assumption들이 존재한다 1. 밝기 항상성 (brightness consistency) : 어떤 물체의 픽셀은 프레임이 바뀌어도 그 값이 변하지 않아야 한다. gray 영상의 경우 추적하고 있는 물체의 픽셀 밝기는 변하지 않는다고 가정한다. 2. 작은 움직임 (small motion) : 영상 내에서 움직임은 그다지 빠르지 .. 더보기 [SLAM] Bundle Adjustment 개념 리뷰 본 포스트는 공부 목적으로 작성하였습니다. 혹시 보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글이나 메일주시면 확인 후 수정하도록 하겠습니다. 본 포스트에서는 feature-based VO를 기반으로 reprojection 에러를 최소화하여 bundle adjustment(BA)를 수행하는 과정에 대해 설명한다. Bundle adjustment 두 개의 이미지 사이의 매칭점 쌍들이 주어진 경우 8-point 알고리즘을 사용하여 fundamental matrix $\mathbf{F}$를 추정할 수 있다. 만약 캘리브레이션된 카메라의 경우 $\mathbf{F}$를 통해 essential matrix $\mathbf{E}$를 구할 수 있다. \begin{equation} \begin{aligned} \.. 더보기 [SLAM] Feature-based와 Direct method VO 개념 비교 본 포스트는 공부 목적으로 작성하였습니다. 혹시 보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글이나 메일주시면 확인 후 수정하도록 하겠습니다. 해당 포스트는 앞서 pdf 파일로 정리했던 자료를 포스팅한 글입니다. 자세한 내용은 다음 링크를 통해 확인해주세요. https://www.facebook.com/groups/slamkr/permalink/1043277826031861/ 해당 포스트는 visual odometry 알고리즘에서 포즈를 계산하는 대표적인 두가지 방법인 feature-based와 direct method의 차이점에 대해 설명한다. feature-based는 ORB SLAM2 코드를 참조하여 작성하였고 direct method는 DSO 코드를 참조하여 작성하였다. 두 방법 모두 처음.. 더보기 [SLAM] Pose Graph Optimization 개념 설명 및 예제 코드 분석 1. Introduction 로봇이 SLAM을 수행하는 동안 센서 데이터가 입력으로 들어오는데 순차적으로 들어오는 센서 데이터들의 차이를 통해 로봇의 포즈를 계산하는 알고리즘을 Odometry 또는 Front-end 라고 한다. 이 때, 센서 데이터의 노이즈로 인해 Odometry는 필연적으로 에러를 포함하고 있는데 시간이 지날수록 에러는 누적되어 전체적인 Trajectroy가 어긋나게 된다. 이러한 문제를 해결하기 위해 1997년 Lu and Milios는 로봇의 포즈를 그래프 자료구조로 표현함으로써 최적화하는 GraphSLAM 방법을 제안하였다. GraphSLAM의 Pipeline은 크게 Front-end와 Back-end로 구분할 수 있다. 로봇의 센서를 입력으로 받아 Pose Graph를 생성하는.. 더보기 다중관점기하학(Multiple View Geometry in Computer Vision) 책 내용 정리 Part 3 Youtube 다중관점기하학(Multiple View Geometry) 개념 정리 www.youtube.com1. The Trifocal Tensor1.1. The geometric basis for the trifocal tensorThree-View Geometry에서 Trifocal Tensor $\mathcal{T}$는 Two-View Geometry에서 Fundamental Matrix $\mathbf{F}$와 유사한 역할을 한다. $\mathbf{F}$와 유사하게 $\mathcal{T}$은 서로 다른 세 개의 카메라 이미지 평면들을 특별한 제약조건으로 구속시킨다.1.1.1. Incidence relations for lines월드 평면 상의 한 직선 $\mathbf{L}$과 이를 바라보고 있는.. 더보기 다중관점기하학(Multiple View Geometry in Computer Vision) 책 내용 정리 Part 2 Youtube 다중관점기하학(Multiple View Geometry) 개념 정리 www.youtube.com1. Epipolar Geometry and the Fundamental Matrix1.1. Epipolar geometryEpipolar geometry는 2개의 카메라 이미지 사이에 정의되는 기하학 관계 를 의미한다. 이는 3차원 물체의 구조와는 독립적이며 오로지 카메라의 내부 파라미터와 두 카메라 사이의 상대 포즈에만 의존한다. 위 그림과 같이 3차원 공간 상에 두 카메라의 중심점 $\mathbf{C}, \mathbf{C}^{\prime}$과 점 $\mathbf{X}$가 주어졌을 때 세 점을 통해 유일하게 결정되는 평면을 Epipolar Plane $\pi$ 라고 한다. 또한 카메라의 중심점.. 더보기 다중관점기하학(Multiple View Geometry in Computer Vision) 책 내용 정리 Part 1 Youtube 다중관점기하학(Multiple View Geometry) 개념 정리 www.youtube.com0. Projective Space사영 공간(projective space) $\mathbb{P}^{n}$는 $\mathbb{R}^{n+1}$ 공간 상의 원점을 지나는 직선들의 집합을 의미한다. 따라서 원점을 제외한 $\mathbb{R}^{n+1}$ 공간 상의 모든 원소를 포함한다. 엄밀히 말하면 허수를 제외한 실수만 취급하므로 $\mathbb{RP}^{n}$라고 써야하지만 본 포스팅에서는 편의를 위해 $\mathbb{P}^{n}$를 사용한다.\begin{equation}\begin{aligned}\mathbb{P}^{n} = \mathbb{R}^{n+1} - \{0\} \\\end{aligned.. 더보기 Plücker Coordinate 개념 정리 1. IntroductionPlücker Coordinate 표현법은 19세기 수학자 Julius Plücker에 의해 처음 소개되었다. 해당 표현법은 직선을 표현하는 방법 중 하나로 6차원 $\mathbb{P}^{5}$ 공간 상의 한 점을 사용하여 4차원 $\mathbb{P}^{3}$ 공간 상의 직선을 표현할 때 사용된다. 해당 표현법은 자체 제약조건으로 인해 $\mathbb{P}^{5}$ 곡면(quadric) 상의 한점과 $\mathbb{P}^{3}$ 공간 상의 직선이 일대일 대응을 이루는 특징이 있다. 사영 공간(projective space)에 대한 자세한 내용은 해당 포스팅을 참조하면 된다. MVG 책에서는 일반적으로 3차원 공간 상의 점을 $\mathbf{X} = [X,Y,Z,W] \in \m.. 더보기 선형대수학 (Linear Algebra) 개념 정리 Part 1 본 포스트는 선형대수학의 전반적인 내용에 대해 간락히 정리한 내용이다. 대부분의 내용은 인공지능을 위한 선형대수 - 주재걸 교수님 (edwith) 영상을 참고하여 제작하였다.선형대수학 (Linear Algebra) 개념 정리 Part 2 는 주로 행렬대수학과 관련된 내용을 다룬다.확률 이론에 대한 내용을 알고싶으면 확률 이론(Probability Theory) 개념 정리 포스트를 참조하면 된다. Chapter 1 - Linear SystemsLinear Equation선형방정식(Linear Equation)은 변수 $x_{1}, \cdots, x_{n}$이 있을 때 다음과 같이 작성할 수 있는 방정식을 의미한다.\begin{equation}\begin{aligned}a_{1}x_{1}+a_{2}x_{2}.. 더보기 리군 이론(Lie Theory) 개념 정리 - SO(3), SE(3) Youtube Lie Theory 개념 정리 (SO3, SE3) www.youtube.com Introduction본 포스트에서는 SLAM에서 사용되는 Lie Theory에 대해 설명한다. SLAM에서 최적화 부분을 공부하다보면 Lie Theory 기반의 최적화 방법이 자주 나오는데 해당 내용에 대한 선수지식이 없으면 최적화 과정을 이해하기 힘드므로 본 포스트에서는 SLAM의 최적화 부분을 이해하는데 필요한 핵심적인 내용을 간략하게 정리하였다. 대부분의 내용은 [6]을 참고하였다. Group Theory군(Group)은 집합과 두 원소의 연산인 이항 연산(binary operation)으로 이루어진 대수적 구조를 말한다. 예를 들어, 어떤 집합을 $A$ 라고 하고 어떤 이항 연산을 $*$ 으로 표시했을.. 더보기 오일러 각도 (Euler Angle) 개념 정리 내용을 보강하여 3D Rigid Body Transformation 개념 정리 포스트에 업로드하였습니다. 1 Introduction 해당 포스트에서는 오일러 각도 (Euler Angle) 표현법에 대해 다룬다. 오일러 각은 3차원 물체의 방향(orientation)을 3개의 서로 수직인 X,Y,Z축 각도로 표현하는 방법 중 하나이다. 2 Euler Angle vs Fixed Angle 3개의 각도로 물체의 방향을 표현할 때 크게 고정 각도(fixed angle)표현법과 오일러 각도(euler angle) 표현법이 있는데 오일러 각도는 회전한 축을 기준으로 다음 회전을 한다는 점 이 고정 각도 표현법과 다르다. 아래 그림과 같이 $Z,Y$ 축을 순차적으로 돌리는 경우를 생각해보자. 오일러 각도는 회전한 축.. 더보기 이전 1 2 3 다음