特征点的算法SIFT和SURF算法

特征点的算法SIFT和SURF算法
SIFT 特征点算法
通过不同模糊程度的灰度图相减极值 ,筛选确定出真实关键点后按梯度和权重求出关键点的主⽅向,再给关键点附近的16个区块确定8⽅向⽮量,相当于给这幅图的这个位置做个特征标记【类⽐特征向量】。于是能通过这些特征标记寻出两图对应的特征点,从⽽通过多个对应特征点确定图像变换矩阵。
即,Sift是⼀种基于尺度空间的,对图像缩放、旋转、甚⾄仿射变换保持不变性的图像局部特征描述算⼦。缺点是实时性不⾼,并且对于边缘光滑⽬标的特征点提取能⼒较弱。
尺度不变特征转换(Scale-invariant feature transform或SIFT)是⼀种电脑视觉的算法,⽤来侦测与描述影像中的局部性特征,它在空间尺度中寻极值点,并提取出其位置、尺度、旋转不变量。SIFT所查到的关键点是⼀些⼗分突出且不会因光照、仿射变换和噪⾳等因素⽽变化的点,如⾓点、边缘点、暗区的亮点及亮区的暗点等,对于光线、噪声、些微视⾓改变的容忍度相当⾼。
SIFT算法可以解决的问题:
⽬标的⾃⾝状态、场景所处的环境和成像器材的成像特性等因素影响图像配准/⽬标识别跟踪的性能。⽽SIFT算法在⼀定程度上可解决:
1. ⽬标的旋转、缩放、平移(RST)
2. 图像仿射/投影变换(视点viewpoint)
3. 光照影响(illumination)
4. ⽬标遮挡(occlusion)
5. 杂物场景(clutter)
其应⽤范围包含物体辨识、机器⼈地图感知与导航、影像缝合、3D模型建⽴、⼿势辨识、影像追踪和动作⽐对。
SIFT算法分解为如下四步:
6. 尺度空间极值检测:搜索所有尺度上的图像位置。通过⾼斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点。【⽤⾼斯滤波获取尺度空间。(⽤两次⼀维的⾼斯卷积将消除⼆维⾼斯矩阵所产⽣的边缘,还⽐⼆维⾼斯卷积的计算量少)。将图像⾦字塔每层的⼀张图像使⽤不同参数的⾼斯模糊(这⾥的公式是关键),使得⾦字塔的每层含有多张(6-8张)⾼斯模糊图像。在⾼斯⾦字塔中⼀共⽣成O组L层不同尺度的图像,这两个量合起来(O,L)就构成了⾼斯⾦字塔的尺度空间,即给定的⼀组坐标(O,L)就可以唯⼀确定⾼斯⾦字塔中的⼀幅图像。把模糊后的图像两两相减(另外起名叫DoG空间),Dog空间⾥的图像是⽤来寻极值点的原始数据。
怡升科技依据Dog空间⾥的相邻图⽚检测极值点
极值点公式:(式中σ是尺度空间坐标)
2. 关键点定位:第⼀步检测到的极值点是作为候选的离散空间的极值点,这步通过拟合三维⼆次函数来精确确定关键点的位置和尺度
【对上图的D公式求偏导 求得连续空间下的真实极值点的像素位置(如果x、y或者σ偏离了0.5以上就换位置重新进⾏插值计算】,同时去除低对⽐度的关键点和不稳定的边缘响应点【超出迭代次数或者极值D过低属于噪声】。
3. ⽅向确定:相对像素的亮度值,梯度对光照具有更好的鲁棒性。基于图像局部的梯度⽅向,分配给每个关键点位置⼀个或多个主⽅
向。中国实验方剂学杂志
计算关键点周围⼀定区域的梯度值,⽐如8*8区域。
1、然后将得到的⾓度值进⾏36等分。水晶报表
2、在特征点对应的尺度空间计算梯度值。
3、利⽤⾼斯核对梯度进⾏计算权重。
建⽴⼀个36维的直⽅图,每次累加的值就是它的权重。⼤于主⽅向峰值80%的⽅向作为该关键点的辅⽅向【仅有15%的关键点被赋予多个⽅向】
4. 关键点描述:再在选择完主⽅向后,通过对关键点周围图像区域分块,记录16个种⼦点【在下⽂提及】的⽅向 并以主⽅向计算相对⾓
度。这样就算图像进⾏旋转,主⽅向也会进⾏旋转,相对⾓度保持相对恒定状态,即使有⽐较⼤的局部形状的变形和光照变化也不会受到影响。
左图的中央为当前关键点的位置,每个⼩格代表为关键点邻域所在尺度空间的⼀个像素,求取每个像素的梯度幅值与梯度⽅向。4*4个⼀组,依据⾼斯加权计算每个梯度⽅向的累加值,即可形成⼀个种⼦点【配图右侧是4个种⼦】,每个种⼦点有8个⽅向的向量信息。
这种邻域⽅向性信息联合增强了算法的抗噪声能⼒,同时对于含有定位误差的特征匹配也提供了⽐较理性的容错性。每个关键点使⽤4×4共16个种⼦点来描述,这样⼀个关键点就可以产⽣128维的SIFT特征向量。这个128维的SIFT特征向量就像是我们每个⼈的⾝份证⼀样,拥有绝对标识,⼏乎不可能重复,在这⾥可以对128维向量进⾏归⼀化处理,可以去除光照变化的影响。我们对模板图和⽬标图分别建⽴描述⼦集合。
5. 特征点匹配:
特征点的匹配是通过计算两组特征点的128维的特征点的欧⽒距离实现的。欧⽒距离越⼩,则相似度越⾼,当欧式距离⼩于设定阈值时,可以判定为匹配成功。
基础知识
常压渣油
Surf算法
与Sift算法⼀样,Surf算法的基本路程可以分为三⼤部分:局部特征点的提取、特征点的描述、特征点的匹配。 但Surf在执⾏效率上有两⼤制胜法宝——⼀个是积分图在Hessian(⿊塞矩阵)上的使⽤,⼀个是降维的特征描述⼦的使⽤。 为算法在实时计算机视觉系统中应⽤提供了可能。
Surf改进了特征的提取和描述⽅式
1. 构建Hessian(⿊塞矩阵),⽣成所有的兴趣点,⽤于特征的提取;狗电影网站
在构造Hessian矩阵前需要对图像进⾏⾼斯滤波,构建Hessian矩阵的过程对应于Sift算法中的⾼斯卷积过程。
降低滤波器精度
2. 构建尺度空间
李桂南不在组与组之间改变图像⼤⼩,⽽是改变滤波器的模板尺⼨的⼤⼩。
3. 特征点定位
⼀样
4. 特征点主⽅向分配
统计60度扇形内所有点的⽔平、垂直haar⼩波特征总和,最后将值最⼤的那个扇形的⽅向作为该特征
点的主⽅向。该过程⽰意图如
下:
5. ⽣成特征点描述⼦
⽤4个值作为每个⼦块区域的特征向量【sift是8个】该haar⼩波特征为⽔平⽅向值之和、垂直⽅向值之和、⽔平⽅向绝对值之和以及垂直⽅向绝对值之和。⼀个特征点有16*4=64维向量。
6. 特征点匹配
Surf也是计算两个特征点间的欧式距离来确定匹配度。Surf还加⼊了Hessian矩阵迹的判断,如果两个特征点的矩阵迹正负号相同,代表这两个特征具有相同⽅向上的对⽐度变化,如果不同,说明这两个特征点的对⽐度变化⽅向是相反的,即使欧⽒距离为0,也直接排除。
基础知识

本文发布于:2024-09-21 03:31:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/75986.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:特征   图像   极值   算法   关键点   梯度   尺度   尺度空间
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议