-
[4] Line at Infinity and Affine RectificationMultiple View Geometry 2021. 4. 2. 14:19
본 포스트는 학습한 것을 정리할 목적으로 작성되었습니다.
해당 포스트의 내용 및 그림, 수식 등은 'Multiple View Geometry in Computer Vision' 책을 참고하였습니다.
(1) Invariant of affine transform
두 직선이 평행할 때, affine transform에 의해 변형된 이미지는 이 평행성을 보존한다. 반대로 projective transform된 직사각형 물체의 이미지를 affine rectification을 하면 평행사변형을 얻을 수 있다.
(2) Affine rectification
본 블로그의 '[1] 2D Projective Plane'에서 소개한 line at infinity $\textbf{l}_{\infty}$의 이미지는 affine rectification의 정보를 포함한다. Projective transform $H$에 의해 $\textbf{l}_{\infty}$는 다음과 같이 Euclidean space내부에 표현할 수 있으며 이들간의 관계로부터 affine rectificiation이 수행된다.
예를 들어, 어떤 직사각형 물체의 각 모서리에 해당하는 직선들이 projective transform을 통해 위의 그림과 같이 그 평행성이 깨졌다고 가정해보자. 여기에서 원래 이미지에서는 $\textbf{l}_1$과 $\textbf{l}_2$ 그리고 $\textbf{l}_3$와 $\textbf{l}_4$가 각각 평행했었다.
Line at infinity $\textbf{l}_{\infty}$는 ideal points들의 집합이므로 평행했던 두 직선이 만나는 가상의 점이 projective transform에 의해 위 그림에서 빨간점에 해당하는 점들과 같이 Euclidean space로 이동한다. 따라서 affine retificiation은 이 transform을 찾아 그 역행렬을 이미지에 취해주는 것 이며 이는 line at infinity의 변환을 이용하여 구할 수 있다.
$$ H^{-1} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ a' & b' & c' \end{bmatrix} \ where \ \textbf{l}_{\infty}' = \begin{bmatrix} a' & b' & c' \end{bmatrix}^T $$
$$ \textbf{l}' = H^{-T} \textbf{l} $$
$$ H^{-T} = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & -1 \end{bmatrix} $$
실제로 affine recification 과정을 수행하면 다음과 같다.
$$ \textbf{l} = H^T \textbf{l}' $$
$$ H^T \begin{bmatrix} \textbf{l}_{1}' \textbf{l}_2' \textbf{l}_3' \textbf{l}_4' \end{bmatrix} $$
$$ = \begin{bmatrix} 1 & 0 & 0 & 1 \\ 0 & 1 & 1 & 0 \\ 0 & 1 & 0 & 1 \end{bmatrix} $$
'Multiple View Geometry' 카테고리의 다른 글
[6] Absolute Conic (0) 2021.04.04 [5] Circular Point and Similarity (0) 2021.04.04 [3] Projective Transformation(Homography) (0) 2021.04.02 [2] Duality and Conic (0) 2021.04.01 [1] 2D Projective Plane (0) 2021.03.31