-
Epipolar geometry영상처리/3D computer vision 2023. 2. 12. 15:43728x90
Epipolar geometry란, stereo vision의 geometry이다.
3D vision의 기본 모델이라고 할 수 있겠다.
검색해보면 좌표계의 notation이 제대로 안된 식들만 보여서 정확히 이해가 어려웠다....스스로 이해한 것들을 여기에 정리하고자 한다.
epipolar geometry. 공간상의 P를 c1, c2의 두 카메라로 관찰한 모델이다. 공간상의 점 P를 카메라 C1/ C2에서 관찰하는 상황을 모델로 정한다.
이때, "기존의 카메라 위치 C1 / 공간상의 점 P / 새 카메라 위치 C2를 포함한 평면" 을 epipolar plane 이라 한다.
여기에 좌표계의 transformation이 필요하다. (관찰한 좌표계를 명시하지 않으면 큰 혼란이 야기된다.)
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 상에 존재해야 한다.
이를 통해 아래와 같은 관계들이 나온다.
epipolar geometry 그림의 각 vector를 c2 기준으로 표현해보았다. 여기에, P2는 epipolar plane상에 있어야하므로, 법선벡터와 수직 (= 내적이 0) 이라는 관계가 나오며.
아래와 같은 수식을 따르게 되며 이를 epipolar constraint라고 한다.
epipiolar constraint. P2는 epipolar plane상에 있다. 즉, 법선 벡터와 수직해야한다. 이를 matrix로 표현하고, 그중 t x R 부분을 essential matrix라고 한다.
E : Essential matrix. 위와 같이 정의한다. epipolar constraint를 matrix 연산의 형태로 바꿔서 표현한 것이다. 추가로 ,위와 같이 공간상의 점 P 가 아닌 이미지 상의 점 x를 사용한 식은 아래와 같으며 fundamental matrix를 정의한다.
F: fundamental matrix. image point를 이용한 epipolar constraint 더보기fundamental matrix 유도시, P / x / projection matrix의 transpose 관계 (참조)
실제로는 등식이 아니라 비례식이지만 원래 식의 우변이 0 이므로 무시해도 좋다. 여기까지 정리 하자면
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를 정의한다.
728x90'영상처리 > 3D computer vision' 카테고리의 다른 글
pyflow optical flow (0) 2023.11.01 RAFT: Recurrent All-Pairs Field Transforms for Optical Flow 돌려보기 (0) 2023.10.30 Dense Optical Flow algorithm 비교 (open cv) (2) 2023.10.15 Homogeneous coordinate (0) 2023.02.02 CNN 기반 camera pose estimation의 한계 (0) 2023.02.02