3D Vision(NUS) - Lecture 2

김경준·2022년 9월 28일
0

Multi View Geometry

목록 보기
2/4

Conics and Dual Conics

  • Conic(원뿔)은 plane에서 2차 방정식으로 나타낼 수 있는 curve를 의미하며 그 유형으로 hyperbola(쌍곡선), ellipse(타원), parabola(포물선)이 존재한다.
  • 이 유형들은 다른 orientation을 가지는 plane에 의해 만들어진다.
    • 원뿔의 사선에 접하는 plane은 parabola를 만든다.
    • 원뿔의 base에 접하는 plane은 circle을 만들고 회전시키면 ellipse를 만든다.
    • 수직 방향은 plane은 hyperbola를 만든다.
  • Conic의 방정식은 inhomogeneous coordinate에서 다음과 같다.
    ax2+bxy+cy2+dx+ey+f=0ax^2+bxy+cy^2+dx+ey+f=0
  • xx1x3,yx2x3x \rightarrow \cfrac{x_1}{x_3}, y \rightarrow \cfrac{x_2}{x_3}를 통해 homogeneous coordinate으로 바꾸면 다음과 같다.
    ax12+bx1x2+cx22+dx1x3+ex2x3+fx32=0ax_1 {}^2+bx_1x_2+cx_2{}^2+dx_1x_3+ex_2x_3+fx_3{}^2=0
  • 행렬로 나타내면 xTCx=0\mathbf{x^TCx=0}이 되며 C\mathbf{C}는 symmetric하며 conic의 homogeneous representation이라 할 수 있다.
    C=[ab/2d/2b/2ce/2d/2e/2f]\mathrm{C}=\left[\begin{array}{ccc} a & b / 2 & d / 2 \\ b / 2 & c & e / 2 \\ d / 2 & e / 2 & f \end{array}\right]
  • Scale은 무시되며 6개의 변수의 비만 생각하면 되므로 5DoF이다.

Five Points Define a Conic

  • 각 point xi=(xi,yi)\mathbf{x}_i=(x_i, y_i)는 conic coefficient에 하나의 constraint를 준다.
    axi2+bxiyi+cyi2+dxi+eyi+f=0ax_i{}^2+bx_iy_i+cy_i{}^2+dx_i+ey_i+f=0
    (xi2 xiyi yi2 xi yi 1)c=0\rightarrow (x_i{}^2 \space x_iy_i \space y_i{}^2 \space x_i \space y_i \space 1)\mathbf{c}=0, c=(a,b,c,d,e,f)T\mathbf{c}=(a,b,c,d,e,f)^T
  • 5개의 point가 주어진다면 conic은 5x6 행렬의 null vector가 된다.
    [x12x1y1y12x1y11x22x2y2y22x2y21x32x3y3y32x3y31x42x4y4y42x4y41x52x5y5y52x5y51]c=0\left[\begin{array}{cccccc} x_1^2 & x_1 y_1 & y_1^2 & x_1 & y_1 & 1 \\ x_2^2 & x_2 y_2 & y_2^2 & x_2 & y_2 & 1 \\ x_3^2 & x_3 y_3 & y_3^2 & x_3 & y_3 & 1 \\ x_4^2 & x_4 y_4 & y_4^2 & x_4 & y_4 & 1 \\ x_5^2 & x_5 y_5 & y_5^2 & x_5 & y_5 & 1 \end{array}\right] \mathbf{c}=\mathbf{0}

Conics and Dual Conics

  • Conic CC 상의 point x\mathbf{x}에서의 접선 l\mathbf{l}l=Cx\mathbf{l}=C \mathbf{x}이다.
    (증명) lTx=xTCx=0\mathbf{l^Tx=x^T}C\mathbf{x}=0이므로 lT=xTC\mathbf{l^T=x^T}C이고 따라서 l=Cx\mathbf{l}=C\mathbf{x}이다.

  • 위 설명들은 엄밀히 말하면 점들에 대한 방정식으로 정의한 point conic이라 할 수 있으며 선에 대한 방정식으로 정의한 dual(line) conic도 존재한다.
    \rightarrow 3x3 행렬 CC^*로 표기한다.

  • Conic CC의 접선 l\mathbf{l}lTCl=0\mathbf{l}^TC^*\mathbf{l}=0을 만족하며 5개의 line을 알면 계산할 수 있다.(5DoF)

  • Non-singular symmetric 행렬 C=C1C^*=C^{-1}을 만족한다.
    (증명) l=Cx\mathbf{l}=C \mathbf{x}이므로 x=C1l\mathbf{x}=C^{-1}\mathbf{l}로 변형 가능하고 따라서 C=C1C^*=C^{-1}가 된다.

  • 또한, xTCx=0\mathbf{x}^TC\mathbf{x}=0이므로 (C1l)TC(C1l)=lTC1l=0(C^{-1}\mathbf{l})^TC(C^{-1}\mathbf{l})=\mathbf{l}^TC^{-1}\mathbf{l}=0로부터 lTCl=0\mathbf{l}^TC^*\mathbf{l}=0을 도출할 수 있다.

  • Dual conics는 conic envelopes라 부르기도 한다.

    Degenerate Conics


  • l\mathbf{l}이 다른 point y\mathbf{y}에서 conic을 만난다고 가정하면 yTCy=0,xTCy=lTy=0\mathbf{y}^TC\mathbf{y}=0, \mathbf{x}^TC\mathbf{y}=\mathbf{l^Ty=0}이 된다.

  • 이 때 모든 α\alpha에 대해 (x+αy)TC(x+αy)=0(\mathbf{x+\alpha y)^T}C\mathbf{(x+\alpha y)}=0을 만족한다.

  • 이는 x,y\mathbf{x,y}를 지나는 모든 line이 conic CC 상에 존재한다는 의미가 되므로 세 유형에 전부 속하지 않는 degenerate conics가 된다.

  • Degenerate conics의 rank는 full rank가 아니어서 2개의 line과 반복되는 line을 포함한다.

Planar Projective Transformations

  • Projectivity는 P2P2\mathbb{P}^2 \rightarrow \mathbb{P}^2인 Invertible mapping으로 homography라고도 부른다.
  • P2\mathbb{P}^2 상의 동일한 line 위에 있는 세 점 x1,x2,x3\mathbf{x_1, x_2, x_3}에 대해 맵핑한 h(x1),h(x2),h(x3)h(\mathbf{x_1}), h(\mathbf{x_2}), h(\mathbf{x_3})도 동일한 line 위에 위치하게 된다.(collinearity)
  • Non-singular 3x3 matrix HH로 나타낼 수 있다.
    h(x)=Hxh(x)=H\mathbf{x}
  • 행렬 요소들의 ratio만이 중요하기 때문에 homogeneous matrix이며 8DoF이다.
  • Transformed plane에 투영한다고 볼 수 있다.

Transformations of Lines and Conics

  • Line 상의 point들에 projective transformation을 적용했을 때 여전히 하나의 line 위에 존재하므로 l=HTll'=H^{-T}l로 표현할 수 있다.
  • Conic CC의 transform은 C=HTCH1C'=H^{-T}CH^{-1}로 dual conic CC^*의 transform은 C=HCHTC^{*'}=HC^*H^T로 표현할 수 있다.

Hierarchy of Transformations:Isometries

  • Isometries란 euclidean distance를 유지하는 R2\mathbb{R}^2 상에서의 transformation으로 2개의 plane이 평행하다.
  • Length, angle, area에 대해 invariant 하다.
  • 3DoF(θ,tx,ty)\theta, t_x, t_y)

Hierarchy of Transformations:Similarity

  • x,yx,y에 동일하게 scaling을 적용하는 isotropic scaling이 들어간 isometry라고 볼 수 있다.
  • Angles, ratio of two lengths, ratio of areas에 invariant하다.
  • 4DoF(θ,tx,ty,s)\theta, t_x, t_y, s)

Hierarchy of Transformations:Affinity

  • Translation에 non-singular linear transformation 적용
  • Parallel lines, ratio of lengths of parallel line segments, ratio of areas에 invariant하다.
  • 6DoF(a11,a12,a21,a22,tx,ty)(a_{11},a_{12}, a_{21}, a_{22}, t_x, t_y)
  • Affine matrix AA는 SVD에 의해 항상 아래와 같이 분해된다. RR은 rotation, D는 diagonal matrix를 의미하며 U,VU,V는 orthogonal matix다.
    A=UDVT=(UVT)(VDVT)=R(θ)(R(ϕ)DR(ϕ))A=UDV^T=(UV^T)(VDV^T)=R(\theta)(R(-\phi)DR(\phi))

Hierarchy of Transformations:Projective

  • Non-singular linear transformation
  • vv가 0일 수 있기 때문에 항상 scale이 가능하지는 않다.
  • 두 plane의 4개의 point correspondence로부터 행렬식을 구할 수 있다.
  • Order of contact, tangency, cross ratio에 invariant하다.
  • 8DoF

Decomposition of a Projective Transformation

  • Projective transformation은 similarity, affine, projective로 분해될 수 있다.

Reference

0개의 댓글