1. 算法简介

LBP是一种用于纹理分类的简单有效的特征提取算法. LBP运算符由Ojala等人在1996年提出. 主要论文是“具有局部二进制模式的多分辨率灰度和旋转不变纹理分类”,pami,第24卷,第1期. 2002年7月7日. LBP代表“本地二进制模式”.

有关论文的解释,请参见链接

从纹理分析的角度来看,图像上像素的大部分时间的纹理特征是指该点与周围像素之间的关系,即该点与其附近的点之间的关系. 从该关系中从哪些角度提取特征,形成了不同类型的特征. 具有功能,可以根据纹理对其进行分类. LBP构建了一个像素与其周围像素之间关系的度量.

对于图像中的每个像素,通过计算每个像素与以其为中心的3 * 3邻域中的中心像素之间的大小关系,可以将像素的灰度值转换为八位二进制序列. 具体计算过程如下图所示. 对于图像中的任何点Ic,LBP特征的计算均以Ic为中心,以与Ic相邻的8个点为基准,并沿顺时针方向将其记录为I0,I1.... ,I7; Ic点的像素值为阈值,如果Ii点的像素值小于Ic,则将Ii二值化为0,否则为1. 将0和1的二进制序列视为8位二进制数,将该二进制数转换为十进制,以在Ic点获得LBP运算符的值.

基本LBP运算符仅限于3 * 3. 对于大图像的结构,无法很好地提取所需的纹理特征,因此研究人员扩展了LBP运算符. 新的LBP算子LBP(P,R)可以计算不同半径邻域大小和不同像素点的特征值,其中P代表周围像素的数量,R代表邻域半径,并将原始正方形邻域扩展为Round,下图显示了四个扩展的LBP示例,其中R可以是一个十进制数,对于不落到整数位置的点,根据轨道中最接近它的两个整数位置像素的灰度值,使用double线性差分法可以计算其灰度值.

LBP(P,R)具有2 ^ p的值,这意味着图像中有2 ^ p个二进制模型. 但是,在实际研究中,发现所有表达信息的方式的重要性是不同的. 统计研究表明,图像中的少数模式特别集中,达到总模式的90%左右. Ojala等. 将此模式定义为统一模式. 如果将二进制序列视为一个圆,则0-1和1-0的总变化次数不超过两次,则该序列为统一模式,例如,使用LBP时为00000000、00011110、00100001、11111111为了表达图像纹理,通常只关心Uniform模式,并将所有其他模式放在同一个In类中.

脸部图像的各种LBP模式如下图所示. 从图中可以看出,变化后的图像比原始图像可以更清晰地反映每个典型区域的纹理,同时淡化了研究价值低的平滑区域的特征,也减小了特征的维数. 相比之下,Uniform模式更加逼真,并用于面部识别和表情识别应用程序.

在表情识别中,最常用的是LBP的统计直方图作为表情图像的特征向量. 为了考虑特征的位置信息,将图像划分为几个小区域,并且在每个小区域中进行直方图统计,即,计算属于该区域中的特定图案的图案的数量,并且最终,所有区域的直方图立即连接在一起作为特征向量,接受下一级处理.

LBP运算符使用周围点和点之间的关系来量化该点. 量化后二维图片 人脸旋转 matlab,可以更有效地消除照明对图像的影响. 只要照度的变化不足以改变两点像素值之间的大小关系,LBP算子的值就不会改变,因此在某种程度上,基于LBP的识别算法解决了这个问题的照明变化,但是当图像被照明时,如果变化不均匀,像素之间的大小关系就会被破坏,相应的LBP模式也会发生变化.

如果图像被旋转,则纹理特征将被旋转,结果二进制字符串将被旋转,并且LBP值将相应地改变. 为了使LBP旋转不变,将二进制字符串旋转. 假设开始时获得的LBP特征为10010000,则可以通过沿顺时针方向旋转二进制特征将其转换为00001001的形式,并且以这种方式获得的LBP值最小. 无论如何旋转图像,从该点提取的二值特征的最小值均保持不变,并且该最小值用作提取的LBP特征,因此LBP不变地旋转. 当P = 8时,可以生成的不同二进制特征数为2 ^ 8. 上面的表达式之后二维图片 人脸旋转 matlab,它变成36. (我认为应该是2 ^ 8/8 = 32)

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-277920-1.html

用matlab的lbp算子,Matlab学习: LBP(局部二进制模式)用于人脸识别相关推荐

  1. LBP(局部二进制模式)

    LBP(Local Binary Patterns ,局部二进制模式)是一种理论简单.计算高效的非参数局部纹理特征描述子.由于其具有较高的特征鉴别力和较低的计算复杂度, 近期获得了越来越多的关注,在图 ...

  2. LBP(Local Binary Patterns)局部二进制模式

    1. LBP 用于人脸识别 为了预测每个像素属于哪个脸部器官(眼睛.鼻子.嘴.头发),通常的作法是在该像素周围取一个小的区域,提取纹理特征(例如局部二值模式),再基于该特征利用支持向量机等浅层模型分类 ...

  3. openCV学习笔记(十二) —— 人脸识别算法(1/3)—— 特征脸 EigenFaces

    一.原理 opencv支持3种人脸识别的算法,分别是: 1.    Eigen Faces    PCA(特征脸方法) 2.    Fisher Faces    LDA(线性判别分析) 3.     ...

  4. python学习--第三天 粗略介绍人脸识别

    首先安装opencv 在安装opencv过程中遇到一些错误(百度解决) 直接贴代码吧,讲师略讲了一下,体会不深,以后有机会深入学习,再详细介绍解释吧 人脸识别训练集应该可以网上下载吧,都是开源的 im ...

  5. python学习之recognition的多人人脸识别

    此次介绍的基于电脑摄像头的人脸识别,在Ubuntu16.04环境下,还没有测试成功,主要是环境的搭建的问题,还没有解决! 文章目录 1.实现背景 2.实现设计 2.1.需求设计 2.2.代码设计 3. ...

  6. 单样本学习:使用孪生神经网络进行人脸识别

    这篇文章简要介绍单样本学习,以孪生神经网络(Siamese neural network)进行人脸识别的例子,分享了作者从论文 FaceNet 以及 deeplearning.ai 中学到的内容. 图 ...

  7. 资料网址大全 (数学,深度学习,机器学习,计算机视觉,人脸识别,图像处理等)

    数学: PCA详解:http://blog.codinglabs.org/articles/pca-tutorial.html (PCA降维通俗易懂讲解,推荐) 傅里叶级数和傅里叶变换通俗讲解:htt ...

  8. opencv-python +ski-image实现指静脉的LBP(局部二进制模式)特征提取

    LBP: 我对original LBP的理解是:对一个灰度图像的每个像素,用这个像素周围一格或者N格的其他像素做比较,最后将这周围(一般是8个)得到的比较结果串起来得到一个8位二进制的串,用这个8位二 ...

  9. 深度学习自学(八):人脸识别主要场景与算法实现

    人脸识别流程 众所众知,严格定义上的人脸识别分为四个步骤: ①人脸检测:从图片中准确定位到人脸 ②人脸矫正(对齐): 检测到的人脸,可能角度不是很正,需要使其对齐 ③特征提取:对矫正后的人脸进行特征提 ...

最新文章

  1. 7. Query Expressions(查询表达式)
  2. 推荐系统超级公开课报名!
  3. 公文转成电子文档需要注意的事项
  4. 以交互方式安装ESXi 6.0
  5. NeuSomatic:基于深度CNN的肿瘤体细胞突变检测工具
  6. linux客户端 存活检测,Linux下客户端检测服务器的 heartbeat
  7. idea通过数据库生成实体类插件_idea数据库生成实体类
  8. innobackupex参数之 --throttle 限速这个值设置多少合理 原创
  9. 1.Docker技术入门与实战 --- 初识Docker与容器
  10. android桌面快捷网页,Android向桌面添加快捷方式,使其指向特定的网页
  11. 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅵ
  12. ezd格式文件怎么打开_EPLAN Electric P8 中的 EDZ 文件格式
  13. 电容或电感的电压_电感电容等储能元件
  14. 中国农业银行研发中心面试经历分享
  15. windows保护无法启动修复服务器,Win10系统提示Windows资源保护无法启动修复服务怎么办...
  16. bat的使用技巧汇总
  17. 拆弹专家(密码BFS)
  18. 0CTF-2016-Web-piapiapia
  19. 计算星期几--C语言
  20. 前端案例-30 Vue常用特性案例汇总

热门文章

  1. 自己做一个桌面截图工具
  2. c 语言程序设计英文版教程,《C++大学教程(第7版)英文原版》(C++ How to Program, 7th Edition)[PDF]...
  3. Django模型——聚合函数的练习代码
  4. 中创|使用分布式存储协议,NFT收藏可永久保存
  5. 线性规划LP和混合整数规划MIP基础知识
  6. GNU GPL 和自由软件
  7. 浪涌装置、避雷器、漏保、空开、断路器区别是什么?
  8. 设计一个三阶巴特沃斯滤波器_二、三阶巴特沃斯滤波器电路设计—电路精选(47)...
  9. 交换技术(CCNA魔鬼训练营系列)-陈鑫杰-专题视频课程
  10. 删除Python框架