두 카메라 간의 에피폴 관계

에피폴라 기하학에서 두 카메라 시스템을 고려할 때, 두 카메라 간의 에피폴 관계는 중요한 역할을 한다. 두 카메라가 동일한 3D 공간을 바라보고 있을 때, 각 카메라에서 촬영한 이미지에서 특정 점들은 두 카메라의 관계를 나타내는 기하학적 제약을 따르게 된다.

이 상황을 이해하기 위해 두 대의 카메라 \mathbf{C_1}\mathbf{C_2}가 있다고 가정하자. 카메라 \mathbf{C_1}에서 관측된 점 \mathbf{x_1}는 카메라 \mathbf{C_2}의 관측점 \mathbf{x_2}와 에피폴라 제약을 따르게 된다.

에피폴의 정의

두 카메라의 광학 중심은 각각 \mathbf{C_1}\mathbf{C_2}로 정의된다. 첫 번째 카메라 \mathbf{C_1}에서 두 번째 카메라 \mathbf{C_2}를 바라보는 방향의 이미지는 에피폴이라고 불린다. 이는 반대로도 성립하여, 카메라 \mathbf{C_2}에서 첫 번째 카메라 \mathbf{C_1}를 바라보는 이미지를 역시 에피폴이라 한다. 에피폴은 두 이미지 평면 상에서 하나의 점으로 나타나며, 이를 각각 \mathbf{e_1}\mathbf{e_2}로 나타낼 수 있다.

에피폴라인의 정의

임의의 3D 점 \mathbf{X}가 있을 때, 이 점은 두 카메라에서 각각 \mathbf{x_1}\mathbf{x_2}로 투영된다. \mathbf{x_1}에서 카메라 \mathbf{C_2}의 에피폴 \mathbf{e_1}로 이어지는 직선은 에피폴라인 \mathbf{l_1}이라 불리며, 이 선은 두 번째 카메라의 이미지 평면에서 관측된 점 \mathbf{x_2}와 연결된다.

이를 수학적으로 표현하면, 다음과 같은 에피폴라 제약식을 얻을 수 있다:

\mathbf{x_2}^\top \mathbf{F} \mathbf{x_1} = 0

여기서 \mathbf{F}는 기본 행렬(Fundamental Matrix)으로, 두 카메라 간의 기하학적 관계를 나타내며, \mathbf{x_1}\mathbf{x_2}는 각각 첫 번째 카메라와 두 번째 카메라에서의 점이다.

기본 행렬과 에피폴

에피폴 \mathbf{e_2}는 다음과 같은 조건을 만족한다:

\mathbf{F} \mathbf{e_1} = 0

마찬가지로 에피폴 \mathbf{e_1}는 다음과 같이 표현된다:

\mathbf{F}^\top \mathbf{e_2} = 0

이 식들은 각각 카메라 \mathbf{C_1}\mathbf{C_2} 사이의 에피폴 관계를 정의하며, 두 카메라 간의 상대적 위치와 방향에 의해 결정된다.

에피폴라인의 기하학적 성질

에피폴라인 \mathbf{l_1}은 카메라 \mathbf{C_1}에서의 관측된 점 \mathbf{x_1}과 카메라 \mathbf{C_2}의 에피폴 \mathbf{e_2}를 연결하는 직선이다. 마찬가지로 \mathbf{l_2}은 카메라 \mathbf{C_2}에서의 관측된 점 \mathbf{x_2}와 카메라 \mathbf{C_1}의 에피폴 \mathbf{e_1}를 연결하는 직선이다. 이러한 에피폴라인은 기본 행렬 \mathbf{F}를 통해 계산할 수 있다.

에피폴라인의 방정식

주어진 점 \mathbf{x_1}에 대해 카메라 \mathbf{C_2}의 이미지 평면에서의 에피폴라인 \mathbf{l_2}는 다음과 같이 계산할 수 있다:

\mathbf{l_2} = \mathbf{F} \mathbf{x_1}

즉, 카메라 \mathbf{C_1}에서 관측된 점 \mathbf{x_1}을 기본 행렬 \mathbf{F}에 곱하여 두 번째 카메라의 에피폴라인을 구할 수 있다. 마찬가지로 카메라 \mathbf{C_2}에서 관측된 점 \mathbf{x_2}에 대해 첫 번째 카메라의 에피폴라인 \mathbf{l_1}은 다음과 같다:

\mathbf{l_1} = \mathbf{F}^\top \mathbf{x_2}

이 두 방정식은 각각의 카메라에서 다른 카메라 이미지의 에피폴라인을 정의하며, 3D 공간에서 한 점을 두 카메라에서 관측할 때의 제약 조건을 나타낸다.

에피폴라 제약의 의미

에피폴라 제약식 \mathbf{x_2}^\top \mathbf{F} \mathbf{x_1} = 0은 두 이미지에서 한 점이 다른 이미지에서 반드시 에피폴라인 위에 위치해야 함을 나타낸다. 즉, 3D 공간의 한 점 \mathbf{X}가 두 카메라에서 관측될 때, 첫 번째 이미지에서의 투영점 \mathbf{x_1}는 두 번째 이미지에서의 에피폴라인 \mathbf{l_2} 상에 존재하고, 마찬가지로 두 번째 이미지에서의 투영점 \mathbf{x_2}는 첫 번째 이미지에서의 에피폴라인 \mathbf{l_1} 상에 존재한다.

이러한 에피폴라 제약을 통해 스테레오 비전 시스템에서 대응점 찾기(matching)를 수행할 수 있으며, 이를 통해 3D 재구성 및 거리 측정을 가능하게 한다.

에피폴라인과 대응점 찾기

스테레오 매칭 과정에서 대응점 찾기는 매우 중요한 단계이다. 두 카메라 간의 대응점을 찾을 때, 각 점이 에피폴라인 위에 있어야 한다는 에피폴라 제약을 이용할 수 있다. 예를 들어, 첫 번째 카메라의 이미지에서 특정 점 \mathbf{x_1}이 주어지면, 이 점에 대응하는 두 번째 카메라의 점 \mathbf{x_2}는 반드시 에피폴라인 \mathbf{l_2} 상에 있어야 한다. 이는 대응점을 찾는 공간을 2D 이미지 평면에서 1D 선으로 줄여주므로, 계산 복잡도를 크게 감소시킬 수 있다.