局部二值模式LBP的详细理解
局部二值模式LBP的噶几详细的理解
一个电脑小白的自我成长之路,总是这么的寂寞、孤独、无聊,却充满新奇、艰难,唯有坚韧不拔,持续奋斗,才可披荆斩棘、登临云端。各位看官们:“咋的,能不能上干货?” ,博主:“不好意思啦,让我卖弄一下我毕生所学的几个词语,显示一下我那学富五车的才华嘛。秋香上酸菜,翠花上酒,干货开始啦!”
1简介
局部二值模式:local binary patterns 即 LBP
介个东东是什么呢?想必各位看官应该都知道用途,我再会话几句。
1996年,T.Ojala等人提出局部二值模式,作为纹理算子,用于分析图片纹理特征。利用结构法,分析固定窗口特征,再用统计学作整体特征的提取。LBP算法一般定义为3*3的窗口,以窗口中心点的灰度值为阈值,对窗口内其他像素作二值化处理,然后根据像素不同位置进行加权求和得到该窗口的值。因此,在纹理分析过程中,方法的窗口大小固定且与图像内容无关,这导致了在纹理基元特征的提取上出现误差,难以适应不同粗糙度和尺度纹理的要求。
局部二值模式是最近发展起来的一种理论简单但功能强大的分析算法。通过近期的扩展,凭借其在应用中精度和运算方面的优势,LBP在工业视觉检测、运动目标实时追踪、图像重构以及面部分析等领域获得了很好的效果。
其基本思想是:用其中心像素的灰度值作为阈值,与它的邻域相比较,将得到的二进制码来表述局部纹理特征。
在纹理分析方面,LBP算子是最好的纹理描述符之一,它的主要优点有以下几点:1)通过它的定义可知,LBP算子的灰度尺度不随任何单一变换而变化,因此灰度尺度的鲁棒性好,也就是光照条件下的鲁棒性好
2)计算速度快。由于它可以通过在小邻域内进行比较操作得到,使得在复杂的实时条件下分析图像成为可能
3)由于算子是一种无参数的方法,在应用过程中不需要对它的分布进行预先
2局部二值模式计算方法
LBP算法一般定义为的窗口,以窗口中心点的灰度值为阈值对窗口内其它像素作二值化处理,然后根据像素的不同位置进行加权求和得到该窗口的值。刚提出来的时候,其概念就是用与像素点相邻的个像素的灰度值与像素点的灰度值进行比较,用比较后的数据反映该像素点的灰度值。
通俗的理解就是:将窗口内,中心点周围的灰度值与中心点的灰度值进行作比较,若大于则置为1,小于则置为0。然后,按照顺时针或者逆时针顺序进行编码,将二进制的编码转换为十进制的数值,这个数值就是特征值。将一个二维的矩阵转换成了一个一维的数值,起到了降维的作用。
例如:一个3*3的窗口经过二值编码后,其LBP值为180。C =(98+101+110+97)/4 - (95+92+87+93)/4 = 9.75(大于96 的值均值减去小于96的值的均值为9.75)
02年,该算法提出者又对算法进行了拓展定义,形成了系统理论。
定义如下:
T表示由相邻(P+1)个像素点表示的灰度值关系。
这里,gc表示中间点的灰度值,g0,g1,…,gp表示中心像素点gc周围以R为半径的像素点的灰度值。(如果从0开始标下标,最后就是gp-1;从1开始标下标,最后就是gp,犹如该博客编写还不会标下标,就写gp啦,强调一下不是错误,也就是T中只有p+1个量)
上图为不同(P,R)的圆对称领域
假如没有信息损失的话,gc能被gp减,表达式则变为:
考虑对数值对gc的依赖性不大,表达式可以分解因式为:
很多人会在这里看不懂,我说一下我自己的理解:就是T是一个p+1的向量函数,其中gc是其中一个维度,如果中心点选定,即gc就是定值,对于不同的P,R其g0,g1…的值是不定的,也即是变量,那对这个函数取对数,gc,就可以因式分解出来作为一个常数或者系数,后面乘以一个P为的向量函数。
由于t(gc)是描述图像的全部灰度值(不同的像素中心点代表整幅图,故实质上就是给图片中每个像素取了对数而已),它和局域图像的纹理是无关的,所以可以忽略,则表达式可为:
虽然g0-gc,g1-gc,…,gp-gc之间的值有差异,但这里需要的是它们之间大小的比较(只是和中心值比较大小,大于中心值置1,小于置0)。所以表达式又可写为:
这里:
这样就得到了一个与邻域像素点相关的唯一的代码:
结合前面,俺给的算法图是不是很好理解了呢。
3.LBP算子的旋转不变性
考虑到LBP算子可能会有2的p次方种不同的值,(为什么会是这么多呢,我以p=8也就是周围有8个像素点为例讲一下,每一个点被重置后的值只能为0,1,也就是不为0,就为1,那么按照排列组合的知识,一共有
256个值)再来一幅图理解一下排列组合:
这后面,都是公式和图。我就复制粘贴啦,以后再讲LBP的均匀模式。
有不理解的随时博客地下留言,我会在看到的第一时间回复各位看官。^_*
局部二值模式LBP的详细理解相关推荐
- LBP(局部二值模式)特征提取原理
1.前言 LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子:它具有旋转不变性和灰度不变性等显著的优点.它是首先由T. Ojala, M.Pietik ...
- 局部二值模式(Local Binary Patterns)纹理灰度与旋转不变性
Multiresolution Gray Scale and Rotation Invariant Texture Classification with Local Binary Patterns, ...
- 特征提取算法——LBP(Local Binary Pattern)局部二值模式学习笔记
在上Computer Vision lecture的时候,讲师介绍了LBP算子,这里对他进行简单的介绍. LBP(Local Binary Pattern) 局部二制模式,是描述图像局部纹理特征的算子 ...
- gabor 幅值域 matlab,基于全局二值模式的特征提取方法及其应用
基于全局二值模式的特征提取方法及其应用 来源:原创论文网 添加时间:2014-02-09 摘 要 提出一种全局二值模式( GBP) 的纹理分析方法,解决局部二值模式( LBP) 易受噪声影响的问题. ...
- matlab lbp直方图特征多少维,LBP局部二值特征
最近一直在看LBP的东西,就说说LBP吧.先从最基本的LBP说起,LBP的全称是Local Binary Pattern即局部二值模式,是局部信息提取中的一种方法.目前LBP有很多应用,如人脸识别,表 ...
- Opencv全局二值化和局部二值化(python实现)
文章目录 1.前置知识 (1).什么是形态学处理 (2).形态学图像处理 2.二值化 (1)全局二值化 1)函数 2)阈值类型 3)代码实战 (2)局部二值化(自适应阈值) 1)函数 2)阈值类型 1 ...
- otsu阈值分割算法原理_大津二值化算法OTSU的理解
otsu 大津算法介绍: OTSU算法是由日本学者OTSU于1979年提出的一种对图像进行二值化的高效算法. 利用阈值将原图像分成前景,背景两个图象. 前景:用n1,csum,m1来表示在当前阈值下的 ...
- 二叉平衡树(AVL树)详细理解
二叉平衡树(AVL树) AVL树插入元素结论 单旋转: 双旋转: 如果看到后面会发现,我下面举得列子,类型一和类型三和我结论里面的有点不一样,那是因为类型一的节点4和类型三的节点14无论以何种方式都能 ...
- 基于堆栈二值化自动编码器和二值化神经的无约束人脸表情识别算法(An efficient unconstrained FERa based on BAEs and BNN)
摘要(abstract) 虽然深度学习在许多模式识别任务中都取得了良好的效果,但对于含有大量参数集.标记数据有限的深度网络,过拟合问题仍然是一个严重的问题.在这项工作中,二进制自动编码器(BAEs)和 ...
最新文章
- ASP.Net中MD5和SHA1加密的几种方法
- 用getBoundingClientRect()来获取页面元素的位置
- Image-to-Image Translation with conditional Adversarial Networks ---- Pix-2-Pix
- 多线程原理实例应用详解
- 在Visual Studio 2005中调试SQL Server 2005的存储过程
- 漫步数理统计十二——随机变量的期望
- resnet10 从tk1 上移植到linux 上 上遇到的问题
- java人账户atm模拟存款,模拟银行ATM系统(基础版)
- Java常用框架简介
- 《算法导论》:关于循环不变式
- Matlab 图像平移、旋转、缩放、镜像
- lisp块改色_关于CAD制图的技巧:篇九,快速修改颜色。
- wordpress优化title的seo技巧
- 使用Fiddler破解钉钉回放视频不能下载
- 一文搞懂模型量化算法
- matlab不支持复数输入,高版本MATLAB中medfilt1函数不支持复数问题
- 2021腾讯社招java技术岗面试题
- 计算机机房建设标准.doc,Kyztql计算机机房建设标准
- 计算机英语反思总结怎么写,英语考试反思总结(精选10篇)
- 【数据库系统】规范化