3D Vision(NUS) - Lecture 4

김경준·2022년 10월 21일
0

Multi View Geometry

목록 보기
4/4

Projective Geometry and Transformations of 3D

  • xP2=[x1x21]x\in \mathbb{P}^2=\begin{bmatrix} x_1 \\ x_2 \\ 1\end{bmatrix}에서 xP3=[x1x2x31]x\in \mathbb{P}^3=\begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ 1 \end{bmatrix}가 되는 것과 같이 P3\mathbb{P}^3의 특성은 P2\mathbb{P}^2의 일반화라고 할 수 있다.
  • 하지만, 2개의 line이 projective plane에서는 항상 만나지만 3-space에서는 만나지 않는 것과 같이 차원확장에 의한 추가적인 특성이 나타나기도 한다.

Points in P3\mathbb{P}^3

  • 3-space에서의 point XX는 4-vector의 homogeneous coordinates로 표현된다. X4=0X_4=0은 points at infinity를 의미한다.
    X=(X1,X2,X3,X4)T,X40X=(X_1, X_2, X_3, X_4)^T, X_4 \neq0
  • Inhomogeneous coordinate로는 (X,Y,Z)T(X,Y,Z)^T of R3\mathbb{R}^3로 나타낼 수 있다.
    X=X1/X4,Y=X2/X4,Z=X3/X4X=X_1/X_4, Y=X_2/X_4, Z=X_3/X_4

Projective Transformation of Points in P3\mathbb{P}^3

  • P3\mathbb{P}^3에서의 projective transformation은 non-singular 4x4 matrix에 의한 linear transformation이다.
    X=HXX'=HX
  • HH는 15 DoF로 나머지 하나는 scaling factor이다.
  • P2\mathbb{P}^2에서 mapping 된 line은 line을 유지하는 것과 마찬가지로collineation을 만족한다.

Planes in P3\mathbb{P}^3

  • 3-space에서의 plane은 다음과 같이 쓸 수 있다.
    a1X+a2Y+a3Z=a4=0a_1X+a_2Y+a_3Z=a_4=0
  • Homogeneous coordinate에서 표현하여 XX1/X4,YX2/X4,ZX3/X4X\longmapsto X_1/X_4, Y\longmapsto X_2/X_4, Z \longmapsto X_3/X_4라 하면 다음과 같이 쓸 수 있다.
    a1X1+a2X2+a3X3+a4X4=0a_1X_1+a_2X_2+a_3X_3+a_4X_4=0 or aTX=0\mathbf{a}^TX=0
    이는 P2\mathbb{P}^2에서 line에 대한 식 lTx=0\mathbf{l}^Tx=0과 동일하다.
  • Plane coefficient 세 개의 독립적인 비율 {a1:a2:a3:a4}\{a_1:a_2:a_3:a_4\}만 고려하면 되기 때문에 3 DoF이며 (a1,a2,a3)T(a_1, a_2, a_3)^T는 plane normal을 의미한다.
  • aTX=0\mathbf{a}^TX=0을 inhomogeneous로 표현하기 위해 다음과 같이 쓸 수 있다. 이 식에서 d/nd/||\mathbf{n}||은 origin으로부터 plane까지의 거리를 의미한다.
    n.X~+d=0\mathbf{n}.\tilde{X}+d=0

Planes in P3\mathbb{P}^3: Join and Incidence Relations

  • Plane은 collinear하지 않은 세 개의 점 혹은 incident하지 않은 하나의 line과 점으로 정의할 수 있다.
  • 두 개의 서로 다른 plane은 하나의 line에서 교차한다.
  • 세 개의 서로 다른 plane은 하나의 point에서 교차한다.

Three Points Define a Plane

  • Plane π\pi에 incident한 세 개의 points XiX_i가 있다 가정할 때, 각 pointsms πXi=0\pi X_i=0 for i=1,2,3i=1,2,3을 만족한다.
  • Point들이 선형 독립일 때 3x4 matrix [X1,X2,X3]T[X_1,X_2,X_3]^T는 rank 3을 가진다.
  • Point들에 의해 정의되는 plane π\pi는 1차원 (right) null-space로 유일하게 정의된다.

    -Matrix [X1,X2,X3]T[X_1,X_2,X_3]^T의 rank가 2라면 null-space가 2차원이며 이는 points가 collinear하고 그 point들의 line을 축으로 아주 많은 plane들이 만들어질 수 있음을 의미한다.

Three Planes Define a Point

  • 세 개의 plane의 교차점은 3x4 matrix의 (right) null-space로 계산된다.

Parametrized Points on a Plane

  • Plane π\pi 상의 points XXX=MxX=M\mathbf{x}로 나타낼 수 있다. MM이 4x3 matrix로 4x1의 각 column vector를 m1,m2,m3m_1, m_2, m_3라 할 때 XX는 linear combination X=m1x1+m2x2+m3x3X=m_1 \mathbf{x_1}+m_2 \mathbf{x_2}+m_3 \mathbf{x_3}라 할 수 있다.
  • 이 때 MM은 plane π\pi 내의 모든 sub-space를 정의한다.
  • 4x3 matrix MM의 columns는 πT\pi^T의 rank 3 null-space를 만든다. πTM=0\pi ^TM=0
  • π=(a,b,c,d)T\pi=(a,b,c,d)^T이며 aa는 0이 아닐 때 MM은 유일하지 않으며 다음과 같이 쓸 수 있다.

Lines in P3\mathbb{P}^3

  • Line은 두 points의 조합 혹은 두 planes의 교차점으로 정의된다.
  • 3-space에서 line은 두 plane의 두 개의 교차점으로 나타낼 수 있으며 각 교차점은 2DoF(x,yx,y)이므로 line은 4DoF를 가진다.
  • 3-space의 line을 homogeneous 5-vector로 나타내는 것은 어색하기 때문에 2개의 대안으로 나타낸다.

Lines in P3\mathbb{P}^3: Null-Space and Span Representation

  • A,BA,B가 두 non-coincident space의 points라고 가정하자.
  • 이 두 포인트를 연결하는 Linedms 2x4 matrix로 나타낼 수 있으며 이는 6DoF로 overparameterized 되어있다.
  • WTW^T의 span은 line 상에서 수많은 point들인 λA+μB\lambda A+ \mu B가 된다.
  • WW의 2차원 right null space의 span은 line을 축으로 하는 수많은 plane들이 된다.
  • Line 상의 다른 points AT,BTA'^T, B'^TWW와 동일한 span을 가지는 matrix WW를 만든다.
  • 따라서, representation의 정의는 특정 point들에 독립적이다.
  • P,QP,Q가 null-space의 basis라 가정할 때, WP=0WP=0이고 그 결과 ATP=BTP=0A^TP=B^TP=0이 된다.
  • 따라서, PPA,BA,B를 포함하는 plane이 되며 QQ 또한 두 points를 포함하는 또 다른 plane이다.
  • A,BA,B가 모두 planes P,QP,Q 상에 있기 때문에 WW로 정의되는 line은 plane intersection이 된다.
  • Line을 축으로 삼는 수많은 plane들이 span λP+μQ\lambda P + \mu Q로 주어진다.
  • Line의 dual representation은 두 plane P,QP,Q로 구성되는 2x4 matrix WW^*의 span으로 표현된다.
  • WTW^{*T}의 span은 λP+μQ\lambda P + \mu Q로 표현되는 수많은 plane들이고 WW^*의 2차원 null space는 line 상의 수많은 point들이므로 두 representation은 다음 식으로 연관시킬 수 있다.
    WWT=WWT=02×2W^*W^T = WW^{*T}=0_{2 \times 2}
  • Point XX와 line WW의 join으로 정의되는 plane π\piMM의 null space로부터 얻어진다.
  • MM의 null space가 2차원이라면 XXWW 위에 있으며 그렇지 않으면 Mπ=0M\pi = 0이다.
  • Line WW^*와 plane π\pi의 교차점으로 정의되는 point XXMM의 null space로부터 얻어진다.
  • MM의 null space가 2차원이라면 line WWπ\pi 상에 있으며 그렇지 않으면 MX=0MX=0이다.

Lines in $\mathbb{P}^3: Plucker Line Coordinates

  • Plucker line coordinates는 0이 아닌 6개의 값으로 구성된 벡터로 첫 3개의 elements는 AABB 사이의 direction vector, 뒤 3개의 elements는 A,BA,B의 moment vector이다.
    d=BA,m=A×Bd=B-A, m=A \times B

  • 두 line L,L^\mathcal{L}, \hat{\mathcal{L}}이 각각 points A,BA,BA^,B^\hat{A}, \hat{B}의 join이라고 가정하자.

  • Lines는 4개의 points가 동일한 평면에 존재할 때만 교차하며 필요충분 조건은 다음과 같다.
    (proof) A,B,A^,B^A,B,\hat{A},\hat{B}가 동일 평면에 존재할 때 A,BA,B의 direction vector와 A^,B^\hat{A}, \hat{B}의 moment vector는 수직 관계를 가진다.

  • 동일하게, 두 lines L,L^\mathcal{L}, \hat{\mathcal{L}}이 각각 planes P,QP,QP^,Q^\hat{P}, \hat{Q}의 교차선이라 할 때 lines가 교차한다면 다음 조건을 만족한다.
    (LL^)=det[P,Q,P^,Q^]=0(\mathcal{L}|\hat{\mathcal{L}}) = det[P,Q,\hat{P}, \hat{Q}]=0

  • 두 planes P,QP,Q의 교차선이 L\mathcal{L}이고 L^\hat{\mathcal{L}}이 두 points A,BA,B의 join이라면 lines가 교차할때 다음을 만족한다.
    (LL^)=(PTA)(QTB)(QTA)(PTB)=0(\mathcal{L}|\hat{\mathcal{L}}) =(P^TA)(Q^TB)-(Q^TA)(P^TB)=0

Quadrics and Dual Quadrics

  • Quadric은 P3\mathbb{P}^3에서 다음 식에 의해 정의되는 surface이다. QQ는 4x4 matrix이다.
    XTQX=0X^TQX=0
  • Quadric의 많은 특성들은 conics의 특성과 직결된다.
    1. Quadric은 4x4 symmetric matrix로 scale을 제외한 9DoF를 가진다.
    2. 9개의 point들에 의해 quadric이 정의된다.
    3. Matrix QQ가 singular라면 quadric은 더 적은 point들로 정의된다.
    4. Plane π\pi와 quadric QQ의 intersection은 conic CC이다.

Reference

0개의 댓글