[3차원 기하학] Epipolar Geometry
Epipolar Geometry는 3차원 공간을 서로 다른 두 지점에서 촬영했을 때, 두 이미지 사이의 기하학적 관계를 다루는 이론이다.
구성 요소
아래 그림은 3차원 공간상의 한 점 $P$가 카메라 $A$의 이미지 센서에는 $p$에 투영되고, 카메라 $B$의 이미지 센서에는 $p’$에 투영된 경우이다.
- Baseline: 두 카메라 중심 $C$와 $C’$를 잇는 직선
- Epipole ($e, e’$): 베이스라인과 각 이미지 평면이 만나는 점 (또는 상대 카메라의 중심이 내 이미지에 투영된 점으로 볼 수 있음)
- Epipolar Plane: 3차원 공간의 점 $P$와 두 카메라 중심 $C, C’$가 이루는 평면 (초록색 점선이 둘러싼 평면)
- Epipolar Line ($l, l’$): 에피폴라 평면과 이미지 평면이 만나서 생기는 직선
위의 그림에서 $R$과 $\mathbf{t}$는 카메라 $A$에서 $B$로의 회전 행렬과 이동 벡터를 나타낸다.
Epipolar Line
두 카메라 위치 사이의 기하학적 관계 $[R\mid\mathbf{t}]$와 카메라 $A$에서의 투영 좌표 $p$를 알고 있더라도, $P$의 깊이 정보가 없다면 3차원 좌표 $P$를 복원할 수 없다.
하지만 $P$가 $C_1$과 $p$를 잇는 직선 상에 존재하기 때문에, 이 직선이 카메라 $B$에 투영된 직선 $l’$은 유일하게 존재한다는 것을 알 수 있다.
Epipolar Constraint
Essential Matrix
3차원 공간상의 점 $P$가 각 카메라의 normalized image plane에 $p$와 $p’$로 투영됐다고 하면, 두 정규화 이미지 좌표 $p_n$와 $p_n’$ 사이에는 아래의 관계를 만족하는 행렬이 항상 존재하며, 이 관계식을 epipolar constraint이라고 부른다.
\[p_n'^\top Ep_n=0\]이때 행렬 $E$를 Essential Matrix라고 부르며, 아래와 같이 정의된다.
\[E=[\mathbf{t}]_\times R\]즉, 카메라의 내부 파라미터 $K$를 알고 있을 때, 두 카메라 사이의 기하학적 관계 $R$과 $\mathbf{t}$를 나타낸다.
공식 유도
첫 번째 카메라 좌표계의 점 $p$와 두 번째 카메라 좌표계의 점 $p’$의 관계는 회전 행렬 $R$과 평행이동 벡터 $\mathbf{t}$를 이용하여 다음과 같이 나타낼 수 있다.
\[p'=Rp+\mathbf{t}\]양변에 $\mathbf{t}$를 외적한다. 이때 $\mathbf{t} \times \mathbf{t} = 0$이므로 식이 단순화된다.
\[\mathbf{t}\times p'=\mathbf{t}\times(Rp+\mathbf{t})=\mathbf{t}\times Rp\]벡터 $\mathbf{t}\times p’$는 $p’$와 수직이므로, $p’$와 내적하면 $0$이 된다.
\[p'^\top(\mathbf{t}\times Rp)=0\]외적 연산을 skew-symmetric matrix $[\mathbf{t}]_\times$로 치환한다.
\[p'^\top[\mathbf{t}]_\times Rp=0\]$p=Zp_n$, $p’=Z’p_n’$ (여기서 $Z, Z’$는 깊이)를 대입하고 양변을 $ZZ’$로 나누면 최종 식을 얻는다.
\[p_n'^\top \underbrace{[\mathbf{t}]_\times R}_{E} p_n = 0\]
Fundamental Matrix
Fundamental Matrix는 카메라 내부 파라미터 $K$를 모를 때, 2D 이미지상의 실제 픽셀 좌표 $p$와 $p’$의 관계를 나타낸 행렬이다.
\[p'^\top Fp=0\] \[F=(K'^\top)^{-1}EK^{-1}\]이때 $Fp$는 첫 번째 이미지의 점 $p$에 대응하는 두 번째 이미지 상의 직선 $l’$의 방정식이 된다.
\[l' = Fp\]두 view 사이의 변환 (Depth 정보가 없는 경우)
target view의 좌표를 source view의 좌표로 변환하고 싶을 때,

