LBP(local binary pattern)学习

LBP概念:

LBP为局部二值模式,用于描述图像局部特征的算子,其具备灰度不变性和旋转不变性。

(灰度不变性:光照变化不会对描述产生影响,因为光照产生的是区域性质的变化)

(旋转不变性:对图像进行旋转后,提取的特征不会发生变化)

LBP主要用在人脸检测和目标检测方面。

---------------------------------------------------------------------------------------------

LBP特征原理:

原始的LBP算子定义在3*3的领域中,并且以领域中心像素为阈值,四周8个像素以此进行判别,最终产生

以上的LBP值为76,其值反映周围像素区域的纹理信息。

注意,原始LBP特征使用的是固定领域内的灰度值,当图像尺度发生变化时,LBP特征编码会发生错误。

扫描二维码关注公众号,回复: 2517489 查看本文章

LBP算子还有不同的定义版本,例如圆形LBP特征。

圆形LBP特征通常对不是整数的像素位置需要进行插值,一般计算效果较低,同样地,并不具备旋转不变性。

进一步地,需要特征具备旋转不变性,可将LBP值(不同起始计算点)进行排序,选取最小的值作为LBP值,类似mark点的编码。


从上图可知,当前LBP值为27,这样,LBP特征具备旋转不变性。


Uniform Pattern,也称为等价模式或均匀模式,可以对LBP算子的模式种类进行降维。

其思想为,将LBP模式中最多只包含两次从1到0或从0到1的跳变称之为等价模式类,其余的称之为混合模式类。

例如,00000011(只含有一次跳变,等价模式类),10010111(四次跳变,混合模式类),一般地,LBP绝大部分为等价模式类。通过这种方式,模式数量由原来的2^P种减少为P(P-1)+2种,特征维度大大减少。

具体实现:当采样点数为8个时,LBP特征一共有256个值,根据等价模式思想,从跳变上划分(0-1跳变规则):跳变0次——2个,跳变1次——0个,跳变2次——56个,跳变3次——0个,跳变4次——140个,跳变5次——0个,跳变6次——56个,跳变7次——0个,跳变8次——2个,一共有9中跳变情况。跳变不大于2次的称为等价模式类,共58个,对应值从小到大编码为1——58,并且在LBP特征图像中的灰度值为1——58,混合模式编码为0,因此等价模式LBP特征图像整体偏暗。


MB_LBP特征:全称为Multiscale Block LBP,其思想是将图像分成一个个小块,每个小块再分成一个个小区域,小区域内的灰度平均值作为当前小区域的灰度值,并与周围小区域灰度进行比较形成LBP特征。其本质与原始LBP的是一样的。


LBPH特征:全称为Local Binary Patterns Histograms,即LBP特征的统计直方图,LBPH。将LBP特征与图像的空间信息结合在一起。

一幅图具体的计算LBPH过程如下:

1.计算图像的LBP特征图像;

2.将LBP特征图像进行分块,OpenCV中将LBP特征图像分成8行8列64块区域;

3.计算每块区域特征图像的直方图cell_LBPH,并将直方图进行归一化,直方图大小为 1*numPatterns;

4.将上面计算的每块区域特征图像的直方图按分块的空间顺序依次排列成一列,形成LBP特征分量,其大小为 1*(numPatterns*64);

5.用机器学习的方式对LBP特征向量进行训练,用来检测和识别目标。

--------------------------------------------------------------------------------------------------------

以上内容部分摘自其他内容,对此表示感谢!

后续将根据理论知识,实际开发基于LBP的物体检测算法。

猜你喜欢

转载自blog.csdn.net/qq_33810188/article/details/80519560
LBP