图像处理之特征提取(二)之LBP特征简单梳理
LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征
的算子,具有多分辨率、灰度尺度不变、旋转不变等特性。主要用于特征提取中的纹理提取。
纹理是个什么概念呢?具体定义为:泛指物体面上的花纹或线条,是物体上呈现的线形纹路。在图像处理中一般理解也就是灰度变化引起的某些特征反应。具体深一步了解:ChenLee_1 ,http://blog.csdn.net/carson2005/article/details/44676281,纹理特征简介。
总体来讲LBP特征提取及算法比较好理解,对于其整体性认识与理解请移步:
其中涉及原理步骤算法讲解的很清楚,这里不再赘述,这里把其中几点重点介绍一下:
一、灰度不变性
图1
以原始的LBP3*3的局部区域为例,最后编码形成的01111100八位码体现的只是邻域对于中心像素差值的相对量,像素值本身的大小体现出来,所以这里你可以想象一下,把一幅灰度图的所有像素对应加上一个常数C,最后得出的图像LBP特征码是一样的,常数C在局部像素差值中已经消掉了。这里联系一下HOG特征,最后的梯度值是不是也是灰度不变的?可以思考一下。
二、支持多分辨率
LBP算子在每个像素点都可以得到一个LBP“编码”,那么,对一幅图像(记录的是每个像素点的灰度值)提取其原始的LBP算子之后,得到的原始LBP特征依然是“一幅图片”(记录的是每个像素点的LBP值)。
![](https://img-my.csdn.net/uploads/201208/31/1346398640_1933.jpg)
图2
在圆形LBP中只要不断改变P和R的大小(即图像处理中常用的所谓“窗口大小”的概念),即可以让LBP具有多分辨率识别的特性。这句话看起来没有什么问题,但是仔细想却抓不住其中的具体原理,变换P,R就可以提取在多分辨率中适用的LBP特征?这里的前提是某个特征存在于连续的一个局部空间内,举个例子,某个特征存在于R∈(x,y)的区间,变换R可以提取不同分辨率下的同一特征,假设某个特征只存在于R=x的一个圆上,你变换个R就肯定提取不到对应的特征了,不知表述清楚没?但这是特殊情况,一般特征存在于不可能是单个像素宽度或长度级别。(这一块还是有待进一步学习)。最后的实验结论是具有多分辨率特性是成立的,处理单张图片,对应RP取(2,8)(3,16)(4,24)三组数据,结果图3所示,可以看到纹理的细腻程度不同。一个自我理解无具体依据的推断:LBP中PR效果类似于SIFT中σ,最后造成图像影响就是模糊的效果,达到多分辨率提取特征的目的。这里说是多分辨率而不是尺度不变,因为最后检测时根据简单几组PR提取的对应LBP特征还是只适用于不同PR对应的几组固定的具体大小图像,而没有达到对于所有大小图像适用的尺度不变特性。
图3
三、等价模式
有一类模式在图像中出现的频率及其高,这类模式就是等价模式,它们都有一个特性,就是黑白跳变数量都小于等于2。另外我们也可以推出,在P邻域中,等价模式的个数U为:U=P*(P-1)+2。
上面这句话意思主要是由于PR的增加,LBP码的长度对应增加,对应的码的数量呈指数增长,2^P次个,不利于计算,找一种方法将编码数量降低一点。
重点U=P*(P-1)+2,这个东东是怎么来的?具体公式啥的没找到,感觉应该存在比较简单的推导方法,这里的方法比较笨。
编码由01组成,这里单独拿出0来计算,怎样保证0/1之间的跳变满足≤2呢?一种情况所有的0都在编码中聚在一起(设为情况1),如100011,110001这种,另一种是0分开两拨,但只能存在于编码的最左端与最右端(设为情况2),如011100,001110这种,其余的(010110,001011)跳变次数都大于2了。设定P为偶数。为了表述方便表后半部分取P=4示例。
![](https://img-blog.csdn.net/20170604211604736?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29taW5nX2lzX3dpbnRlcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图4
等价模式这里的跳变次数为≤2,,变成3,4等可不可以呢(?)?最后实验证明(这是个统计量?还是公式计算量?):尽管等价模式(≤2)只占了全部模式的一小部分,但表明这一小部分等价模式能够刻画90%以上的纹理特征。这里其实可以简单想象一下,在一个LBP局域中跳变1,2次是正常的,假设跳变次数太多,也就是0/1之间转换的太快,局域内就成了黑白相间的噪声了,体现不出来纹理。
参考文献:
部分上已给出。
迈克老狼2012,http://www.cnblogs.com/mikewolf2002/p/3438698.html,, (里面包含LBP特征提取opencv源码) OpenCV学习(39) OpenCV中的LBP图像。