Epipolar geometry
Epipolar geometry란, stereo vision의 geometry이다.
3D vision의 기본 모델이라고 할 수 있겠다.
검색해보면 좌표계의 notation이 제대로 안된 식들만 보여서 정확히 이해가 어려웠다....
스스로 이해한 것들을 여기에 정리하고자 한다.
공간상의 점 P를 카메라 C1/ C2에서 관찰하는 상황을 모델로 정한다.
이때, "기존의 카메라 위치 C1 / 공간상의 점 P / 새 카메라 위치 C2를 포함한 평면" 을 epipolar plane 이라 한다.
여기에 좌표계의 transformation이 필요하다. (관찰한 좌표계를 명시하지 않으면 큰 혼란이 야기된다.)
위의 모델을 이 기준으로 표현하면, T2_1은 C1에서의 관찰을 C2로 변환해주는 변환이 된다.
P1은 P를 C1에서 본 3차원 좌표, P2는 P를 C2 에서 본 3차원 좌표로 정의하자.
C2 좌표계를 기준으로 P1 / T2_1 / P2의 관계를 표현한 것이 epipolar constraint이다.
위의 그림을 기준으로 아래와 같이 수식을 전개할 수 있다.
새로운 카메라 C2에 대한 P의 좌표는 P2가 되고, 이 또한 epipolar plane 상에 존재해야 한다.
이를 통해 아래와 같은 관계들이 나온다.

여기에, P2는 epipolar plane상에 있어야하므로, 법선벡터와 수직 (= 내적이 0) 이라는 관계가 나오며.
아래와 같은 수식을 따르게 되며 이를 epipolar constraint라고 한다.
이를 matrix로 표현하고, 그중 t x R 부분을 essential matrix라고 한다.
추가로 ,위와 같이 공간상의 점 P 가 아닌 이미지 상의 점 x를 사용한 식은 아래와 같으며 fundamental matrix를 정의한다.
fundamental matrix 유도시, P / x / projection matrix의 transpose 관계 (참조)

여기까지 정리 하자면
epipolar geometry : stereo vision의 geometry이다.
epipolar plane : 하나의 point P와 두 카메라를 포함한 평면
epipolar constraint : P를 각 카메라에서 관찰한 P1/ P2와 두 카메라간의 위치 차이 (rigid body transformation)를 이용한 등식 (의미는 P / C1/ C2 는 한 plane 위에 있다)
이를 쉽게 표현하기 위해 essential matrix와 fundamental matrix를 정의한다.