一种基于MRLBP的纹理分类方法

文档序号:29120303发布日期:2022-03-04 21:49阅读:230来源:国知局
一种基于MRLBP的纹理分类方法
一种基于mrlbp的纹理分类方法
技术领域
1.本发明属于图像处理领域,具体涉及基于局部二值模式的纹理分类方法,通过对局部二值模式算法进行改进达到提高纹理分类准确率的目的。


背景技术:

2.随着社会的信息化,越来越多的应用研发与图像处理领域息息相关,而纹理分类作为图像处理领域的基本问题之一,也受到了广泛关注与研究。局部二值模式(local binary pattern,lbp)作为一种局部特征描述算子,因其原理简单、易于实现、计算复杂度低、具有一定的光照不变性、不需要提前训练等一系列优点,被广泛应用于纹理分类,并取得了显著成果。因此对局部二值模式的研究和改进具有十分重要的现实意义。自局部二值模式于1994年被提出来以来,已经出现了大量变体,liao等人提出的dlbp算法从原始局部二值模式均匀模式的角度出发进行了改进,hafiane等人提出的mbp算法从邻域结构和量化阈值进行了改进,tan等人提出的ltp算法改变了量化等级,liu等人提出的brint算法提高了对噪声的稳健性。目前出现的大多数变体同以上几种变体一样,从不同角度进行了改进,在一定程度上提高了分类的准确率,但均未考虑局部二值模式使用固定权重进行排序的合理性,且目前的变体对幅值信息的利用也不够全面,如guo等人提出的clbp算法仅使用了幅值相对于中心像素的符号信息。


技术实现要素:

3.本公开一方面的目的在于提供一种基于mrlbp的纹理分类方法,提出基于幅值排序的局部二值模式,以解决使用原始局部二值模式进行纹理分类时对幅值信息利用不足以及使用固定权重进行排序的问题,提高纹理分类准确率。具体包括以下步骤:
4.步骤1,读取纹理数据集中的图像,若图像不是灰度图则先转化为灰度图像;
5.步骤2,对图像进行基于幅值排序的局部二值模式算法处理,利用符号信息和幅值信息,得到经过基于幅值排序的局部二值模式(mrlbp)处理后的图像;
6.步骤3,从处理后的图像中提取特征,首先对经过基于幅值排序的局部二值模式处理后的图像数据进行预训练,以有效地降低特征维数;
7.步骤4,然后采用多尺度直方图,将不同尺度的直方图以连接的方式结合,以获取更高的分类准确率;
8.步骤5,最后对得到的直方图进行归一化处理,以去除特征的量纲,使不同的特征映射到相同的区间,提高分类器的收敛速度;
9.步骤6,使用svm分类器对纹理图像进行分类。
10.进一步的,步骤2中所述基于幅值排序的局部二值模式算法的实现包括以下步骤;
11.步骤21,在当前读取的纹理图像中选定合适尺度的局部区域;
12.步骤22,使用双线性插值法,计算局部区域中圆形对称邻域集的p个邻域像素灰度值,其中邻域像素的坐标表示为(x+rcos(2πp/p),y+rsin(2πp/p)),(x,y)是中心像素坐标,
r是尺度,p是当前邻域像素的索引值,p是邻域像素点个数;
13.步骤23,对每个局部区域的中心像素,用邻域像素的灰度值减去中心像素的灰度值,得到中心像素的符号信息和幅值信息;再根据幅值大小对符号进行排序,即赋予不同的权重,幅值越大,为相应的符号赋予越高的权重,得到的二值模式即为该中心像素基于幅值排序的局部二值模式;具体的实现方法参见公式(8)、(9):
[0014][0015][0016]
其中,公式(8)是该中心像素基于幅值排序的局部二值模式,公式(9)是公式(8)中用于获取每个符号对应权重的函数,式中g
p
和gi均指邻域像素灰度值,gc指中心像素灰度值;
[0017]
步骤24,对图像的每个中心像素执行相同操作,得到经过基于幅值排序的局部二值模式处理后的图像。
[0018]
进一步的,步骤22中双线性插值法的计算公式为:
[0019][0020][0021][0022]
即,利用q
11
(x1,y1),q
12
(x1,y2),q
21
(x2,y1)和q
22
(x2,y2)这四个灰度值为g(q
11
),g(q
12
),g(q
21
)和g(q
22
)的像素点在x轴方向上进行插值,得到r1(x,y1)和r2(x,y2)的灰度值g(r1)和g(r2),再利用这两个灰度值在y轴上进行插值,即可得到所求点p(x,y)的灰度值g(p)。
[0023]
进一步的,步骤3中所述预训练包括以下步骤;
[0024]
步骤31,统计整个纹理数据集中每种模式出现的概率,即获取256种模式在整个训练集上的直方图,并统计总模式数,从而得到整个训练集上每种模式出现的概率;
[0025]
步骤32,将概率按照从高到低相加,保留概率和在k以内的模式;
[0026]
步骤33,对于概率不在k以内的模式,将其合并到与它最接近的模式中;其中最接近指的是两种模式差值的幅度最小,具体方法为遍历每个模式,判断当前模式对应的概率是否在k以内,若在k以内,则不做任何处理,继续遍历;若不在k以内,则计算概率在k以内的与当前模式最接近的模式,并将当前模式融合到该模式中;
[0027]
步骤34,将经过基于幅值排序的局部二值模式处理后的图像按照所属纹理数据集的预训练规则进行处理,即可在一定程度上降低特征维数。
[0028]
进一步的,所述不同尺度直方图的结合包括以下三种情况:
[0029]
一尺度直方图、二尺度直方图与三尺度直方图结合;
[0030]
一尺度直方图、二尺度直方图、三尺度直方图与四尺度直方图结合;
[0031]
一尺度直方图、二尺度直方图、三尺度直方图、四尺度直方图与五尺度直方图结合。
[0032]
进一步的,步骤22中所述p个邻域像素的p值为8,这8个邻域像素在圆形对称邻域集上的角度分别为0
°
,45
°
,90
°
,135
°
,180
°
,225
°
,270
°
和315
°

[0033]
进一步的,步骤23中所述根据幅值为符号赋予权重时,若出现幅值相同的情况,则赋予具有相同幅值的符号相同的权重。
[0034]
进一步的,所述概率和k包括0.5,0.6,0.7,0.8,0.9和1.0这五个取值。
[0035]
进一步的,步骤5中采用z-score归一化方法对直方图进行归一化处理。
[0036]
进一步的,步骤6中svm分类器核函数选择径向基函数rbf,惩罚因子c取10.0,系数gamma取0.01。
[0037]
与现有技术相比,本发明的有益效果和优点是:
[0038]
1、本发明提出基于幅值排序的局部二值模式,解决了使用原始局部二值模式进行纹理分类时对幅值信息利用不足以及使用固定权重进行排序的问题,取得了较高的纹理分类准确率。
[0039]
2、本发明放弃使用固定权重,利用幅值对符号进行排序,当图像发生旋转时,各中心像素的局部二值模式保持不变,即算法具有良好的旋转不变性。
[0040]
3、本发明采用幅值越大赋予越高权重的思想,因此一般情况下噪声干扰只会影响低权重的二值,整个局部二值模式受到的影响最小化,即算法具有一定的噪声鲁棒性。
[0041]
4、本发明保留了原始局部二值模式计算复杂度低的优点,具有较好的实时性,适合用于大规模分类或实时性要求较高的场景。
附图说明
[0042]
图1是本发明的整体实现框图。
[0043]
图2是本发明基于幅值排序的局部二值模式算法中获取权重的流程图。
[0044]
图3是本发明基于幅值排序的局部二值模式算法的一个具体实例。
[0045]
图4是本发明用以说明固定权重问题的黑白棋盘图。图中,(a)是原始图像,(b)是经过原始局部二值模式处理后的图像,(c)是经过基于幅值排序的局部二值模式处理后的图像。
具体实施方式
[0046]
下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0047]
为了解决使用原始局部二值模式进行纹理分类时对幅值信息利用不足以及使用固定权重进行排序的问题,本发明提出基于mrlbp的纹理分类方法,通过基于幅值排序的局部二值模式算法来处理图像,提高纹理分类准确率。
[0048]
本发明的具体实施方法和操作过程包括以下7个步骤:
[0049]
步骤1,读取纹理数据集中的图像。为了进行算法的对比,选择最常用的七个纹理数据集,包括outex_tc10,outex_tc12_000,outex_tc12_001,curet,uiuc,umd和kthtips2b,这七个数据集的图像信息如表1所示。其中curet数据集使用的是varma等人提
出的经过处理的版本,从原始curet数据集的每个类中提取92张观察角度小于60
°
且便于裁剪成200
×
200的图像,并转化为灰度图。对于没有预先定义训练集和测试集的curet,umd和uiuc数据集,随机选取每个类中一半的样本作为训练集,剩下一半作为测试集,并重复50次实验取平均值作为最终结果。对于kthtips2b数据集,在每个类的四个样本中选取前三个样本作为训练集,剩下一个样本作为测试集。七个数据集的所有图像均为8位灰度图像。
[0050]
表1
[0051][0052][0053]
步骤2,计算符号和幅值中所含的信息量。符号s
p
以及幅值m
p
的表达式可参照公式(1)、(2),其中g
p
是邻域像素的灰度值,gc是中心像素的灰度值,公式(3)是公式(1)中函数的具体表示:
[0054]sp
=s(g
p-gc)
ꢀꢀ
(1)
[0055]mp
=|g
p-gc|
ꢀꢀ
(2)
[0056][0057]
统计数据集中每个符号s
p
和幅值m
p
出现的概率,并使用信息熵公式分别计算信息量:
[0058][0059]
其中n是所有符号或幅值的数量,p(xi)是每个符号或幅值出现的概率。
[0060]
对outex_tc10,outex_tc12_000,outex_tc12_001,curet和uiuc这五个纹理数据集执行以上操作,得到的结果如表2所示。由表中数据可以看出,m
p
的信息熵约为s
p
的6倍,即幅值所含的信息量超过符号,因此对幅值的合理利用能获取更多的图像信息,有利于纹理分类结果。
[0061]
表2
[0062][0063]
步骤3,对图像执行基于幅值排序的局部二值模式算法,算法处理的具体过程参见步骤3a~3d。
[0064]
步骤3a,在当前读取的纹理图像中选定某个固定尺度的局部区域。
[0065]
步骤3b,使用双线性插值法计算局部区域中圆形对称邻域集上8个邻域像素的灰度值。邻域像素的坐标表示为(x+rcos(2πp/p),y+rsin(2πp/p)),其中(x,y)是中心像素坐标,r是尺度,p是当前邻域像素的索引值,p是邻域像素个数。
[0066]
利用q
11
(x1,y1),q
12
(x1,y2),q
21
(x2,y1)和q
22
(x2,y2)这四个灰度值为g(q
11
),g(q
12
),g(q
21
)和g(q
22
)的像素点在x轴方向上进行插值,得到r1(x,y1)和r2(x,y2)的灰度值g(r1)和g(r2),再利用这两个灰度值在y轴上进行插值,即可得到所求点p(x,y)的灰度值g(p)。双线性插值法的计算公式为:
[0067][0068][0069][0070]
步骤3c,对每个局部区域的中心像素,用邻域像素的灰度值减去中心像素的灰度值,得到中心像素的符号信息和幅值信息,再根据幅值大小对符号进行排序,幅值越大,为相应的符号赋予越高的权重,得到的二值模式即为该中心像素基于幅值排序局部二值模式。具体的实现方法参见公式(8)、(9):
[0071][0072][0073]
其中公式(8)是该中心像素基于幅值排序的局部二值模式,公式(9)是公式(8)中用于获取每个符号对应权重的函数,公式(8)和(9)中函数s(x)的定义可参照公式(3)。式中g
p
和gi均指邻域像素灰度值,gc指中心像素灰度值,p是邻域像素点个数。
[0074]
由于算法根据幅值赋予权重,因此当幅值相同时,若没有进一步的处理措施,且幅值对应的符号不同,则算法会随机为这两个符号赋予权重,这无疑会对得到的基于幅值排
序的局部二值模式带来一定的随机性和不确定性,进而对分类结果造成一定的负面影响。因此针对基于幅值排序的局部二值模式,给出了对这一情况的具体处理方式。获取权重的流程图如图2所示,可以看到,当幅值相同的情况出现时,不进行任何处理,直接进入下一次的比较循环,则可以使相同幅值对应符号被赋予的权重也保持一致,能有效避免上述情况的发生,进一步提高算法的有效性。
[0075]
基于幅值排序的局部二值模式的一个具体实例如图3所示。以中心像素灰度值100作为阈值,选取3
×
3大小的局部邻域,经过提取信息、获取权重的步骤,最后得到的局部二值模式为01001101。
[0076]
步骤3d,对图像的每个中心像素执行相同操作,得到经过基于幅值排序的局部二值模式处理后的图像。使用黑白棋盘图来进一步说明使用固定权重进行排序的问题,如图4所示。可以看出,经过原始lbp算法处理后的图像中,得到的棋盘图周围的边缘纹理明显不同,而mrlbp算法可以得到一致的边缘纹理,即使用固定权重进行排序会增强某些方向的纹理而弱化其他方向的纹理,从而破坏图像的纹理信息,对后续的特征提取不利,而使用幅值来进行排序既可以解决使用固定权重的问题,又可以解决幅值信息利用不足的问题。
[0077]
步骤4,对经过基于幅值排序的局部二值模式处理后的图像数据进行预训练,以有效降低特征维数。预训练的具体过程参见步骤4a~4d。
[0078]
步骤4a,统计训练集所有图像中所有模式出现的次数,即获取256种模式在整个训练集上的直方图,并统计总模式数,从而得到整个训练集上每种模式出现的概率。
[0079]
步骤4b,将概率按照从高到低的顺序累加,保留概率和在k以内的模式。
[0080]
步骤4c,对于概率在k以外、未被保留的模式,将其合并到与它最接近的模式中,其中最接近指的是两种模式差值的幅度最小。具体方法为遍历每个模式,判断当前模式对应的概率是否在k以内,若在k以内,则不做任何处理,继续遍历;若不在k以内,则计算概率在k以内的与当前模式最接近的模式,并将当前模式融合到该模式中。
[0081]
步骤4d,不同的k值对应的降维效果不同,如表3所示。针对不同的数据集,选取的最佳k值也不同,经过测试,在outex_tc10,outex_tc12和kthtips2b上的最佳k值为0.8,在curet,umd和uiuc上的最佳k值为0.9。将经过基于幅值排序的局部二值模式处理后的图像按照所属纹理数据集的预训练规则进行处理,即可在一定程度上降低特征维数,提高纹理分类准确率。
[0082]
表3
[0083]
k值1.00.90.80.70.60.5特征维数256151109816143
[0084]
步骤5,采用多尺度直方图,将不同尺度的直方图以连接的方式结合,即把不同尺度的直方图串联起来,在保证低维数的同时利用更多的图像信息。不同尺度直方图的结合包括三种情况:一尺度直方图、二尺度直方图与三尺度直方图结合;一尺度直方图、二尺度直方图、三尺度直方图与四尺度直方图结合;一尺度直方图、二尺度直方图、三尺度直方图、四尺度直方图与五尺度直方图结合。
[0085]
经过在outex_tc10,outex_tc12_000和outex_tc12_001这三个纹理数据集上的测试,所选出的本实施方式的最佳尺度为一尺度直方图、二尺度直方图、三尺度直方图与四尺度直方图结合。
[0086]
步骤6,对得到的直方图进行归一化处理,使不同的特征映射到相同的区间。采用的方法为z-score归一化方法,归一化公式为:
[0087][0088][0089][0090]
式中xi指的是第i个样本特征数据,μ指的是所有n个样本特征数据的均值,δ是所有n个样本特征数据的标准差,z是xi归一化之后的数值。
[0091]
步骤7,使用svm分类器对纹理图像进行分类,得到每个纹理数据集的分类结果。具体步骤为,使用训练样本训练分类器,得到分类模型;在测试样本上执行分类模型,得到预测结果。经过测试,所得适用本算法的最佳参数为:核函数选择径向基函数rbf,惩罚因子c取10.0,系数gamma取0.01。
[0092]
本发明的实施结果如表4和表5所示:
[0093]
表4是mrlbp与八种具有代表性的lbp改进算法的性能比较,包括在outex_tc10等六个纹理数据集上的分类准确率及平均值,其中outex_tc12的结果是指outex_tc12_000和outex_tc12_001两个数据集结果的平均值。表5是算法之间计算复杂度的比较,用特征提取时间来衡量。
[0094]
表4
[0095][0096][0097]
由表4可以看出,与lbp
ri
和lbp
riu2
以及近年来效果最好的一些改进算法相比,mrlbp在这六个数据集上达到了较为相似的纹理分类准确率,平均准确率仅比最好的结果低2%左右,取得了较好的实现效果。其中由于kthtips2b数据集的训练集和测试集之间存在过多的光照、角度和尺度变化,各算法在此数据集上的分类准确率均不高,而mrlbp的效果仅次于mrelbp,高于其他七种算法。
[0098]
表5
[0099]
算子lbp
ri
lbp
riu2
ltp
riu2
clbpdisclbpcinirdmrelbpmrlbp特征提取时间t0.98t2.66t1.47t6.72t1.31t19.73t1.32t
[0100]
由表5可以看出,以lbp
ri
的计算复杂度为基准,对单尺度下的特征提取时间进行了计算与比较,得出mrlbp的计算复杂度为1.32t,仅仅略高于cinird算法,而低于其他几种改进算法,比ltp
riu2
,disclbp和mrelbp算法的计算复杂度低几倍。
[0101]
本发明的实施结果表明,基于mrlbp的纹理分类方法取得了较好的实现效果,且保持了原始局部二值模式低计算复杂度的优点。除此之外,基于mrlbp的纹理分类方法因其基于幅值排序的思想,使算法具有良好的旋转不变性与一定的噪声鲁棒性。
[0102]
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1