비정렬 카메라 시스템에서는 카메라들이 서로 정렬되지 않은 상태에서 동일한 장면을 촬영한다. 이 상황에서는 각 카메라의 좌표계가 서로 다르기 때문에, 이를 통합하여 에피폴라 관계를 정의하는 과정이 중요하다. 이를 위해 각 카메라의 내적 및 외적 파라미터, 이미지 좌표계의 변환 등을 다루게 된다.

카메라의 내적 및 외적 파라미터

카메라의 내적 파라미터는 카메라의 고유한 특성을 나타내며, 초점 거리, 주점 좌표, 렌즈 왜곡 등을 포함한다. 반면, 외적 파라미터는 카메라의 위치 및 방향을 설명하며, 카메라 좌표계를 월드 좌표계로 변환하는 데 사용된다.

비정렬 카메라 시스템에서, 두 카메라의 외적 파라미터는 서로 다른 좌표계에 속하는 관계로, 이를 통일된 표현으로 변환해야 한다. 이때 각 카메라의 위치 및 방향을 설명하는 회전 행렬 \mathbf{R}과 이동 벡터 \mathbf{t}는 다음과 같이 정의된다.

\mathbf{P}_1 = [\mathbf{I} \ | \ \mathbf{0}], \quad \mathbf{P}_2 = [\mathbf{R} \ | \ \mathbf{t}]

여기서:

에피폴라 기하학의 기본 원리

비정렬 카메라 간의 에피폴라 관계는 두 카메라에서 같은 3D 점을 촬영한 이미지 좌표들 간의 기하학적 제약을 정의한다. 3D 공간의 한 점 \mathbf{X}가 두 카메라에서 각각의 이미지 평면에 투영되어 좌표 \mathbf{x}_1\mathbf{x}_2로 나타난다고 가정할 때, 이 두 좌표는 특정한 기하학적 관계를 따른다.

이 관계는 두 카메라 사이의 기본 행렬 \mathbf{F}로 표현된다. 기본 행렬은 두 이미지 좌표 \mathbf{x}_1\mathbf{x}_2가 에피폴라 제약을 따르는지 여부를 결정하는 데 사용된다. 즉, \mathbf{x}_1\mathbf{x}_2는 다음과 같은 조건을 만족한다.

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

기본 행렬 \mathbf{F}의 유도

기본 행렬 \mathbf{F}는 두 카메라 간의 상대적인 위치와 방향을 나타내는 외적 파라미터인 \mathbf{R}\mathbf{t}로부터 유도된다. 기본 행렬은 다음과 같이 정의된다.

\mathbf{F} = \mathbf{K}_2^{-\top} [\mathbf{t}]_\times \mathbf{R} \mathbf{K}_1^{-1}

여기서:

스큐 대칭 행렬 [\mathbf{t}]_\times는 다음과 같이 표현된다.

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

이때, 두 이미지 평면 상의 점 \mathbf{x}_1\mathbf{x}_2가 에피폴라 관계를 만족하는 경우, 위 수식은 두 점 사이의 상관 관계를 명확하게 표현한다.

에피폴과 에피폴라인

비정렬 카메라 시스템에서 에피폴라 관계를 이해하기 위해서는 에피폴과 에피폴라인의 개념을 알아야 한다. 에피폴라 기하학에서, 에피폴(epipole)은 한 카메라의 중심이 다른 카메라의 이미지 평면에 투영된 점을 의미한다. 즉, 두 카메라가 서로 다른 위치에 있을 때, 각 카메라의 중심은 상대 카메라의 이미지 평면에서 하나의 점으로 표현된다.

에피폴라인(epipolar line)은 한 카메라의 이미지 평면에서 특정 점과 대응되는 점이 다른 카메라의 이미지 평면 상에서 존재할 수 있는 위치를 나타내는 직선이다. 에피폴라인은 기본 행렬 \mathbf{F}를 통해 계산된다.

에피폴라인의 계산

에피폴라인을 계산하기 위해, 한 이미지의 점 \mathbf{x}_1이 주어지면, 두 번째 이미지 평면에서의 대응 에피폴라인 \mathbf{l}_2는 다음과 같이 계산된다.

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

마찬가지로, 두 번째 이미지의 점 \mathbf{x}_2에 대한 첫 번째 이미지 평면에서의 에피폴라인 \mathbf{l}_1은 다음과 같이 계산된다.

\mathbf{l}_1 = \mathbf{F}^\top \mathbf{x}_2

이러한 에피폴라인은 두 카메라 간의 기하학적 관계를 나타내며, 각 점이 다른 이미지에서 어떤 직선 위에 대응될 수 있는지를 나타낸다.

에피폴라인과 에피폴라 제약

비정렬 카메라 시스템에서 두 이미지 간의 에피폴라 관계는 다음과 같은 에피폴라 제약을 따른다. 이는 두 이미지의 대응점이 항상 에피폴라인 상에 존재한다는 사실에 기반한다. 이를 수식으로 표현하면, 두 번째 이미지의 점 \mathbf{x}_2는 첫 번째 이미지의 점 \mathbf{x}_1에 대응하는 에피폴라인 \mathbf{l}_2 상에 위치한다.

\mathbf{x}_2^\top \mathbf{l}_2 = 0

이 에피폴라 제약은 에피폴라 기하학의 기본 원리이며, 비정렬 카메라 시스템에서 3D 복원을 수행할 때 중요한 역할을 한다. 이를 통해 두 이미지 간의 기하학적 관계를 이용하여 각 이미지에서의 대응점을 찾을 수 있다.

스테레오 매칭과 에피폴라 제약

스테레오 비전 시스템에서 가장 중요한 문제 중 하나는 두 카메라 이미지 간의 대응점을 찾는 것이다. 이 과정은 스테레오 매칭(stereo matching)이라고 불리며, 에피폴라 제약을 이용하여 효율적으로 수행될 수 있다. 에피폴라 제약을 통해, 하나의 이미지에서 특정 점에 대한 대응점이 다른 이미지에서 에피폴라인 상에만 존재해야 함을 알 수 있다. 이를 통해 검색 공간을 2D에서 1D로 축소할 수 있어, 스테레오 매칭 알고리즘의 계산 비용을 크게 줄일 수 있다.

비정렬 카메라 간의 삼각 측량

삼각 측량(triangulation)은 두 카메라의 시차를 이용하여 3D 공간 상의 점을 복원하는 과정이다. 비정렬 카메라 시스템에서는 두 카메라가 정렬되어 있지 않기 때문에, 삼각 측량을 통해 각 이미지에서 대응되는 점을 기반으로 3D 좌표를 계산할 수 있다.

삼각 측량의 기본 개념은 두 카메라에서 찍힌 2D 이미지 점들이 3D 공간의 동일한 점 \mathbf{X}에서 비롯된 것임을 전제로 한다. 따라서 두 이미지 좌표 \mathbf{x}_1\mathbf{x}_2를 알고 있을 때, 해당 점의 3D 좌표 \mathbf{X}를 복원할 수 있다.

삼각 측량을 수행하려면 두 카메라의 투영 행렬 \mathbf{P}_1\mathbf{P}_2를 사용하여 다음과 같은 관계를 정의한다.

\mathbf{x}_1 = \mathbf{P}_1 \mathbf{X}, \quad \mathbf{x}_2 = \mathbf{P}_2 \mathbf{X}

여기서:

이 두 방정식을 결합하여 다음과 같은 선형 시스템을 정의할 수 있다.

\mathbf{A} \mathbf{X} = \mathbf{0}

여기서 \mathbf{A}는 각 이미지의 좌표와 카메라의 투영 행렬로부터 도출된 행렬이다. 이 시스템을 풀어 3D 공간에서의 점 \mathbf{X}를 구할 수 있다.

삼각 측량의 선형 시스템

삼각 측량 문제를 좀 더 구체적으로 풀기 위해, 이미지 좌표 \mathbf{x}_1 = (x_1, y_1, 1)\mathbf{x}_2 = (x_2, y_2, 1)를 사용하여 다음과 같은 시스템을 정의할 수 있다.

첫 번째 카메라의 투영 방정식은 다음과 같다.

x_1 \mathbf{P}_1^{(3)} - \mathbf{P}_1^{(1)} = 0, \quad y_1 \mathbf{P}_1^{(3)} - \mathbf{P}_1^{(2)} = 0

두 번째 카메라의 투영 방정식은 다음과 같다.

x_2 \mathbf{P}_2^{(3)} - \mathbf{P}_2^{(1)} = 0, \quad y_2 \mathbf{P}_2^{(3)} - \mathbf{P}_2^{(2)} = 0

여기서 \mathbf{P}_1^{(i)}\mathbf{P}_2^{(i)}는 각각 첫 번째와 두 번째 카메라의 투영 행렬 \mathbf{P}_1\mathbf{P}_2의 i번째 행을 의미한다. 이를 통해 4개의 방정식을 얻을 수 있으며, 이 선형 시스템을 풀어 3D 좌표 \mathbf{X}를 구할 수 있다.

비정렬 카메라 시스템의 한계

비정렬 카메라 시스템에서 삼각 측량을 수행할 때 몇 가지 한계가 존재한다. 첫째, 두 카메라가 매우 가까이 배치되었거나 기하학적으로 불안정한 위치에 있을 경우, 삼각 측량의 정확도가 낮아질 수 있다. 이 문제는 카메라 간의 기하학적 배치와 시차에 의존하며, 이를 해결하기 위해서는 카메라 간의 적절한 배치를 고려해야 한다.

둘째, 이미지 잡음과 왜곡이 삼각 측량 결과에 영향을 미칠 수 있다. 카메라 렌즈의 왜곡이 제대로 보정되지 않거나 이미지의 해상도가 낮을 경우, 대응점 추출 및 삼각 측량의 정확도가 저하될 수 있다. 이러한 문제를 해결하기 위해서는 정밀한 카메라 보정이 필요하다.