LBP算子简介

    本人博客地址:http://blog.csdn.net/wanrenwangxuejing

 LBP的全称是Local Binary Pattern即局部二值模式,是局部信息提取中的一种方法。后来提升为一种有效的纹理描述算子,度量和提取图像局部的纹理信息,对光照具有不变性。LBP有很多变种,或说改进。目前LBP有很多应用,如人脸识别,表情识别等。局部信息有很多,比如HOG,SIFT等等。那么我们为什么要提取局部特征呢?原因很简单,因为一幅图像的信息比较多,如灰度,边缘等等,计算机很难处理这种复杂的信息,所以就需要对这些信息进行处理。

   LBP就是一种局部信息,它反应的内容是每个像素与周围像素的关系。LBP的基本思想是对图像的像素和它局部周围像素进行对比后的结果进行求和。把这个像素作为中心,对相邻像素进行阈值比较。如果中心像素的亮度大于等于他的相邻像素,把他标记为1,否则标记为0。你会用二进制数字来表示每个像素,比如11001111。因此,由于周围相邻8个像素,你最终可能获取2^8个可能组合,被称为局部二值模式,有时被称为LBP码。


 

    如上图所示,中间像素的灰度值为54,顺时针取值,就得到了一个像素的LBP值,即11010011。那么我们如何表示这个二进值数呢,很简单,我们将它转化为十进制数即可,也就是211,即这一点的LBP值为211。就这样对整个图像进行LBP运算,就可以得到这幅图像的LBP特征。但是得到这些特征有什么作用呢?提取图像特征的目标无非就是为了进行分类,我们把一幅灰度图像转化为了LBP特征图像,从理论上讲并没有实现降维,也无法进行分类。

    这时就引入了直方图统计,我们将LBP特征进行直方图统计,也就是统计LBP特征0~255各占的比例,这样就进行了数据的降维。之后就可以将一个向量输入分类器中进行分类。可是由于只有256维特征,所以分类的效果并不好。这时我们就引入了图像分块处理的方法,也就是说将图像分成若干的图像块,如,在人脸识别中,把脸分为7*7,5*5的区域,并对这49,25个小区域进行LBP处理,将每个小区域的直方图进行串联,就可以得到整个图像的LBP直方图。并对这个直方图进行分类处理,这样可以大大的增强分类的效果。但是分类数据维度也大大增加了,如果是7*7区域,数据维度为7*7*256=12544维。

    可以看出数据的维度还是比较大,所以需要进一步进行降维,这里就涉及了另外一个概念:Uniform LBP,即均匀模式LBP。这种降维感觉是用了电路中的方法,也就是将原来的256维灰度数据重新分类,统计其位移后的跳变次数,当跳变次数小于2次时就定义为一个Uniform LBP,比如00000000左移一位还是00000000,没有跳变,即跳变次数为0;00001111左移一位为00011110,跳变次数为2;10100000左移一位为01000001跳变次数为3,它不是Uniform LBP。经过统计,Uniform LBP在整个的LBP特征中占85~90%,而Uniform LBP只有58个特征。所以我们将分类特征向量由256维降为58维。在实际应用中,其实是59维,因为加一维表示那些不是Uniform LBP的量。那么7*7的人脸区域在进行降维之后,有7*7*59=2891维。由此对LBP特征进行了降维。

    为了更好的进行分类,还可在分类时在人脸区域中加相应的权值,比如眼睛和嘴的权值大,其它部分的权值小。之后再介绍下直方图相似性检测的内容。常用的方法有直方图相交法和Chi-Square距离检测。在这里介绍下较为简单的直方图相交法,原理很简单,就是统计出直方图每个Bin内相同的数目,一般还除以直方图像素总数进行归一化。在这里Bin就是指一个区间,比如LBP有256维向量,则有256个Bin,统计其每个Bin内像素个数进行对比,Uniform LBP有59维,也就是有59个Bin,相似性检测时则统计59个Bin中的像素个数。一般有多维特征向量,就有多少个Bin。

转载自:http://blog.sina.com.cn/s/blog_4bdbec750101ekuh.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值