摘要
纹理提取是计算机视觉领域的一项重要任务,纹理提取的质量对纹理分类的准确性具有关键影响.传统单一的纹理提取方法难以准确描述各类纹理的特征.本文提出一种基于改进的位置局部二值模式(IPLBP)和Gabor滤波器的纹理提取算法,其中,改进算法在局部二值模式(LBP)的基础上通过提取纹理位置信息来提高纹理描述能力.利用改进后的LBP算法提取局部纹理信息,Gabor滤波器提取全局纹理信息,将两种特征信息进行融合后使用支持向量机(SVM)进行分类.实验结果表明,所提出的算法在纹理材质分类任务上展现出了良好的性能.相比传统的LBP算法,该算法能够更准确地捕捉不同纹理特征之间的差异.
Abstract
Texture extraction,a pivotal task in computer vision,significantly influences the accuracy of texture classification.Traditional single-texture extraction methods often fail to accurately describe the characteristics of various textures.To address this issue,this paper proposes a texture extraction approach based on an Improved Position Local Binary Pattern (IPLBP) and Gabor filters.The proposed IPLBP enhances texture description capability by integrating texture position information into the LBP framework.Specifically,the IPLBP algorithm captures local texture nuances,while Gabor filters extract global texture attributes.Subsequently,these two complementary feature sets are fused and classified using Support Vector Machine (SVM).Experimental results demonstrate that the proposed approach exhibits excellent performance in texture material classification tasks.Notably,compared to traditional LBP algorithms,the IPLBP-Gabor filter approach more accurately discerns the subtle differences between diverse texture features,thereby enhancing texture classification accuracy.
0 引言
纹理是物体表面重要的视觉特征,包含形状、大小、颜色、亮度、方向等多个维度的信息,可以反映出物体的材质、质感、磨损程度等多种性质.在计算机视觉中,纹理特征的提取一直是图像处理和分析中一个重要的研究方向.通过提取纹理信息,可以帮助识别和区分不同物体、场景或图案.例如:在医疗领域中,纹理特征可以用于识别疾病或异常区域,如肿瘤或病变; 在工业领域中,纹理特征可以用于检测工业产品表面的缺陷,如瑕疵、划痕、裂纹等; 在应用技术领域中,通过分析地质图像中的纹理信息,可以帮助识别地下结构、矿藏分布和地震活动等.为了提取图像的纹理特征,研究者们提出了多种算法,其中较为常用的方法有:基于统计方法的灰度共生矩阵(Gray-Level Co-occurrence Matrix,GLCM)和局部二值法(Local Binary Pattern,LBP)、基于变换方法的Gabor算法和小波变换法以及基于模型方法的分形理论模型等[1].但由于纹理特征的类内差异性和类间相似性,这些单一的纹理特征提取算法往往难以准确表达图像的纹理特征.因此,融合多种算法进行纹理特征提取成为当下研究的热门.2016年,Fahrurozi等[2]通过边缘检测联合灰度共生矩阵进行纹理特征提取,发现边缘检测法可以很好地强化图像中的纹理特征.2017年,Chakraborty等[3]基于LBP算法提出一种局部四重模式算法(Local Quadruple Pattern,LQPAT),它通过将局部邻域扩展4倍来捕获邻域中像素之间的独特关系.2018年, Khadiri等[4]基于LBP算法提出一种局部二值梯度轮廓法(Local Binary Gradient Contours,LBGC),该方法融合了梯度和二值模式信息,可以很好地捕捉纹理特征.2019年, Usha等[5]通过形态学转换和灰度共生矩阵进行纹理特征提取,取得了良好的效果.2021年,Xu等[6]在LBP算法的基础上提出一种紧凑形的多模式编码用于纹理分类,它将局部极值和中心模式编码,而后将其与传统的局部符号模式相结合进行纹理特征提取.2022年, Arora等[7]提出通过融合加速鲁棒特征(Speeded Up Robust Features,SURF)的特征词袋模型(Bag of Features,BoF)进行特征提取.2022年,Zoric等[8]基于傅里叶变换提出一种名为FSA-FE的变换方法,该方法对像素值与频率之间的关系进行建模,提取出更具有区分度的特征.
本文提出一种基于改进的位置局部二值模式( Improved Position Local Binary Pattern,IPLBP)和Gabor滤波器融合的纹理特征提取算法.传统的LBP算法不能提取纹理的位置信息,而本文提出的改进方法可以提取出一定的位置信息.通过对LBP邻域中最大灰度值和最小灰度值的位置进行差值运算并以一定权重赋值,将其与LBP特征融合,形成新的特征向量.LBP算法只能提取出局部纹理特征,而Gabor滤波器可以提取全局纹理特征,因此,本文将改进后的LBP算法与Gabor滤波器融合,提取更为全面的纹理特征.实验结果表明,本文所提出的算法在纹理材质分类任务上展现出了良好的性能.
1 原理与方法
本文提出的方法流程如图1所示.首先,对输入图像进行预处理,包括将图像转换成灰度图像以及高斯滤波.然后,采用IPLBP和Gabor滤波器融合的方法提取纹理特征.最后,将提取到的纹理特征传入SVM进行分类识别.

图1算法流程
Fig.1Flow chart of the proposed approach
1.1 LBP特征提取
LBP(Local Binary Pattern)即局部二值模式,由Ojala等[9]于1996年提出.该算法主要用于描述图像中的局部纹理模式,能够有效地捕捉图像中的纹理特征,并且在许多计算机视觉和图像处理任务中具有广泛应用,如人脸识别、纹理分类、行人检测等[10].图2为LBP特征提取示意图.首先选取大小为3×3的窗口,并以窗口中心值作为阈值,将其与邻域的8个像素点进行比较.若值比中心像素高就标记为1,反之则标记为0.由此顺时针拼接所有邻域像素点标记值就可以获得一个二进制数,通过将该二进制数转换为十进制数来表示该像素点的纹理模式.
该算法的公式为
(1)

图2LBP特征提取示意图
Fig.2Schematic of LBP feature extraction
式中:(xc,yc)代表LBP中心像素点的位置; gc代表中心像素点的灰度值; gi代表邻域像素点的灰度值; s(x)为二值函数,定义如下:
(2)
LBP算法通过度量和提取图像局部的纹理信息,不经过预处理操作就能达到较高的识别效果,但其仍旧存在一些缺点,限制了算法的运用[11].传统的LBP算法只能采集相邻8个像素点,无法满足不同尺寸和频率的纹理需要.因此,Ojala等[12]在传统LBP算法的基础上提出了圆形局部二进制模式(Circular Local Binary Pattern,CLBP),该算法引入圆形邻域代替正方形邻域.改进后的CLBP算子允许半径R内的圆形邻域有多个像素点,并对圆形区域P个采样点进行采样.当图像旋转时,对同一邻域,传统的LBP算法在不同旋转角度会得到不同的LBP值.为此,Ojala等[12]提出了旋转不变局部二进制模式(Rotation Invariant Local Binary Pattern,RILBP),该算法通过引入旋转不变的编码策略来实现对图像旋转的不变性.它在LBP算法的基础上考虑了像素的相对角度,并对这些角度进行编码,使得生成的特征模式在旋转变换下保持不变.此外,改进局部二值模式(Improved Local Binary Pattern,ILBP)[13]利用邻域像素与该区域内所有像素值的均值的差异进行二进制编码,增强了算法对于噪声的鲁棒性,还有引入了三值编码的局部三元模式(Local Ternary Pattern,LTP)[14]等方法,在提升纹理特征提取性能方面发挥了重要作用.
1.2 改进的位置局部二值模式
传统的LBP算法只考虑了目标像素点与其邻域像素点的灰度关系,缺乏对像素之间的空间关系的描述.因此,本文提出一种新型改进算法:改进的位置局部二值模式(Improved Position LBP,IPLBP).该算法在LBP算法的基础上提取一定的空间位置信息,提高了传统LBP算法对纹理的描述能力.
图3是IPLBP算法的流程,该算法由 LBP算子和P-LBP算子两个算子构成.其中:LBP算子即传统的LBP算法,用于提取目标像素点与邻域间的纹理信息; P-LBP算子为本文提出的新算子,用于提取目标像素点邻域中的纹理位置信息.通过对两种信息的融合,获得最终的纹理特征.

图3IPLBP算法流程
Fig.3Flow chart of IPLBP
图4是P-LBP算子工作的示意图.首先,在邻域中找到灰度最大值和灰度最小值;然后,计算两者之间的距离作为纹理位置信息;最后,将该信息与LBP信息融合,形成一组新的特征信息.由于目标像素点邻域中的像素点存在差异性,有可能会出现以下两种情况:情况1,在邻域中出现若干个最大值或若干个最小值; 情况2,邻域中不存在最大值或最小值,所有像素值均相等.对于P-LBP算子而言,位置描述值的大小与亮度分布有关.亮度分布越小,位置描述值越小; 亮度分布越大,位置描述值越大.对于情况1,可以认为其像素点亮度分布较小,所以计算位置最小值作为位置信息; 对于情况2,像素点之间明显无差异,无亮度分布,因此定义位置信息为最小值.
P-LBP算子的公式为
(3)
式中:(xmax,ymax)为邻域最大值像素点的坐标值;(xmin,ymin)为邻域最小值像素点的坐标值.
P-LBP算子同时具有旋转不变性,图5为P-LBP算子沿顺时针旋转.

图4P-LBP算子工作示意图
Fig.4Schematic of P-LBP operator operation

图5P-LBP算子沿顺时针旋转
Fig.5P-LBP operator rotates clockwise
根据式(3)可得:
(4)
(5)
(6)
(7)
其中:式(4)为原图中提取的P-LBP值; 式(5)为顺时针旋转90°的P-LBP值; 式(6)为顺时针旋转180°的P-LBP值; 式(7)为顺时针旋转270°的P-LBP值.所有的运算结果都相等,这是因为P-LBP算子只提取相对位置信息,不提取绝对位置信息,因此,P-LBP算子的值并不受图像旋转影响,有较强的鲁棒性.
P-LBP算子的维度并不固定,其与采样半径呈正相关.对于半径为1、邻域为8的LBP算子,P-LBP算子提供2个位置描述值1和2,可以通过映射将其转换为二进制的0和1,从而降低维度.对于CLBP中半径为R的算子,P-LBP算子提供最多2R个位置描述值,虽然维度有一定程度提高,但可以弥补部分由于半径增加导致的纹理提取失真.
P-LBP算子通过提取最大像素点位置和最小像素点位置进行差值运算,为传统的LBP算法提供了一定的位置信息.通过该位置信息可以反映局部图像的对比度变化,较大的最值差值距离通常表示图像中明暗区域之间的对比度差异较大,而较小的距离则表示对比度较低或相似的区域.从视觉感受上来说,当一幅图像的P-LBP算子的值普遍偏大时,该纹理越明显.如图6所示,显然,铝箔的纹理更为明显,有大量明显的褶皱,而硬木的纹理明显程度相对较小,层次模糊.从P-LBP取值的比例来看,可以发现铝箔的P-LBP值偏大,而硬木的P-LBP值相对偏小.

图6纹理与P-LBP的关系
Fig.6Relationship between texture and P-LBP
IPLBP算法通过LBP算子和P-LBP算子联合作用,提取了较为全面的纹理信息,对纹理分类提供了支撑.其中,P-LBP算子利用邻域最值距离进行位置信息提取,相较于全像素点距离运算大大减少了计算量,同时又能较为准确地反映纹理信息.但P-LBP算子作为一个辅助算子,只能用来描述局部纹理的位置信息,无法单独描述纹理,必须和LBP算子或其他描述算子联合使用.
1.3 Gabor滤波器
Gabor滤波器的基本原理与人类视觉系统十分相似[15].人眼对纹理的感知基于视觉皮层中的神经元对不同方向和尺度的刺激响应.这些神经元在视觉皮层中形成了特定方向和频率选择性的响应,以便解析和识别图像中的纹理结构.而Gabor滤波器通过在图像中应用一系列具有不同方向和尺度的滤波器来模拟视觉皮层中的神经元响应,并通过Gabor函数以实现对纹理特征的提取.具体来说,Gabor滤波器的设计使其在频率域上具有窄的带通特性,可以选择性地响应图像中的特定频率成分.而在空间域上,Gabor滤波器具有局部化的特点,可以将注意力集中在图像的局部区域.
图7为6个方向、6个尺度的Gabor滤波器组.尺度的大小与提取图像特征的精细度呈正相关.尺度越小时,图像特征越精细;尺度越大时,图像特征越模糊.

图76个方向、6个尺度的Gabor滤波器组
Fig.7Gabor filter banks with 6 directions and 6 scales
正是由于Gabor滤波器的性质,只要通过控制频率和方向就可以捕捉到纹理在不同尺度和方向上的细节和特征.同时,Gabor滤波器可以很好地提取图像的全局特征[16],弥补LBP在全局特征提取上的不足.
(8)
式中:λ为滤波的波长; θ为Gabor核函数图像的倾斜角度; ψ为表示相位偏移量; σ为高斯函数的标准差; γ为Gabor核函数图像的椭圆率.
1.4 纹理特征提取方法
本文提出的纹理特征提取方法是通过IPLBP算法提取纹理的局部信息,Gabor滤波器提取纹理的全局信息,并将两者融合.其具体步骤如下:
1)对图片进行预处理,包括将彩色图片转换为灰度图、对灰度图进行高斯滤波操作、滤除高频噪声.
2)对图片使用LBP算子计算,提取所有像素点的LBP值; 利用P-LBP算子提取出P-LBP值,将两个信息融合; 构建特征直方图.
3)运用Gabor滤波器提取纹理.设置滤波器的卷积核为41、高斯标准差为5、椭圆率为0.5,从6个滤波方向和6个波长尺度进行滤波操作.对于每个Gabor滤波器的响应图像,计算其像素值的方差,然后将该值作为特征向量,构建特征直方图.
4)通过特征拼接融合,获得最终的特征直方图.
2 实验结果分析
本文采用KTH-TIPS2数据集[17]评估方案的可行性,并使用SVM进行分类.KTH-TIPS2数据集包含11个不同的材质类别,每个类别均由3个不同角度、4种不同照明条件和9种不同尺度的图像组成,总共3×4×9=108张图像,每张图像的尺寸均为200×200.与其他数据集相比,该数据集的规模更大、数据质量更高,更适用于材质识别算法的评估和比较.SVM即支持向量机,是一种常用的机器学习算法,主要用于解决分类和回归问题[18].它的基本思想是通过构建一个超平面来将不同类别的数据分开,使得同一类别的数据在超平面的同一侧,不同类别的数据在超平面的两侧,以此达到分类的目的.SVM在处理问题时需要选择合适的核函数来提高分类效果.SVM中常用的核函数包括线性核、多项式核、径向基函数核(Radial Basis Function Kernel,RBF)等,其中,RBF可以很好地处理各种不规则的数据分布,适合处理纹理分类问题[19],因此,本文选取RBF进行分类.
本文对KTH-TIPS2纹理图像库中的铝箔、面包、灯芯绒、软木、棉花、硬木、菜叶、羊毛8类纹理图像(图8)样本分类,随机选取各类纹理图片中的70幅图片作为训练集,在剩下的38张图片中选取30张图片作为测试集.重复实验10次,用平均识别精度作为最后的识别精度.
分别测试了IPLBP、Gabor滤波器、IPLBP融合Gabor滤波器共3种方法的分类精度.对于IPLBP,选取半径为1、采样点个数为8.对于Gabor滤波器,设定滤波器大小为41、高斯核标准差为5,从6个滤波方向和6个波长尺度进行滤波.

图88类不同的纹理图片
Fig.8Eight texture images
表1为实验结果,其中,方法1采用IPLBP进行纹理提取,方法2采用Gabor滤波器进行纹理提取,方法3为IPLBP融合Gabor滤波器进行纹理提取.可以发现方法3在8个纹理中的7个纹理上都取得了最优秀的分类结果,在棉花和硬木的识别上成功率达到了100%.在铝箔的分类上,方法3较方法1略有欠缺,这是因为IPLBP和Gabor算法在某些方面可能提取到相似的信息,导致特征冗余.当这些冗余特征被输入到分类器中时,导致过度拟合和性能下降[20].但从整体上看,方法3的提取方法分类效果是最好的.
表1不同方法的分类准确率
Table1Classification accuracy of different methods

同时,为了分析IPLBP是否较传统LBP算法有更好的分类效果,对两种算法进行了对比.如表2所示,IPLBP算法在所有纹理的识别上都体现了更好的结果,整体的准确率较传统LBP算法高出近2个百分点.
表2传统LBP和IPLBP的分类准确率
Table2Classification accuracy of traditional LBP and IPLBP

为了验证IPLBP融合Gabor滤波器进行纹理分类的鲁棒性,选取饼干、亚麻布以及白面包3种材料进行错误匹配实验.每种材料30个,测试这些纹理图像是否会被分类到正确的样本中.实验结果如表3所示,可以发现IPLBP融合Gabor滤波器进行纹理分类具有较强的鲁棒性.
表33种方法的错误率
Table3Error rates of three methods

单一的分类方法无法覆盖所有可能的纹理特征和变化模式.在不同的分类方法下,同一种纹理提取信息可能有截然不同的分类结果.为了验证本文提出的提取算法是否有较高的普适性,选取了K最近邻(KNN)和随机森林(RF)两种分类方法与SVM算法进行对比.KNN是一种主要用于分类以及回归的非参数统计方法,简单有效[21].而RF是一种基于分类树的机器学习算法,它通过对大量分类树的汇总提高了模型的分类精度[22].KNN和RF都有较高的可靠度.图9为3种分类方法下不同提取方法的准确率.通过对比可以发现,IPLBP融合Gabor滤波器的纹理提取方法的准确率在所有分类方法下都要优于另外2种提取方法.同时观察图中折线轨迹,可以发现本文所提算法的折线轨迹有较高的重合度,并且在不同分类方法下保持较高的准确率,因此,本文提出的算法具有较高的普适性.
3 结语
本文研究了纹理提取与分类的相关问题,提出了IPLBP和Gabor滤波器融合提取纹理信息的方法.该方法较单一的纹理提取方法效果更好,提取出的纹理信息更加全面.IPLBP算法较传统的LBP算法具备更强的纹理描述能力,能够更准确地捕捉不同纹理特征之间的差异.本文方法具有较高的普适性,在不同分类方法下均有较高的准确率.
下一步将对以下几个方向进行研究:
1)对更多的纹理进行纹理提取和分类,扩大检测范围.

图9不同分类方法下3种提取方法的准确率
Fig.9Accuracy of three extraction methods under three classification methods
2)由于本文所提出的IPLBP算法具有旋转不变性,考虑联合RILBP算法进行纹理提取,从而对任意方向的纹理图片进行分类.
3)由于不同图片的纹理存在尺度差异,考虑结合自适应窗口进行纹理提取,从而提高提取效率及效果.
4)P-LBP算子对高频噪声较为敏感,虽然在图片预处理时采用高斯滤波滤除了部分噪声,但仍存在少量高频噪声,接下来考虑更为有效的方法滤除高频噪声.
5)在IPLBP和Gabor滤波器融合时,存在一定的特征冗余,导致对少部分纹理的分类能力较低,后续考虑选取更好的特征融合方式,减少特征冗余.