-
[11] 2D Homography Estimation (1)Multiple View Geometry 2021. 4. 10. 15:10
본 포스트는 학습한 것을 정리할 목적으로 작성되었습니다.
해당 포스트의 내용 및 그림, 수식 등은 'Multiple View Geometry in Computer Vision' 책을 참고하였습니다.
(1) 2D homograpy estimation
$\mathbb{P}^2$ 에 존재하는 point $\textbf{x}_i$들의 집합과 같은 공간에서 그에 대응되는 다른 point $\textbf{x}'_i$들의 집합이 주어지면 두 이미지 간의 projective transform(homography)를 추정할 수 있다.
(2) Geometric and algebric distance
Homography를 추정할 때 $\textbf{x}'_i$와 $H\textbf{x}_i$ 두 점군 집합들 간의 차이는 geometric 혹은 algebric distance로 정의된다.
$$ Algebric \ distance \ : \ ||\textbf{x}' \times H \textbf{x}||_2 $$
$$ Geometric \ distance \ : \ ||\textbf{x}' - H \textbf{x}||_2 $$
(3) The direct linear transfomation (DLT) algorithm
DLT 알고리즘은 가장 simple한 homography estimation algorithm이다. 이 algorithm은 다음을 만족하는 $H$를 찾는다.
$$ \textbf{x}'_i \times Hx_i = 0 $$
$\textbf{x}'_i = \begin{bmatrix} x'_i & y'_i & w'_i \end{bmatrix}^T$, $H = \begin{bmatrix} \textbf{h}^{1T} \\ \textbf{h}^{2T} \\ \textbf{h}^{3T} \end{bmatrix}$라고 할 때, 위 식은 다음과 같이 계산된다.
$$ \textbf{x}'_i \times Hx_i = \begin{bmatrix} y'_i \textbf{h}^{3T} \textbf{x}_i - w'_i \textbf{h}^{2T} \textbf{x}_i \\ w'_i \textbf{h}^{1T} \textbf{x}_i - x'_i \textbf{h}^{3T} \textbf{x}_i \\ x'_i \textbf{h}^{2T} \textbf{x}_i - y'_i \textbf{h}^{2T} \textbf{x}_i \end{bmatrix} $$
위 식에서 $\textbf{h}^{jT} \textbf{x}_i = \textbf{x}_i^T \textbf{h}^j$ 이므로 다음과 같이 정리할 수 있다.
$$ \begin{bmatrix} \textbf{0}^T & -w'_i \textbf{x}_i^T & y'_i \textbf{x}_i^T \\ w'_i \textbf{x}_i^T & \textbf{0}^T & -x'_i \textbf{x}_i^T \\ -y'_i \textbf{x}_i^T & x'_i \textbf{x}_i^T & \textbf{0}^T \end{bmatrix} \begin{bmatrix} \textbf{h}^1 \\ \textbf{h}^2 \\ \textbf{h}^3 \end{bmatrix} = A_i \textbf{h} = 0$$
위 식에서 $\textbf{h}$는 9-vector 이며 이 vector의 element들은 homography $H$들의 element들 이다.
$$ \textbf{h} = \begin{bmatrix} \textbf{h}^1 \\ \textbf{h}^2 \\ \textbf{h}^3 \end{bmatrix} \, \ \ H = \begin{bmatrix} h_1 & h_2 & h_3 \\ h_4 & h_5 & h_6 \\ h_7 & h_8 & h_9 \end{bmatrix}$$
또한 위 식의 rank는 2 이므로(up to scale) 마지막 row는 다른 row들에 대해 linearly dependent하고 따라서 위 두 row에 의한 식으로만 문제를 풀게 된다.
$$ \begin{bmatrix} \textbf{0}^T & -w'_i \textbf{x}_i^T & y'_i \textbf{x}_i^T \\ w'_i \textbf{x}_i^T & \textbf{0}^T & -x'_i \textbf{x}_i^T \end{bmatrix} \begin{bmatrix} \textbf{h}^1 \\ \textbf{h}^2 \\ \textbf{h}^3 \end{bmatrix} = A_i \textbf{h} = 0$$
왼쪽의 행렬 식은 2 x 9 matrix이고 오른쪽의 벡터는 9-vector 이므로 dof 는 8이고 따라서 최소 4개의 point pair가 요구된다.
'Multiple View Geometry' 카테고리의 다른 글
[13] 2D Homography Estimation (3) (0) 2021.04.11 [12] 2D Homography Estimation (2) (0) 2021.04.10 [10] Quadrics and dual quadrics (0) 2021.04.08 [9] 3D Projective Geometry (2) (0) 2021.04.08 [8] 3D Projective Geometry (1) (0) 2021.04.08