LBP特征检测什么是LBP?LBP是LocalBinaryPattern的缩写,意思是局部二值模式。LBP是一种有效的描述图像局部纹理特征的算子,它是首先由T.Ojala等人在1994年提出,用于纹理特征提取。它具有旋转不变性和灰度不变性等显著的优点。近年来,LBP算子已经得到不断的发展和演化,并广泛地应用于纹理分类、纹理分割、人脸图像分析等领域。基本LBP特征描述在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即LBP码,共256种),即得到该窗口中心像素点的LBP值,并用这个值来反映该区域的纹理信息。如下图所示:得到了每个像素分割的LBP。建立一个直方图,每个LBP的种类作横轴,每种LBP出现的次数为纵轴。这张图可以反映该区域的纹理信息LBP的改进版本由于基本LBP算子的局限性,研究人员不断对其进行改进。1、圆形LBP算子基本的LBP算子的最大缺陷在于它只覆盖了一个固定半径范围内的小区域,这显然不能满足不同尺寸和频率纹理的需要。为了适应不同尺度的纹理特征,并达到灰度和旋转不变性的要求,Ojala等对LBP算子进行了改进,将3×3邻域扩展到任意邻域,并用圆形邻域代替了正方形邻域,改进后的LBP算子允许在半径为R的圆形邻域内有任意多个像素点。从而得到了诸如半径为R的圆形区域内含有P个采样点的LBP算子。符号𝐿𝐵𝑃𝑃𝑅表示半径为R的圆形邻域内有P个像素点gP(p=0,1...P)的LBP算子。一个LBP算子可以产生不同的二进制模式,对于半径为R的圆形区域内含有P个采样点的LBP算子将会产生2P种模式。很显然,随着邻域集内采样点数的增加,二进制模式的种类是急剧增加的。例如:5×5邻域内20个采样点,有220=1,048,576种二进制模式。如此多的二值模式无论对于纹理的提取还是对于纹理的识别、分类及信息的存取都是不利的,同时对于纹理的表达也是不利的。例如,将LBP算子用于纹理分类或人脸识别时,常采用LBP模式的统计直方图来表达图像的信息,而较多的模式种类将使得数据量过大,且直方图过于稀疏。因此,需要对原始的LBP模式进行降维,使得数据量减少的情况下能最好的代表图像的信息。2、LBP等价模式为了解决二进制模式过多的问题,提高统计性,Ojala提出了采用一种“等价模式”(UniformPattern)来对LBP算子的模式种类进行降维。Ojala等认为,在实际图像中,绝大多数LBP模式最多只包含两次从1到0或从0到1的跳变。因此,Ojala将“等价模式”定义为:当某个LBP所对应的循环二进制数从0到1或从1到0最多有两次跳变时,该LBP所对应的二进制就称为一个等价模式类。如00000000(0次跳变),00000111(只含一次从0到1的跳变),10001111(先由1跳到0,再由0跳到1,共两次跳变)都是等价模式类。除等价模式类以外的模式都归为另一类,称为混合模式类,例如10010111(共四次跳变)。通过这样的改进,二进制模式的种类大大减少,而不会丢失任何信息。模式数量由原来的2P种减少为P(P-1)+2种,其中P表示邻域集内的采样点数。对于3×3邻域内8个采样点来说,二进制模式由原始的256种减少为58种,这使得特征向量的维数更少,并且可以减少高频噪声带来的影响。各种类型的uniformLBP(3*3)个数是P*(P-1)+2得到了uniformLBP建立一个直方图,以uniformLBP的种类为横轴。以每个种类出现的次数作为纵轴,不是uniformLBP另作为一个种类。这个直方图有P*(P-1)+3个种类,而传统的有2^p个种类Ojala等认为,等价模式代表了图像的边缘等关键模式,如图2.3所示,其中,白色点表示1,黑色点表示0。等价模式类占总模式中的绝大多数,利用这些等价模式类和混合模式类的直方图,可提取更能代表图像本质特性的特征。以𝐿𝐵𝑃81为例,等价模式只占256种可能模式的23%,这意味着这些等价模式出现的概率很高。实验表明,对于一般的图像,等价模式能占总模式种类比较大的比重。如图2.4,在图(a),(b)和(c)中,等价模式占总模式的百分比分别为88%、93%和76%。Ojala指出可以通过低通滤波的方法来增强等价模式所占的比重。如图2.4(c),通过高斯滤波后再计算LBP模式,则等价模式所占百分比提高到90%以上。但是,我们发现,由于图像的千差万别,等价模式并不能在所有的图像中都占到高的百分比,在一些图像中,LBP等价模式所占的比重不足60%,有的甚至更低。而采用低通滤波也有一定的缺陷。3、LBP旋转不变模式从LBP的定义可以看出,LBP算子是灰度不变的,但却不是旋转不变的。图像的旋转就会得到不同的LBP值。Maenpaa等人又将LBP算子进行了扩展,提出了具有旋转不变性的LBP算子,即不断旋转圆形邻域得到一系列初始定义的LBP值,取其最小值作为该邻域的LBP值。用公式表示如下:其中表示旋转不变的LBP算子,ROR(x,i)函数为旋转函数,表示将x循环右移i(iP)位。图2.5给出了求取旋转不变的LBP的过程示意图,图中算子下方的数字表示该算子对应的LBP值,图中所示的8种LBP模式,经过旋转不变的处理,最终得到的具有旋转不变性的LBP值为15。也就是说,图中的8种LBP模式对应的旋转不变的LBP模式都是00001111。通过引入旋转不变的定义,LBP算子不仅对于图像旋转表现得更为鲁棒,并且LBP模式的种类进一步减少,使得纹理识别更加容易。从另一方面来说,旋转不变的LBP算子的最大缺陷在于其丢失了方向信息,而对于某些场合来说,方向信息是十分重要的信息。然而,对于同类纹理图像的分析,算子已经被证明是有效的。算子还可以与等价模式联合起来,将等价模式类进行旋转得到旋转不变的等价模式,这使得可能的模式种类由2P类减少为P+1类。所有的非等价模式被归为第P+1类,如公式(2.11)所示:其中表示0到1或1到0跳变的次数,被称为旋转不变的等价模式。旋转不变的等价模式其中再算上0,1变化不超过两次的,就形成了uniform旋转不变LBP。总共有P+1种。各种类型的旋转不变LBP经过等价模式和旋转不变的改进后,LBP算子不仅具有了旋转不变性和灰度不变性的显著特点,原始LBP的模式种类也得到大幅度的减少。表2.1显示了不同的LBP算子的模式维数。从表2.1可以看出,经过等价模式和旋转不变等价模式的改进,原始LBP模式的种类得到大幅度降低。LBP用于检测的原理对图像采用LBP算子提取特征后得到的仍然是一幅图像,经过LBP运算后,所改变的只是各个像素点的取值,我们将经过LBP运算后的图像称为LBP图谱。在LBP的应用中,如纹理分类、人脸分析等,一般都不将LBP图谱作为特征向量用于分类识别,而是采用LBP特征谱的统计直方图作为特征向量用于分类识别。常用非参数统计的方法比较两个样本间LBP直方图分布的相似性,采用这种方法的优点在于可以避免对特征分布做假设。对LBP特征向量进行提取的步骤(1)首先将检测窗口划分为16×16的小区域(cell);(2)对于每个cell中的一个像素,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经比较可产生8位二进制数,即得到该窗口中心像素点的LBP值;(3)然后计算每个cell的直方图,即每个数字(假定是十进制数LBP值)出现的频率;然后对该直方图进行归一化处理。(4)最后将得到的每个cell的统计直方图进行连接成为一个特征向量,也就是整幅图的LBP纹理特征向量;然后便可利用SVM或者其他机器学习算法进行分类了LBP的应用LBP算子具有旋转不变和灰度不变等优点,还支持多尺度分析,因此,LBP算子在模式识别和纹理分析等方面得到了极大的推广和发展。LBP已经被应用在工业检测、图像恢复、人脸分析和场景分析等方面。谢谢!