Manduss life
[MVG] Epipolar Geometry 본문
Epipolar geometry는 두 개의 시점 관계의 projective geometry이다.
$${x^{'}}^{T}Fx = 0$$
$F$ : fundamental matrix로 intrinsic geometry, 3x3 matrix, rank 2 (rank : 행렬이 나타낼 수 있는 기저 공간의 개수, 서로 독립적인 행과 열의 개수(행과 열의 랭크는 같은 값을 가짐))
$x$ : 첫번째 시점의 투영 2차원 점
$x^{'}$ : 두번째 시점의 투영 2차원 점
base line : 두 시점의 카메라 센터를 연결한 선
epipolar plane : base line과 3차원 점 $X$ 가 만나는 평면
epipole : base line과 각 시점의 image plane과 만나는 점, 다른 시점의 카메라 센터를 해당 시점에 투영한 점
epipolar line : epiplar plane 과 image plane의 교차선, epipole이 그 위에 존재.
Geometric derivation
$$x \mapsto x' : H_{\pi}$$
$$x \mapsto l' : F $$
이는 시점 1의 2차원 좌표가 시점 2의 epipolar line으로 mapping된다는 의미이다. 이 관계식은 fundamental matrix로 표현된다.
1. 시점 1의 2차원 좌표 $x$는 독립적인 3D plane의 한 점 $X$위에 있는 점이고, $X$는 시점 2로 투영되어 얻은 점 $x'$ 획득
$$x' = H_{\pi }x$$
2. $x'$은 epipole 점 $e'$과 잇는 선 $l'$ 획득
$$l' = e' \times x' = [e']_{\times }x'$$
$$l' =[e']_{\times }H_{\pi }x = Fx$$
$$ F = [e']_{\times }H_{\pi } $$
$[e']_{\times }$이 rank 2이기 때문에 $F$ matrix 또한 rank2 행렬이다.
Algebraic derivation
앞서 geometric하게 Fundamental matrix를 증명하였다면, 수학적 증명도 가능하다.
3차원 점 $X$를 다음과 같이 정의할 수 있다.
$$X(\lambda) = P^{+}x + \lambda C$$
$ P^{+}$는 matrix P(3x4)의 pseudo inverse 4x3 행렬이다.
2차원 점 point1과 point2를 정의한다.
point1 : 3차원 점 X를 두번째 시점으로 투영한 점
$$P'P^{+}x$$
point2 : 첫번째 시점의 카메라 센터($C$)를 두번째 시점으로 투영한 점(epipole)
$$P'C$$
두번째 시점의 epipolar line($l'$)을 정의한다.
$l'=(P'C)\times (P'P^{+}x)$가 되는데 이를 전개하면
$$\begin{align} &l'=(P'C)\times (P'P^{+}x) \\
&= \left [ e' \right ]_{\times}(P'P^{+}x) \\
&= Fx \end{align} $$
그러므로
$$\therefore F = \left [ e' \right ]_{\times}P'P^{+} $$
의 Fundamental 식을 얻을 수 있다.
여기서 $P'P^{+}$는 앞 절의 $H_{\pi } $ 와 동일하여 앞 절의 식과 같은 식을 얻었다.
$P$식을 좀더 파고들자면, 다음과 같은 증명도 가능하다.
$$ P = K[I|0] \quad P' = K'[R|t]$$
$$ P^{+} = \begin{bmatrix}K^{-1} \\ 0^{T} \end{bmatrix} \quad C = \begin{pmatrix}
0\\
0 \\
0\\
1\end{pmatrix} $$
$$\begin{align}
&F = [P'C]_{\times}P'P^{+} \\
&= \left [K'[R|t]\binom{\textbf{0}}{1}\right ]_{\times}K'[R|t]\begin{bmatrix}
K^{-1} \\
0^{T}\end{bmatrix}\\
&=[K't]_{\times} K'RK^{-1}\\
&= K'^{-T}[t]_{\times} RK^{-1}\\
&= K'^{-T}R[R^{T}t]_{\times}K^{-1}\\
&= K'^{-T}RK^{T}[KR^{T}t]_{\times}
\end{align}$$
Appendix
** Cross products
벡터 a의 외적 계산 시 $[a]_{\times }$ matrix로 표현
$$a = (a_{1}, a_{2}, a_{3})^{T}$$
$$[a]_{\times } = \begin{bmatrix}
0 & -a_{3} & a_{2}\\
a_{3} & 0&-a_{1} \\
-a_{2} &a_{1} &0
\end{bmatrix}$$
$$a \times b = [a]_{\times }b$$
'전산 > MVG' 카테고리의 다른 글
[MVG] Extrinsic Matrix and its Inverse / Camera Center (2) | 2022.04.12 |
---|