난개발자 2023. 2. 12. 15:43
728x90

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로 변환해주는 변환이 된다. 

P1PC1에서 본 3차원 좌표, P2PC2 에서 본 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