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 를 참고하기 바란다.