정의

에피폴라 제약(Epipolar Constraint)은 두 대의 카메라로 촬영한 이미지에서 동일한 3차원 점이 각각의 이미지에서 서로 대응하는 점 사이의 기하학적 관계를 의미한다. 두 카메라의 위치와 방향이 다르기 때문에, 한 카메라에서 관찰된 점이 다른 카메라에서 어디에 위치할지 정확히 알 수는 없지만, 그 점이 반드시 에피폴라인(epipolar line) 상에 존재해야 한다는 것이 에피폴라 제약의 본질이다.

수학적 표현

카메라 시스템에서, 하나의 3차원 점 \mathbf{X}이 두 카메라에서 각각 \mathbf{x}_1\mathbf{x}_2라는 2차원 좌표로 투영된다고 가정하자. 이때, 두 이미지 간에 에피폴라 제약을 만족시키는 관계는 기본 행렬 \mathbf{F}로 표현된다.

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

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

여기서, - \mathbf{x}_1은 첫 번째 카메라 이미지 평면에서의 점의 좌표 (동차 좌표계에서 표현됨)이다. - \mathbf{x}_2은 두 번째 카메라 이미지 평면에서의 대응 점의 좌표 (동차 좌표계에서 표현됨)이다. - \mathbf{F}는 두 카메라 간의 기본 행렬(Fundamental Matrix)이다. 이 행렬은 두 카메라의 상대적인 위치와 방향(외부 파라미터) 및 카메라의 내부 파라미터에 의해 결정된다.

기하학적 해석

에피폴라 제약을 기하학적으로 해석하면, 첫 번째 카메라의 이미지 평면에 존재하는 점 \mathbf{x}_1이 두 번째 카메라의 이미지 평면에 투영될 때 그 점은 특정한 직선 위에 위치하게 된다. 이 직선이 바로 에피폴라인이다. 기본 행렬 \mathbf{F}은 이러한 에피폴라 관계를 정의하는데 사용되며, 두 이미지 간의 상호 대응점이 에피폴라인을 따르도록 제한한다.

에피폴라 제약의 유도

에피폴라 제약을 유도하기 위해, 먼저 두 카메라 시스템의 3차원 공간에서의 관계를 고려해야 한다. 두 카메라의 중심을 각각 \mathbf{C}_1\mathbf{C}_2라고 하자. 3차원 공간 상의 점 \mathbf{X}에서 첫 번째 카메라로 향하는 광선은 \mathbf{C}_1에서 \mathbf{X}으로 향하는 벡터로 나타낼 수 있다. 이 광선은 두 번째 카메라에서도 동일한 점 \mathbf{X}을 가리키며, 따라서 두 번째 카메라에서도 같은 기하학적 제약을 가지게 된다.

이를 수학적으로 표현하면, 두 번째 카메라의 좌표계에서 이 광선은 에피폴라 제약을 만족하는 형태로 나타나게 된다. 두 이미지에서 동일한 3차원 점이 존재하기 때문에, 그 점은 항상 에피폴라인 상에 위치해야 한다.

에피폴라 기하학에서의 에피폴과 에피폴라인

에피폴라 제약을 이해하기 위해서는 에피폴(Epipole)과 에피폴라인(Epipolar Line)에 대한 개념이 필요하다. 에피폴은 두 카메라 사이의 기하학적 관계에서 매우 중요한 역할을 한다. 에피폴은 두 카메라의 이미지 평면에서 카메라 중심을 투영한 점을 가리킨다. 즉, 첫 번째 카메라의 중심은 두 번째 카메라의 이미지 평면에 투영되고, 이 점을 두 번째 이미지 평면에서의 에피폴이라 한다. 반대로, 두 번째 카메라의 중심은 첫 번째 카메라의 이미지 평면에서 에피폴로 투영된다.

에피폴라인은 다음과 같이 정의된다: 첫 번째 카메라의 이미지 평면에서의 점 \mathbf{x}_1을 통해 3차원 공간에서 나오는 광선이 두 번째 카메라의 이미지 평면에 투영될 때, 그 광선이 통과하는 직선을 에피폴라인이라 한다. 즉, 에피폴라인은 한 이미지에서의 점이 다른 이미지에서 나타날 수 있는 위치를 제한하는 직선이다.

에피폴라인 방정식

에피폴라인은 기본 행렬 \mathbf{F}와 첫 번째 이미지의 점 \mathbf{x}_1을 사용하여 계산할 수 있다. 두 번째 이미지에서의 에피폴라인 l_2는 다음과 같은 수식으로 주어진다:

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

여기서, - \mathbf{l}_2는 두 번째 이미지에서의 에피폴라인을 나타내는 직선의 방정식이다. - \mathbf{F}는 기본 행렬이다. - \mathbf{x}_1은 첫 번째 이미지에서의 점의 동차 좌표이다.

마찬가지로, 첫 번째 이미지에서의 에피폴라인 l_1은 다음과 같이 구할 수 있다:

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

여기서, - \mathbf{l}_1은 첫 번째 이미지에서의 에피폴라인을 나타내는 직선의 방정식이다. - \mathbf{F}^\top은 기본 행렬의 전치 행렬이다. - \mathbf{x}_2은 두 번째 이미지에서의 점의 동차 좌표이다.

에피폴라 제약의 본질적 의미

에피폴라 제약은 기본적으로 하나의 이미지에서 특정 점을 관찰한 경우, 그 점과 대응하는 점이 다른 이미지에서는 반드시 에피폴라인 상에 존재해야 한다는 점을 강조한다. 이는 카메라가 서로 다른 위치에서 동일한 3차원 점을 관찰할 때 생기는 기하학적 불가피성이다. 이러한 제약은 스테레오 비전, 3D 복원, 그리고 카메라 매칭 알고리즘에서 중요한 역할을 한다.

에피폴라 제약은 두 이미지 간의 대응점을 찾는 문제를 효과적으로 단순화시켜 주며, 계산 효율성을 크게 향상시킨다. 대응점을 무작위로 찾는 대신, 에피폴라인 상에서만 점을 탐색하게 되어 검색 공간을 줄일 수 있기 때문이다.