[Math] SE(3) and SO(3) transformation

SE(3) and SO(3) transformation


SE(3), SO(3) And GL(3,R)

SE(3), SO(3), GL(3,R) 와 관련된 내용을 정리해 보려고 한다.

만약 3차원 공간상에서 f를 x1의 점을 x2의 점으로 변환시키는 matrix R이라고 할 때 다음과 같이 표현 할 수 있다. \[f : \mathbb{R}^3 \to \mathbb{R}^3\] \[\begin{bmatrix} x_2\\ y_2\\ z_2 \end{bmatrix} = R \begin{bmatrix} x_1\\ y_1\\ z_1 \end{bmatrix}\]

이때 역행렬이 가능한 $3X3$ 매트릭스의 set은 general linear group $GL(3, \mathbb{R})$ 이다. 이런 무한개의 가능성을 갖고 있는 R 중에서 determinant 가 $\pm1$인 orthogonal matrices 들을 orthogonal group 이라고 한다.($O(3)$ $\subset$ $GL(3, \mathbb{R})$)

이러한 변환 matrix중에서 두 점의 쌍의 거리가 변하지 않는 transformation을 isometries이라고 하며, 그 중에서 determinant가 +1인 matrix을 proper isometries라고 한다. 이러한 special orthogonal group을 $SO(3)$ 라고 한다. ($SO(3)\subset O(3)$)

이런 $SO(3)$ group은 순수한 rotation만 표현 가능하다. Translation을 표현하기 위해서는 $4X4$ matrix를 고려해야 하며, 3D point들은 homogeneous coordinate으로 확장해야 한다.($GL(4, \mathbb{R})$) \[\begin{bmatrix} X_2\\ 1 \end{bmatrix} = T \begin{bmatrix} X_1\\ 1 \end{bmatrix}\] \[\begin{bmatrix} x_2\\ y_2\\ z_2\\ 1 \end{bmatrix} =\begin{bmatrix} R_{11}&R_{12}&R_{13}&T_x\\ R_{21}&R_{22}&R_{23}&T_y\\ R_{31}&R_{32}&R_{33}&T_z\\ 0&0&0&1 \end{bmatrix} \begin{bmatrix} x_1\\ y_1\\ z_1 \\ 1 \end{bmatrix}\]

이러한 T중에서 R의 determinant가 +1을 만족하며, affine rigid motion을 이루는 group을 special Euclidean group($SE(3)$)라고 부른다.(affine: 평행선의 관계는 유지되는 변환, rigid(isometry): 각 쌍의 점들의 거리가 변하지 않는 변환)

즉 \(SE(3) \subset GL(4, \mathbb{R})\)의 관계이다.

더 자세한 내용은 A tutorial on SE(3) transformation parameterizations and on-manifold optimization 를 참고하기 바란다.