`
利li香
  • 浏览: 36097 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

目标检测的图像特征提取之三---LBP特征

 
阅读更多

        LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;它具有旋转不变性和灰度不变性等显著的优点。

LBP特征描述

       原始的LBP算子定义为3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0.这样,3*3领域内的8个点经比较可产生8位二进制数,即得到该窗口中心像素点LBP值,并用这个值来反映该区域的纹理信息。(见LBP特征计算.jpg)

 

LBP的改进版本

1)圆形LBP算子

       基本的LBP算子的最大缺陷就是只覆盖了一个固定半径范围内的小区域,这显然不能满足不同尺寸和频率纹理的需要,为了适应不同尺度的纹理特征,并达到灰度和旋转不变性的要求。改进后的LBP算子允许在半径为R的圆形领域内有任意多个像素点,从而得到诸如半径为R的圆形区域内含有p个采样点的LBP算子(见LBP算子.jpg)

2)LBP旋转不变模式

    从LBP定义可以看出,LBP算子是灰度不变的,但却不是旋转不变的,图像的旋转就会得到不同的LBP值。为了得到旋转不变性,即不断旋转圆形领域得到一系列初始定义的LBP值,取其最小值作为该领域的LBP值。(见旋转不变的LBP示意.jpg)

3)LBP等价模式

       一个LBP算子可以产生不同的二进制模式,对于半径为R的圆形区域内含有p个采样点的LBP算子将会产生2的p次方中模式,显然,随着领域内采样点数的增加,二进制模式的种类急剧增加。如此多的二值模式对于纹理的表达是不利的。如将LBP算子用于纹理分类或人脸识别时,常采用LBP模式的统计直方图来表达图像的信息,而较多的模式种类将使得数据量过大,且直方图过于稀疏,因此,需要对原始的LBP模式进行降维,使得数据减少的情况下能最好的代表图像的信息。

 

     采用一种“等价模式”来对LBP算子的模式种类进行降维(见LBP等价模式1和2.jpg)

 

LBP特征用于检测的原理

       显而易见,上述提取的LBP算子在每个像素点都可以得到一个LBP“编码”,那么,对于一副图像(记录的是每个像素的灰度值)提取其原始的LBP算子之后,得到的原始LBP特征依然是“一副图片”(记录的是每个像素点的LBP值)。

LBP的应用中,如纹理分类、人脸分析等,一般都不将LBP图谱作为特征向量用于分类识别,而是采用LBP特征谱的统计直方图作为特征向量用于分类识别。

       因为,从上面分析可以看出,这个“特征”跟位置信息是紧密相关的。 直接对两幅图提取这种特征并进行分析的话,会因为“位置没有对准”而产生很大误差。改进:可以将一副图片划分为若干的子区域,对每个子区域内的每个像素点都提取LBP特征,然后,在每个子区域内建立LBP特征的统计直方图。如此一来,每个子区域,就可以用一个统计直方图来进行描述;整个图片就由若干个统计直方图组成。之后我们用各种相似性度量函数就可以判断两幅图像之间的相似性了。

 

对LBP特征向量进行提取的步骤

1)首先将检测窗口划分为16*16的小区域(cell)

2)对于每个cell中的一个像素,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0.这样,3*3领域内的8个点经过比较可产生8位二进制数,即得到该窗口中心像素点的LBP值;

3)然后计算每个cell的直方图,即每个数字出现的频率,然后对该直方图进行归一化处理

4)最后将得到的每个cell的统计直方图进行连接成一个特征向量,也就是整幅图的LBP纹理特征向量

然后便可以用SVM或者其他机器学习算法进行分类了。

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 85.9 KB
  • 大小: 82.9 KB
  • 大小: 196 KB
  • 大小: 89.2 KB
  • 大小: 155.9 KB
分享到:
评论

相关推荐

    人工智能-项目实践-信息检索-使用深度学习网络(目标检测/特征提取/特征匹配)建立的图像精准检索系统

    使用深度学习网络(目标检测/特征提取/特征匹配)建立的图像精准检索系统 整体说明 系统的实现背景基于:阿里天池的淘宝直播商品识别竞赛,直达链接;项目中的演示数据也是出于这里。可以将该竞赛理解为:输入直播...

    目标检测常用特征类型提取

    本文介绍图像识别和目标检测中常用的特征,分别是Haar(哈尔)特征、LBF(local binary pattern)特征、HOG(histogram of orientation gradient)特征共 三种。 一、Haar特征 参考链接...

    疲劳驾驶检测matlab图像处理Code.zip

    本基于MATLAB图像处理的疲劳驾驶检测提出了一种基于视觉信息和人工智能的驾驶员睡意自动...在找到眼睛区域后,利用局部二值模式(LBP)提取眼睛特征。利用这些特征,训练一个支持向量机分类器(SVM)进行眼睛状态分析。

    matlablbp特征代码-VFSVM:通过对IPIX数据集时间多普勒频谱中的视觉特征进行分类,在海杂波中检测小浮标

    数据集时间多普勒频谱中的视觉特征进行分类,在海杂波中检测小浮标 这是 - 的python实现。 要求 Python - 3.6.5 opencv-python 学习 NetCDF - 1.5.3 如何使用代码 步骤1 从 和 下载复杂序列的回报 我们重写 Python ...

    基于时空LBP特征的自适应运动目标提取算法 (2013年)

    传统的运动目标检测算法主要基于...通过使用结合了时序信息的LBP描述视频图像序列中像素特征,通过经典的高斯混合模型对像素特征进行建模,提取出运动目标?实验结果表明,该算法能够适应光照变化,具有良好的检测性能?

    基于颜色和纹理特征的伪装色矿工目标检测 (2013年)

    针对矿井下某些地段低光照低对比度导致矿工目标与环境颜色相似,呈现伪装色特点,一般场景目标检测方法易产生矿工漏检、误检的问题,提出了采用高斯混合模型(GMM)和局部二值模式(LBP)纹理模型线性融合的方法对目标...

    基于感兴趣区域特征融合的行人检测方法研究

    首先提取感兴趣的目标区域,再提取目标区域颜色与纹理特征的融合特征对目标进行特征描述,最后采用Adaboost算法训练得到一个行人分类器对行人进行识别。实验结果表明,该方法检测快速准确,具有较好的检测效果。

    OpenCVForUnity

    该插件能够帮助开发者在Unity中轻松地添加图像处理和计算机视觉功能,例如图像识别、人脸识别、目标跟踪、物体检测等。 OpenCVForUnity的主要功能包括以下几个方面: 图像处理和计算机视觉算法 OpenCVForUnity提供...

    李立宗_OPENCV 编程案例详解.zip

    8.6.1 最近邻特征点目标提取 317 8.6.2 最大极值稳定区域匹配MSER 320 8.6.3 字符特征提取 324 8.6.4 车牌字符SVM 训练.. 327 8.7 小结. 331 第 9 章高级篇——复杂视频处理技术.. 332 9.1 视频稳像技术. 333 9.2 ...

    基于YCb Cr颜色空间的背景建模及运动目标检测 (2009年)

    最后,采用局部二元图( Lo-cal Binary Pattern,LBP)来提取纹理特征,利用背景在阴影覆盖前后的纹理相似性去除投射阴影,同时结合阴影的空 间几何特性优化运动目标检测结果。实验结果表明,该算法能有效地检测出投射阴影...

    基于行人检测的交通安全智能警示系统

    该系统通过计算图像的灰度和模糊度来进行红外切换,再通过相应的YOLOv3算法检测行人目标,并对行人目标候选框提取局部二值模式特征(LBP)和多层感知器(MLP)分类。处理器在检测到行人后控制光电模块示警,视觉上...

Global site tag (gtag.js) - Google Analytics