理论部分
引言
LBP(Local Binary Pattern)指的是局部二值模式,是一种用来描述图像局部特征的算子,具有灰度不变性和旋转不变性。在数字图像处理和模式识别中,通常用于度量和提取纹理信息,人脸检测也是其中的应用之一。
LBP的改进主要有四个方面,分为四个递进层次,首先,实现了邻域从正方形转变为圆形;其次,LBP旋转不变模式,实现了旋转不变性;再者,LBP等价模式,避免因采样点数目增多引起的计算量暴增,以提高效率;最后,MB-LBP特征模式,克服了基本LBP算子只能捕捉微观特征,但不能捕捉宏观特征的缺点。
比较经典的LBP特征有,基本LBP特征、圆形LBP特征(Extended LBP或Circular LBP)、旋转不变的LBP特征、Uniform Pattern LBP特征(等价LBP特征)和MB-LBP特征(Multiscale Block LBP)。其他的还有,TLBP(中心像素与周围所有像素比较,而不是根据采样点的数目),DLBP(编码标准四个方向的灰度变化,每个方向上用2比特编码),MLBP(将中心像素值替换成采样点像素的平均值)等。
纹理特征
纹理是一种反映图像中同质现象的视觉特征,它体现了物体表面的具有缓慢变化或者周期性变化的表面结构组织排列属性。物体的纹理可以在其亮度和颜色上有所体现,而且几乎所有图像都包含了纹理信息,它可以表现这个物体的表面信息。有时候,它还能表达自身与外界环境的关系。直观地,如下图所示:
纹理具有三大标志:
- 重复性:某种局部序列性不断重复;
- 周期性:非随机排列;
- 同质性:重复出现的元素在结构和尺寸上大致相同。
纹理能够体现出不同物体表面的固有属性。虽然表面看似没有规律,但又含有内在的规律。所以,纹理特征有助于将两种不同的物体(或者两幅图像)区别开来——物体识别(Object Recognition),比如树叶的纹理和建筑物的纹理就会有很大的区别。
进一步的我们还应该从下面两个角度去理解纹理:
- 纹理与尺度有密切联系,一般仅在一定的尺度上可以观察到,对纹理的分析也需要在恰当的尺度上进行。例如,在给定的一幅图像中,当在较粗的尺度上观察时可能看不出纹理,可能需要到更细的尺度上才能观察的到。任何物体的表面,如果一直放大下去进行观察的话一定能够显现出纹理。
- 同时,纹理也具有区域性的特点,通常被看作对局部区域中像素之间关系的一种度量,对单个的像素来说是没有纹理概念的。纹理能用来描述不同的图像区域,要描述一个图像中的纹理区域,常会使用区域的尺寸、可分辨灰度元素的数目以及这些灰度元素的相互关系等。
纹理分析其实是一门很深的学问,对纹理的描述也有多种方法:统计方法、结构方法、频谱方法等,此处就不再多做叙述,可以参见文章图像纹理特征总体简述。而对于LBP特征描述子就是结构方法中的一种,是一种借助局部邻域定义的纹理测度。本文也重点讲述LBP特征描述子。
基本LBP算子
假设局部邻域中像素的个数为P(P>1),LBP特征用图像的局部邻域联合分布T来描述图像的纹理特征:
T = t ( g c , g 0 , . . . . . . g p ) , p = 0 , . . . . . . , P − 1 T=t(g_c,g_0,......g_{p}), p=0,......,P-1 T=t(gc,g0,......gp),p=0,......,P−1其中, g c g_c gc为局部邻域中心的像素灰度值, g p g_p gp表示以中心像素为圆心,以R为半径的圆上的像素的灰度值。
假设中心像素和局部像素分布相互独立,那么这里可以将上式修改为:
T ≈ t ( g c ) t ( g 0 − g c , . . . . . . g p − g c ) T \approx t(g_c)t(g_0-g_c,......g_{p}-g_c) T≈t(gc)t(g0−gc,......gp−gc)
t ( g c ) t(g_c) t(gc)决定了局部区域的整理亮度,由亮度均值(灰度级)确定,不影响局部区域的纹理特征。因此,将纹理特征T近似为:
T ≈ t ( g 0 − g c , . . . . . . g p − g c ) T\approx t(g_0-g_c,......g_{p}-g_c) T≈t(g0