转自:LBP (local binary mode)局部二值模式_月下看日出_新浪博客 http://blog.sina.com.cn/s/blog_6e93dc1901010r15.html
LBP (local binary mode)局部二值模式
(2012-03-15 10:38:17)
LBP(Local Binary Pattern, 局部二值模式 ) 是一种用来描述图像局部纹理特征的算子;显然,它的作用是进行特征提取,而且,提取的特征是图像的纹理特征,并且,是局部的纹理特征;
原始的 LBP 算子定义为在 3*3 的窗口内,以窗口中心像素为阈值,将相邻的 8 个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为 1 ,否则为 0 。这样, 3*3 领域内的 8 个点可产生 8 bit 的无符号数,即得到该窗口的 LBP 值,并用这个值来反映该区域的纹理信息。
原始的 LBP 提出后,研究人员不断对其提出了各种改进和优化,从而得到了诸如半径为 R 的圆形区域内含有 P 个采样点的 LBP 算子 ; LBP 均匀模式; LBP 旋转不变模式; LBP 等价模式等等,具体请参考 T . Ojala 在 IEEE TPAMI 上 2002 年发表的那篇文章“ Multiresolution Gray-Scale and Rotation Invariant Texture Classification with Local Binary Patterns ”。
显而易见的是,上述提取的 LBP 算子在每个像素点都可以得到一个 LBP “编码”,那么,对一幅图像提取其原始的 LBP 算子之后,得到的原始 LBP 特征依然是“一幅图片”。不过,这里我们已经将物体从图片(图片可以理解为物体在原始测量空间得到的测量特征)转换为二次特征,也就是得到了我们通常说的“特征”。不过,这个所谓的“特征”并不能直接用于判别分析。因为,从上面的分析我们可以看出,这个“特征”跟位置信息是紧密相关的。直接对两幅图片提取这种“特征”,并进行判别分析的话,会因为“位置没有对准”而产生很大的误差。后来,研究人员发现,可以将一幅图片划分为若干的子区域,对每个子区域内的每个像素点都提取 LBP 特征,然后,在每个子区域内建立 LBP 特征的统计直方图。如此一来,每个子区域,就可以用一个统计直方图来进行描述;整个图片就由若干个统计直方图组成;例如:一幅 100*100 像素大小的图片,划分为 10*10=100 个子区域,每个子区域的大小为 10*10 像素;在每个子区域内的每个像素点,提取其 LBP 特征,然后,建立统计直方图;这样,这幅图片就有 10*10 个子区域,也就有了 10*10 个统计直方图,利用这 10*10 个统计直方图,就可以描述这幅图片了。之后,我们利用各种相似性度量函数,就可以判断两幅图像之间的相似性了;
目前, LBP 局部纹理提取算子,已经成功应用在指纹识别、字符识别、人脸识别、车牌识别等领域。