在上Computer Vision lecture的时候,讲师介绍了LBP算子,这里对他进行简单的介绍。

LBP(Local Binary Pattern) 局部二制模式,是描述图像局部纹理特征的算子,有原始LBP,圆形LBP算子,旋转不变的LBP模式和LBP均匀模式。


1. 原始的LBP

原始LBP很好理解,是通过以中心像素为阈值对比中心像素和周围8个像素的值,周围像素比中心像素大(或相等的)的记为1,小的记为0,通过对比会得到二值图,按顺时针方向可得二进制串,再通过二进制转换为十进制数,即得到中心像素LBP值,并通过此值表达区域纹理信息,如下图所示:

原始十进制LBP码一般会有256种,这里可以理解为:八位二进制共有256种组合(二的八次方) 。

通过对比5和周围8个像素的大小,5>1(左上角像素),5>2(上排中间像素),5>2(右上角像素),以此类推顺时针对比一遍得出 00010011的二进制串,转换为十进制则是19。

LBP顺序(此例子中使用顺时针遍历)并没有要求,只是量化公式,保持同一处理一致即可。

用公式表示LBP则是:

2. 圆形LBP算子

原始LBP的问题在于它只覆盖了目标像素周围的8个相邻像素点,换句话说,只覆盖了固定半径范围内的小区域,不能满足不同尺寸和频率纹理的需要。圆形LBP算子将8个相邻像素进行拓展,引入圆形邻域代替正方形邻域,改进后的LBP算子允许半径R内的圆形邻域有多个像素点,并对圆形区域P个采样点进行采样。如图所示:

上图中图1使用的是半径R为1内的8个采样点(P)的LBP算子

图2使用的是半径R为2内的16个采样点(P)的LBP算子,圆形算子讲邻域扩展为5*5

图3使用的是半径R为2内的8个采样点(P)的LBP算子,邻域依旧为5*5但是采样点减少为8

不同的圆形算子对不同的场景有不同的效果,这也是圆形算子的优势所在。

用公式表示圆形LBP则是:

p采样点的坐标采用如下的公式计算:

然而,通过计算得出的坐标不一定是整数,所以可以通过双线性插值算出该取样点的像素。

3. 旋转不变的LBP模式

试想,当图像旋转时,对同一邻域,普通LBP在不同旋转角度会得到不同的LBP值,这时就要引进一种具有旋转不变性的LBP算子。如下图所示:

具体方法是将原始LBP(或者圆形LBP)旋转P个采样点位(此图中为8次),得到不同的二进制串,进而产生八种不同的LBP值(240,120,60,30,15,135,195)

取其中最小值作为最终LBP值,这样无论图像如何旋转,这个点的LBP值都会只是15,这也达成了旋转不变性。

4. 等价模式的LBP

随着P(邻域内采样点的增加),二进制模式种类也是大幅度增加的,比如,原始LBP会有2^8=256个LBP值可能性(8采样点),5*5邻域内20个采样点就会有2^20 = 1048576种二进制模式,这样的数据数量是巨大的,对纹理提取识别和分类信息存取都是不利的。数据量过大同时也会造成LBP直方图稀疏,无法很好地表现图片信息。所以需要对原始LBP模式进行降维,使得它的数据量在一定范围内,并能最好的表现图片信息。

等价模式(Uniform Pattern)是当某LBP模式最多只包含两次1到0或0到1的跳变,该LBP所对应的二进制就称为一个等价模式类。除等价模式外的模式都归为另一类,成为混合模式。

下面通过举例来理解等价模式:

00000000(二进制串从0到0无跳变)

00000111(二进制串从0到1一次跳变,跳变位于第五位到第六位)

10001111(二进制串由1到0再从0到1两次跳变,跳变位置位于第一位到第二位,第四位到第五位)

10010111(二进制串共四次跳变,1->0, 0->1,1->0,0->1)该模式属于混合模式。

通过等价模式的计算,二进制模式种类大大减小,从之前的2^p种到p(p-1)+2种,8个采样点位的LBP也会从256降到仅58种,这使得特征向量维数更少,并且可以减少高频噪声带来的影响。

5. 图像特征提取和LBP算子

1. 将图像分为N个大小相同的cell

2. 对cell中每个像素,计算LBP值

3. 对于每一个cell,计算cell中所有LBP直方图,并进行归一化

4.将所有cell直方图连接作为一个特征向量,作为全图特征向量。

对比直方图特征与待检测目标特征,可采用

(1)直方图交叉核方法

(2)卡方统计方法

6. LBP算子的优缺点

优点:光照不敏感(只对比中心像素与周围像素大小关系),旋转不变形(圆形算子),特征维度低,计算速度快。

缺点:光照不均匀无法反映真实纹理特征,对方向敏感。

参考文献:

[1]Timo Ahonen, Abdenour Hadid:Face Recognition with Local Binary Patterns

[2]目标检测的图像特征提取之(二)LBP特征

特征提取算法——LBP(Local Binary Pattern)局部二值模式学习笔记相关推荐

  1. LBP(局部二值模式)特征提取原理

    1.前言 LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子:它具有旋转不变性和灰度不变性等显著的优点.它是首先由T. Ojala, M.Pietik ...

  2. 局部二值模式(Local Binary Patterns)纹理灰度与旋转不变性

    Multiresolution Gray Scale and Rotation Invariant Texture Classification with Local Binary Patterns, ...

  3. LBP(local binary pattern)

    LBP(local binary pattern)是一种用来描述图像局部纹理特征的算子.原始的LBP于1994年提出,它反映内容是每个像素与周围像素的关系.后被不断的改进和优化,分别提出了LBP旋转不 ...

  4. 局部二值模式LBP的详细理解

    局部二值模式LBP的噶几详细的理解 一个电脑小白的自我成长之路,总是这么的寂寞.孤独.无聊,却充满新奇.艰难,唯有坚韧不拔,持续奋斗,才可披荆斩棘.登临云端.各位看官们:"咋的,能不能上干货 ...

  5. matlab学习:人脸识别之LBP (Local Binary Pattern)

    1.算法简介 LBP是一种简单,有效的纹理分类的特征提取算法.LBP算子是由Ojala等人于1996年提出的,主要的论文是"Multiresolution gray-scale and ro ...

  6. 特征提取算法(1)——纹理特征提取算法LBP

    模式识别中进行匹配识别或者分类器分类识别时,判断的依据就是图像特征.用提取的特征表示整幅图像内容,根据特征匹配或者分类图像目标. 常见的特征提取算法主要分为以下3类: 基于颜色特征:如颜色直方图.颜色 ...

  7. LBP(Local Binary Patterns)特征

    LBP(Local Binary Patterns)特征 转载:https://blog.csdn.net/Quincuntial/article/details/50541815 一.LBP的介绍: ...

  8. matlab lbp直方图特征多少维,LBP局部二值特征

    最近一直在看LBP的东西,就说说LBP吧.先从最基本的LBP说起,LBP的全称是Local Binary Pattern即局部二值模式,是局部信息提取中的一种方法.目前LBP有很多应用,如人脸识别,表 ...

  9. gabor 幅值域 matlab,基于全局二值模式的特征提取方法及其应用

    基于全局二值模式的特征提取方法及其应用 来源:原创论文网 添加时间:2014-02-09 摘 要 提出一种全局二值模式( GBP) 的纹理分析方法,解决局部二值模式( LBP) 易受噪声影响的问题. ...

最新文章

  1. 如何通过HBuilderX运行微信小程序,启动Enable IDE Service,X initialize 解决方案
  2. MapReduce TopK统计加排序
  3. TIMING_02 浅谈时序约束与时序分析
  4. cesium html源码,Cesium源码的本地运行及调试
  5. java使用Encoding导什么包_String getEncoding()
  6. 一个小例子搞懂redux的套路
  7. php使用自定义alert,IOS_iOS自定义alertView提示框实例分享,本文实例为大家分享iOS自定义a - phpStudy...
  8. OSWatcher使用简介
  9. 火影忍者 动漫 全集目录 分章节 精彩打斗剧集 思维导图整理
  10. iOS越狱系统绕过frida检测
  11. 新建文本文档出现错误怎么办
  12. handsome for Typecho主题重建备忘
  13. 整合springmvc+mybatis+veloctiy三
  14. 【题解】【PTA里的Python题库】7-1 身份证校验_python
  15. 基于Android的医院预约挂号系统
  16. 代码 比较工具 在线
  17. elasticsearch5.0.0中的percolator类型和percolate查询
  18. 【渝粤教育】广东开放大学 广东开放大学学习指引 形成性考核 (28)
  19. PPT忘记加密密码的处理方式
  20. 用个人博客打造一个酷酷的工作流

热门文章

  1. SpringClould之Hystrix原理
  2. GlobalKey的使用方法
  3. echarts图表的title中添加图片
  4. java中sproingboot导出模板导出excel,以及设置每一个单元格的方式导出。导出工单,周日历。
  5. 基于DDD的项目结构
  6. 互联网公司最新月饼大盘点!
  7. 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
  8. java csv快速解析_爸爸解析:闪电般的快速CSV解析体验
  9. ContentType作用
  10. POJ-2226 Muddy Fields---二分图匹配+巧妙构图