Title: “SIFT (Scale-Invariant Feature Transform)의 원리.txt”
Paper: "Distinctive Image Features from Scale-Invariant Keypoints", David G. Lowe (2004)
Summary: SIFT descriptor의 개념 및 원리에 대한 자세한 설명.
Contents: SIFT(Scale Invariant Feature Transform): 이미지의 크기와 뱡향에 불변하도록 Transform된 Freature Point 찾기. Harris Detector(크기와 방향에 민감)의 발전형.
1. Scale-space extrema detection: Gaussian Pyramid(Scale Space)를 생성해서 DoG(Difference of Gaussian)을 구해서 극점 부분을 특징점.
2. KeyPoint Localization: Taylor series(테일러 급수)를 사용하여 extrema(극점)을 찾은 후 Taylor series로 Interpolation(Subpixel)해서 그 점의 값을 구해 특징점 후보자 중에서 정확하지 않은 특징점 제거.
3. Orientation Assignment: 추출한 특징점 마다 주 방향을 할당. 16*16에 Gaussian Blurring을 적용하여 특징점 주변의 영역에 대한 Gradient의 방향과 크기를 결정. 이 후 주변 영역의 Gradient Histogram을 형성한 후 가장 큰 것을 해당 Orientation으로 결정.
4. KeyPoint Descriptor: 각 특징점들마다 Gaussian Weight Function을 활용하여 Descriptor를 생성해주는 단계. 주변의 16*16 pixel의 영역을 할당하여 Image Gradient를 구하고 Descriptor Window크기의 1/2값을 Gaussian Weight Function에 곱해줌. 이 후 앞에서 구한 Orientation을 빼줘서 Descriptor가 회전에 불변하도록 만든 후 히스토그램을 그림. 유클리드 거리를 활용하여 Image와 target과 비교.
# 참고:
- https://bskyvision.com/21
- http://aishack.in/tutorials/sift-scale-invariant-feature-transform-introduction/
- https://salkuma.files.wordpress.com/2014/04/sifteca095eba6ac.pdf