2.1. The 2D projective plane#

점을 평면에서 표현할 때 보통 실수평면(R2)에서 (x,y)이고 벡터공간에서 (x,y)는 벡터입니다.

이 section에서는 homogenous의 관점에서 본 점, 선, 면을 어떻게 표현하는지 알아보겠습니다.

Row and column vectors#

볼드체 x=(x,y)T 는 항상 column vector 를 나타내고 row vector는 xT=(x,y) 로 표현합니다.

2.1.1 Points and lines#

Homogeneous representation of lines#

평면에서의 직선의 방정식은 ax+by+c=0 나타냅니다. 여기서 a,b,c 값을 통해 각각의 다른 직선을 그릴 수 있고 벡터로 표현하면 (a,b,c)T 로 표현할 수 있습니다.

하지만 앞서본 직선의 방정식과 벡터 간의 대응은 일대일이 아닙니다. (ka)x+(kb)y+(kc)=0 (k0 인 실수) 와 ax+by+c=0 은 같은 직선 이기 때문입니다.

그러므로 벡터 (a,b,c)Tk(a,b,c)T같은 직선을 나타내는 벡터입니다. 이러한 equivalence한 관계를 갖는 것을 homogeneous vector라고 합니다.

Homogeneous representation of points#

직선 l=(a,b,c)T 위에 존재하는 한 점을 (x,y)T라 하면, 이 (x,y)Tax+by+c=0 을 만족시키는 점들의 집합이며 이 식을 벡터 간의 내적의 식으로 바꿔주면 (x,y,1)(a,b,c)T = (x,y,1)l=0 으로 바꿀 수 있습니다.

결과적으로 직선 위에 존재하는 한 점 (x,y)T 에서 마지막 항에 1을 추가한 것과 같으며, 점의 homogeneous 표현은 이렇게 뒤에 1을 하나 덧붙이는 방법으로 할 수 있습니다.

또한, 전 section에서 말한 것 처럼 (kx,ky,k)T(x,y,1)T 이 같다는 것을 알 수 있으며 임의의 homogeneous vector (x1,x2,x3) 가 존재한다면 이는 실수평면 R2에서 (x1/x3,x2/x3)T 과 같습니다.

Relation between points and lines#

직선 l 위에 있는 점 x 가 성립할 필요충분조건은 xTl=0 입니다.
따라서 xTl=lTx=lx 또한 성립합니다.
즉, xTl가 0이면 점 x는 직선 l 위에 있다는 것을 의미합니다.

Degrees of freedom (dof)#

한 점을 결정하려면 두 가지의 요소 x와 y가 필요한데, 이 때 한 점의 dof는 2라고 얘기합니다. 한 직선은 두 개의 파라미터로 주어질 수 있으므로 dof가 2 입니다.

inhomogeneous로 본다면 gradient와 y로 직선을 결정지을 수 있습니다.

Intersection of lines#

두 직선 l=(a,b,c)T, l=(a,b,c)T 주어졌을 때 교차점은 x=l × l 로 구할 수 있습니다.

위 식이 맞다는 것은 이 수식을 활용한 triple scalar product을 활용해서 볼 수 있는데, l(l × l)=l(l × l)=0 두 직선식을 만족시키기 때문에 x 가 교차점이란 것을 알 수 있습니다.

Line joining points#

두 점을 지나는 직선은 l=x × x 로 구할 수 있습니다.

2.1.2 Ideal points and the line at infinity#

평행한 두 직선 ax+by+c=0ax+by+c=0 가 있다고 하면 벡터로 표현했을 때는 l=(a,b,c)T l=(a,b,c)T 로 쓸 수 있습니다.

위 두 직선의 교점을 구해보면 l × l=(cc)(b,a,0)T 이 되는데 앞의 scale (cc) 를 제외하고 본다면 (b,a,0)T 은 마지막 항이 0인 것이 보일 겁니다.

나머지 두 원소를 마지막 항으로 나누고 inhomogeneous 표현으로 본다면 (b/0,a/0)T 이 되고 이는 특정한 점이 아닌 무한한 점(point at infinity)이 됩니다.

그렇기 때문에 평행한 두 직선은 무한한 점(point at infinity)에서 만난다고 하는 것입니다.

Ideal points and the line at infinity#

homogeneous vector x=(x1,x2,x3) 에서 x3=0 인 경우를 ideal point라고 했습니다. 벡터 형태로 ideal point를 써보면 (x1,x2,0)이 될 것입니다.

모든 ideal point의 집합은 x1:x2 의 비율을 가진 점들의 모임일 것이고, 이들은 특정한 직선 위에 있는 점들 일 것입니다. 우리는 이것을 line at infinity라고 말하고 l=(0,0,1)T 로 표현합니다.

다음과 같은 직선의 방정식을 만족함으로써 점 (x1,x2,0)은 직선 l 위에 있음을 알 수 있습니다. (x1,x2,0)l=(x1,x2,0)(0,0,1)T=0

Duality#

2D projective geometry에서 어떤 정리가 있을 때 점과 직선의 역할을 바꾸어도 같은 성질을 duality라고 합니다.
예를 들어, 직선의 방정식 xTl=lTx=0 이 성립합니다.

Reference#

  1. Multiple view geometry in computer vision chapter 2.2