sift,尺度不变特征转换,是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量
亮度、平移、旋转、尺度的变化,利用特征点来提取特征描述符,最后在特征描述符之间寻找匹配。
1.构建尺度空间,检测极值点,获得尺度不变性;
2、特征点过滤并进行精确定位,剔除不稳定的特征点;
3、在特征点处提取特征描述符,为特征点分配方向值;
4、生成特征描述子,利用特征描述符寻找匹配点;
5、计算变换参数。
尺度空间:
尺度就是受delta这个参数控制的表示
不同的L(x,y,delta)就构成了尺度空间
原始图像I (x,y)与一个可变尺度的2维高斯函数G(x,y,delta) 卷积运算: L(x,y,e) = G(x,y,e)*I(x,y)
采用图像金字塔的方法来解决问题:
把两幅图像想象成是连续的,分别以它们作为底面作四棱锥,就像金字塔,那么每一个 截面与原图像相似,那么两个金字塔中必然会有包含大小一致的物体的无穷个截面,但应用只能是离散的,所以我们只能构造有限层,层数越多当然越好
1.采用不同尺度因子的高斯核对图像进行卷积以得到图像的不同尺度空间,这一组图像作为金子塔图像的第一层。
2.以2倍像素距离进行下采样来得到金子塔图像的第二层中的第一幅图像,对该图像采用不同尺度因子的高斯核进行卷积,以获得金字塔图像中第二层的一组图像。
3.再以第二层中的2倍尺度图像以2倍像素距离进行下采样来得到金字塔图像的第三层中的第一幅图像,对该图像采用不同尺度因子的高斯核进行卷积,以获得金字塔图像中第三层的一组图像。
以此类推
4.对上图得到的每一层相邻的高斯图像相减,就得到了高斯差分图像
5.高斯差分函数是归一化的高斯拉普拉斯函数的近似,从高斯差分金字塔分层结构提取出图像中的极值点作为候选的特征点。对DOG 尺度空间每个点与相邻尺度和相邻位置的点逐个进行比较,得到的局部极值位置即为特征点所处的位置和对应的尺度。
检测关键点
关键点方向的分配:
利用图像的局部特征为给每一个关键点分配一个方向。
用直方图统计邻域像素的梯度方向,范围是0~360度,总共36个方向。直方图的峰值则代表了该关键点处邻域梯度的主方向,即作为该关键点的方向。为了增强匹配的鲁棒性,只保留峰值大于主方向峰值80%的方向作为该关键点的辅方向。
每个关键点有三个信息:位置、所处尺度、方向。由此可以确定一个SIFT特征区域。
对关键点建立描述符,描述符应该有较高的独特性,提高特征点正确匹配的概率。
邻域方向性信息联合的思想增强了算法抗噪声的能力,同时对于含有定位误差的特征匹配也提供了较好的容错性。
采用关键点特征向量的欧式距离来作为两幅图像中关键点的相似性判定度量。最近的距离除以次近的距离少于某个比例阈值,则接受这一对匹配点。降低这个比例阈值,SIFT匹配点数目会减少,但更加稳定。
sift算法的一些应用:
(1)人脸识别:SIFT算法对一定范围内的人脸姿势变化,丰富的表情变化和随机遮挡具有良好的鲁棒性,识别率几乎接近100%。在非理想条件下的人脸识别性能明显高于几种发展的已经比较成熟的经典算法。
(2)指纹比对:SIFT特征具有的数量大、具有局部文理描述等特点使得该算法明显扩展了现有的以细节点为主导的指纹局部调整系统,体现了较高的应用价值,使得指纹识别系统的性能有了提高。
(3)信息检索服务:SIFT特征的提取具有独特性好,多量性,信息量丰富,高速型等特点,是检索海量图像信息的理想方式。
(4)医学图像检索:随着X射线计算机断层摄影(CT)、核磁共振成像(MRI)、贺词共振波谱(MRS)等医学的大量产生,SIFT可用于有效地进行组织和检索。
(5)还应用与跟踪匹配,全景拼图,视频检索等应用领域。下载本文