快速和尺度稳健的纹理图像识别
2020-04-29王军敏王艳辉
王军敏,李 宁,王艳辉
(平顶山学院 信息工程学院,河南 平顶山 467036)
0 引言
纹理特征是一种重要的视觉特征,对人类认知周围的世界具有重要的作用,因此,对纹理图像识别的研究一直是人工智能领域的研究热点.目前,纹理图像识别技术已经在医学图像处理[1]、材料分类[2]、遥感图像处理[3-4]、掌纹识别[5-6]、目标跟踪[7]等领域获得了广泛应用.
在现实场景中,纹理图像可能受到光照条件、目标旋转、尺度变化等因素的影响,这使得纹理图像识别变得非常困难.而传统的纹理图像识别方法,例如,灰度共生矩阵(Gray Level Co-occurrence Matrix,GLCM)方法[8]、 Gabor滤波方法[9]、VZ-MR8算法[10]、VZ-Joint算法[11]、局部二值模式(Local Binary Pattern,LBP)算法[12]等,在识别精度、实时性或尺度稳健性等方面都存在自己的不足之处,缺乏好的综合性能,导致这些算法在实际工程中的应用效果不佳.因此,在对纹理图像进行识别时,必须综合考虑算法的识别精度、实时性和尺度稳健性等指标,从而在不同的工程应用场景中能够实现快速稳健的纹理图像识别.
1 相关工作
Zhao等[13]提出了CLBC算法,该算法是对传统LBP算法的改进,CLBC算法同时利用了局部邻域像素与中心像素灰度差分的符号信息、幅值信息和中心像素的灰度等级信息,在计算局部编码值时不再进行加权求和运算,而是直接将二值编码串中“1”的个数作为局部编码值.CLBC算法的计算公式为
(1)
和传统的LBP算法相比,CLBC算法不但能提取更加丰富的纹理特征,并且显著降低了局部编码的计算量和最终直方图特征向量的维数,即显著降低了特征提取阶段和特征对比阶段的计算量,从而能够同时获得较好的识别精度和实时性.
2 本文算法
为了实现快速和尺度稳健的纹理图像识别,笔者采用如图1所示的基本原理框架.
图1 本文算法的基本原理框架
本文算法的具体实现步骤如下:
1)针对输入的原始纹理图像I,构造如式(2)所示的高斯滤波器g(x,y):
(2)
其中,σ是高斯滤波器的标准差.然后,利用高斯滤波器g(x,y)对原始的纹理图像I进行n次高斯滤波,可获得n个滤波后图像,则利用原始的纹理图像I和n个高斯滤波后图像构建一个多尺度图像空间,用它描述原始纹理图像I在不同尺度的底层视觉特征变化情况.其中,最佳的高斯滤波次数n和高斯滤波器的标准差σ可通过实验确定.
2)在多尺度图像空间中,选择参数(P,R)=(1,8),对每个图像执行CLBC算法,获得该分辨率下每个图像的联合直方图CLBC_S/M/C,并将其转换成行向量形式,即获得每个尺度图像的CLBC模式特征.
3)受深度学习算法中最大池化(max-pooling)思想和SSLBP算法[14]的启发,针对多尺度空间中n+1个图像的CLBC直方图行向量,跨尺度对每个直方条(bin)取最大值,可获得一个相同维数的直方图行向量,将其作为原始纹理图像的CLBC最大模式特征.显然,在不同尺度提取的CLBC模式最大值体现了不同尺度下的显著特征,该特征对尺度变化具有更好的稳健性.
4)改变参数(P,R)的值,分别选择R=[3,5,7,9],P总等于8,重复利用上述第2)、3)步的方法提取多个分辨率(即多个半径R)的CLBC最大模式特征,并将这些最大模式特征进行级联再开平方,将其作为原始纹理图像I的最终特征描述.显然,在多个半径R提取CLBC特征,不但能够获得更加丰富的纹理特征,提高特征的鉴别能力,而且能够进一步提高特征的尺度稳健性.
5)利用NSC分类器[14]对纹理图像的特征描述进行判定,获得原始纹理图像I的类别标签,从而实现纹理图像识别任务.具体原理如下:设一共有C类纹理,每类有n个训练样本,把这n个训练样本的特征转换成列向量的形式,然后组成一个矩阵.
H=[h1,h2,…,hn].
(3)
对一个测试纹理样本y,将其特征hy投影到H张成的子空间,可得投影值为
ρ=(HTH)-1HThy) .
(4)
其中,上标T表示矩阵转置.然后,计算特征的投影残差为
(5)
最后,将测试的纹理样本划分到投影残差最小的纹理类别,获得测试样本的类别标签,即
(6)
3 实验与结果分析
3.1 纹理数据库和实验设置
为了评估笔者提出的纹理图像识别方法的性能,选择在两个基准的纹理数据库上开展实验,即CUReT纹理库和KTH-TIPS纹理库.CUReT纹理库含有61类纹理材料,每类有92个样本图像,这些样本图像是在不同的光照条件下拍摄的,是一个极具挑战性的纹理库.图2列出了CUReT纹理库的一些样本图像.
图2 CUReT纹理库的光照变化挑战性
KTH-TIPS纹理库含有10类纹理材料,每类纹理图像分别是在3种不同的照明条件、3个不同的视角和9个不同的尺度条件下拍摄的.和CUReT纹理库相比,KTH-TIPS纹理库含有非常明显的尺度变化,使得KTH-TIPS纹理库更具挑战性.图3展示了KTH-TIPS纹理库的一些样本图像.
图3 KTH-TIPS纹理库的尺度变化挑战性
实验设置:高斯滤波的次数n=2,高斯滤波器的标准差σ=2;对CUReT和KTH-TIPS纹理库,从每类样本中随机挑选一半样本作为训练集,另一半样本作为测试集,独立重复实验1 000次,用这 1 000次实验结果的平均值作为最终的实验结果.
实验的软硬件平台:计算机(i5-4440 CPU @ 3.10 GHz,8 GB RAM),MATLAB R2019a软件.
3.2 识别精度对比
通常情况下,识别精度是评价一种纹理图像识别方法最重要的指标.为了对本文方法的识别精度进行评估,选择在基准的CUReT和KTH-TIPS纹理库上开展实验,并将本文方法的识别精度与其他一些先进方法的识别精度进行对比,结果见表1.
表1 本文算法与其他算法的识别精度对比 %
从表1的结果对比可以看出,笔者提出的方法在基准的CUReT和KTH-TIPS纹理库上都获得了最高的识别精度,其中,在CUReT纹理库上的识别精度是99.72%,在KTH-TIPS纹理库上的识别精度是99.68%,一致超过了参与比较的其他方法的识别精度,这表明笔者提出的方法不但能够捕获更具鉴别力的纹理特征,并且对纹理图像的尺度变化也具有更好的稳健性,从而在具有挑战性的纹理图像识别任务中具有更好的性能表现.
3.3 时间消耗对比
在实际的工程应用中,纹理图像识别方法的实时性也是一个重要的指标.为了评估本文方法的实时性,在基准的CUReT和KTH-TIPS纹理库上开展实验,计算一个样本图像的平均时间消耗,将其作为算法实时性的度量.同时,也将本文方法的实时性与其他一些算法进行了对比,结果如表2所示.
表2 本文算法与其他算法的时间消耗对比 s
从表2的结果对比可以看出,笔者提出的方法所需的平均时间消耗最少,具有更好的实时性,这在实时性要求较高的场合,以及在大规模的纹理图像序列、视频图像分析等工程领域具有重要的应用价值.
4 结论
笔者提出了一种快速和尺度稳健的纹理图像识别方法,该方法利用CLBC算法快速提取纹理图像的局部特征,利用多尺度图像空间内跨尺度取模式最大值以及在多个分辨率提取局部特征实现尺度稳健性.和现有的其他算法相比,笔者提出的纹理图像识别方法不但能获得很高的识别精度,而且在实时性方面具有显著的优势,可广泛应用于纹理图像特征提取和识别领域.