728x90

SIFT 특징

 

키포인트라 부르며, 위치와 스케일 정보를 가짐 (y, x, sigma)

 

-> sigma를 이용하여 크기 변환에 대응 가능

 

기술자 추출을 위한 윈도우 크기를 sigma에 따라 조절하거나, 스무딩이 필요

 

 

 

SIFT 기술자 추출 위치

 

SIFT 특징은 피라미드 구조

 

키포인트가 옥타브 1의 3번째 영상(sigma=2.5398)에서 검출된 경우.

 

옥타브 o = 1, sigma_o = 2.5398로

 

SIFT 기술자는 o번 옥타브, sigma_o 영상에서 기술자 추출

 

 

 

 

회전 변환애 대응하기 위한 주 방향 탐색

 

이미지 회전에 대응하기 위해 윈도우 방향 조절이 필요.

 

-> SIFT 기술자 추출전 주 방향 dominant orientation을 탐색

 

1. 키 포포인트를 중심으로 일정 크기 윈도우를 씌움

 

2. 윈도우 내 화소 집합으로 그라디언트 방향 히스토그램 취득

* 그라디언트 방향은 10도 간격으로 양자화, 36개 구간을 가진 히스토그램

 

3. 그라디언트 방향 히스토그램 계산시 그라디언트 크기를 가중치로 사용하며,

 

가우시안을 씌워 멀어질수록 적은 가중치 방영되도록 함.

 

* 아래 그림은 그라디언트 방향 히스토그램 계산을 위해 가우시안 블러링된 이미지에 방향 강도를 나타낸 영상

https://aishack.in/tutorials/sift-scale-invariant-feature-transform-keypoint-orientation/

 

 

 

4. 히스토그램에서 가장 큰 값을 가진 방향을 주 방향으로 사용.

* 최고 값의 0.8배 이상인 방향이 존재할 경우 해당 방향도 주방향으로 판단하여 새 키포인트 생성.

 => 위치는 같지만 방향이 다른 여러 키포인트가 생성 될 수 있음.

* 키포인트 정보 : 위치, 스케일, 주 방향 (y, x, sigma, theta)를 가짐.

 

* 아래는 위 이미지에 대해 주방향 취득을 위한 그라디언트 히스토그램

https://aishack.in/tutorials/sift-scale-invariant-feature-transform-keypoint-orientation/

 

 

 

 

주방향을 이용한 SIFT 기술자 추출

 

키포인트에 적절한 크기의 회전된 4 x 4윈도우를 씌움.

 

이때 윈도우는 주방향 theta가 기준되도록 회전

 

 

해당 키포인트의 그라디언트 방향을 계산 후,

 

8단계로 양자화 된 그래디언트 방향 히스토그램을 구함 

 

주방향 탐색때 처럼 회전된 윈도우 내부의 그라디언트 크기를 가중치로, 가우시안 블러링을 적용함.

 

하나의 키포인트 기술자는 4 x 4 x 8 = 128차원의 특징벡터 x로 추출됨

 

 

 

 

 

 

광도에 불변한 SIFT 기술자

 

1. 키포인트 기술자 특징 벡터 x를 벡터의 크기(노름)로 ||x||로 나누어 단위 벡터로 변환

 

2. 단위 벡터에 0.2보다 큰 요소가 존재시(상한 0.2), 0.2로 변경 후 다시 단위 벡터로 변환

 

=> 스케일, 회전, 광도 불변한 128차원 키포인트, 특징벡터 x 완성

 

 

 

 

 

위 과정을 거쳐 구한 SIFT 특징은

 

(y, x, sigma, theta, v_x)로 정리할수 있으며,

 

이 키포인트 특징 집합이 매칭 연산의 입력으로 사용되어, 두 영상 사이 매칭 쌍을 찾는데 사용

 

 

 

 

 

opencv에서 SIFT

 

sift = cv.SIFT_create()
kp, des = sift.detectAndCompute(gray,None)

sift 객체를 생성 후

 

sift.detectAndCompute(명암 영상,None)으로

 

키포인트들과 키포인트의 기술자들을 반환 반음.

 

키포인트 기술자들은 num of keypoints x 128 차원의 형태로 반환됨

 

docs.opencv.org/master/da/df5/tutorial_py_sift_intro.html

 

 

300x250

+ Recent posts