두 영상 사이의 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).$$
'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 |