关于sift算法的理解,前前后后也用了一个月的时间,今天写下来,希望可以对大家有所帮助。
该算法可以分为四大步,如图所示:
复杂程度依次是4颗星,2颗星,3颗星,3颗星。
现在开始
1、construct scale space, 构造尺度空间
1.1 尺度空间在图像处理中是一个非常有用的概念,可以在维基百科上找到完整定义,简而言之,他的作用就是模拟一个由近到远的物体在人眼视网膜上的成像过程。比如,你脸前的电脑屏幕,距离你0.5米,它“看起来”是个屏幕,倘若把他放到100米之外,它“看起来”就是一个“点”了。如下图:
1.2 图像尺度空间的定义:原图像和高斯核做卷积操作
•L is a blurred image
•G is the Gaussian Blur operator
•I is an image
•x,y are the location coordinates
•σ is the “scale” parameter. The amount ofblur. Greater the value, greater the blur.
一定要留意这个σ,sift算法从头到尾,我们都需要这个值,一定要放在脑子里!
•The *is the convolution operation in x and y. It applies Gaussian blur G onto image I
注意:
–高斯核是唯一一个能产生尺度空间的核。
–尺度是自然存在的,不是人为创造的。高斯卷积仅仅是种解释尺度空间的方法。
1.3 我们使用
高斯金字塔来描述尺度空间