1. 왜 2-view geometry가 필요한가?
2. Epipolar geometry
2.1. Epipolar geometry의 구성요소들
- ray: 3D point X를 이미지1로 사영할때 생기는 직선.
- epipolar line: ray를 이미지2로 재사영(reprojection)시 나타나는 직선.
- 두 카메라가 함께 바라보고 있는 3d-point가 두번째 카메라 이미지 위에 나타나는 위치는 무조건 epipolar line 위에 있다.
- epipole: 여러개의 epipolar line이 교차하는 점.
- 지난 시점의 카메라의 위치가 현 시점에서 보이는 경우 나타나게 된다.
- epipolar plane: ray들과 두개의 optical center가 이루는 다각형.
- baseline: 두개의 optical center를 잇는 선.
- correspondence를 위한 세가지 조건
- 3D point X는 무조건 epipolar plane위에 있어야한다.
- 모든 epipolar line들과 baseline들은 epipole에서 교차해야한다.
- 모든 epipolar plane들은 baseline을 포함해야한다.
2.2. 특별한 epipolar geometry 케이스
2.2.1. rotation이 없이 수평으로 translation만 있는 경우
- epipole 존재x
- 모든 epipolar line들이 가로로 나타남.
- epipolar line들의 방향성이 수평으로 제한되기 때문에 각각의 ray의 대한 correspondence를 찾기 수월하여 스테레오 상황에서 pose 추정에 용이하다.
2.2.2. rotation 없이 전면으로 직진한 경우
- 각 카메라의 epipole 위치만으로도 카메라의 상대적 포즈변화를 알 수 있다.
3. Essential / Fundamental matrix
3.1. Essential matrix
두 카메라 사이의 회전(rotation)과 이동(translation)의 cross product로 이루어진 행렬로 두 카메라 이미지의 점들을 이용해 epipolar constraint를 구성해주는 역할을 한다.
3.2. Fundamental matrix
Intrinsic matrix(K)를 적용한 essential matrix.
3.1.에서 적용된 x는 카메라좌표계 기준으로 flaot 형태로 표현되지만 실제 우리는 이미지 픽셀좌표로 표현해야 하므로 카메라 -> 이미지 캘리브레이션을 수행해야한다.
- F와 Epipolar line의 관계
- F와 x를 곱하면 epipolar line 방정식을 얻을 수 있다.
- x와 l을 곱하면 0이다.
3.3. E & F 행렬은 어떻게 구하는가?