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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql推荐使用规范

一:基础规范 1、使用InnoDB存储引擎 支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 2、推荐使用utf8mb4字符集 无需转码,无乱码风险, 支持emoji表情以及部分不常见汉字 3、表、字段必须加注释 方便他人理解字段意思。 4、不在数据…

分布式ID性能评测:CosId VS 美团 Leaf

环境 MacBook Pro (M1)JDK 17JMH 1.36运行在本机 Docker 内的 mariadb:10.6.4 运行 CosId SegmentChainId 模式,基准测试代码: Benchmarkpublic long generate() {return segmentChainId.generate();}Leaf 基准测试代码: Benchmarkpublic l…

使用正则表达式 移除 HTML 标签后得到字符串

需求分析 后台返回的数据是 这样式的 需要讲html 标签替换 high_light_text: "<span stylecolor:red>OPPO</span> <span stylecolor:red>OPPO</span> 白色 01"使用正则表达式 function stripHTMLTags(htmlString) {return htmlString.rep…

stm32 舵机 cubemx

文章目录 前言一、cubemx配置二、代码1.serve.c2.serve.h3.主函数 总结 前言 stm32对舵机进行控制&#xff0c;很简单直接一个pwm就可以实现 pwm的周期是50HZ占空比分别对应 一个0.5ms的高电平对应于0度 一个1.5ms的高电平对应于90度 一个2.5ms的高电平对应于180度 因此&#…

音视频--DTMF信号发送及检测

参考资料 https://zh.wikipedia.org/wiki/%E5%8F%8C%E9%9F%B3%E5%A4%9A%E9%A2%91https://www.cnblogs.com/lijingcheng/p/4454932.html 1. DTMF是什么 1.1 DTMF定义 双音多频信号&#xff08;英语&#xff1a;Dual-Tone Multi-Frequency&#xff0c;简称&#xff1a;DTMF&a…

怎么查到企业的供应商和客户?

企业的供应商和客户是什么&#xff1f; 其实不需要过多介绍&#xff0c;我们对供应商和客户都有自己的理解&#xff0c;供应商就是负责企业产品的供应&#xff0c;企业从供应商那里买材料进行加工得到的产品&#xff0c;卖给客户。 官方来说供应商是向企业和竞争对手提供各种…

Linux进程,线程,内核线程的区别

进程、线程和内核线程是计算机中不同层次的执行单元&#xff0c;它们之间有以下区别&#xff1a; 进程&#xff08;Process&#xff09;&#xff1a;进程是计算机中正在运行的程序的实例。每个进程都有自己的地址空间、代码、数据、打开的文件等资源。进程是操作系统进行资源分…

关于React框架(库)的若干个问题

​一、是什么&#xff1f; ​ react是用于构建用户界面的JavaScript库&#xff0c;是一个将数据渲染为HTML视图的开源JavaScript库。 二、为什么用&#xff1f;有什么好处&#xff08;特点&#xff09;&#xff1f; 1. 为什么用&#xff1f;用的前提&#xff1f; ❶原生js操…

mac 下用brew快速安装CommandLineTools

有时候用git 就会提示安装CommandLineTools &#xff0c;xcode太大又不想安装&#xff0c;怎么办呢我们可以试下下面的方式 什么是Brew&#xff1a; Brew是Mac OS X下的一个包管理器&#xff0c;可以方便地安装、升级和卸载很多常用的软件包 在mac下如何安装呢&#xff1a; …

爆肝整理,Postman接口测试-参数关联实战(详细步骤)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 接口测试什么时候…

AlexNet卷积神经网络-笔记

AlexNet卷积神经网络-笔记 AlexNet卷积神经网络2012年提出 测试结果为&#xff1a; 通过运行结果可以发现&#xff0c; 在眼疾筛查数据集iChallenge-PM上使用AlexNet&#xff0c;loss能有效下降&#xff0c; 经过5个epoch的训练&#xff0c;在验证集上的准确率可以达到94%左右…

leetcode 738. 单调递增的数字

2023.8.4 这题用暴力法会超时&#xff0c;我就没试了&#xff0c;采用了个挺巧的方法&#xff0c;为了方便需要先将整数n转换为字符串的形式&#xff0c;然后从后向前遍历&#xff0c;当两个数字非递增时&#xff0c;将前一个数字--&#xff0c;后一个数字的位置记录在index中&…

以技术驱动反欺诈,Riskified 为企业出海保驾护航

如今&#xff0c;全球对于线上消费的需求日益增长&#xff0c;各类新型支付方式也层出不穷。在国内&#xff0c;线上支付有着较为完善的法律及监管条例&#xff0c;格局基本已定型。但对于出海商家而言&#xff0c;由于不同国家和地区的支付规则和监管机制不同&#xff0c;跨境…

云运维工具

企业通常寻找具有成本效益的方法来优化创收&#xff0c;维护物理基础架构以托管服务器和应用程序以提供服务交付需要巨大的空间和前期资金&#xff0c;最重要的是&#xff0c;物理基础设施会产生额外的运营支出以进行定期维护&#xff0c;这对收入造成了沉重的损失。 云使企业…

聊聊x86计算机启动发生的事

作者&#xff1a;小牛呼噜噜 | https://xiaoniuhululu.github.io 大家好&#xff0c;我是呼噜噜&#xff0c;最近在看linux早期内核0.12的源码&#xff0c;突然想到一个困扰自己好久的问题&#xff1a;当我们按下电源键&#xff0c;计算机发生了什么&#xff1f;神秘地址0x7C00…

【1.2】Java微服务:SpringCloud概论

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a;Meteors.的博客 &#x1f49e;当前专栏&#xff1a; 微服务 ✨特色专栏&#xff1a; 知识分享 &#x…

近5千情感两性职场个性测试文章ACCESS\EXCEL

这个数据库是将《1千条两性测试文章大全》《1千6个性测试文章大全》《1千多条职场测试文章大全》《1千条情感测试文章大全》四个数据库合并到一个数据表中&#xff0c;属于是文章型的心理测试内容&#xff0c;用在发公众号或者抖音等多媒体上与粉丝互动都是个不错的选择。 分类…

数据结构-串的模式匹配(25分) KMP算法/next数组/KMP的优化

先记录一个小坑。 int KMP() {getNext();int i 0, j 0;//写成下面这样&#xff0c;结果不对。原因是&#xff0c;当j-1时&#xff0c;循环条件-1 < strlen(P)被认为是false&#xff0c;会跳出循环while (i < strlen(T) && j < strlen(P)) {if (j -1 || T[…

【Pycharm2022.2.1】python编辑器最新版安装教程(包含2017-2022的所有版本win/mac/linux)

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 永久安装 Pycharm&#xff08;2017-2022的win/mac/linux所有版本&#xff09;/ IntelliJ IDEA也可以, 按照本文教程所写的&#xff0c;具体步骤跟着下面的图文教程一步一步来就行&#xff0c;一分钟即可搞定&#xff0c;过…

SAP 消息号修改

各个模块的消息号修改&#xff08;转自于网上&#xff09; FI: OBA5|OFMG|OFPM CO: OPR4_ACT|OPR4_CK|OPR4_CKML|OPR4_CKPF|OPR4_KKA|OPR4_KKP|OPR4_KKS| OPR4_KKS1|OPR4_PPCOPP MM: OMRM|OKZZ|OMT4|OMCQ |O04C| SD: OVAH Others: OPR5|OPR1|OPR3|OPR6|OPR7|OPR8|OPR9|OP…