ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

    댓글

Designed by Tistory.