SURF에서 det(H)가 쓰이는 이유

학술 2011. 9. 2. 18:02 Posted by 양고


퇴근하고 월요일에 쓰겠음... ㅡㅡ;

-월요일-

음 시간이 없으니 대충 쓰겠음
우선 블롭을 찾기 위해 다음과 같이 LoG 영상의 maxima를 찾으면 된다.

\nabla^2 L =L_{xx} + L_{yy}

위 식에서 L은 가우시안 블러된 이미지.
원리는 에지를 찾기 위해 LoG 영상의 영교차(zero-crossing) 점을 찾는 것과 비슷하다.

이에 비해 L에 대한 헤시안은 다음과 같다.


H(\mathbf{x}) = 
\begin{bmatrix}
L_{xx}(\mathbf{x}) & L_{xy}(\mathbf{x})\\
L_{xy}(\mathbf{x}) & L_{yy}(\mathbf{x})\\
\end{bmatrix}

즉 det(H) = Lxx Lyy - Lxy ^2 이다.
앞의 항은 Laplacian과 비슷한 효과를 낼 것이다. 그러나 합이 곱으로 바뀜으로써 Lxx, Lyy 둘 중에 하나가 작은 값을 가지는 경우는 배제될 것이다.
뒤의 Lxy ^2을 빼 주는 것도 마찬가지 효과를 나타낼 것인지는 잘 모르겠다. --

http://en.wikipedia.org/wiki/Blob_detection#The_determinant_of_the_Hessian
http://en.wikipedia.org/wiki/Hessian_affine_region_detector

As discussed in Mikolajczyk et al.(2005), by choosing points that maximize the determinant of the Hessian, this measure penalizes longer structures that have small second derivatives (signal changes) in a single direction.