'설명'에 해당되는 글 1건

  1. 2009.06.21 Rob Hess의 SIFT [8] 7
Computer Vision2009. 6. 21. 03:40

Rob Hess의 SIFT 8번째


() 글을 읽기 전에
글은 저와 같은  초보자를 위해서 정리하는 것입니다.
전문가시라면 굳이 읽을 필요가 없습니다.
공부하면서 정리하는 글이라서 서툰 부분이 많이 보입니다. 이해하여 주시고

틈틈이 새로운 것을 알게 되면 그때 그때 업데이트 하겠습니다.



(주) 시작하기 전에

실제 코드를 한번 따라가기 전에 SIFT 알고리즘을 간략하게 정리하여둡니다.

코드를 기계적으로 따라가는것 보다는 알고리즘을 이해하고 따라가는 것이 유용하기 때문입니다.

물론 그렇다고 제가 알고리즘을 다 이해하는 것은 아닙니다.

그냥 초보 수준에서 아는 것들만 정리하였습니다.



PPT 발표 자료는 이 페이지를 참조 하세요 : SIFT 정리.PPT



발표자료를 기반으로 하여서 추가적으로 정리한 내용입니다.



1. Harris Corner Detector

특징으로는 다음과 같습니다.

  Rotation 에 대해 검출이 가능하다.

  부분 이미지로도 검출이 가능하다.

{

해석 :

이상의 말을 풀이하면

H.C.Detector는 영상이  회전된 것 그리고 밝기의 변화와 이미지 상에서 노이즈가 있어도

어느정도 이를 견디어 내며 원하는 포인트를 찾아낼 수 있다는 의미가 됩니다.

H.C.Detector는 Local Auto Correlation Function에 기반합니다.

기본적인 아이디어는 전체 이미지를 한방에 뒤지는 것이 아니고

주어진 이미지 영역에서 작은 이미지 영역 (부분 영역)을 설정하여 이 윈도우를 주변 영역과 비교하여

커다란 차이점이 있는 부분을 찾아내는 방식입니다.

설정된 이미지에 대해서 뒤지는 방향은 아무 방향이나 상관이 없습니다. 다만 주어진 부분 영역에 대해서

큰 변화가 생기는 방향으로 이동해야 하곘지요


아래 그림을 보면 쉽게 이해됩니다.

사용자 삽입 이미지


 

제일 왼쪽 그림은 뒤져서 변화가 없으므로 “Flat”으로 보게 됩니다.

가운데 그림은 상하로만 선분이 있다는 것을 알게 됩니다.

- 에지 방향으로 변화가 없다는 것은 에지가 존재한다는 의미가 됩니다.

오른쪽 그림은 모든 방향으로 변화가 존재하기 때문에

“Conor”라고 보는 것 입니다.


- 수학적인 의미는 다음에 하기로 하고 여기선 패스 합니다.

- SIFT가 우선이므로, H.C.Detector는 이정도에서 정리합니다.


매트랩에 대한 코드는 아래를 참고하시기 바랍니다.

http://ipl.cnu.ac.kr/mayadata/harris/harris_corner_detector.htm


}


사용자 삽입 이미지

상기 그림을 실제 H.C.Detector에 걸면 다음과 같은 영상을 얻을 수 있습니다.

사용자 삽입 이미지


그리고 이 그림의 임계치 이상만을 검출하면 다음과 같습니다.


사용자 삽입 이미지


임계치 이상 영역에서 최대값만을 표시하면 다음과 같습니다.



사용자 삽입 이미지

요것이 바로 코너 포인트가 되는 것입니다.


  이 코너포인트를 원본 그림과 매핑하면 다음과 같습니다.


사용자 삽입 이미지


문제점 :

크기 변화에대해 대처하지 못한다.

사용자 삽입 이미지

   위의 그림처럼 원래 EDGE로 인식되는 것이 스케일을 작에 줄이면, 코너로 바뀌는 경우가 발생합니다.

   이처럼 크기가 변하는 것에 따러 검출되는 성분이 변하기 때문에 크기 변화에 대응하지 못하는 것이라고

   합니다. - 당연한 이야기 인듯..



관련 자료는 이페이지에 있습니다.

매트랩등등의 코드를 함께 제공하기 때문에 공부하실 분들은 이 페이지를 참고하여 주세요


http://ipl.cnu.ac.kr/mayadata/harris/harris_corner_detector.htm

그리고 위에 설명에 사용된 그림은

lect9-slides.pdf

을 참고하시기 바랍니다.



'Computer Vision' 카테고리의 다른 글

OpenCV 2.1 맥에서 빌드하기  (0) 2010.09.04
SURF Lib  (3) 2010.06.22
Rob Hess의 SIFT [7]  (1) 2009.04.30
OpenCV - Alpha Blending cvAddWeighted , cvFillPoly  (2) 2009.04.25
JPEG2AVI 를 맥에서 빌드하기  (0) 2009.04.24
Posted by GUNDAM_IM