이미지의 scale(크기), Rotation(회전)에 불변하는
특징점을 추출하는 알고리즘이미지의 크기를 다양하게 변화시켜, 극대점/극소점 detection
이렇게 하는 이유
scale invariant한 Feature은 다양한 scale에서도 scale invariant해야 한다.
하지만, 우리는 하나의 촬영된 이미지만을 가지고 있고, 거기서 특징점을 찾고 싶은 것이다.
이미지는 1장 밖에 없으니, blur을 서서히 키우는 방식으로, 스케일을 증가시키는 것과 같은 효과를 낼 수 있다.
점차적으로 블러된 이미지를 얻기 위해 σ에 상수 k를 계속 곱해서 Convolution한다.
이때 σ가 2배가 될때까지 만들어진 사진들은 한 Octave로 묻고
σ가 2배가 되었을 때 Downsampling하는 이유는 무엇일까? 연산량을 줄이기 위함이다.
위 결과로, (다양한 scale값으로 Gaussian 연산처리된) 4 그룹의 옥타브, 총 20장의 이미지
를 얻었다.
3*3*3 - 1 = 26
픽셀보다 Value가 크거나 작으면 극값이다.극대,극솟값
을 찾기 위한 개념적 설명이었다.극대,극솟값
은 DoG이미지에 대해 테일러급수를 이용하여 구한다.keypoint 노이즈 제거
극대,극솟값
중, 주변과의 차이가 덜 뚜렷한 keypoint들은 제거한다.Edge 위에 위치한 keypoint들도 제거
하여, 코너에 위치한 keypoint들만 남겨놓는다.
6. rotation-invariance feature
를 구하는 것이 목표!6. rotation-invariance feature
을 구함. 5. Keypoint descriptor
- 4. Orientation Assignment
= 6. rotation-invariance feature
gradient 크기와 방향
을 구한 후,gradient 크기와 방향
을 히스토그램으로 그린다.max 크기
) 방향을 keypoint의 방향으로 설정한다.max 크기
* 0.8 ~ max 크기
에 속하는 모든 벡터를 합쳐서, keypoint의 크기와 방향을 정한다.16개의 작은 윈도우에 속한 pixel들의
128 개의 feature vector를 가진 descriptor
를 만들 수 있다. 5. Keypoint descriptor
- 4. Orientation Assignment
= rotation-invariance feature
128 개의 feature vector
에서, keypoint의 벡터를 뺀 rotation-invariance feature