LBP 算子是一种有效的纹理描述算子, 它具有旋转不变性和灰度不变性等显著优点。其基本思想是用其中心像素的灰度值作为阈值,与它的邻域相比较得到的二进制码来表述局部纹理特征。
基本LBP
首先介绍LBP 算子的计算方式。对于一幅图像中的某个局部区域内的任意像素f(xc , yc ),以其为中心点gc , 对3 ×3 窗口内的8 个点g0 ,…, g7 , 纹理T 定义如下:
以窗口中心点灰度值为阈值对窗口内其它像素做二值化处理, 如公式(2)所示:
得到一个8 位的二进制数, 按公式(3)对像素不同位置进行加权求和, 即可得到该窗口的LBP 值:
一个基本的LBP 算子如下图所示。
基本LBP算子示意图
改进LBP
为了适应不同尺度的纹理特征,对LBP 算子进行了改进, 将3 ×3 邻域扩展到任意邻域, 并用圆形邻域代替了正方形邻域, 采用双线性插值算法计算没有完全落在像素位置的点的灰度值。此外, 改进后的LBP 算子允许在半径为R 的圆形邻域内有任意多个像素点, 如图3 所示。符号表示在半径为R 的圆形邻域内有P 个像素点。
几种LBP算子
原始LBP与改进LBP的差别:
(1)原始定义于方形邻域上,而修改过的定义于圆形邻域中,从而更易于定义具有旋转不变性的纹理描述算子
(2)修改后的,算子中,其邻域中对角线上的像素值是通过线性内插得到的
uniform LBP
注意到随着采样点数的增加, 二进制模式的种类会急剧增加。如3 ×3 邻域内8 个采样点, 对应有2^8 种二进制模式;5 ×5 邻域内20 个采样点, 对应有2^20 种二进制模式;7 ×7 的邻域内36个采样点, 对应的二进制模式种类多达2^36种。显然, 如此多的二值模式对于提取纹理是不利的。为了解决二进制模式过多的问题, 提高统计性,利用所谓的“等价模式类”(uniform patterns)对LBP 进行了改进。当某个局部二进制模式首尾相连环的形所对应的循环二进制数从0 到1 或从1 到0 最多有两次跳变时, 该局部二进制模式所对应的二进制就称为一个等价模式类, 如00000000 ,11111111 , 10001111 都是等价模式类, 除等价模式类以外的模式都归为另一类, 称为混合模式类。这使得基本LBP算子的二进制模式的种类由原来的2^P 种减少为P(P-1)+3 种,例如P=8时等价模式类58个,混合模式类1个,共59种。其中,P 表示邻域集内的采样点数。通过这样的改进, 局部二值模式的种类大大减少。等价模式类占总模式中的绝大多数, 利用这些等价模式类和混合模式类的直方图, 可提取更能代表图像本质特性的特征。
LBP用于人脸识别
人脸的分类识别是通过匹配LBP 直方图序列特征的相似度来实现分类,首先,面部区域被分成许多小区域,并在此基础上生成多个直方图。然后,将这些直方图连接,生成一个空间特征得以增强、有效表征面部图像的直方图。计算出分块完备LBP 直方图特征的不相似度,然后根据最近邻准则进行分类。目前常用的几种直方图间距离计算方法有:1) 直方图相交距离 ; 2) 对数似然统计法 ; 3) Chi 平方统计法。采用Chi 平方统计法进行直方图间的不相似性度量,两个样本间的Chi距离值越小,表明两个样本越相似。
在Chi平方相似性度量过程中,为了实现对图像的识别,需要对测试集和训练集中的每一幅图像的增强直方图向量进行两两Chi平方距离计算,得到对应的平方距离矩阵。设训练集特征向量矩阵为A,大小为m*h1,其中m为训练集所包含的图像数,h1为特征向量维数;测试集特征向量矩阵为B,大小为n*h2,其中n为测试集所包含的图像数,h2为特征向量维数;则计算所得的平方距离矩阵为m*n维,Cij表示训练集中的图像i与测试集中的图像j之间的Chi平方距离。通过计算测试样本的分块完备LBP 直方图特征和所有训练样本的分块完备LBP 直方图特征的Chi距离值,然后根据最近邻准则,将测试样本归为距离值最小的那一类。