Sift算法的原理描述以及对比Harris算法的特征匹配结果
1、SIFT特征原理描述
1.1 SIFT 概述
SIFT的全称是Scale Invariant Feature Transform,尺度不变特征变换,由加拿大教授David G.Lowe提出的。SIFT特征对旋转、尺度缩放、亮度变化等保持不变性,是一种非常稳定的局部特征。
SIFT特征检测主要有四个步骤:
- 尺度空间的极值检测
- 特征点定位
- 特征方向赋值
- 特征点描述
1.2 尺度空间
1.2.1 多分辨率图像金字塔
在早期图像的多尺度通常使用图像金字塔表示形式。图像金字塔是同一图像在不同的分辨率下得到的一组结果,其生成过程一般包括两个步骤:
- 对原始图像进行平滑
- 对处理后的图像进行降采样
1.2.2 高斯尺度空间
我们还可以通过图像的模糊程度来模拟人在距离物体由远到近时物体在视网膜上成像过程,距离物体越近其尺寸越大图像也越模糊,这就是高斯尺度空间,使用不同的参数模糊图像(分辨率不变),是尺度空间的另一种表现形式。
我们知道图像和高斯函数进行卷积运算能够对图像进行模糊,使用不同的“高斯核”可得到不同模糊程度的图像。一副图像其高斯尺度空间可由其和不同的高斯卷积得到:
L ( x , y , σ ) = G ( x , y , σ ) ∗ I ( x , y ) \ L(x,y,σ)=G(x,y,σ)∗I(x,y) L(x,y,σ)=G(x,y,σ)∗I(x,y)
其中, G ( x , y , σ ) \ G(x,y,σ) G(x,y,σ)是高斯核函数。
σ称为尺度空间因子,它是高斯正态分布的标准差,反映了图像被模糊的程度,其值越大图像越模糊,对应的尺度也就越大。 L ( x , y , σ ) \ L(x,y,σ) L(x,y,σ)代表着图像的高斯尺度空间。
构建尺度空间的目的是为了检测出在不同的尺度下都存在的特征点,而检测特征点较好的算子是 Δ 2 G \ Δ^2G Δ2G(高斯拉普拉斯,LoG),
Δ 2 = ∂ 2 ∂ x 2 + ∂ 2 ∂ y 2 \ \Delta ^2 = \frac{\partial ^2}{\partial x^2} + \frac{\partial ^2}{\partial y^2} Δ2=∂x2∂2+∂y2∂2