基于改进局部方向模式的纹理分类
2019-09-19
(河南理工大学 计算机科学与技术学院,河南 焦作 454150)
在图像分析领域内,局部二值模式算子(Local Binary Pattern,LBP)[1-2]是具有代表性的是一种纹理描述算子,并且LBP计算复杂度低,对图像旋转、局部灰度小的变化具有较好的鲁棒性。但是,LBP算子对噪声及光照较为敏感,为此,Jabid等人融合局部边缘信息提出局部方向模式(Local Directional Pattern,LDP)[3-4]。为了增加边缘梯度信息的方向性,Zhong等人提出了增强局部方向模式(Enhanced LDP,ELDP)[5]。这两种算子对图像光照变化和低噪情况等具有更好的鲁棒性。
在此基础上,多种针对LDP的扩展方法被提出,Castillo提出了LSDP(Local Sign Directional Pattern)算子[6],该算子采用六位二进制码表示纹理和灰度变化信息,不但可以更好地突出主方向信息,标记区分具有不同强度变化的类似结构模式,而且也可以识别更多微小的像素变化,得到更为详细的纹理特征。Rivera等人提出把主方向和前两个主要方向的强度差编码成一个数,对其主要方向所表示的邻域的突出纹理信息进行编码,提高了对光照和噪声的鲁棒性[7]。Ryu提出了一种新的编码方案——局部定向三元模式,消除定向模式在平滑区域产生的不确定性,利用方向信息描述显著部位与非显著部位信息,可以有效描述更多面部特征,整体识别分类性能较好[8]。
然而,上述LDP及其扩展方法在进行模式划分时,往往采用刚性划分方法,为此首先在方向模式的定义中引入模糊逻辑,并定义了模糊局部模式(Fuzzy Local Pattern,FLP),并基于该模式对传统LDP及其相关方法进行扩展;其次,在定义局部方向模式时,为进一步消除噪声影响,将传统的3×3邻域进行扩展,定义了新的局部邻域拓扑结构。在实验中,选择在纹理分析领域广泛应用的3个纹理库UIUC[9]、Curet[10]和Outex[11]作为实验数据库,采用LDP和ELDP算子作为实例,来验证新方法的分类效果。实验结果证明了本文方法可以有效提高传统LDP算子及其扩展算子的分类能力。
1 相关算子介绍
1.1 局部方向模式算子(LDP)
在局部二值模式的基础上,Jabid等人融入边缘特征信息,提出局部方向模式算子(LDP)[3-4],其原理是:将原来图像的3×3邻域与Kirsch模板[12]进行卷积运算(图1给出了Kirsch的八方向模板),得到边缘响应值,然后将响应值中绝对值前k大的值所在的位置设为1,其他位记为0,组合得到的二进制值即为该邻域的LDP值。其定义如下:
(1)
式中,
mi为与Kirsch模板卷积运算后得到的边缘梯度值;mk为第k大的边缘梯度值。图2给出了LDP的计算实例。
1.2 ELDP
在LDP的基础上,Zhong等人提出了增强局部方向模式[5],其基本原理是:首先将3×3邻域与Kirsch模板卷积,然后取最大和次大边缘梯度值所对应的方向,得到两位八进制数,最后将该八进制数转换为十进制数,即为ELDP值。其定义为
ELDP(xc,yc)=8bi+bj
(2)
式中,bi为获得最大边缘检测返回值的邻域像素点所在方向的编码;bj为获得第二大边缘检测返回值的邻域像素点所在方向的编码。图3给出了ELDP的计算实例。
图3 ELDP计算示例
2 基于模糊逻辑的局部模式
对于LDP及其扩展方法在定义方向模式时,往往都采用刚性的划分方法,某一邻域仅属于其中的一种模式,因此局部灰度的微小变化或由于噪声的影响,会导致相似局部邻域被划分到完全不同的模式。为了解决该问题,引入了模糊逻辑理论,该理论已在局部二值模式中得到了应用[13-14],并取得了较好的效果。
设Rm为3×3邻域局部方向模式的最大值,Rc为邻域中心像素的局部方向模式值,Ri(i=0,1,2,…,7)为邻域内其他像素的局部方向模式值,集合B与集合S为满足特定条件的局部方向模式值的集合,t为阈值(t∈[0,Rm])。若Rc+t 模糊集B及其隶属度关系可以用以下的序数对表示: B={Ri,μB(Ri)|Ri∈H} (3) 式中,μB为属于集合B的隶属度函数;H为局部邻域所有模式集合。同理,集合S的隶属函数表示为 S={Ri,μS(Ri)|Ri∈H|} (4) 式中,μS为集合S的隶属函数。 设d=Ri-Rc,对于集合B的隶属函数μB定义为 (5) 相对应地,集合S的隶属函数μS定义为 μS=1-μB (6) 基于隶属函数μS和μB,可以基于式(7)计算中心像素隶属于不同集合的概率。 (7) 图4 FLDP计算示例 对于传统的LDP及其扩展算子,其采用的局部拓扑结构均为3×3邻域,进一步对原拓扑结构进行拓展,定义了图5所示的局部邻域结构,其基本思想是采用8-方向上相邻的若干个像素的灰度均值代替原定义中单个像素的灰度均值。该拓扑结构具有两个主要优点:① 采用灰度均值可以进一步消除噪声影响;② 将3×3邻域扩展到更大区域,可以在更大的尺度下描述局部纹理特征。 设gp,r分别代表方向p中第r个像素的灰度值,r=1,2,3,…,s,p=0,1,2,…,7。则相应的灰度均值计算公式为 (8) 图5给出了当s=3时的计算示例。 图5 s=3时邻域灰度计算示例 为了验证所提出算法的有效性,选取LDP与ELDP算子作为实例,经本文方法改进后的描述算子记为FLDP、FELDP;同时选择UIUC、Curet以及Outex 3个在纹理分析领域广泛应用的图像库作为测试库。同时,实验选择χ2距离计算特征间的相似性,采用K-近邻方法进行分类。 首先,测试了所述的4种算子针对图像的描述效果,如图6所示。从图6中可以看出,相对于LDP和ELDP,本文的FLDP和FELDP算子可以更好地保留纹理特征信息,更有利于描述图像的纹理信息。 图6 不同算子特征示例图 对于UIUC图像库来说,该库包含25类纹理,每一类有40张640像素×480像素大小互不重叠的图像,实验中在每类纹理中随机挑选N张图片作为训练集,N的取值分别为5、10、15和20,剩下的40-N张图片作为测试集,并且重复做50次实验。各种方法分类效果如表1所示。 表1 针对UIUC图像库的分类准确率结果 单位:% 由表1可以看出,在训练集N取值为5、10、15、20的情况下,FLDP算子的分类准确率分别比LDP提高了12.31%、13.75%、14.4%、15.84%; FELDP算子的分类准确率分别比ELDP提高了8.61%、9.8%、10.77%、11.92%。 对于Curet图像库来说,该库包含61类纹理,每一类有92张200像素×200像素大小的图片,图像之间存在旋转、光照的变化。实验中,在每类纹理中随机挑选N张图片作为训练集,N的取值为6、12、23和46,剩下的92-N张图片作为测试集,并且重复做50次实验。表2给出了实验结果的对比。在训练集N取6、12、23、46的情况下,FLDP算子的分类准确率分别比LDP提高了11.2%、10.77%、10.02%、9.04%;FELDP算子的分类准确率分别比ELDP提高了11.46%、10.54%、8.91%、6.95%。 表2 对Curet图像库的实验结果 单位:% 对于Outex图像库,包含24类纹理,每一类纹理有9个角度的图像,旋转角度分别为0°、5°、10°、15°、30°、45°、60°、75°、90°,每个角度有20张不重叠的图像,这些图像是在3种光源下成像,分别是“horizon”、“inca”、“t184”。在此数据库中,有Outex_TC_00010(TC10)和Outex_TC_00012(TC12)两种测试集,前者是用于测试图像旋转不变特性,后者用于研究光照和旋转均不变的特性。对于TC10数据库来说,训练样本中每一类纹理以光照“inca”光源、0°旋转角的20个图像为训练集,其他的8个角度图像作为测试集,因此本数据库共有480个训练样本和3840个测试样本。对于TC12数据库,训练样本和TC10的“inca”光源、0°旋转角的20个图像一样,测试样本为光源“t184”或“horizon” 下的图像,因此本数据库有480个训练样本和4320个测试样本。 表3 针对Outex图像库的实验结果 单位:% 表3给出不同方法的分类效果,可以明显看出,在同种条件下,FLDP、FELDP算子的平均分类准确率分别比LDP和ELDP算法高11.63%、7.38%。 最后,实验针对TC10图像库,比较了4种方法的特征提取的时间复杂度。在相同的实验环境下,LDP、FLDP、ELDP、FELDP这4种方法特征提取平均时间分别为0.92 s、1.88 s、0.83 s、1.71 s。本文改进算法由于拓扑结构及划分方法的精确性,特征提取时间复杂度高于传统方法,但分类效果得到明显提升。 从两个方面对传统局部方向模式及其扩展方法进行了增强处理,首先引入了模糊隶属度函数,以解决传统的刚性模式划分方法;其次,将原始的3×3邻域扩展到了多分辨率的局部邻域。新方法一方面提高对局部方向模式划分的准确性,提高了其分类能力;另一方面,在新定义的拓扑结构下,既可以提取局部邻域的微观纹理信息,也可提取相对宏观的纹理信息,提高了对纹理描述的全面性。采用在纹理分类领域广泛应用的UIUC、Curet和Outex纹理图像库进行试验,结果表明新的方法可以显著提高纹理图像的分类效能。3 实验结果
4 结束语