sift算法原理(备份)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

m 上式中, (x, y) 和 θ ( x, y ) 分别为高斯金字塔 (x, y )处梯度的大小和方 向,L 所用到的尺度为每个关键点所在的尺度
20
以关键点为中心的邻域窗口内采样,并用直方图统计邻域像素的梯度方向。 梯度直方图的范围是0~360度,其中,每10度一个柱,共36个柱。直方 图的主峰值(最大峰值)代表了关键点处邻域梯度的主方向,即关键点的 主方向。
L ( x, y , σ ) = G ( x, y , σ ) * I ( x, y )
m( x, y ) = ( L( x + 1, y ) − L( x − 1, y )) 2 + ( L( x, y + 1) − L( x, y − 1)) 2
θ ( x, y ) = arctan
L( x + 1, y ) − L( x − 1, y ) L( x, y + 1) − L( x, y − 1)
在组 o = − 1图像用双线性插值扩大一倍(对于 扩大的图像 σ n = 1 ) σ 0 是基准层尺度, 即0组0层尺度 σ n 是输入原始图像尺度。
8
▲2. 建立DOG金字塔: 为了有效提取稳定的关键点,利用不同尺度的高斯差分核 与图像卷积生成。
D(x, y,σ ) = (G(x, y, kσ ) − G( x, y,σ ))* I (x, y) = L(x, y, kσ ) − L(x, y,σ )
σ
5
高斯卷积核是实现尺度变换的唯一线性核,其定义如下:
G ( x, y , σ ) = 1 2πσ
2
e
− ( x 2 + y 2 )/ 2σ 2
其中, ( x, y ) 是空间坐标,
σ
代表高斯正态分布的方差,
亦即尺度坐标(在尺度空间中)。
6
▲1. 建立高斯金字塔
高斯金字塔有O组,一 般选择4组,每一阶有S 层尺度图像,S一般选择 5层 1/ s Lowe的文章中 k = 2 每组有s+3层图像 将原始图像隔点采样生 成下一组尺度空间。
(1)式
式中, X = ( x, y, σ ) 点处的值。
T
为关键点的偏移量,D 是 D( x, y, σ ) 在关键
13
∂D ( X ) 令 =0 X

可以得到
∂ 2 D −1∂D =− ∂X 2 ∂X
X
的极值 X :
(2)式

X

如果 X (相对于插值中心点的偏移量)在任一方向上的偏移大于0.5 时,就意味着该关键点与另一采样点(检测点)非常接近,这样的点就 要删除。
7
构建尺度空间需确定的参数
σ 是尺度空间坐标, o 是octave坐标 s 是sub-level坐标 三者关系是 σ (o, s ) = σ 2σ + s / S ,
0
o ∈ omin + [0,..., O + 1], s ∈ [0,..., S − 1]
在Lowe的文章中使用了如下的参数
σ n = 0.5, σ 0 = 1.6 ⋅ 21/ s , o min = − 1, S = 3
22
为了增强匹配的稳健性,Lowe建议对每个关键点可使用4*4共16个 种子点来描述,这样对于一个关键点就可以产生128个数据,即最终 形成128维的sift特征矢量。 此时sift特征向量已经去除了尺度变化、旋转等几何变形因素的影响, 再继续将特征向量的长度归一化,则可以进一步去除光照变化的影响。
往在在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率。 主曲率通过一个2*2的Hessian矩阵 H 求出: H = xx D xy
D D xy D yy
导数 D 通过相邻采样点的差值计算。D 的主曲率和 令
H 的特征值成正比,
β α ,
为最大,最小特征值,则
tr ( H ) = D xx + D yy = α + β Det ( H ) = D xx D yy − ( D xy ) 2 = αβ
23
特征向量归一化处理: 1.将用三维数组存储的梯度转换为用一维数组存储,一维数组的大小为 128 2.对128个梯度进行归一化处理 3.将归一化后的梯度值限制在0.2:如果某一个归一化后的梯度值大于0.2, 则该梯度值将被直接取值为0.2 4.再次进行梯度归一化处理 5.对每一个梯度值乘以一个系数(经验值为512.0),将浮点的梯度值转 化为整数。如果乘积大于512,则该梯度值就为512,否则为乘积值。
9
•将每一组尺度空 间中的相邻高斯 尺度函数相减, 生成高斯差分金 字塔。
10
a是第二组的第一层图像由第一组的的最后第二层图像隔点采样得到。b 是通过相邻高斯尺度空间图像想减得到。
a
b
11
▲3. DOG空间的极值检测:
极值点的搜索是通过同一组内 DOG相邻层之间比较完成的. 为了寻找尺度空间的极值点,每 一个采样点都要和它所有的相邻 点比较,以确保在尺度空间和二 维图像空间都检测到极值点。
为了增强匹配的稳定性,需要删除低对比度的点。将 (2)式 代入(1) 式 得:
1 ∂D T D( X ) = D + 2 ∂X
∧ ∧
X


D( X ) 可以用来衡量特征点的对比度,如果 D( X ) < θ ,则
Βιβλιοθήκη Baidu
θ 应删除。 的经验值为0.03.
X 为不稳定的特征点,

14
因为DOG算子会产生较强的边缘响应,所以应去除低对比度的边缘响应 点,以增强匹配的稳定性,提高抗噪声能力。一个平坦的DOG响应峰值往
sift算法原理 sift算法原理
1
目录
Sift算法的主要特点 Sift算法的主要特点 Sift算法的步骤 Sift算法的步骤 总结
2
Sift算法的主要特点: Sift算法的主要特点:
稳定性 独特性 多量性 高速性 可扩展性
3
Sift算法主要步骤: Sift算法主要步骤:
尺度空间的极值点检测
建立高斯金字塔 生成DOG金字塔 生成DOG金字塔 DOG空间极值点检测 DOG空间极值点检测
至此,图像的关键点已检测完毕,每个关键点有三个信息: 位置、所处尺度、方向。
21
Ⅳ. 生成sift特征矢量
首先,将坐标轴旋转到关键点的主方向。只有以主方向为零点方向来描述关 键点才能使其具有旋转不变性。
其次,以关键点为中心取8*8的窗口。进而计算每个4*4的小块上计算 8个方向的梯度方向直方图,绘制每个梯度方向的累加值,即可形成 一个种子点。每个种子点有8个方向向量信息。
γ
16
没有进行任何处理的关键点
17
去除了低对比度之后的点
18
去除边界效应强的特征点
19
Ⅲ. 确定关键点的主方向
为了实现图像的实现旋转不变性,需要根据检测到的特征点局部图 像结构求得一个方向基准。用图像梯度的方法求取该局部结构的稳 定方向。对于已检测到的特征点,我们已经知道该特征点的尺度 值 σ ,因此根据这一尺度值,得到接近这一尺度值的高斯图像。
关键点的精确定位 确定关键点的主方向 生成sift特征矢量(生成关键点的描述子) 生成sift特征矢量(生成关键点的描述子)
4
Ⅰ.尺度空间的极值检测
一副二维图像,在不同尺度下的尺度空间表示可由图像与高斯核卷 积得到:
L( x, y, σ ) = G( x, y,σ ) * I ( x, y)
式中, ( x, y ) 代表图像的像素位置,L 代表图像的尺度空间, 为尺 度空间因子,其值越小则表征被平滑的越少,相应的尺度也就越小。 同时大尺度对应于图像的概貌特征,小尺度对应于图像的细节特征。
12
Ⅱ. 关键点的精确定位
通过拟合三维二次函数以精确确定关键点的位置,同时去除低对比度 的关键点和不稳定的边缘响应点(因为DOG算子会产生较强的边缘响 应)以增强匹配稳定性、提高抗噪声能力。
在关键点处用泰勒展开式得到:
∂D T 1 T ∂2D D( X ) = D + X+ X X 2 ∂X 2 ∂X
24
总结
Sift算法的优缺点:
优点:1.需要较少的经验主义知识,易于开发 2.具有较强的匹配能力和鲁棒性(由其特点可知) 缺点:维数高实时性差
Sift算法的应用领域:
图像检索,图像配准,人脸识别等
25
15
令 γ 为最大特征值与最小特征值的比值,则
α = γβ
tr ( H ) 2 (α + β ) 2 (γβ + β ) 2 (γ + 1) 2 = = = 2 Det ( H ) αβ γ γβ
为了检测主曲率是否在某阈值 γ 下,只需检测
tr ( H ) 2 (γ + 1) 2 < γ Det ( H )
相关文档
最新文档