해리스 코너(Harris Corner)

컴퓨터비전/영상처리 2015. 4. 3. 21:19

해리스 코너는 크리스 해리스(Chris Harris)라는 사람이 1988년 제안한 것이다.

해리스 코너 검출기는 미분값에 기반을 둔 검출 방법이다. 코너 응답 함수(CRF-Corner Response Function)을 기반으로

코너를 파악한다. 코너 응답 함수(CRF)는 코너가 얼마나 강한지 판별하는 함수이다.


※ 해리스 코너 검출은 다음 5가지 과정을 거친다.

   1. 소벨 마스크를 이용해 미분값을 계산

   2. 미분값의 곱 계산

   3. 미분값에 가우시안 마스크 적용

   4. 코너 응답 함수(CRF) 계산

   5. 비최대값억제(non-maximum supression) 으로 최종 코너 검출




위 행렬식은 2x2행렬의 고유 벡터(Eigen vector)가 얼마나 서로 수직인 방향으로 큰 값을 갖는지를 측정하는 값이다.

여기서 Ix와 Iy는 각각 영상에서 가로와 세로 방향의 미분값을 나타낸다. 이러한 행렬에서 고유 벡터를 구하면 경계선

방향에 수직인 벡터 두개를 얻을 수 있다. 아래 그림과 같이 두 방향의 벡터를 구할 수 있다.


각각 두 벡터는 수직일 경우와 수직보다 작을 경우, 수직보다 클 경우로 구할 수 있다. 

이때 수직인 경우가 가장 좋은 코너점으로 생각하면 된다. 코너의 벡터는 미분을 이용해 고유벡터를 구하면 된다.

고유 벡터를 구하는 것은 고유값 분해(Eigen Value Decomposition)을 계산해야 하지만 조금 복잡하고 시간이 많이 소요된다.

따라서 해리스 코너 검출기에서는 고유 벡터를 직접 구하지 않고 코너 응답 함수(CRF)를 사용한다.



여기서 det(M)은 행렬식을 뜻하고, Trace(M)은 행렬의 대각합을 뜻한다. K값은 보통 0.04를 사용한다.

위와 같이 모든 점들에 관해 코너 응답함수(CRF)를 구하고, 그 값이 적절한 임계값(Threshold)이상이면 코너로 판별하면 된다.