이미지 평면에서의 에피폴라인 표현
에피폴라인의 정의
에피폴라인(Epipolar Line)은 두 대의 카메라 시스템에서 한 카메라의 점이 다른 카메라의 이미지 평면에 투영될 때 위치할 수 있는 가능한 경로를 나타낸다. 즉, 3차원 공간의 한 점이 한 카메라에서 특정 위치에 있는 경우, 그 점이 다른 카메라에서 어디에 나타날 수 있는지를 결정하는 선이다. 이 선은 두 카메라의 상대적 위치와 그 점의 3차원 좌표에 따라 달라지며, 두 카메라의 에피폴라 기하학에서 중요한 역할을 한다.
이미지 좌표계에서의 에피폴라인 표현
이미지 평면에서 에피폴라인을 수학적으로 표현하기 위해서는 기본 행렬(Fundamental Matrix) $\mathbf{F}$의 개념을 사용한다. 두 카메라가 관측한 한 점 $\mathbf{x}_1$과 $\mathbf{x}_2$는 다음의 에피폴라 제약을 따른다.
여기서:
$\mathbf{x}_1$은 첫 번째 카메라의 이미지 좌표에서의 점을 나타내며, 이는 $[u_1, v_1, 1]^\top$ 형태로 표현된다.
$\mathbf{x}_2$은 두 번째 카메라의 이미지 좌표에서의 점을 나타내며, 이는 $[u_2, v_2, 1]^\top$ 형태로 표현된다.
$\mathbf{F}$는 두 카메라 간의 기본 행렬로, 두 카메라 사이의 상대적인 위치와 방향을 포함하고 있다.
위 방정식에서 중요한 점은, $\mathbf{x}_2$가 주어졌을 때, $\mathbf{F} \mathbf{x}_1$은 이미지 평면에서의 에피폴라인의 방정식을 정의한다는 것이다. 즉, 두 번째 카메라 이미지 평면에서의 에피폴라인은 다음과 같은 방정식으로 나타낼 수 있다:
여기서 $\mathbf{l}_2$는 두 번째 카메라에서의 에피폴라인을 의미하며, $\mathbf{l}_2 = [a, b, c]^\top$는 이미지 평면에서의 선 방정식 $ax + by + c = 0$을 정의한다.
비슷하게 첫 번째 카메라의 이미지 평면에서의 에피폴라인은 다음과 같이 표현된다:
이때, $\mathbf{l}_1 = [a', b', c']^\top$은 첫 번째 카메라 이미지 평면에서의 에피폴라인을 나타내며, 선의 방정식은 $a'x + b'y + c' = 0$이다.
에피폴라인의 기하학적 의미
두 카메라의 이미지 평면에서의 에피폴라인은 기하학적으로 매우 의미가 깊다. 3차원 공간에서 한 점이 첫 번째 카메라에 투영된 점 $\mathbf{x}_1$이 주어졌을 때, 이 점이 두 번째 카메라에 투영될 가능성이 있는 모든 점은 두 번째 카메라 이미지 평면에서 에피폴라인 상에 존재한다.
에피폴라인의 기하학적 특성
에피폴라인은 두 카메라의 이미지 평면에서 특정 기하학적 특성을 가진다. 특히, 각 에피폴라인은 항상 에피폴(Epipole)을 지나간다. 에피폴은 두 카메라의 광학 중심을 연결하는 선이 이미지 평면과 만나는 점을 의미한다. 즉, 첫 번째 카메라에서 관측된 점이 두 번째 카메라에서 에피폴라인을 따라 위치할 수 있는데, 그 에피폴라인은 두 번째 카메라의 에피폴을 지나간다.
첫 번째 카메라의 이미지 평면에서, 두 번째 카메라의 광학 중심을 투영한 점이 에피폴이 된다.
두 번째 카메라의 이미지 평면에서는 첫 번째 카메라의 광학 중심을 투영한 점이 에피폴이 된다.
따라서, 두 카메라 시스템에서 에피폴라인은 각 카메라의 이미지 평면에서 서로 교차하는 구조를 가지며, 각 에피폴라인은 대응되는 카메라의 에피폴을 지나간다.
기본 행렬과 에피폴라인
기본 행렬 $\mathbf{F}$은 두 카메라 간의 상대적인 위치와 방향을 포함하고 있기 때문에, 에피폴라인의 기하학적 특성도 이 행렬을 통해 나타난다.
특정 점 $\mathbf{x}_1$이 첫 번째 카메라의 이미지 평면에서 관측되었을 때, 이 점이 두 번째 카메라의 이미지 평면에서 어디에 위치할지 알 수 없지만, 에피폴라인 $\mathbf{l}_2 = \mathbf{F} \mathbf{x}_1$을 통해 그 점이 반드시 에피폴라인 상에 있을 것임을 알 수 있다. 이와 유사하게, $\mathbf{x}_2$가 주어졌을 때 첫 번째 카메라의 이미지 평면에서의 에피폴라인은 $\mathbf{l}_1 = \mathbf{F}^\top \mathbf{x}_2$으로 계산된다.
에피폴라인의 방정식에서 중요한 점은, 선의 형태로 표현된다는 것이다. 즉, 이미지 평면 내에서의 직선 방정식으로 나타낼 수 있으며, 이는 에피폴라인의 위치를 명확하게 정의해준다.
에피폴과 에피폴라인의 관계
에피폴과 에피폴라인 사이의 관계를 더욱 명확히 하기 위해서는 기본 행렬과 에피폴의 상호작용을 이해해야 한다. 에피폴은 두 카메라 간의 상대적인 기하학적 관계를 반영하며, 에피폴라인은 이 관계를 이미지 평면에 나타내는 선이다.
기본 행렬 $\mathbf{F}$은 항상 두 카메라 간의 상대적 위치 및 방향을 고려하여 에피폴라인의 위치를 계산하는데, 이 행렬의 특성상 다음과 같은 속성이 성립한다:
여기서 $\mathbf{e}_1$과 $\mathbf{e}_2$는 각각 첫 번째와 두 번째 카메라의 에피폴을 나타낸다. 이 식들은 에피폴이 각각의 이미지 평면에서 에피폴라인의 방정식에 의해 항상 만족된다는 것을 의미한다. 다시 말해, 모든 에피폴라인은 반드시 해당 카메라의 에피폴을 지나간다.
에피폴라인의 계산
두 카메라 시스템에서 주어진 점의 에피폴라인을 계산하는 과정은 다음과 같다.
먼저, 두 카메라에서의 관측점을 $\mathbf{x}_1$과 $\mathbf{x}_2$로 정의했을 때, 기본 행렬 $\mathbf{F}$을 사용하여 에피폴라인을 계산한다. 앞서 설명한 대로, 두 번째 카메라의 이미지 평면에서 에피폴라인 $\mathbf{l}_2$는 다음과 같은 형태로 나타낼 수 있다:
이 선의 방정식은 이미지 평면에서의 직선 방정식을 정의하며, 이는 $ax + by + c = 0$ 형태로 표현된다. 구체적으로, 선의 각 요소는 기본 행렬 $\mathbf{F}$와 첫 번째 카메라의 관측점 $\mathbf{x}_1$에 의해 결정된다.
에피폴라인의 계산 과정은 다음과 같은 단계를 따른다:
첫 번째 카메라에서 관측된 점 $\mathbf{x}_1$을 기본 행렬 $\mathbf{F}$에 곱하여 두 번째 카메라 이미지 평면에서의 에피폴라인 $\mathbf{l}_2$를 계산한다.
계산된 $\mathbf{l}_2 = [a, b, c]^\top$는 직선의 방정식 $ax + by + c = 0$를 나타낸다.
두 번째 카메라 이미지 평면에서 주어진 점이 이 직선 방정식을 만족한다는 것은 해당 점이 에피폴라인 위에 있다는 것을 의미한다.
비슷한 방법으로, 두 번째 카메라에서 관측된 점 $\mathbf{x}_2$로부터 첫 번째 카메라의 에피폴라인을 계산할 수 있다:
이 역시 $a'x + b'y + c' = 0$ 형태의 선 방정식을 만족하며, 첫 번째 카메라 이미지 평면에서의 에피폴라인을 정의한다.
에피폴라인의 실질적 활용
에피폴라인의 실질적인 활용은 스테레오 비전 시스템에서 매우 중요하다. 스테레오 비전은 두 대의 카메라를 사용하여 3차원 정보를 복원하는 과정이다. 이때 두 이미지 사이에서 대응되는 점을 찾는 과정에서 에피폴라인을 활용하면 계산량을 줄일 수 있다.
에피폴라인은 이미지 평면 내의 특정 직선이기 때문에, 대응점을 찾는 문제를 2차원이 아닌 1차원 문제로 단순화할 수 있다. 즉, 한 이미지에서 주어진 점이 있을 때, 다른 이미지에서는 그 점이 에피폴라인 상에 위치해야 한다는 제약이 있기 때문에, 전체 이미지에서 대응점을 찾는 것이 아니라 에피폴라인을 따라 대응점을 찾으면 된다. 이는 스테레오 정합(Stereo Matching)에서 매우 중요한 역할을 한다.
스테레오 정합 알고리즘에서, 두 이미지 사이의 대응점을 찾기 위한 초기 단계로 에피폴라인을 계산하고, 해당 선을 따라 대응점을 탐색함으로써 계산 효율성을 크게 향상시킬 수 있다.
Last updated