
sift算法原理(备份).ppt
27页sift算法原理1目录vvSift算法的主要特点vvSift算法的步骤vv总结2Sift算法的主要特点:vv稳定性稳定性vv独特性独特性vv多量性多量性vv高速性高速性vv可扩展性可扩展性3Sift算法主要步骤:vv尺度空间的极值点检测尺度空间的极值点检测l l建立高斯金字塔建立高斯金字塔l l生成生成DOGDOG金字塔金字塔l lDOGDOG空间极值点检测空间极值点检测vv关键点的精确定位关键点的精确定位vv确定关键点的主方向确定关键点的主方向vv生成生成siftsift特征矢量(生成关键点的描述子)特征矢量(生成关键点的描述子)4一副二维图像,在不同尺度下的尺度空间表示可由图像与高斯核卷积得到: 式中, 代表图像的像素位置, 代表图像的尺度空间, 为尺度空间因子,其值越小则表征被平滑的越少,相应的尺度也就越小同时大尺度对应于图像的概貌特征,小尺度对应于图像的细节特征Ⅰ.尺度空间的极值检测5高斯卷积核是实现尺度变换的唯一线性核,其定义如下:其中, 是空间坐标, 代表高斯正态分布的方差,亦即尺度坐标(在尺度空间中)。
6▲1. 建立高斯金字塔v高斯金字塔有O组,一般选择4组,每一阶有S层尺度图像,S一般选择5层vLowe的文章中 每组有s+3层图像 将原始图像隔点采样生成下一组尺度空间程序中smin=--1时为6层图像,smin=0时为5层图像78构建尺度空间需确定的参数 是尺度空间坐标, 是octave坐标 是sub-level坐标 三者关系是在Lowe的文章中使用了如下的参数 在组 图像用双线性插值扩大一倍(对于扩大的图像 ) 是基准层尺度, 即0组0层尺度 是输入原始图像尺度 9▲2. 建立DOG金字塔:为了有效提取稳定的关键点,利用不同尺度的高斯差分核与图像卷积生成10•将每一组尺度空间中的相邻高斯尺度函数相减,生成高斯差分金字塔11a是第二组的第一层图像由第一组的的最后第二层图像隔点采样得到b是通过相邻高斯尺度空间图像想减得到ab1213▲3. DOG空间的极值检测:极值点的搜索是通过同一组内DOG相邻层之间比较完成的.为了寻找尺度空间的极值点,每一个采样点都要和它所有的相邻点比较,以确保在尺度空间和二维图像空间都检测到极值点。
14Ⅱ. 关键点的精确定位 通过拟合三维二次函数以精确确定关键点的位置,同时去除低对比度的关键点和不稳定的边缘响应点(因为DOG算子会产生较强的边缘响应)以增强匹配稳定性、提高抗噪声能力在关键点处用泰勒展开式得到:式中, 为关键点的偏移量, 是 在关键点处的值15令可以得到 的极值 :如果 (相对于插值中心点的偏移量)在任一方向上的偏移大于0.5时,就意味着该关键点与另一采样点(检测点)非常接近,这样的点就要删除为了增强匹配的稳定性,需要删除低对比度的点将 代入 得: 可以用来衡量特征点的对比度,如果 ,则 为不稳定的特征点,应删除 的经验值为0.03.16因为DOG算子会产生较强的边缘响应,所以应去除低对比度的边缘响应点,以增强匹配的稳定性,提高抗噪声能力一个平坦的DOG响应峰值往往在在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率主曲率通过一个2*2的Hessian矩阵 求出:导数 通过相邻采样点的差值计算。
的主曲率和 的特征值成正比,令 , 为最大,最小特征值,则17令 为最大特征值与最小特征值的比值,则为了检测主曲率是否在某阈值 下,只需检测的经验值为1018没有进行任何处理的关键点19去除了低对比度之后的点20去除边界效应强的特征点21Ⅲ. 确定关键点的主方向 为了实现图像的实现旋转不变性,需要根据检测到的特征点局部图像结构求得一个方向基准用图像梯度的方法求取该局部结构的稳定方向对于已检测到的特征点,我们已经知道该特征点的尺度值 ,因此根据这一尺度值,得到接近这一尺度值的高斯图像 上式中, 和 分别为高斯金字塔 处梯度的大小和方向, 所用到的尺度为每个关键点所在的尺度22以关键点为中心的邻域窗口内采样,并用直方图统计邻域像素的梯度方向梯度直方图的范围是0~360度,其中,每10度一个柱,共36个柱直方图的主峰值(最大峰值)代表了关键点处邻域梯度的主方向,即关键点的主方向至此,图像的关键点已检测完毕,每个关键点有三个信息:位置、所处尺度、方向23Ⅳ. 生成sift特征矢量首先,将坐标轴旋转到关键点的主方向。
只有以主方向为零点方向来描述关键点才能使其具有旋转不变性其次,以关键点为中心取8*8的窗口进而计算每个4*4的小块上计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,即可形成一个种子点每个种子点有8个方向向量信息24为了增强匹配的稳健性,Lowe建议对每个关键点可使用4*4共16个种子点来描述,这样对于一个关键点就可以产生128个数据,即最终形成128维的sift特征矢量此时sift特征向量已经去除了尺度变化、旋转等几何变形因素的影响,再继续将特征向量的长度归一化,则可以进一步去除光照变化的影响25特征向量归一化处理:1.将用三维数组存储的梯度转换为用一维数组存储,一维数组的大小为1282.对128个梯度进行归一化处理3.将归一化后的梯度值限制在0.2:如果某一个归一化后的梯度值大于0.2,则该梯度值将被直接取值为0.24.再次进行梯度归一化处理5.对每一个梯度值乘以一个系数(经验值为512.0),将浮点的梯度值转化为整数如果乘积大于512,则该梯度值就为512,否则为乘积值26 总结pSift算法的优缺点:优点:1.需要较少的经验主义知识,易于开发 2.具有较强的匹配能力和鲁棒性(由其特点可知)缺点:维数高实时性差p Sift算法的应用领域: 图像检索,图像配准,人脸识别等27。
