'Interesting/Multiple view geometry'에 해당되는 글 6

  1. 2008.07.09 2차원 특성들
  2. 2008.05.28 무한대에서 이상점(ideal point)와 선
  3. 2008.05.22 [3D vision] 소개 및 2D Projective Geometry
Interesting/Multiple view geometry | Posted by hyena0 2008. 7. 9. 00:16

2차원 특성들


Duality

사용자 삽입 이미지


Conics
 원추 곡선을 나타내는 방정식인데, 변수가 2개인 2차방정식이다.
 직선의 방정식처럼 변수 부분을 빼낸 C 부분만 보면 원추곡선의 특성을 표현할 수 있다.
 C는 Conic coefficient matrix 라 부르고, 대칭성을 가지므로 a,b,c,d,e,f 의 여섯가지 요소만을 가지게 된다.
 (검증은 "xTCx = 0" 으로 놓고 식을 풀고 계수를 비교해 보면 된다.)

사용자 삽입 이미지

원추곡선의 접선에 대한 식은 l = Cx 로 나오는데, 아래의 표현처럼 직선 l 은 C위에 있는 점 x 에 접한다는 의미이다.
사용자 삽입 이미지
사용자 삽입 이미지





이전 포스트에서 나왔던 평면에 대한 성질을 다시 정리해보자면 아래와 같다.

사용자 삽입 이미지

(1) 위는 두개의 점(벡터)를 cross 곱을 해서 나오는 직선 l 은 두 점을 가로지른다는 의미이다. 그 방향은 두점이 만들어내는 평면에 수직한 방향이 되겠다.
사용자 삽입 이미지
(2) 두 직선에 대해 cross 곱을 하게 되면 나타나는 점은 두 직선의 교점이 되는데, 이 역시 방향은 두 직선이 만들어내는 평면에 수직한 방향이 된다.
 이렇게 해서 단지 수식에 대해서만 나타내면 상상하기 어려운 것이 도식화 되었다.

그럼 이제 Ideal points 와 line 을 알아보자.

평행한 직선의 교점

평행한 직선에 교점이 있을리 없지만, 일단 알아보자.
두 직선 ax+by+c=0과 ax+by+c'=0 에 대해 위의 결과 (2) 를 생각해 보자.
각 직선을 l, l' 라고 하면 l x l' 는 (c'-c)(b,-a,0)T로 나타난다.
풀어서 계산하면 아래와 같다.
사용자 삽입 이미지
i, j, k 가 x, y, z 축의 단위벡터이므로 이를 통해 계산하고 같은 항을 빼내면,
(c'-c)(b,-a,0)T 가 된다.

(c'-c)은 단지 상수가 되고, (b,-a,0)T 이 점이다. 여기서 inhomogeneous 표현을 가져오면 (b/0,-a/0)T 이 되는데, 0이 분모에 있으므로 무한히 큰 좌표라고 제안하자.

일반적으로 homogemeous 좌표계에서 점 (x, y, 0)T 는 유한한 평면 R2에서 어떤 점과 일치하지 않는다. 이것은 무한한 곳에서 평생선은 만난다는 것을 내포하고 있다.

음...


3D Vision - 2D Projective Geometry

3차원 비전 컴퓨팅을 위해 "Multiple View Geometry in computer vision"의 내용을 정리하고 고찰해 보고자 한다. (책은 구글북스에서 볼 수 있는데, 제목을 클릭하면 이동함)

 이 책의 내용에서 1장에서는 전반적인 책의 흐름과 각 방법들의 개략적인 전개를 보여주는데, 여기에서 너무많은 시간을 보내지 않았으면 한다. 왜냐하면 별안간 등장하는 유클리드 기하학과 변환행렬들의 구조를 알아내려고 하면 초반에 너무많은 시간을 허비하게 되기 때문이다. 사실상 뒤의 장에서 다 소개하고 있으므로, 바로 2장부터 알아보겠다.

<2D Projective Geometry>

* 기본정의
점과 선은 행렬과 벡터로 표현하게 된다. 통상적으로 두 행렬과 벡터의 곱으로 표현하게 되는데, 행렬은 오른쪽의 열이고 벡터는 왼쪽의 행이 된다.
행 (행렬) X 열 (벡터)

* 점과 선
통상 평면위의 직선은 ax+by+c=0 으로 표현된다. 즉 다르게 표현하면 (x,y,1)(a,b,c)T=0 이 된다. 0이 아닌 상수를 곱하게 되면 (ka)x+(kb)y+(kc)=0 이 된다.
벡터 (a,b,c)T 는 k(a,b,c)T 로 나타낼 수 있고 같은 선에 있다. 직선방정식을 볼때, 모든 항에 상수를 곱해도 동일한 직선이 되므로 공감이 갈 것이다.

* Homogeneous 표현
직선 l=(a,b,c)T 위의 점을 x =(x,y)T 로 나타내자. 이때 직선방정식은 ax+by+c=0 이라고 할때에 (x,y,1)(a,b,c)T = (x,y,1)l = 0 으로 표시할 수 있다.
homogeneous 벡터의 표현으로 점을 표시하면 x = (x1,x2,x3)T 가 되는데 R2 평면에 대한 표현은 (x1/x3, x2/x3)T 가 된다.
homogeneous 좌표에 대해서는 추후에 다시 논의 하겠지만, 우리가 느끼는 3차원 공간과 헷갈리지 않도록 유의해야 한다.

 
사용자 삽입 이미지
사용자 삽입 이미지
Homogeneous 좌표에서 나타나는 결론들은 아래와 같다.

The point x lies on the line l if and only if xTl=lTx=0

사용자 삽입 이미지


* 자유도
 직선방정식에서 x와 y 두가지 좌표값이 명확하게 제공되어야 한다. 즉 직선에 대한 두 매개변수에 의해 형태가 결정되므로 자유도는 2라고 한다.