두 영상 사이의 perspective 변환은 8개의 매개변수 $(a, b, c, d, e, f, g, h)$에 의해서 다음 식처럼 기술이 된다. (see, http://kipl.tistory.com/86)

또는, 

따라서, 매개변수를 찾기 위해서는 두 영상에서 서로 대응하는 점이 4개 이상 주어져야 한다. N개의 대응점들이 주어진 경우

 

각각의 대응점을 위의 식에 대입해서 정리하면 아래의 행렬식을 얻을 수 있다.(좌변 행렬의 마지막 열은 전부 - 부호가 들어가야 한다) 
 

 

 

 

 

또는, 간단히 

$$ \bf A \cdot x = b$$

로 쓸 수 있다. 그러나 대응점을 찾을 때 들어오는 noise로 인해서 실제 데이터를 이용하는 경우에는 정확히 등호로 주어지지 않는다. 따라서, 실제 문제에서는 좌변과 우변의 차이의 제곱을 최소로 만드는 $\bf x$를 찾아야 할 것이다.

$$ \mathbf{x}^{*} = \underset{\mathbf{x}}{\text {argmin }} | \mathbf{A}\cdot \mathbf{x} - \mathbf{b}|^2.$$

최소자승해를 찾기 위해 $\bf x^{T}$에 대해 미분을 하면

$$ \bf (A^{T} \cdot A)\cdot x  = A^{T} \cdot b,$$

를 얻고, 이 식을 풀어서 ${\bf x}^*$을 구하면 된다. $\bf A^T \cdot A$는 $8\times 8$의 대칭 행렬로 역행렬을 구할 수 있다 (주어진 점들 중 한 직선 위에 놓이지 않는 점이 4개 이상이 있어야 한다). 따라서 최소자승해는 다음과 같이 쓸 수 있다:

$$\bf x^{*} = (A^{T} \cdot A)^{-1} \cdot (A^{T} \cdot b).$$

728x90

'Image Recognition' 카테고리의 다른 글

2차원 Savitzky-Golay Filters 응용  (0) 2012.02.28
webcam용 QR code detector  (0) 2012.02.19
Perspective Transformation  (2) 2012.02.14
Integral Image을 이용한 Adaptive Threshold  (0) 2012.02.04
Peak Finder  (1) 2012.02.02
Posted by helloktk
,