본질 행렬의 정의

본질 행렬 \mathbf{E}는 두 카메라 간의 상대적인 회전과 변환을 설명하는 중요한 행렬이다. 이 행렬은 한 이미지에서의 한 점이 다른 이미지에서의 대응점과 가지는 관계를 나타내며, 3D 공간의 구조를 복원하는 데 사용된다.

두 카메라가 주어졌을 때, 각각의 카메라 좌표계를 정의하는 내적 파라미터와 외적 파라미터가 있다. 본질 행렬은 카메라 외적 파라미터인 회전 행렬 \mathbf{R}과 변환 벡터 \mathbf{t}로부터 계산된다.

본질 행렬은 다음과 같은 형식으로 나타낼 수 있다:

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

여기서 [\mathbf{t}]_\times는 변환 벡터 \mathbf{t}의 스큐 대칭 행렬을 의미하며, 이는 다음과 같이 정의된다:

[\mathbf{t}]_\times = \begin{bmatrix} 0 & -t_z & t_y \\ t_z & 0 & -t_x \\ -t_y & t_x & 0 \end{bmatrix}

이 행렬은 두 카메라 좌표계 간의 관계를 설명하는 데 중요한 역할을 한다.

카메라 파라미터와 본질 행렬의 관계

본질 행렬은 두 카메라의 내적 파라미터와 외적 파라미터를 고려하여 정의된다. 내적 파라미터 행렬 \mathbf{K}는 카메라의 초점 거리, 센서의 크기 및 왜곡 등을 포함하는 행렬이다. 그러나 본질 행렬은 내적 파라미터를 포함하지 않고, 두 카메라의 외적 관계만을 포함한다.

카메라 좌표계에서 두 이미지 간의 관계는 일반적으로 기본 행렬 \mathbf{F}에 의해 설명되지만, 카메라가 보정된 경우 기본 행렬 \mathbf{F}와 본질 행렬 \mathbf{E} 사이의 관계는 다음과 같다:

\mathbf{F} = \mathbf{K}_2^{-T} \mathbf{E} \mathbf{K}_1^{-1}

여기서 \mathbf{K}_1\mathbf{K}_2는 각각 첫 번째 카메라와 두 번째 카메라의 내적 파라미터 행렬이다. 카메라가 보정되면, \mathbf{K}_1 = \mathbf{K}_2 = \mathbf{I}가 되며, 그 결과 본질 행렬과 기본 행렬은 동일해진다.

회전과 변환의 역할

본질 행렬 \mathbf{E}는 두 카메라의 상대적인 회전과 변환을 포함하므로, 3D 구조를 복원할 때 중요한 정보를 제공한다. 회전 행렬 \mathbf{R}과 변환 벡터 \mathbf{t}는 두 카메라 간의 상대적인 위치 및 방향을 나타내며, 이들이 어떻게 본질 행렬에 포함되는지 수식으로 설명할 수 있다.

카메라 파라미터와 본질 행렬의 계산 방법

본질 행렬 \mathbf{E}는 두 카메라의 외적 파라미터, 즉 회전 행렬 \mathbf{R}과 변환 벡터 \mathbf{t}를 사용하여 계산된다. 본질 행렬을 구하는 과정은 두 카메라 좌표계 간의 대응 관계를 나타내며, 이 과정에서 다음과 같은 단계가 포함된다.

1. 카메라 좌표계 간의 변환

카메라 1의 좌표계를 기준으로, 카메라 2의 좌표계로 변환할 때 회전 행렬 \mathbf{R}과 변환 벡터 \mathbf{t}가 사용된다. 카메라 1에서의 3D 점 \mathbf{X}_1은 카메라 2에서 다음과 같은 변환 관계를 갖는다:

\mathbf{X}_2 = \mathbf{R} \mathbf{X}_1 + \mathbf{t}

여기서: - \mathbf{R}은 카메라 2가 카메라 1에 대해 회전한 양을 나타내는 회전 행렬 - \mathbf{t}은 카메라 2가 카메라 1에 대해 이동한 벡터

이 변환 관계는 본질 행렬을 구하는 데 중요한 기초를 제공한다.

2. 에피폴라 제약

두 이미지에서 대응되는 점들은 에피폴라 제약을 따른다. 두 이미지에서의 대응 점 \mathbf{x}_1\mathbf{x}_2는 다음과 같은 에피폴라 제약식을 만족해야 한다:

\mathbf{x}_2^T \mathbf{E} \mathbf{x}_1 = 0

여기서: - \mathbf{x}_1은 첫 번째 이미지에서의 점의 좌표 (동차 좌표계에서 표현됨) - \mathbf{x}_2은 두 번째 이미지에서의 대응 점의 좌표 (동차 좌표계에서 표현됨)

이 제약식은 두 이미지에서의 대응 관계를 설명하며, 본질 행렬 \mathbf{E}는 이 관계를 통해 계산된다.

3. 본질 행렬의 분해

본질 행렬은 회전 행렬 \mathbf{R}과 변환 벡터 \mathbf{t}로부터 생성되지만, 이 행렬을 분해하여 \mathbf{R}\mathbf{t}를 복원할 수도 있다. 본질 행렬은 보통 다음과 같은 형식으로 분해된다:

\mathbf{E} = \mathbf{U} \mathbf{\Sigma} \mathbf{V}^T

여기서 \mathbf{U}\mathbf{V}는 직교 행렬, \mathbf{\Sigma}는 대각 행렬이다. 이 분해 과정은 본질 행렬을 통해 회전과 변환 정보를 추출하는 데 사용된다.

본질 행렬 \mathbf{E}는 두 카메라 간의 기하학적 관계를 나타내므로, 이를 통해 3D 구조 복원, 스테레오 비전 시스템 설계 등에 사용될 수 있다.