STIFT SURF LBP
SIFT
算法流程如上,对此算法进行概括的话,一二步即获得多尺度不变的特征点,第三步让特征点具有尺度不变性,第四步即对特征点进行藐视。
获取尺度不变的特征点
步骤1:构造多尺度空间,搜索在所有尺度图像像素的极值点。
1.通过对原图片通过不同sigma系数进行高斯模糊,来获取一组图像的模糊图片,然后对每组倒数第二张图像进行采样,然后再对采样图片进行高斯模糊,这些图片sigma系数是不同的,也就是以sigma系数当作尺度获得许多组,每组由多层的图片,以此构造图像金字塔。效果图如下:
2.对构造的图像金字塔做差分操作,利用做差的方法可以与高斯拉普拉斯函数的,高斯拉普拉斯函数是可以将利用求极值的方法提取特征的一种方法,做差分近似高斯拉普拉斯函数即也可以将提取特征转化为求极值的方式。
3.极值的关键点选取
即将目标像素点与其周围的八个像素点及相邻两层对应位置的18个像素点进行比较,若是最值,即代表他是关键点,否则舍去。
4.真正极值点获取
利用Taylor公式对以上关键点进行拟合,此为三元二次方程,通过对其求极值,自变量为(x,y,sigma),通过求极值也就是获得了坐标和尺度。
旋转不变性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C9zUUFgW-1572331288233)(https://i.loli.net/2019/10/28/ekrJlYQadq14yHo.png)]
首先选取主方向,对于同一物体因为可能会旋转,所以主方向的角度是不一定的,但其他方向与主方向的角度是不会变的,即以此来完成旋转不变性。
上图是他的做法,对上面的每个特征点,围绕该点选择一个窗口(圆形区域,以该特征点为中心,半径为3*sigma作一个圆域),窗口内各采样点的梯度方向构成一个直方图,根据直方图的峰值(即在这角度内梯度的模值和)确定特征点的主方向。
描述子生成
1.将主方向变为x轴,进行旋转,如下图:
2.描述子生成
对关键点周围像素区域分块,计算块内梯度直方图,计算方式和旋转不变性的方式相同,生成具有独特性的向量,即没4*4放个会生成8个特征向量,直方图横坐标已45度为增长幅度,模值即为长度,将梯度模值和按固定顺序放入特征向量中。
SURF
SURF可看成加速版的SIFT,区别为:
1.特征提取方式
2.构建尺度空间的方式
3.特征点主方向分配
4.描述子的生成方式
特征提取方式
SURF其实也是提取极值,SIFT是通过差分的方法,代替高斯拉普拉斯函数取特征点,SURF则是通过Hessian矩阵,Hessian矩阵通过高斯差分后得到近似估计的Hessian矩阵。后对每个像素求得的hessian矩阵利用判别式也就是行列式的值来判断是不是极值点。
构造尺度空间的方式
不同点:SIFT算法下一组图像的长宽均是上一组的一半,同一组不同层图像之间尺寸一样,但是所使用的尺度空间因子(高斯模糊系数?)逐渐增大;而在SURF算法中,不同组间图像的尺寸都是一致的,不同的是不同组间使用的盒式滤波器的模板尺寸逐渐增大,同一组不同层图像使用相同尺寸的滤波器,但是滤波器的尺度空间因子逐渐增大。
主方向选取的不同
主方向选取SIFT是通过不同方向梯度的模值和进行比较,而SURF是通过不同方向harr特征响应和来判断。
描述子生成
SURF算法中,也是提取特征点周围4×4个矩形区域块,但是所取得矩形区域方向是沿着特征点的主方向。每个子区域统计25个像素点水平方向和垂直方向的Haar小波特征,这里的水平和垂直方向都是相对主方向而言的。该Harr小波特征为水平方向值之和、垂直方向值之和、水平方向值绝对值之和以及垂直方向绝对之和4个方向。这样特征向量维度也就是减少了一倍。
其他
将高斯滤波器换成了盒式滤波器,使用盒式滤波器通过应用积分图,大大加快的计算速度。盒式滤波器如下:
LBP
LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子。
原始LBP
原理:原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。最后通过把这二进制数转为10进制数获得他的LBP值。
圆形LBP
原始LBP只是对3*3固定邻域求LBP,当图像尺度变化时,编码会发生错误,此种方式可以是任意邻域。
旋转不变性获取,举个例子:下图,加入我们一开始得到的LBP值为225,二进制数为11100001,将其按顺时针移位,下面会得到不同的过程的LBP值,比较取最小的,以此来达到旋转不变性 。
Uniform Pattern(等价) LBP特征
以往我们每个二进制数就是一个类别,对于半径为R的圆形区域内含有P个采样点的LBP算子将会产生2P(2的P次方)种模式。这种方式当采样点数量多点的时候,二进制种类会变得很多。
等价模式改进方式,以二进制跳变次数为划分依据,当跳变次数小于2时为等价模式类,否则为其他。如00000000(0次跳变),00000111(只含一次从0到1的跳变),10001111(先由1跳到0,再由0跳到1,共两次跳变)都是等价模式类。
效果:如在3*3邻域有八个采样点,传统LBP类别数为2的8次方,即256种,等价模式为59种。
MB LBP特征
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I077PZ9e-1572331288236)(https://i.loli.net/2019/10/28/LIi5VhGu2DqEAUR.png)]
其实与原型LBP计算方法一致,就是之前先分块,每一块的值为块内灰度的平均值,最后对块进行LBP值的计算。
LBPH—图像LBP特征向量
LBPH(Local Binary Patterns Histograms)即LBP特征的统计直方图,将LBP特征图像分成m个局部块,并提取每个局部块的直方图,然后将这些直方图依次连接在一起形成LBP特征的统计直方图,即LBPH。
举例说明LBPH的维度:
采样点为8个,如果用的是原始的LBP或Extended LBP特征,其LBP特征值的模式为256种,则一幅图像的LBP特征向量维度为:64*256=16384维。
而如果使用的UniformPatternLBP特征,其LBP值的模式为59种,其特征向量维度为:64*59=3776维,可以看出,使用等价模式特征,其特征向量的维度大大减少。