LBP特征(Local Binary Pattern)
LBP含义为局部二进制模式,是用来描述图像局部特征的算子,由T.Ojala, M.Pietikäinen, 和 D. Harwood在1994年提出,最初是为纹理描述而设计的。由于LBP对单调灰度变化的不变性和计算效率高,其适用于高要求的图像分析任务,在计算机视觉的许多领域都得到了广泛的应用:比如人脸识别、目标检测、应用LBP特征来进行训练目标检测分类器。
本文将介绍LBP特征算法的三种模式,分别为:原始的LBP,Circular LBP又称Extended LBP,Uniform Pattern LBP
1.原始的LBP算法
原始的LBP算子定义在像素3×3的邻域内,以邻域中心像素为阈值,相邻的8个像素的灰度值与邻域中心的像素值进行比较,若周围像素大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3×3邻域内的8个点经过比较可产生8位二进制数,将这8位二进制数依次排列形成一个二进制数字,这个二进制数字就是中心像素的LBP值。由于共有八位二进制数,每位二进制数的取值为1或0,因此原始的LBP取值有2^8=256种。原理如下图所示:
原始LBP二进制的顺序并无硬性要求,只要在同一处理中保持相同的顺序即可。上述过程可用图和公式表达为:
( x c , y c ) 为 中 心 像 素 的 坐 标 , p 为 邻 域 的 第 p 个 像 素 , i p 为 邻 域 像 素 的 灰 度 值 , i c 为 中 心 像 素 的 灰 度 值 , s ( x ) 为 符 号 函 数 (x_c,y_c)为中心像素的坐标,p为邻域的第p个像素,i_p 为邻域像素的灰度值,i_c为中心像素的灰度值,s(x)为符号函数 (xc,yc)为中心像素的坐标,p为邻域的第p个像素,ip