一些图像基本算法的了解2(LBP,Haar)

LBP

   LBP,是局部二值模式的简称,用来描述图像局部纹理特征的算子。原始的LBP特征定义在3*3的窗口里,以窗口中心像素为阈值,将相邻的八个像素与其进行比较,若大于该像素,则标记为1,否则为0。这样就可以得到8位的二进制数,转换成十进制数就是该窗口中心元素的LBP值,如下图所示:

   一种对LBP的改进是将其改进成圆形,为了适应不同尺度的纹理特征,达到灰度和旋转不变性的要求,这里将3x3邻域扩展到任意邻域,并且使用圆形邻域代替正方形邻域,从而得到半径为R的圆形区域含有P个采样点的LBP算子。这里采样点的公式可以利用三角函数关系式计算小数值,再通过bilinear计算获得整数像素值。下图列举一些半径不同的LBP算子:

   上述LBP算子不是旋转不变的,因此这里有一种旋转不变的LBP算子,即不断旋转圆形区域得到一系列初始定义的LBP值,取其中最小作为该邻域的LBP值,如下图所示,通过在8种LBP模式中取最小值,这样其对应的旋转不变LBP值都是同一个值。

   得到LBP值之后,图像中每个像素都会有一个相应的值,对这些值进行统计,可以得到LBP值的直方图。进一步,可以将一张图片划分成若干区域,每个区域都提取LBP特征,建立统计直方图,这样每个区域都可以用直方图来表示。整张图由若干统计直方图组成。
   通过建立上述的直方图获得LBP特征,可以用来度量两张图的相似性,以及进行特定的检测,这里不再赘述。

Haar

   Haar特征用来反映图像灰度的变换,一般分为边缘特征、线性特征、中心特征对角线特征,用黑白两种矩形框组成特征模板,在特征模板里用白色矩形像素减去黑色矩形像素来表示这个模板的特征值。模板如下图所示:

   通过改变特征模板的大小和位置,可在图像子窗口中穷举出大量的特征。Haar特征的计算需要借助积分图,积分图中每一个位置对应的值是该位置图像左上角和当前点围成的矩形区域内所有像素点灰度值的和。如下图所示:

   当把扫描图像一遍,到达图像右下角像素时,积分图像就构造好了。积分图构造好之后,图像中任何矩阵区域的像素累加和都可以通过简单运算得到如图2所示。而Haar-like特征值无非就是两个矩阵像素和的差,同样可以在常数时间内完成。所以矩形特征的特征值计算,只与此特征矩形的端点的积分图有关,所以不管此特征矩形的尺度变换如何,特征值的计算所消耗的时间都是常量。这样只要遍历图像一次,就可以求得所有子窗口的特征值。
   如何组合各个矩形特征获得的特征值去得到一个区分度更大的值,一般使用Adaboost的集成学习方法,这里不再赘述。

参考:
1.https://blog.csdn.net/stdcoutzyx/article/details/37317863
2.https://www.cnblogs.com/zhehan54/p/6723956.html
3.https://blog.csdn.net/u012507022/article/details/54138299
4.https://blog.csdn.net/u012507022/article/details/54138299

0%