# 좌표 변환과 에피폴라 기하학

#### 1. 이미지 좌표계의 정의

이미지 좌표계는 카메라로 촬영된 영상에서 각 픽셀의 위치를 나타내는 좌표계를 의미한다. 이를 통해 3차원 공간에서의 점이 2차원 이미지 평면에 투영되어 나타나는 과정을 수학적으로 표현할 수 있다. 기본적으로 카메라 좌표계에서 이미지 좌표계로 변환하는 과정은 사영 변환을 기반으로 한다.

카메라 좌표계에서의 점 $\mathbf{X}\_C = \begin{bmatrix} X\_C & Y\_C & Z\_C \end{bmatrix}^\top$이 주어졌을 때, 이 점이 이미지 평면에 투영되는 과정은 다음과 같다:

$$
\mathbf{x} = \mathbf{K} \mathbf{P} \mathbf{X}
$$

여기서:

* $\mathbf{x} = \begin{bmatrix} x & y & 1 \end{bmatrix}^\top$는 이미지 좌표계에서의 호모그래피 좌표이다.
* $\mathbf{K}$는 내부 파라미터 행렬로, 카메라의 초점 거리와 이미지 센서의 중심 좌표 등을 포함한다.
* $\mathbf{P} = \begin{bmatrix} \mathbf{R} & \mathbf{t} \end{bmatrix}$는 카메라의 외부 파라미터 행렬로, 회전 행렬 $\mathbf{R}$과 이동 벡터 $\mathbf{t}$로 구성된다.
* $\mathbf{X} = \begin{bmatrix} X & Y & Z & 1 \end{bmatrix}^\top$는 월드 좌표계에서의 점을 호모그래피 좌표로 나타낸 것이다.

이 수식은 3차원 공간의 점이 2차원 이미지로 투영되는 과정을 설명하며, 이미지 좌표계로 변환되는 첫 단계라 할 수 있다.

#### 2. 좌표 변환 과정

카메라 좌표계와 이미지 좌표계 간의 변환을 이해하기 위해, 먼저 각 좌표계의 구조를 살펴볼 필요가 있다. 카메라 좌표계는 월드 좌표계에서 카메라의 위치와 방향을 기준으로 정의되며, 카메라의 내부 파라미터와 외부 파라미터를 통해 이미지 좌표계로 변환된다.

1. **내부 파라미터 변환:** 내부 파라미터 행렬 $\mathbf{K}$는 다음과 같이 정의된다:

$$
\mathbf{K} = \begin{bmatrix} f\_x & 0 & c\_x \ 0 & f\_y & c\_y \ 0 & 0 & 1 \end{bmatrix}
$$

여기서:

* $f\_x, f\_y$는 카메라의 초점 거리와 관련된 스케일링 팩터이다.
* $c\_x, c\_y$는 이미지 센서의 중심 좌표를 나타낸다.

2. **외부 파라미터 변환:** 외부 파라미터는 카메라 좌표계와 월드 좌표계 간의 회전 및 이동을 나타내며, 다음과 같은 형태로 표현된다:

$$
\mathbf{P} = \begin{bmatrix} \mathbf{R} & \mathbf{t} \end{bmatrix}
$$

* $\mathbf{R}$은 $3 \times 3$ 회전 행렬로, 카메라의 방향을 나타낸다.
* $\mathbf{t}$는 카메라의 위치를 나타내는 $3 \times 1$ 이동 벡터이다.

이러한 파라미터들을 통해 3차원 점 $\mathbf{X}$는 카메라 좌표계로 변환되며, 최종적으로 이미지 좌표계에서 나타나는 점 $\mathbf{x}$로 사영된다.

#### 3. 호모그래피 변환과 좌표 변환

호모그래피는 두 개의 평면 사이의 대응 관계를 나타내는 변환으로, 특히 카메라 이미지 평면과 3차원 월드 좌표계의 평면 간의 관계를 나타내는 데 사용된다. 호모그래피는 3차원 공간의 점을 2차원 이미지 평면으로 투영하는 중요한 수학적 도구이다.

호모그래피 변환은 일반적으로 다음과 같이 표현된다:

$$
\mathbf{x}' = \mathbf{H} \mathbf{x}
$$

여기서:

* $\mathbf{H}$는 $3 \times 3$ 호모그래피 행렬이다.
* $\mathbf{x}$와 $\mathbf{x}'$는 각각 변환 전후의 호모그래피 좌표이다.

카메라 좌표계에서 이미지 좌표계로의 변환은 이 호모그래피 변환을 통해 이루어지며, 이를 통해 3차원 공간에서의 기하학적 정보를 2차원 이미지 평면에 적절히 투영할 수 있게 된다.

호모그래피 행렬 $\mathbf{H}$는 일반적으로 다음과 같은 형태를 가진다:

$$
\mathbf{H} = \begin{bmatrix} h\_{11} & h\_{12} & h\_{13} \ h\_{21} & h\_{22} & h\_{23} \ h\_{31} & h\_{32} & h\_{33} \end{bmatrix}
$$

이 행렬은 이미지 좌표계의 한 점에서 다른 점으로의 변환을 나타내며, 이는 에피폴라 기하학에서도 중요한 역할을 한다.

#### 4. 에피폴라 기하학에서의 좌표 변환

에피폴라 기하학에서 좌표 변환은 두 개의 이미지 좌표계 간의 관계를 설명하는 핵심적인 역할을 한다. 특히, 두 개의 카메라로 촬영한 동일한 3차원 점이 두 이미지 상에서 서로 다른 위치에 나타날 때, 이 두 점 간의 기하학적 관계를 분석하기 위해 좌표 변환이 필요하다.

두 이미지 좌표계 간의 에피폴라 기하학은 기본 행렬 $\mathbf{F}$를 통해 나타낼 수 있으며, 이는 다음과 같은 에피폴라 제약식을 따른다:

$$
\mathbf{x}\_2^\top \mathbf{F} \mathbf{x}\_1 = 0
$$

여기서:

* $\mathbf{x}\_1 = \begin{bmatrix} x\_1 & y\_1 & 1 \end{bmatrix}^\top$는 첫 번째 이미지에서의 점 좌표이다.
* $\mathbf{x}\_2 = \begin{bmatrix} x\_2 & y\_2 & 1 \end{bmatrix}^\top$는 두 번째 이미지에서의 대응 점 좌표이다.
* $\mathbf{F}$는 기본 행렬로, 두 이미지 좌표계 간의 기하학적 관계를 설명한다.

기본 행렬은 두 카메라의 내부 및 외부 파라미터를 사용하여 계산되며, 두 이미지 간의 대응 관계를 정의한다. 이 때의 좌표 변환은 두 이미지 좌표계 간의 에피폴라 선을 정의하는 중요한 요소로 작용한다.

#### 5. 기본 행렬과 좌표 변환

기본 행렬 $\mathbf{F}$는 두 이미지 좌표계 간의 기하학적 관계를 설명하는 핵심 도구로, 각 이미지 상의 점들이 에피폴라 제약을 따르도록 변환하는 역할을 한다. $\mathbf{F}$는 두 이미지 사이에서 좌표 변환을 통해 정의되며, 이를 통해 두 이미지에서 동일한 3차원 점의 대응 관계를 수학적으로 설명할 수 있다.

기본 행렬 $\mathbf{F}$는 다음과 같은 형태를 가진다:

$$
\mathbf{F} = \mathbf{K}*2^{-\top} \mathbf{R} \[\mathbf{t}]*\times \mathbf{K}\_1^{-1}
$$

여기서:

* $\mathbf{K}\_1$과 $\mathbf{K}\_2$는 첫 번째와 두 번째 카메라의 내부 파라미터 행렬이다.
* $\mathbf{R}$은 두 카메라 간의 회전 행렬이다.
* $\[\mathbf{t}]\_\times$는 두 카메라 간의 이동 벡터 $\mathbf{t}$에 대해 스큐 대칭 행렬(skew-symmetric matrix)로 표현된 벡터이다.

이 기본 행렬은 두 이미지 좌표계에서의 에피폴라 선을 정의하는 데 중요한 역할을 하며, 이를 통해 이미지 상의 한 점이 다른 이미지 상의 에피폴라 선 위에 반드시 존재해야 함을 보장한다.

#### 6. 에피폴라 제약과 좌표 변환

에피폴라 제약은 두 개의 이미지 좌표계 사이에서 점과 대응점 간의 기하학적 제약을 설명하는 수식으로, 기본 행렬을 통해 정의된다. 다시 말해, 첫 번째 이미지에서의 점 $\mathbf{x}\_1$과 두 번째 이미지에서의 대응점 $\mathbf{x}\_2$는 에피폴라 제약을 만족해야 한다.

에피폴라 제약식은 다음과 같이 표현된다:

$$
\mathbf{x}\_2^\top \mathbf{F} \mathbf{x}\_1 = 0
$$

이 수식은 두 이미지 좌표계 사이에서의 에피폴라 선과 대응 관계를 설명하며, 좌표 변환 과정에서 반드시 만족되어야 하는 기하학적 제약이다.

특히, 두 이미지 좌표계에서 동일한 3차원 점이 각각의 이미지에서 투영되는 점들이 에피폴라 선을 따라 위치하게 된다. 즉, 첫 번째 이미지에서의 한 점이 두 번째 이미지 상에서 대응하는 에피폴라 선 위에 위치하게 된다.

#### 7. 좌표 변환과 스테레오 정합

좌표 변환을 이용한 스테레오 정합은 3차원 공간에서의 깊이 정보를 추출하는 중요한 과정이다. 스테레오 비전 시스템에서는 두 이미지 좌표계 사이에서의 점들의 대응 관계를 분석하여 깊이 정보를 얻는다. 이를 위해 각 이미지에서의 점들이 에피폴라 제약을 따르는지 확인하고, 해당 점들이 에피폴라 선 위에 존재하는지 검증하는 과정이 필요하다.

이 과정에서 좌표 변환은 필수적인 역할을 하며, 이미지 좌표계 간의 정확한 변환을 통해 대응 관계를 더욱 정밀하게 분석할 수 있다. 스테레오 정합 알고리즘은 이러한 좌표 변환과 에피폴라 제약을 기반으로 하여, 두 이미지에서의 점들의 대응을 찾고, 이를 통해 3차원 정보를 복원하게 된다.

#### 8. 좌표 변환의 불확실성

좌표 변환 과정에서 발생할 수 있는 중요한 문제 중 하나는 변환의 불확실성이다. 두 카메라 시스템 간의 좌표 변환은 카메라의 내부 및 외부 파라미터에 따라 달라지며, 특히 외부 파라미터(카메라의 위치 및 방향)가 정확하지 않으면 좌표 변환의 정확도가 크게 떨어질 수 있다.

이와 같은 불확실성은 두 가지 주요 원인에 기인한다:

* **내부 파라미터 오차:** 카메라의 내부 파라미터(초점 거리, 센서 크기, 중심점 등)의 불확실성은 이미지 좌표계에서의 좌표 변환 과정에 직접적인 영향을 미친다. 내부 파라미터가 정확하게 보정되지 않으면 좌표 변환의 결과도 부정확해질 수 있다.
* **외부 파라미터 오차:** 두 카메라 간의 상대적인 위치와 방향을 나타내는 외부 파라미터는 좌표 변환에 매우 중요한 역할을 한다. 외부 파라미터에 오차가 생기면, 두 이미지 간의 에피폴라 제약을 만족시키는 대응 점들을 찾는 데 어려움이 생길 수 있다.

이러한 오차는 좌표 변환에서의 정확성을 저해하며, 특히 스테레오 비전 시스템이나 3차원 복원 시스템에서 중요한 영향을 미친다. 따라서, 좌표 변환의 불확실성을 최소화하기 위한 카메라 보정(calibration) 과정이 매우 중요하다.

#### 9. 좌표 변환의 선형성

좌표 변환은 일반적으로 선형 변환으로 취급되며, 선형 대수학을 이용하여 표현할 수 있다. 특히 에피폴라 기하학에서는 두 이미지 좌표계 간의 대응 관계가 선형적으로 표현되므로, 행렬 연산을 통해 좌표 변환 과정을 간단하게 나타낼 수 있다.

예를 들어, 두 카메라 사이에서의 점들의 변환은 다음과 같이 선형 변환으로 표현된다:

$$
\mathbf{x}\_2 = \mathbf{F} \mathbf{x}\_1
$$

이 수식은 첫 번째 이미지에서의 점 $\mathbf{x}\_1$이 두 번째 이미지에서의 대응 점 $\mathbf{x}\_2$로 변환되는 과정을 설명하며, 기본 행렬 $\mathbf{F}$에 의해 선형적으로 정의된다. 선형 변환은 계산의 복잡성을 줄이는 데 도움을 주며, 특히 다중 뷰 기하학에서 매우 중요한 역할을 한다.
