LBP特征笔记

news2024/10/5 15:35:42

        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.coloradmin.cn/o/832205.html

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

相关文章

什么是耗尽型MOS管

我们常用的MOS管属于增强型MOS管,对于N沟道增强型MOS管,需要UGS大于开启电压,MOS管才能导通。 其实还有一种MOS管,当UGS大于0,等于0,小于0时MOS管都能导通,这种MOS管叫做耗尽型 MOS管。 以N沟道…

复现原型链污染漏洞

目录 一、复现原型链污染漏洞 hackit 2018 1、创建hackit_2018.js文件 2、运行hackit_2018.js文件 3、寻找原型链漏洞 4、污染原型链 hackit 2018 1、创建hackit_2018.js文件 const express require(express) var hbs require(hbs); var bodyParser require(body-par…

485modbus转profinet网关连接6台ABB 变频器通讯案例

昆仑通态通过485Modbus转Profinet网关实现了1200PLC与6台ABB变频器之间的Modbus通讯,触摸屏本地实时监控。485Modbus转Profinet网关作为中间桥梁,实现1200PLC与ABB变频器之间的互联互通,使得数据的传输变得高效可靠。 打开博图添加PLC,在这里…

2.4G芯片XL2408开发板,SOP16封装,芯片集成1T 8051内核单片机

XL2408开发板可用于2.4G芯片XL2408开发板的开发调试。XL2408烧录仿真需要使用WS_LINK。XL2408开发板烧录仿真需要接4根线:PA13:DIO,PA14:CLK,VCC,GND。 XL2408芯片集成射频收发机、频率收生器、晶体振荡器、调制解调器等功能模块,…

GY-NEO6MV2 GPS模块测试

GY-NEO6MV2 GPS模块测试 📓模块资料:GY-NEO6MV2 https://pan.baidu.com/s/17ihqLzXytrR2K2LmumvdKA🍁原理图(资料中有) 📑基本参数信息 🌿3V-5V供电通用。🌿默认波特率&#xff…

【JAVASE】static成员

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈Java 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 static 1. static修饰成员变量2. static…

公司来了个拿 25K 出来的测试,算是见识到了基础的天花板

今天上班开早会就是新人见面仪式,听说来了个很厉害的大佬,年纪还不大,是上家公司离职过来的,薪资已经达到中高等水平,很多人都好奇不已,能拿到这个薪资应该人不简单,果然,自我介绍的…

数学知识(一)

一、数论 1.1质数 定义:在所有大于1的自然数&#xff0c;如果只包含1和本身这两个约数&#xff0c;就被称为质数(素数). 质数的判断:试除法 bool is_prime(int n) {if(n < 2) return false;for(int i 2;i < n / i;i ){if(n % i 0)return false;}return true; } 分…

一文学会git常用命令和使用指南

文章目录 0. 前言1.分支分类和管理1. 分支分类规范&#xff1a;2. 最佳实践3. 分支命名规范示例&#xff1a;4. 分支管理方法&#xff1a; 2. commit 注释规范1. 提交注释结构&#xff1a;2. 提交注释的准则&#xff1a; 3. git 常用命令1. git pull 核心用法2. git push 命令1…

C++初阶 - 6.模板初阶

目录 1.泛型编程 2.函数模板 2.1函数模板的概念 2.2函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5模板参数的匹配原则 3.类模板 3.1类模板的定义格式 3.2类模板的实例化 1.泛型编程 如何实现一个通用的交换函数呢&#xff1f; void Swap(int& left…

SpringMVC概述、SpringMVC的工作流程、创建SpringMVC的项目

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaweb 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 Spring MVC入门 一、Spring MVC概述二、入门案例2.1导入Sp…

【宝藏系列】Linux 常用磁盘管理命令详解

【宝藏系列】Linux 常用磁盘管理命令详解 文章目录 【宝藏系列】Linux 常用磁盘管理命令详解前言1️⃣ df2️⃣du3️⃣fdisk&#x1f4df;磁盘格式化&#x1f4e0;磁盘检验⌨️磁盘挂载与卸除&#x1f4c0;卸载/dev/hdc6 前言 Linux磁盘管理常用三个命令为df、du和fdisk。 df…

Java框架(九)--Spring Boot入门(1)

SpringBoot 2.x入门简介 学前基础 Maven Spring MVC理念 开发环境 Spring Boot官网版本介绍 https://spring.io/projects/spring-boot#learn 我们点击 Reference Doc. &#xff0c;再点击Getting Started&#xff0c;就可以看到官网系统环境说明了 官网系统环境说明 Sp…

Nginx安装和Nginx配置虚拟主机

Nginx安装 源码包获取地址&#xff1a;http://nginx.org/download/ RPM包获取地址&#xff1a;http://nginx.org/packages/centos/7Server/x86_64/RPMS/ RPM安装 这里选择的RPM包是 nginx-1.22.0-1.el7.ngx.x86_64.rpm [rootlocalhost ~]# yum install nginx-1.22.0-1.el7.…

RabbitMQ:概念和安装,简单模式,工作,发布确认,交换机,死信队列,延迟队列,发布确认高级,其它知识,集群

1. 消息队列 1.0 课程介绍 1.1.MQ 的相关概念 1.1.1.什么是MQ MQ(message queue&#xff1a;消息队列)&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO 先入先出&#xff0c;只不过队列中存放的内容是message 而已&#xff0c;还是一种跨进程的通信机制…

k8s集群部署nacos,采用的是 emptyDir 临时目录挂载

官方参考地址&#xff1a;https://nacos.io/zh-cn/docs/use-nacos-with-kubernetes.html 说明&#xff1a; 1、官网采用的nfs持久化部署 我将nacos持久化改成 emptyDir 临时目录挂载&#xff0c;同时又能满足自行调节nacos集群实例数。 2. emptyDir 临时目录挂载的nacos.ya…

记录 Vue3 + Ts 类型使用

阅读时长: 10 分钟 本文内容&#xff1a;记录在 Vue3 中使用 ts 时的各种写法. 类型大小写 vue3 ts 项目中&#xff0c;类型一会儿大写一会儿小写。 怎么区分与基础类型使用? String、string、Number、number、Boolean、boolean … 在 js 中&#xff0c; 以 string 与 String…

TS协议之PAT(节目关联表)

1. 概要 PAT&#xff1a;节目关联表&#xff0c;与PMT成对出现&#xff0c;包含所有的频道编号&#xff1b;是解析ts数据的起点。 PAT数据结构如下&#xff1a; PAT数据结构 字段分析&#xff1a; TS头&#xff1a;参考TS协议之PES&#xff08;数据包&#xff09;&#xf…

Cpp学习——模板

模板&#xff1f; 目录 模板&#xff1f; 1.介绍 2.函数模板的使用 3.函数模板的强制转换or显式调用 四,模板的分类 1.介绍 在Cpp3.0中&#xff0c;祖师爷便引入了模板的概念。这是一个重大的变革&#xff0c;为后来的Cpp标准化打下了铺垫。也正是因为有了模板&#xff0…

centos命令

1 使用 ps 命令查看 Redis 进程&#xff1a; ps -ef | grep redis如果 Redis 正在运行&#xff0c;你将会看到类似如下的输出&#xff1a; redis 1234 1 0 Jul28 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379如果 Redis 没有运行&#xff0c;你将不会看…