Manduss life
[MVG] Extrinsic Matrix and its Inverse / Camera Center 본문
교수님과 석사 선배들의 카톡으로 갑작스럽게 다음과 같은 이슈가 나왔다.
$$\begin{bmatrix}
R & t\\
0 & 1
\end{bmatrix}^{-1} = \begin{bmatrix}
R^{-1} & -R^{-1}t\\
0 & 1
\end{bmatrix}$$
Transform matrix를 역행렬 취한 값과 Rotation, Traslation 성분 따로 역 계산했을 시 동일한 matrix가 나오는지 ?
나같은 경우는 Inverse 변환을 취해야할 때 주로 Transform matrix을 구하여 역행렬을 취하여 주고,
다른 석사 선배는 Rotation, Traslation 성분 따로 계산을 해주었다고 한다.
그렇게 역행렬을 취해주었을 시 같은 결과가 나오는지 특정 Transform matrix로 계산하여 (석사 선배 이ㅇ규님이) 확인해보았고, 추가적으로 수식을 사용하여 증명을 해보았다.
- 코드 상 확인
먼저, 특정 Transform matrix로 두 가지 방법으로 계산해 보았을 때 동일한 결과가 나왔다.
위 결과를 보면 P_inv 행렬의 3x3행렬값과 R_inv 행렬이 동일하고, P_inv 행렬의 마지막 열벡터값이 t_inv값과 동일함을 알 수 있다.
- 수식 증명
다음과 같이 수식으로 증명을 해보았다.
$$\begin{bmatrix}
R & t\\
0 & 1
\end{bmatrix}^{-1}$$
$$=\left (\begin{bmatrix}
R & 0\\
0 & 1
\end{bmatrix}\begin{bmatrix}
I & t\\
0 & 1
\end{bmatrix}\right) ^{-1}$$
$$=\begin{bmatrix}
I & t\\
0 & 1
\end{bmatrix}^{-1}
\begin{bmatrix}
R & 0\\
0 & 1
\end{bmatrix}^{-1}$$
$$=\begin{bmatrix}
I & -t\\
0 & 1
\end{bmatrix}
\begin{bmatrix}
R^{-1} & 0\\
0 & 1
\end{bmatrix}$$
$$=\begin{bmatrix}
R^{-1} & -R^{-1}t\\
0 & 1
\end{bmatrix}$$
이 과정으로 위 두 행렬이 동일하다는 증명이 가능하다.
- 추가로 알아야하는 것
먼저 알아야할 것은 Extrinsic Matrix는 '월드좌표계에서 카메라 좌표계의 변환 관계'라는 것이다.
MVG(Multi View Geometry) 책에서 또한 Rotation, Translation 변환 관계를 World to Cam으로 설명한다.
그렇다면, 월드좌표계에서 카메라좌표계 변환 행렬과 반대인 카메라좌표계로부터 월드좌표계 관계식을 작성해보겠다.
$$\begin{bmatrix}
R & t\\
0 & 1
\end{bmatrix}=\begin{bmatrix}
R_{c2w} & C\\
0 & 1
\end{bmatrix}^{-1}$$
$R_{c2w}$ 는 카메라좌표계에서 월프좌표계로의 Rotation 행렬이고, $C$는 카메라의 센터이다. 월드좌표계로의 변환이라면 카메라 위치만 보면 (0, 0, 0)에서 카메라좌표($C$)로 변환된 것이기 때문에 저 변환식이 가능하다.
$$=\left (\begin{bmatrix}
R_{c2w} & 0\\
0 & 1
\end{bmatrix}\begin{bmatrix}
I & C\\
0 & 1
\end{bmatrix}\right) ^{-1}$$
$$=\begin{bmatrix}
I & C\\
0 & 1
\end{bmatrix}^{-1}
\begin{bmatrix}
R_{c2w} & 0\\
0 & 1
\end{bmatrix}^{-1}$$
$$=\begin{bmatrix}
I & -C\\
0 & 1
\end{bmatrix}
\begin{bmatrix}
{R_{c2w}}^{-1} & 0\\
0 & 1
\end{bmatrix}$$
$$=\begin{bmatrix}
{R_{c2w}}^{-1} & -{R_{c2w}}^{-1}C\\
0 & 1
\end{bmatrix}$$
그리하여 결국 다음과 같은 식을 얻을 수 있다.
$$R={R_{c2w}}^{-1}$$
$$t=-{R_{c2w}}^{-1}C \\
= -RC$$
대표적으로, 카메라 센터를 다음과 같이 Rotation, Translation matrix로 표현할 수 있다.
$$C=-R^{-1}t$$
+) Rotation matrix는 orthogonal matrix이기 때문에 Transpose결과와 inverse 결과와 동일하다.
그리하여 $C=-R^{T}t$로도 표현한다.
'전산 > MVG' 카테고리의 다른 글
[MVG] Epipolar Geometry (0) | 2022.02.07 |
---|