어떤 특정한 점들의 corresponding point를 얻기 위해선 점의 reliable과 distinctive가 필요하다.
(corresponding 되는 점들끼리만 matching 되야 하므로)
이러한 feature point는
-Image alignment (homography, fundamental matrix)
-3D reconstruction
-Motion tracking
-Object recognition
-Indexing and database retrieval
-Robot navigation
등에 사용이 가능하다.
작은 window(mask)를 써서 이 window가 이리저리 움직였을 때, 그 window 안의 intensity 값들의 차이가 큰 점들을 corner로 쓴다.
다음 그림을 보면 여러 경우에 대해 설명하고 있다.
여기서, intensity 값 차이란, 각 window intensity값 평균의 차이를 말하는게 아니라, window의 각 cell들 값 차이를 더한 값이다.
결국 E(u,v)는 u,v 만큼 shift 된 window 내의 pixel의 intensity와 shift 안된 window 내의 pixel의 intensity 차이를 제곱하여 모두 합한 값이다.(window 함수 1로 무시하고...) window function은 다음 그림과 같이, window 전 영역에서 1, 또는 window shift가 커질 수록 가중치를 적게 주도록 Gaussian도 가능하다.
우선 w는 무시하고, shift 되는 이미지에 대해 Taylor expansion의 1차항만 써보면
이걸 저 위의 수식에 집어넣어서 풀어보면 (w는 무시;;)
여기저기 문서들 보다 보니, 이렇게 taylor 전개로 이리저리 전개한 것도 있고, bilinear approximation이라고 맨 아래 줄이 달랑 나온 것도 있었다. 아직 이해가 부족하다. u,v를 delta x, delta y, 이 M matrix의 eigenvalue를 두 개 구할 수 있는데, eigenvalue를 쓰면서 rotationally invariant 하게 된다.
위 그림처럼, eigenvalues에 대해 3가지 경우를 고려 가능하다.
1. 두 개 다 작아서, local auto-correlation function이 flat 하다. (어느 쪽으로든 E(u,v)값 변화가 작다) (위 그림에서 회색 부분)
2. 하나만 크고 나머지는 작다, local auto-correlation function이 ridge shaped.
한쪽 방향으론 차이가 크나, 다른 수직 방향으론 차이가 작다. (위 그림에서 주황색 부분) - edge
3. 두 개 다 크다면, auto-correlation function은 sharply peaked, (위 그림에서 파란색 부분) -corner
이것을 한 값, corner response로 나타내면
이것은 2*2크기의 Hessian matrix로 부터 계산되어 진 것이다.
참조 : http://blog.naver.com/PostView.nhn?blogId=sancholok&logNo=30099732975
'[알고리즘]' 카테고리의 다른 글
Sobel Edge Detector : Documents and verilog Code (0) | 2012.10.24 |
---|---|
다양한 Edge(에지) 추출 알고리즘 : 1차미분, sobel, Prewitt, Roberts, Compass, Laplacian... (0) | 2012.10.22 |
Harris Corner Detection 관련된 논문 5 (0) | 2012.10.19 |
Harris Corner Detection 관련된 논문 4 (0) | 2012.10.19 |
Harris Corner Detection 관련된 논문 3 (0) | 2012.10.19 |