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}_i를 3 \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}
W는 z축을 중심으로 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}_3는 U의 세 번째 열 벡터이다. \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^\top은 R의 세 번째 행이고, \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점 알고리즘 | 8 | 1 | 보통 (정규화 필요) |
| 5점 알고리즘 | 5 | 10 | 높음 |
| 7점 알고리즘 | 7 | 3 | 보통 |
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