LBP特征笔记

        LBP,局部二值模式(Local Binary Pattern),是一种描述图像局部纹理特征的方式,具有旋转不变性和灰度不变性。首先由T. Ojala, M.Pietikäinen, 和 D. Harwood 在1994年提出。

LBP特征描述

基础LBP算子

        基础的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这个方法和前面提到的Brief描述子由点类似,二进制的值都是对比像素值大小出来的。、

          如上图所示,3x3窗口中有8个相邻的像素。这8个像素和中心像素进行对比可以得到8个二进制值,这8个bit就被用来表示中心点的纹理信息。根据bit权重值窗口可以得知,对应二进制为11100001(最高有效位在左边,如果最高有效位在右边,则是10000111),对应十进制的225,计算过程的起点是左上角的像素按顺时针方向计算。

        计算的过程的数学表达式如下:

         其中s(x)定义如下:

         这个过程其实就是上图表达的意思。

LBP改进:圆形LBP

        基础的LBP算子覆盖的区域非常小,不能满足不同尺寸的纹理特征描述需求。因此Ojala改进了LBP算子,将3x3的区域扩展为任意半径的圆形,在半径为 R 的圆形邻域内有任意多个像素点,记为LBP_p^R,R表示半径大小,p表示采样点的个数。

         以上图的LBP_8^1为例,它表示半径为1的圆上取8个采样点生成LBP描述符。需要注意的是,随着半径的增大,采样点像素和中心像素的相关度会降低。

LBP等价模式(Uniform Patterns)

        对于有P个采样点的LBP来说,LBP对应的二进制数总共有2^P个可能的值。随着采样点数量的增加,值的个数会增长的很快。如此多的模式会对纹理提取和分类造成不利影响。为了解决这个问题,Ojala提出了“等价模式(Uniform Patterns)”。对于一个二进制串,按照首尾相接的环的方式,统计其bit跳变的次数。如果跳变次数最多只有两次,则称为等价模式,否则称为混合模式(hybrid pattern)。

        以P=8为例来说:00000000(0次跳变),01110000(2次跳变),11001111(2次跳变),这几个都是等价模式。11001001(4次跳变)和01010010(6次跳变)则不是等价模式。使用下面的方法来检查模式是否是等价模式:

        从公式中的第一个|s(g_{p-1} - g_0) - s(g_0 - g_c)| 可以看出,是计算了串的首尾bit是否有跳变的。网上有些文章举的例子比如00001111跳变次数只有1次,从目前我看到的资料看(也许是我看的资料有错?)感觉是有问题的。

        对于P = 8,总共有58个等价模式(7 * 8 + 2,2是因为全0和全1都是等价模式,推导过程其实考虑到如果要跳变次数不超过两次,1的位置必须是紧挨着的这一点就可以了),其形式如下图: 


The 58 different uniform patterns in (8,R) neighborhood .

         因此,等价模式把LBP值分为59类,58个uniform pattern为一类,其它的所有值为第59类。这样直方图从原来的256维变成59维。这使得特征向量的维数更少,并且可以减少高频噪声带来的影响。 

具有旋转不变性的LBP

        LBP算子本身具有灰度不变性(结果的0或1反映了灰度的相对强弱,而不是绝对的灰度差异),但无论是基础的LBP算子和运行LBP算子都不具有旋转不变性。为了让LBP具有旋转不变性,Maenpaa等人又将 LBP算子进行了扩展,提出了具有旋转不变性的 LBP 算子

        旋转不变的LBP算子通过不断旋转圆形邻域得到多个LBP值,取其中的最小值作为该邻域的 LBP 值。局部旋转不变的LBP模式定义如下:

         ROR是旋转函数。

         如上图所示,对于P=8的情况,总共计算了8个LBP值,其中13最小,会作为最终的LBP值使用。

        对于旋转不变的LBP,加上等价模式,得到的表达式如下:

 参考资料

https://www.researchgate.net/publication/259166826_Research_and_Perspective_on_Local_Binary_Patternhttps://www.researchgate.net/publication/259166826_Research_and_Perspective_on_Local_Binary_Pattern

https://www.researchgate.net/publication/305152373_Texture_Feature_Extraction_by_Using_Local_Binary_Patternhttps://www.researchgate.net/publication/305152373_Texture_Feature_Extraction_by_Using_Local_Binary_PatternTowards Understanding the Formation of Uniform Local Binary PatternsThe research reported in this paper focuses on the modeling of Local Binary Patterns (LBPs) and presents an apriori model where LBPs are considered as combinations of permutations. The aim is to increase the understanding of themechanisms related to the formation of uniform LBPs. Uniform patterns are known to exhibit high discriminativecapability; however, so far the reasons for this have not been fully explored. We report an observation that although the overall apriori probability of uniform LBPs is high, it is mostly due to the high probability of only certain classes of patterns, whilethe a priori probability of other patterns is very low. In order to examine this behavior, the relationship between the runs upand down test for randomness of permutations and the uniform LBPs was studied. Quantitative experiments were then carriedout to show that the relative effect of uniform patterns to the LBP histogram is strengthened with deterministic data, in comparisonwith the i.i.d. model. This was verified by using an a priori model as well as through experiments with natural image data. It was further illustrated that specific uniform LBP codes can also provide responses to salient shapes, that is, to monotonically changing intensity functions and edges within the image microstructure.https://www.hindawi.com/journals/isrn/2013/429347/http://kiwi.bridgeport.edu/cpeg585/LocalBinaryPattern_Tutorial.pdfhttp://kiwi.bridgeport.edu/cpeg585/LocalBinaryPattern_Tutorial.pdfhttps://www.researchgate.net/publication/220809357_Rotation_Invariant_Image_Description_with_Local_Binary_Pattern_Histogram_Fourier_Featureshttps://www.researchgate.net/publication/220809357_Rotation_Invariant_Image_Description_with_Local_Binary_Pattern_Histogram_Fourier_Features

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/58053.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Axure教程】移动端二级滑动选择器

今天教大家制作移动端二级滑动选择器的原型模板,该原型已全国一二级省市选择器为案例,因为该原型用中继器做的,所以制作完成之后使用也很方便,只需修改中继器表格里的内容即可 一、效果展示 1. 拖动选择 2. 快捷选择 【原型预览…

s7200Smart

一、介绍 二、通讯 rs485 modbus通讯口

编辑接口和新增接口的分别调用

在后台管理系统中,有时候会碰到新增接口和编辑接口共用一个弹窗的时候. 一.场景 在点击新增或者编辑的时候都会使用这个窗口,新增直接调用接口进行增加即可,编辑则是打开这个窗口显示当前行的数据,然后调用编辑接口。 二.处理方法 在默认的情况下,这个窗口用来处理…

ansible配置文件案例

案例一 控制主机上的普通用户控制受控主机 控制端1台,受控端两台 1.将两台受控主机添加到/etc/hosts文件中 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhos…

微服务实战项目-学成在线-选课学习(支付与学习中心)模块

微服务实战项目-学成在线-选课学习(支付与学习中心)模块 1 模块需求分析 1.1 模块介绍 本模块实现了学生选课、下单支付、学习的整体流程。 网站的课程有免费和收费两种,对于免费课程学生选课后可直接学习,对于收费课程学生需要下单且支付成功方可选…

AI Chat 设计模式:10. 组合模式

本文是该系列的第十篇,采用问答式的方式展开,问题由我提出,答案由 Chat AI 作出,灰色背景的文字则主要是我的一些思考和补充。 问题列表 Q.1 给我介绍一下组合模式A.1Q.2 好的,给我举一个组合模式的例子,使…

css实现文字颜色渐变+阴影

效果 代码 <div class"top"><div class"top-text" text"总经理驾驶舱">总经理驾驶舱</div> </div><style lang"scss" scoped>.top{width: 100%;text-align: center;height: 80px;line-height: 80px;fo…

蓝桥杯上岸每日N题 第七期(小猫爬山)!!!

蓝桥杯上岸每日N题 第七期(小猫爬山)&#xff01;&#xff01;&#xff01; 同步收录 &#x1f447; 蓝桥杯上岸必背&#xff01;&#xff01;&#xff01;(第四期DFS) 大家好 我是寸铁&#x1f4aa; 冲刺蓝桥杯省一模板大全来啦 &#x1f525; 蓝桥杯4月8号就要开始了 &a…

【测试设计】性能测试工具选择:wrk?jmeter?locust?还是LR?

目录 前言 wrk 优点 缺点 jmeter 优点 缺点 locust 优点 缺点 总结 资料获取方法 前言 当你想做性能测试的时候&#xff0c;你会选择什么样的测试工具呢&#xff1f;是会选择wrk&#xff1f;jmeter&#xff1f;locust&#xff1f;还是loadrunner呢&#xff1f; 今…

opencv-29 Otsu 处理(图像分割)

Otsu 处理 Otsu 处理是一种用于图像分割的方法&#xff0c;旨在自动找到一个阈值&#xff0c;将图像分成两个类别&#xff1a;前景和背景。这种方法最初由日本学者大津展之&#xff08;Nobuyuki Otsu&#xff09;在 1979 年提出 在 Otsu 处理中&#xff0c;我们通过最小化类别内…

【二叉树进阶】二叉树的前中后序遍历(非递归迭代实现)

文章目录 1. 二叉树的前序遍历1.1 思路分析1.2 AC代码 2. 二叉树的中序遍历2.1 思路分析2.2 AC代码 3. 二叉树的后序遍历3.1 思路13.2 思路1AC3.3 思路23.4 思路2AC 1. 二叉树的前序遍历 题目链接: link 不用递归&#xff0c;用迭代算法如何实现对二叉树的前序遍历&#xff1f…

QT实现中英文键盘

使用Qt中实现中英文键盘&#xff0c;支持各种linux嵌入式设备。 实现思路&#xff1a;需要一个中文字体库&#xff0c;将字体库加载到一个Hash容器&#xff0c;字母和拼音作为key值&#xff0c;对应的中文作为value值。 核心代码&#xff1a; #include "UKeyBoard.h"…

【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 2

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…

RISC-V基础之函数调用(三)保留寄存器(包含实例)

RISC-V将寄存器分为保留和非保留两类。保留寄存器是指在函数调用前后必须保持相同值的寄存器&#xff0c;因为调用者期望在调用后能够继续使用这些寄存器的值。保留寄存器包括s0到s11&#xff08;因此称为saved&#xff09;&#xff0c;sp和ra。非保留寄存器&#xff0c;也称为…

数据可视化(六)多个子图及seaborn使用

1.多个子图绘制 #绘制多个子图 #subplot&#xff08;*args&#xff0c;**kwargs&#xff09; 每个subplot函数只能绘制一个子图 #subplots&#xff08;nrows&#xff0c;ncols&#xff09; #fig_add_subplot(行&#xff0c;列&#xff0c;区域) #绘制子图第一种方式 plt.subp…

网络安全进阶学习第十课——MySQL手工注入

文章目录 一、MYSQL数据库常用函数二、MYSQL默认的4个系统数据库以及重点库和表三、判断数据库类型四、联合查询注入1、具体步骤&#xff08;靶场演示&#xff09;&#xff1a;1&#xff09;首先判断注入点2&#xff09;判断是数字型还是字符型3&#xff09;要判断注入点的列数…

网工内推 | 云计算工程师专场,CCNP/HCIP认证优先

01 弧聚科技 招聘岗位&#xff1a;网络工程师&#xff08;云计算方向&#xff09; 职责描述&#xff1a; 1、作为H3C初级云计算交付工程资源培养对象&#xff0c;需配合完成相关华三产品及服务规范培训。 2、培训赋能后&#xff0c;安排到H3C云项目交付中进行项目交付及驻场支…

【Nginx13】Nginx学习:HTTP核心模块(十)Types、AIO及其它配置

Nginx学习&#xff1a;HTTP核心模块&#xff08;十&#xff09;Types、AIO及其它配置 今天学习的内容也比较简单&#xff0c;主要的是 Types 相关的配置&#xff0c;另外还会了解一下 AIO 以及部分没有特别大的分类归属的配置指令的使用。后面的内容都是 HTTP 核心模块中比较小…

核心交换机新增了一个网段,现在下面PC可以获取地址访问内网 ,访问外网说DNS有问题不通

环境: SANGFOR AF 8.0.75 SANGFOR AC 13.0.47 H3C S6520-26Q-SI 问题描述: 1.在核心交换机上新规划了一个网段192.168.200.0/24,现在下面PC可以正常获取IP地址和DNS,正常访问内网服务和其它地址段IP ,访问外网说DNS有问题不通打不开网页 2.DNS解析失败,ping dns服务…

Kubernetes高可用集群二进制部署(二)ETCD集群部署

Kubernetes概述 使用kubeadm快速部署一个k8s集群 Kubernetes高可用集群二进制部署&#xff08;一&#xff09;主机准备和负载均衡器安装 Kubernetes高可用集群二进制部署&#xff08;二&#xff09;ETCD集群部署 Kubernetes高可用集群二进制部署&#xff08;三&#xff09;部署…