[MVG] Lecture 1-2: 2D and 1D projective geometry
[MVG] Lecture 1-2: 2D and 1D projective geometry
Conics
💡
Conics and Dual Conics in 2d projective space
- conic: plane에서 2차식으로 표현되는 curve들을 일컬음
- Euclidean space상에서의 conic
- 3개의 main types: hyperbola(쌍곡선), ellipse(타원), parabola(포물선)
Conic section
- 위와 같이 두개의 inverted cone과 plane간의 intersection을 이용해서 conic section(=set of conics)를 정의한다.
Mathematical formulation of conics
- cartesian coordinates: 첫번째 식과 같이 2차식으로 정의됨.
- homogeneous coordinates:
- $\bold{x}^TC\bold{x} = 0$
- homogeneous representation으로는 ratio가 곧 DoF임
- ${a:b:c:d:e:f}$ 에서의 독립적인 ratio는 총 5개.
- 따라서 projective space 상에서 conic은 5DoF를 가짐
💡
Points on the conics
- conic 위의 한 점 $x_i$는 하나의 constraint를 가짐
- 위 2차식을 만족해야 한다는 constraint
- 두번째 식과 같이 첫번째 식을 다시 쓸 수 있음
- polynomial을 계수와 변수의 dot product로의 표현으로 바꿈
- conic C를 위와 같이 6-dim vector로 표현할 수 있다.
- c는 5DoF이므로, 5개의 constraints(5개의 conic 상의 점들)만 있으면 conic의 coefficient를 특정할 수 있게 된다.
- 즉 5개의 점들로 conic을 특정할 수 있다는 말.
- 이것을 5개의 점들에 대한 constraints들로 이루어진 5x6 matrix의 null vector라고 말하고 있다.
💡
Dual Conics
Dual conics - Tangent lines
- conic에 접하는 case를 살펴볼 것
- degenerate case로 두 점에서 만나거나 아예 만나지 않은 case는 추후에 살펴볼 것
- $l = Cx$
- $l^Tx$: line과 그 위의 점간의 관계식임을 위에서 살펴봤었음
- $x^TCx$: conic equation
Dual conics - point conics and dual conics
- point conic: 5개의 point로 conic을 결정할 수 있다고 했음. 이렇게 point로 정의하는 conic을 point conic이라고 함
- dual(line) conic: line과 C*로 정의됨
- C*: dual conics
- $l^TC*l$: line lies on the conic 에 대한 식
- dual conic은 마찬가지로 5DoF를 가짐
💡
Dual conic and the inverse of the conic
For non-singular case
- non-singular symmetric matrix C의 경우 $C^=C^{-1}$ 이 성립
- 즉 degenerate case가 아니라면(line이 tangent line이라면) 위 식이 성립한다.
- proof)
- $l = Cx$ 와 dual conic을 이용해서 유도할 수 있음
- 맨 아래 식 $(C^{-1})^{T} = C^{-1}$ 은 Conic이 symmetric matrix여서 성립하는 것
- 대칭행렬의 특성으로 역행렬또한 대칭행렬이다.
- 따라서 $l^TC^{-1}l = 0$ 이라는 식을 유도할 수 있게 된다. → $C^{-1} = C^*$
Geometrically
💡
Degenerate conics
- tangent line $l$ 이 만약 $x$ 뿐만 아니라 conic 위의 점 $y$에서도 만난다면?
- $y^TCy = 0$: conic 상의 점 $y$이므로 이 식이 성립
- $l^Ty = 0$: $l$ 위의 점 $y$이므로 이 식이 성립
- $l^Ty = 0$에 $l = Cx$를 대입 → $x^TCy = 0$이 성립
- $x + \alpha y$: line 그 자체를 의미
- $x,y$와 만나는 tangent line $l$ 상의 임의의 point들을 의미
- 즉 tangent line이 $x$외의 다른 conic 상의 한점에서 만난다면, 그것은 두 점에서 만나는 것이 아니라 tangent line 상의 모든 점에서 만난다는 뜻
- 이 degenerate conic의 경우, conic은 더이상 ellipse나 parabola, 등의 모양으로 생각할 수 없다.
Line conics (rank-2)
- not of full rank == singular case → degenerate case
- C: 3x3 matrix이므로, full rank는 3일 것.
- 즉 rank가 2 이하라면 degenerate case임
- degenerate conics 종류:
- two line(rank 2)
- repeated line(rank 1)
- Line conics (rank-2) 정의
- line l과 m으로 3x3 matrix를 구성했음
- $lm^T$: outer product
- $ml^T$: conic C가 symmetric matrix가 되도록 만들어줌
- 두개의 line$(l, m)$으로 이루어진 conic 식을 그대로 conic equation에 넣어보면 위와 같이 두개의 항으로 나눠진다.
- 위 example의 식이 두 선으로 만들어진 점 코닉의 정의임. 유도 과정이 아니라 그냥 식을 외우면 됨.
Repeated line일 때
- 위 식의 $m$을 $l$로 바꾸어 repeated line을 적용해본다.
Line conic C*
- $C^* = xy^T + yx^T$
- 위 식은 3x3 symmetric matrix를 만들기 위한 일반적인 식임.
- C가 full rank라면 $C^* = C^{-1}$ 임
- 따라서 현재 degenerate case의 경우에는 이것이 성립하지 않음.
💡
Planar projective transformation (H, Homography)
- projectivity:
- invertible mapping이다.
- $P^2$ ⇒ $P^2$
- $x = hx’$ ⇒ $x’ = h^{-1}x$
- projectivity $\iff$ collineation $\iff$ projective transformation $\iff$ homography
- 3x3 non-singular matrix H로 표현할 수 있음
- collinearity에 대한 증명
- $l^Tx_i = 0$ ⇒ 중간에 Identity를 의미하는 $H^{-1}H$를 넣어도 식은 유지된다.
- 따라서 이것을 point에 대한 것과 line에 대한 식으로 나눠보면 $H$로 매핑된 $x$는 여전히 $H^{-T}$로 매핑된 line $l$ 위에 있게 된다.
- 이것은 line $l$ 상에 있던 모든 $x_i$ ($\forall i = 1, 2, 3$)에 대해 모두 성립하기 때문에, 이들은 변형 후에도 같은 line 위에 있게 된다.
- 이것이 collinearity 성질이다.
💡
Properties of H
- non-singular 3x3 matrix
- invertible임
- homogeneous matrix
- independent ratio의 개수가 중요 ⇒ 8DoF를 갖게 됨
Homography의 의미
- origin으로부터 출발하는 어느 ray가 있고, 그것에 intersect되는 plane이 두개가 있을 때, 그 두개의 intersection point간의 관계를 알고 싶을 때
Examples
- 첫번째 그림
- 어느 공간의 planar 상의 점 3개와 그 점 3개를 각 image1과 image2에 projection 시킨 그림
- 동일한 점에서 projection 된 것이기 때문에 image1의 점에서 image2의 대응되는 점으로 변환하는 Homography를 구할 수 있음
- 두번째 그림
- 마찬가지로 X라는 공간상의 동일한 점으로 image1과 image2에 projection 하고 있음
- 세번째 그림도 마찬가지
※ 여기서는 이 homography를 line과 conic에 적용하는 것을 살펴볼 것. (이후(lecture 4)에는 point로 homography를 구하는 방법을 살펴볼 것)
💡
Summary of hierarchy of transformations
- $A = sRK + tv^T$
- $s$: scale matrix
- $R$: rotation matrix
- $K$: upper triangular matrix
- $t$: translation vector
- $v$: 3by1 vector
projective geometry of 1D ($\mathbb{P}^1$)
- 여전이 line(ray)위의 수많은 점들을 생각해볼 수 있는데,
- 2D projective space에서는 intersection을 생각해볼 때 plane을 다뤘음
- 1D projective space에서는 line임
- 2x2 matrix
- homogeneous coord에선 3DoF임
Cross ratio
- 2D에서는 직선이라는 성질은 보존되었음
- 1D에서는 projective transformation을 수행하면 cross ratio가 보존된다.
- cross ratio: 1D projective space에서의 기본적인 invariant임
- 정의: line 위에 4개의 점이 있다고 할 때,
- 각 점들로 이루어진 2x2 matrix의 determinant를 이용하여 계산된다.
- 네 점의 상대적 위치 관계를 하나의 값으로 나타낸다.
- ray가 있고, line이 있음
- 2D 였으면 ray와 plane이었음
concurrent lines
- 1D projective space에도 point와 line간의 dual이 있음
- line에 대해 collinear 관계에 있는 points들에 대한 dual을 의미
- 정의:
- 공간 상에서 같은 점을 지나는 직선들을 의미한다.
- 부가설명
- 어느 plane에서 line들($l_1, l_2, l_3, l_4$)이 어느 하나의 점(위 그림에선 c)에서 만난다(concurrent)는 것은,
- 그것의 dual plane에서는 하나의 다른 line과 위 line들($l_1, l_2, l_3, l_4$)이 교차하는 점들이 그 다른 하나의 line 위에 있게 된다는 것을 나타낸다.
- 이것이 concurrent line과 collinear point간의 dual 관계이다.
- coplanar points:
- 어느 2D projective space 상의 plane위에 있는 $x_i$들을 생각해보자
- 이 $x_i$들에 $C$를 origin으로 하는 projection을 수행함으로써 line에 각 점들이 맺힐 때,
- 이 각 점들은 cross ratio를 보존하게 된다?
참고자료
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.



























