龙空技术网

Local Binary Pattern-目标检测系列(1)

Forever的算法笔记 133

前言:

此时我们对“lbp算法计算”大致比较关切,你们都需要学习一些“lbp算法计算”的相关内容。那么小编也在网摘上收集了一些有关“lbp算法计算””的相关资讯,希望小伙伴们能喜欢,兄弟们一起来学习一下吧!

LBP即为local binary pattern是一种图像的纹理特征是一种针对单个颜色通道的算法,对于多通道图片进行分别计算作为之后介绍传统proposal方式selective search的基础1. 公式其中c为给定的进行LBP求解的位置,以其为中心,以R为半径画圆,在圆周上均匀取出n个点,I为指示函数在给定计算需要的R和P之后,LBP即成为一个只和位置有关的函数,是一种描述中心点和周围点关系的量2. 关键代码

由于对于外部链接的限制,作者的matlab代码会在之后的文章中放出

python实现关键代码如下

# neighbours即为上文中的na = 2*pi/neighborsfor i in range(0, n-1): spoints[i,1] = -radius*np.sin(i*a) spoints[i,2] = radius*np.cos(i*a) ... #求和  v = pow(2, (i-1)) result = result + v*D

取出采样点坐标存入spoints列表中

当选择R=1时,默认选择周围8个点的值

其他条件下,对求出的采样点进行取整,当取整操作带来的误差超过阈值时进行插值

P、R取值变化时的采样点示意图

最常见使用P=8,则每个位置上产生的数值值域为[0, 255],值域和P值对应关系为值域为[0, 2^p-1],即对应直方图bins=2^p

使用LBP算法时,常见的流程为:

将输入图像划分为S*S个grid对每个grid的每个位置进行LBP求解,统计得到一个256维的直方图综合考虑每个grid的特征3. Improvements尺度不变性

很简单,更改R值即可得到

旋转不变形

和每一个采样点位置相关的指示函数组成的实际上是一个二进制编码,且环形序列没有头尾之分,选择使其数值最小的起点(即终点)

容易知道,无论图像如何旋转,其获得的最小值编码是一致的,这样也就得到了图像的旋转不变性

uniform LBP

使用p=8产生256维度的直方图,数据量过大。

定义uniform pattern的概念

对得到的二进制编码进行环形遍历,对其中由0变为1和由1变为0的次数进行计数,其中变化次数为0有两种模式,变化次数为1有0中,变化2次有56中,将变化次数小于等于两次的pattern成为uniform pattern

在实际运用中,uniform的出现次数占总体的90%以上,所以将非uniform的pattern视为other类别,即总体由59种类型,将256维度的直方图改为59类。

标签: #lbp算法计算