机器视觉 Local Binary Pattern (LBP)

Local binary pattern (LBP),在机器视觉领域,是非常重要的一种特征。LBP可以有效地处理光照变化,在纹理分析,纹理识别方面被广泛应用。

LBP 的算法非常简单,简单来说,就是对图像中的某一像素点的灰度值与其邻域的像素点的灰度值做比较,如下图所示:

如果邻域像素值比该点大,则赋为1,反之,则赋为0,这样从左上角开始,可以形成一个bit chain,然后将该 bit chain 转换为一个十进制的数,用表达式可以表达如下:

LBPP,R(xc,yc)=∑P=0P?1s(iP?ic)2P

其中,s 表示一个阈值函数,满足如下关系:

s(x)=1,x≥0

,

s(x)=0,x<0

通过这种转换,可以将一个像素点与邻域的差值关系用一个数表示,因为LBP 记录的是像素点与邻域像素的差值关系,所以光照变化引起像素值的同增同减不会改变LBP的大小,特别是在局部的区域,我们可以认为光照对图像造成的像素值变化是单向的,所以LBP可以很好的保存图像中像素值的差值关系。可以进一步将LBP 做直方图统计,这个直方图可以用来作为纹理分析的特征算子。

我们可以看到,R 表示邻域的半径,P 表示邻域像素的个数,或者bit chain 的长度,如果邻域的半径为1,则邻域的像素个数为8, bit chain 的长度为8,如果邻域半径为2,则邻域的像素个数为16,bit chain 的长度为16,邻域半径为3, 邻域的像素个数为24,bit chain 长度为24,如下图所示:

我们考虑最简单的R=1,P=8 的情况,LBP 映射成一个0-255之间的某一数值,如果用直方图表示,需要一个256维的数组在存储这个直方图。为了缩小存储空间,有人提出了 uniform pattern 的编码方式,根据一个 bit chain 中 0,1之间的转换次数定义了uniform pattern。如果一个 bit chain 中,0,1 之间的转换次数不超过两次,那么这个bit chain 就是 uniform pattern, 比如,00000000 转换次数为0, 00001111 转换次数为1, 00011100 转换次数为2, 01101100 转换次数为4, 01101010 转换次数为6,那些转换次数不超过两次的pattern 都属于uniform pattern,可以证明,绝大多数的binary pattern 都是uniform pattern,通过这种定义,对于 8 bit 的 LBP, 可以从256 维降到 59维,减少了90%。

LBP 的 code 可以在下面的网站上下载:

http://www.cse.oulu.fi/CMV/Downloads/LBPMatlab

参考文献

[1] D. Huang, C. Shan, M. Ardabilian, Y. Wang, and L. Chen, “Local Binary Patterns and Its Application to Facial Image Analysis A Survey,” Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on, vol. 41, pp. 765-981, 2011.

[2] T. Ojala, M. Pietikainen, and T. Maenpaa, “Multiresolution gray-scale and rotation invariant texture classification with local binary patterns,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 24, pp. 971-987, 2002.

时间: 2024-10-17 08:19:46

机器视觉 Local Binary Pattern (LBP)的相关文章

LBP算子

简介: 局部二值模式(Local Binary Pattern, LBP)是一种有效的纹理描述算子,它具有旋转不变性和灰度不变性的显著的有点.已经广泛的应用于纹理分类.纹理分割.人脸图像分析等领域.本文就LBP算法做简单的讲解,并在opencv中加以实现. 基本的LBP算子 局部二值模式是一种灰度范围内的纹理描述方式.算法的思想是利用结构化思想提取窗口特征,再利用统计化做最终整体特征的提取. 最初的LBP描述子算法步骤如下: 1.对图像中的所有点,以该点为中心,取3x3的邻域窗口: 2.将8-邻

LBP及纹理表达 转自http://blog.sina.com.cn/s/blog_ba9d7d9901018k4v.html

纹理特征-LBP 纹理是物体表面的固有特征之一,可认为是灰度(颜色)在空间以一定的形式变化而产生的图案(模式). LBP(Local Binary Pattern, 局部二值模式)是一种用来描述图像局部纹理特征的算子:它的作用是进行特征提取,提取图像的局部纹理特征. 原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较, 若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0. 3*3领域内的8个点可产生8bit的无符号数,即得到该窗口的L

图像处理与计算机视觉基础,经典以及最近发展

*************************************************************************************************************** 在这里,我特别声明:本文章的源作者是   杨晓冬  (个人邮箱:[email protected]).原文的链接是 http://www.iask.sina.com.cn/u/2252291285/ish.版权归 杨晓冬 朋友所有. 我非常感谢原作者辛勤地编写本文章,并愿意共

基于OpenCV2:实现7种差异描述算子

最近在一些机器视觉群中的一些小伙伴们多次问到opencv是否集成了LBP算法,据我了解opencv没有单独的LBP特征描述算法实现,都是和一些应用结合,如人脸识别,检测等,这些都是一些论文的研究成果,针对于特定的应用,这对于想将LBP特征描述用到自己的应用中的伙伴来说,或许不太方便.opencv也没有一个单独的特征描述这样的一个module,这或许限制了使用opencv的灵活性,而且个人体会视觉问题最终根本的问题都落在了特征描述这样的一个最基本的问题,包括近几年很火的深度学习,其解决的最根本问题

图像处理与计算机视觉基础,经典以及最近发展--转载

*************************************************************************************************************** 在这里,我特别声明:本文章的源作者是   杨晓冬  (个人邮箱:[email protected]).原文的链接是http://www.iask.sina.com.cn/u/2252291285/ish.版权归 杨晓冬 朋友所有. 我非常感谢原作者辛勤地编写本文章,并愿意共享

.NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍

Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器学习算法以及提供计算机视频.音频.信号处理以及统计应用相关的解决方案.该项目使用C#语言编写,项目主页:http://accord-framework.net/ 说明:该文章只是一个基本介绍,主要内容是翻译的官方文档和介绍,部分英文表述个人能力有限,不太熟悉,所以直接照搬原文,有比较确切的知道中文名

paper 15 :整理的CV代码合集

这篇blog,原来是西弗吉利亚大学的Li xin整理的,CV代码相当的全,不知道要经过多长时间的积累才会有这么丰富的资源,在此谢谢LI Xin .我现在分享给大家,希望可以共同进步!还有,我需要说一下,不管你的理论有多么漂亮,不管你有多聪明,如果没有实验来证明,那么都是错误的.  OK~本博文未经允许,禁止转载哦!  By  wei shen Reproducible Research in Computational Science “It doesn't matter how beautif

.NET数据挖掘与机器学习开源框架

1.    数据挖掘与机器学习开源框架 1.1 框架概述 1.1.1 AForge.NET AForge.NET是一个专门为开发者和研究者基于C#框架设计的,他包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,模糊系统,机器人控制等领域.这个框架由一系列的类库组成.主要包括有: AForge.Imaging -- 一些日常的图像处理和过滤器 AForge.Vision -- 计算机视觉应用类库 AForge.Neuro -- 神经网络计算库AForge.Genetic -进化算法

第十五节、韦伯局部描述符(WLB)

纹理作为一种重要的视觉线索,是图像中普遍存在而又难以描述的特征,图像的纹理特征一般是指图像上地物重复排列造成的灰度值有规则的分布.纹理特征的关键在于纹理特征的提取方法.目前,用于纹理特征提取的方法有很多,最具有代表性的是有基于二阶概率密度的灰度共生矩阵.符合人眼视觉特性的小波变换.纹理谱法以及基于图像结构基元的纹理元方法等.为了更有效地描述图像局部纹理特征,又先后提取了局部二值模式(Local Binary Pattern,LBP)和韦伯局部描述符(Weber Local Descriptor,