6.148 본질 행렬과 카메라 자세 복원

본질 행렬(essential matrix)은 캘리브레이션된 두 카메라 사이의 에피폴라 기하학을 기술하는 행렬로, 기본 행렬(fundamental matrix)에서 카메라 내부 파라미터의 영향을 제거한 것이다. 본질 행렬은 두 카메라 사이의 상대 회전과 병진만을 인코딩하므로, 이로부터 카메라의 상대 자세(relative pose)를 직접 복원할 수 있다. 본 절에서는 본질 행렬의 정의, 대수적 성질, 그리고 자세 복원 알고리즘을 선형대수학적 관점에서 다룬다.

1. 본질 행렬의 정의

두 카메라의 내부 파라미터 행렬이 각각 K_1, K_2이고, 상대 회전과 병진이 R \in SO(3), \mathbf{t} \in \mathbb{R}^3일 때, 본질 행렬은 다음과 같이 정의된다.

E = [\mathbf{t}]_\times R

여기서 [\mathbf{t}]_\times\mathbf{t}의 반대칭 행렬이다.

[\mathbf{t}]_\times = \begin{bmatrix} 0 & -t_3 & t_2 \\ t_3 & 0 & -t_1 \\ -t_2 & t_1 & 0 \end{bmatrix}

기본 행렬 F와 본질 행렬 E의 관계는 다음과 같다.

E = K_2^\top F K_1

2. 정규화 이미지 좌표에서의 에피폴라 제약

정규화 이미지 좌표 \hat{\mathbf{p}}_1 = K_1^{-1} \tilde{\mathbf{p}}_1, \hat{\mathbf{p}}_2 = K_2^{-1} \tilde{\mathbf{p}}_2를 사용하면, 에피폴라 제약 조건은 다음과 같이 표현된다.

\hat{\mathbf{p}}_2^\top E \hat{\mathbf{p}}_1 = 0

이는 기본 행렬의 에피폴라 제약 \tilde{\mathbf{p}}_2^\top F \tilde{\mathbf{p}}_1 = 0을 정규화 좌표로 변환한 것이다.

3. 본질 행렬의 대수적 성질

본질 행렬 E는 다음과 같은 특수한 성질을 가진다.

랭크 2 조건: [\mathbf{t}]_\times가 랭크 2이므로, E도 항상 랭크 2이다.

\det(E) = 0

특이값 구조: E의 특이값 분해를 E = U \Sigma V^\top이라 하면, E의 특이값은 (\sigma, \sigma, 0) 형태이다. 즉, 두 개의 비영 특이값이 동일하다.

\Sigma = \begin{bmatrix} \sigma & 0 & 0 \\ 0 & \sigma & 0 \\ 0 & 0 & 0 \end{bmatrix}

이 성질은 E = [\mathbf{t}]_\times R에서 [\mathbf{t}]_\times의 특이값이 (\lVert \mathbf{t} \rVert, \lVert \mathbf{t} \rVert, 0)이고, 직교 행렬 R을 곱해도 특이값이 변하지 않기 때문이다.

내재적 제약: 본질 행렬이 만족해야 하는 필요충분조건은 다음과 같다.

E E^\top E - \frac{1}{2} \text{tr}(E E^\top) E = \mathbf{0}

이 조건은 Demazure의 3차 제약 조건(cubic constraint)이라 하며, 총 9개의 방정식을 산출하지만 독립인 것은 일부에 불과하다.

자유도: 본질 행렬은 3(회전) + 2(병진 방향, 스케일 제외) = 5의 자유도를 가진다. 병진 벡터의 크기(스케일)는 결정할 수 없으므로, \mathbf{t}는 방향만 의미를 가진다.

4. 본질 행렬의 추정: 5점 알고리즘

본질 행렬의 자유도가 5이므로, 최소 5개의 점 대응으로 E를 추정할 수 있다. Nister의 5점 알고리즘의 개요는 다음과 같다.

5개의 점 대응으로부터 A \in \mathbb{R}^{5 \times 9}를 구성하면, A의 영공간은 4차원이다. 영공간의 기저를 \{\mathbf{f}_1, \mathbf{f}_2, \mathbf{f}_3, \mathbf{f}_4\}로 놓으면, 일반해는 다음과 같다.

E = x E_1 + y E_2 + z E_3 + w E_4

여기서 E_i\mathbf{f}_i3 \times 3으로 재배열한 행렬이다. 내재적 제약과 \det(E) = 0 조건을 적용하면 최대 10개의 해가 존재하며, 이를 다항식 시스템을 풀어 구한다.

8점 알고리즘을 사용하는 경우에는, 기본 행렬 추정과 동일한 방식으로 A \in \mathbb{R}^{N \times 9}를 구성하여 SVD로 \hat{E}를 구한 후, 특이값을 (\sigma, \sigma, 0)으로 사영한다.

\hat{E} = U \text{diag}(\sigma_1, \sigma_2, \sigma_3) V^\top

E = U \text{diag}\!\left(\frac{\sigma_1 + \sigma_2}{2}, \frac{\sigma_1 + \sigma_2}{2}, 0\right) V^\top

5. 본질 행렬로부터의 자세 복원

본질 행렬 E의 SVD가 E = U \text{diag}(\sigma, \sigma, 0) V^\top으로 주어질 때, 상대 회전 R과 병진 방향 \mathbf{t}를 복원할 수 있다. 이를 위해 다음의 보조 행렬을 정의한다.

W = \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix}

Wz축을 중심으로 90° 회전하는 행렬이다. 본질 행렬의 분해로부터 4가지 가능한 해가 존재한다.

R_1 = U W V^\top, \quad \mathbf{t}_1 = +\mathbf{u}_3

R_2 = U W V^\top, \quad \mathbf{t}_2 = -\mathbf{u}_3

R_3 = U W^\top V^\top, \quad \mathbf{t}_3 = +\mathbf{u}_3

R_4 = U W^\top V^\top, \quad \mathbf{t}_4 = -\mathbf{u}_3

여기서 \mathbf{u}_3U의 세 번째 열 벡터이다. \det(R) = +1이 되도록 부호를 조정해야 한다. 만약 \det(UWV^\top) = -1이면 \mathbf{u}_3의 부호를 반전한다.

6. 쌍곡 조건에 의한 해의 선택

4가지 해 중에서 물리적으로 유효한 해는 하나뿐이다. 유효한 해는 3차원 점이 두 카메라 모두의 앞에 위치하는 경우, 즉 양의 깊이(positive depth) 조건을 만족하는 경우이다.

3차원 점 \mathbf{P}의 카메라 1에서의 깊이는 Z_1 > 0, 카메라 2에서의 깊이는 Z_2 > 0이어야 한다. 이를 쌍곡 조건(chirality condition)이라 한다.

각 후보 해 (R_i, \mathbf{t}_i)에 대하여 하나의 점 대응을 삼각 측량하여 3차원 점을 복원한 후, 양의 깊이 조건을 확인한다. 첫 번째 카메라에서의 깊이 Z_1과 두 번째 카메라에서의 깊이 Z_2가 모두 양수인 해가 올바른 해이다.

Z_1 > 0 \quad \text{그리고} \quad Z_2 = \mathbf{r}_3^\top (\mathbf{P} - \mathbf{C}_2) > 0

여기서 \mathbf{r}_3^\topR의 세 번째 행이고, \mathbf{C}_2 = -R^\top \mathbf{t}는 두 번째 카메라의 중심이다.

7. 스케일 불확정성

본질 행렬로부터 복원되는 병진 벡터 \mathbf{t}는 방향만 결정되며, 크기(스케일)는 결정할 수 없다. 이는 에피폴라 제약 조건이 동차 방정식이기 때문이다.

\hat{\mathbf{p}}_2^\top (\alpha E) \hat{\mathbf{p}}_1 = 0, \quad \forall \alpha \neq 0

따라서 E\alpha E는 동일한 에피폴라 기하학을 기술한다. 절대 스케일을 복원하려면 외부 정보(알려진 거리, IMU 데이터 등)가 필요하다.

8. 퇴화 배치와 특수 경우

본질 행렬 추정이 퇴화(degenerate)되는 경우가 존재한다.

순수 회전: \mathbf{t} = \mathbf{0}이면 E = [\mathbf{0}]_\times R = \mathbf{0}이 되어 본질 행렬이 정의되지 않는다. 이 경우 에피폴라 기하학 자체가 존재하지 않으며, 두 이미지 사이의 관계는 호모그래피로 기술해야 한다.

평면 장면: 모든 3차원 점이 하나의 평면 위에 있으면, 점 대응은 호모그래피 관계를 만족하며, 본질 행렬 추정이 불안정해진다.

동일 평면 카메라 운동: 카메라 운동이 특정 평면 내에서만 이루어지면(예: 평면 운동 로봇), 본질 행렬의 특이값 구조가 추가적인 제약을 가진다.

9. 본질 행렬 추정의 수치적 고려 사항

알고리즘최소 점 수해의 최대 개수수치 안정성
8점 알고리즘81보통 (정규화 필요)
5점 알고리즘510높음
7점 알고리즘73보통

5점 알고리즘은 최소 해(minimal solver)로서 RANSAC과 결합하여 사용할 때 효율적이다. 아웃라이어가 존재하는 실제 환경에서는 RANSAC 프레임워크 내에서 최소 점 수가 적을수록 적은 반복 횟수로 올바른 해를 찾을 확률이 높아진다.


참고 문헌

  • Longuet-Higgins, H. C. (1981). A Computer Algorithm for Reconstructing a Scene from Two Projections. Nature, 293, 133-135.
  • Nister, D. (2004). An Efficient Solution to the Five-Point Relative Pose Problem. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(6), 756-770.
  • Hartley, R., & Zisserman, A. (2004). Multiple View Geometry in Computer Vision (2nd ed.). Cambridge University Press.
  • Ma, Y., Soatto, S., Kosecka, J., & Sastry, S. S. (2004). An Invitation to 3-D Vision. Springer.

v 0.1