기본 행렬의 정의
기본 행렬(Fundamental Matrix, \mathbf{F})은 두 카메라 사이의 기하학적 관계를 나타내는 중요한 행렬이다. 두 이미지 평면 간의 대응점을 연관시키는 역할을 하며, 스테레오 비전에서 주로 사용된다. 기본 행렬은 본질 행렬과 유사하지만, 카메라가 보정되지 않은 경우에도 사용할 수 있다는 차이점이 있다.
기본 행렬 \mathbf{F}는 두 카메라의 이미지 좌표계에서 표현된 점 \mathbf{x}와 \mathbf{x'} 사이의 관계를 다음과 같이 나타낸다:
여기서: - \mathbf{x}: 첫 번째 이미지 좌표에서의 점을 나타내는 3차원 벡터 (동차 좌표계로 표현) - \mathbf{x'}: 두 번째 이미지 좌표에서의 대응점을 나타내는 3차원 벡터 (동차 좌표계로 표현) - \mathbf{F}: 3x3 기본 행렬
이 식은 두 이미지 평면 간의 에피폴라 기하학적 제약을 나타내며, 특정 점 \mathbf{x}가 첫 번째 이미지에서 주어졌을 때, 해당 점 \mathbf{x'}가 두 번째 이미지에서 위치할 수 있는 에피폴라인을 기술한다.
기본 행렬의 특성
-
랭크(rank) 제약: 기본 행렬 \mathbf{F}의 랭크는 항상 2이다. 즉, \mathbf{F}는 완전한 계수를 가지지 않으며, 하나의 고유값이 0인 비가역 행렬이다. 이 특성은 두 카메라가 서로 다른 시점에서 동일한 3D 점을 관측할 때의 기하학적 관계를 반영한다.
-
에피폴 제약: 기본 행렬 \mathbf{F}는 에피폴라 제약을 만족한다. 즉, 두 이미지 평면에서 대응하는 점들이 각각의 에피폴라인에 위치하게 된다. 에피폴(점)은 각 카메라의 중심이 상대 카메라의 이미지 평면에서 투영된 위치이다.
여기서 \mathbf{e}는 에피폴을 나타내며, 기본 행렬의 칼럼 스페이스에 속하지 않는 벡터이다. 에피폴은 첫 번째 이미지에서의 점 \mathbf{x}가 두 번째 이미지에서의 에피폴라인 \mathbf{l'}로 변환될 때 다음과 같이 정의된다:
이와 같이, 기본 행렬은 두 이미지 간의 대응점들을 에피폴라인으로 매핑하며, 이러한 관계를 통해 두 이미지 간의 대응을 효율적으로 찾을 수 있다.
기본 행렬의 기하학적 해석
기본 행렬 \mathbf{F}는 두 카메라 간의 기하학적 배치를 설명하는 데 중요한 역할을 한다. 두 이미지 좌표계에서 대응하는 점 \mathbf{x}와 \mathbf{x'}는 각각의 에피폴라인 위에 존재하며, 이는 다음과 같은 관계를 따른다:
여기서: - \mathbf{l'}: 두 번째 이미지에서의 에피폴라인 (에피폴라 라인) - \mathbf{l}: 첫 번째 이미지에서의 에피폴라인 (에피폴라 라인)
기본 행렬은 두 이미지 사이에서 대응되는 모든 점들을 에피폴라인으로 변환하여 서로 일치시키며, 에피폴라 기하학에 기반한 제약 조건을 부여한다. 예를 들어, 두 카메라로 촬영된 이미지에서 어떤 점이 한 이미지에 주어졌을 때, 그 점의 대응점은 다른 이미지에서 해당하는 에피폴라인 위에 위치하게 된다.
기본 행렬과 에피폴라인
기본 행렬 \mathbf{F}는 각 이미지에서의 점이 다른 이미지에서의 에피폴라인으로 매핑되도록 한다. 첫 번째 이미지의 점 \mathbf{x}는 두 번째 이미지에서 에피폴라인 \mathbf{l'}에 매핑되며, 이는 다음과 같이 계산된다:
마찬가지로, 두 번째 이미지의 점 \mathbf{x'}는 첫 번째 이미지에서 에피폴라인 \mathbf{l}에 매핑된다:
에피폴라인의 기울기와 위치는 두 카메라 간의 상대적 위치 및 방향에 따라 달라지며, 기본 행렬은 이러한 관계를 효과적으로 모델링한다.
카메라 매개변수와 기본 행렬의 관계
기본 행렬 \mathbf{F}는 카메라의 내부 및 외부 매개변수와 밀접한 관계가 있다. 내부 매개변수는 각 카메라의 초점 거리와 광학 중심을 포함하며, 외부 매개변수는 두 카메라 간의 상대적인 위치와 방향을 나타낸다. 일반적으로, 기본 행렬은 두 카메라 간의 상대적인 위치(번역)와 방향(회전)에 의해 정의된다.
기본 행렬 \mathbf{F}는 두 카메라 간의 상대적인 위치와 회전을 반영하는 기하학적 정보를 포함하고 있으며, 이를 다음과 같이 나타낼 수 있다:
여기서: - \mathbf{K}, \mathbf{K'}: 각 카메라의 내부 파라미터 행렬 - \mathbf{R}: 두 카메라 간의 회전 행렬 - \mathbf{t}: 두 카메라 간의 번역 벡터 - [\mathbf{t}]_{\times}: \mathbf{t}의 스큐 대칭 행렬
이 식은 두 카메라 간의 기하학적 관계를 나타내며, 카메라 캘리브레이션에 의해 결정된 매개변수를 사용하여 기본 행렬을 계산할 수 있음을 보여준다.