纹理特征提取是图像处理、图像分析、计算机视觉等诸多领域的基础研究之一.纹理特征的类内差异性及类间相似性决定了仅依靠单一的提取算法无法准确真实地表现图像的纹理特征,因此,通过多种纹理特征提取算法的融合来提高提取的效率和准确率是当前研究的热点.随着研究的不断深入,图像纹理的分类在诸多领域都得到了很重要的应用,例如在虚拟现实触觉再现领域,通过再现设备可以识别不同的材质,得到更加真实的触觉体验,增加使用者的沉浸感和真实感.
国内外研究者就图像纹理特征提取与分类进行了大量的理论研究与实验.Marsico等[1]在传统LBP(Local Binary Pattern)算法基础上进行了改进,选择LBP码作为基于内容的LBP码选择策略,减少了特征向量的长度,特征提取效率有所提高,但鲁棒性并不好;El Khadiri 等[2]基于LBP 算法提出了一种局部二值梯度等值(LBGC) 算法进行纹理分类,虽然精度很高,但需要的特征维度比较高,不满足实时性要求;陈洋等[3]通过结合Gabor滤波器和ICA技术进行纹理的分类,缺点是容易丢失数据;梅军等[4]基于 Tamura 纹理特征对纹理图像进行分类,在方向性和形态学运算中都有很好的效果;Karmakar等[5]对Tamura纹理提取算法进行改进,用核描述符代替直方图,对特征的旋转不变性进行了加强,不过Tamura算法提取的是全局特征信息,利用单一的Tamura算法提取特征会导致图像局部细节信息的丢失;Haralick等[6]提出了灰度共生矩阵(Gray-Level Co-occurrence Matrix,GLCM)方法,该方法对规则的纹理图像具有较好的识别效果;Fahrurozi 等[7]使用GLCM结合边缘检测算法来提取纹理的特征,发现GLCM纹理特征参数中只有4组值是线性无关,可以进行级联分类.因GLCM在纹理分析中的优异表现,其在纹理特征提取方面得到了较为广泛的使用.但GLCM在不同的方向上存在着不同的矩阵,因此后续的研究人员提出了不同的计算方法来解决此问题.
本文提出一种基于改进的灰度共生矩阵(T-Gray-Level Co-occurrence Matrix,T-GLCM)和Tamura融合的纹理特征提取算法,不仅解决了单一的纹理提取算法不能准确地描述图像纹理的问题,而且改进的T-GLCM算子还提升了传统灰度共生矩阵的旋转不变性,并减少了冗余信息.利用 Tamura纹理特征对图像进行量化,然后将各特征区域量化后级联成一组特征向量,融合T-GLCM的纹理特征,最后将融合的特征矩阵输入支持向量机(SVM)[8],通过SVM对纹理材质进行分类.选择Brodatz纹理库中的图像,通过实验验证,结果表明本文提出的方法在提高纹理特征提取效率的同时保证了较强的鲁棒性,提取的精度较传统算法更高.
本文提出的算法流程如图1所示.首先,对输入的图像进行gamma校正,再将校正后的图像进行自适应对比度增强算法(ACE)处理,以此提高图像对比度.然后使用基于T-GLCM和Tamura融合的特征提取方法,对处理后的图像进行纹理特征提取并生成特征矩阵.最后利用支持向量机(SVM)对不同材质的纹理信息进行分类识别,以此来获取8种不同材质的纹理特征信息,本文选用的8种材质分别为:木板、铝箔、大理石、棉布、饼干、树叶、丝绸、砂纸.
gamma校正[9]又称幂律变换,跟对数变换类似,是一种非线性补偿函数.gamma校正是将部分灰度区域映射到更宽或更窄的区域以达到增强图像的效果,目的是校正图像的亮度偏差,从而减少因图像亮度偏差对纹理提取精度的影响,其方法是对输入图像的灰度值进行指数变换.gamma校正的表达式为
(1)
其中,A为常数,Vin为原图像中像素点的像素值,Vout为校正后图像的像素值,γ为校正值.γ值的不同将直接影响对图像亮度质量的改善效果.γ小于1时,图像的灰度值增加,亮度提高对比度增强;γ大于1时,图像的灰度值减小,亮度下降,但对比度在一定程度上也会达到增强的效果.
自适应对比度增强[10]采用反锐化掩膜技术,主要是把图像分为低频的反锐化掩膜以及高频部分,用原图减去反锐化掩膜获取高频部分,最后将高频部分加入反锐化掩膜并加上增益系数G(i,j),得到增强的图像.
设x(i,j)是原像素,通过自适应对比度增强后的像素值为
f(i,j)=mx(i,j)+G(i,j)[x(i,j)-mx(i,j)].
(2)
获取图像的反锐化掩膜即低频部分可以通过图像中心各像素点为中心的局部区域的像素平均值求得,中心像素点的低频部分的像素值可以通过下式计算得到:
(3)
其中,(i,j)、(k,l)分别为像素点和像素点周围邻域的坐标.
局部增益G(i,j)的值是恒大于1的,所以[x(i,j)-mx(i,j)]就会变大,局部增益的计算公式如下:
(4)
(5)
其中,σx(i,j)为局部均方差,D为一个常数,它的值可以选择全局平均值或者是全局均方差,本文的D取值为图像的全局均方差.
为了提高纹理特征分类的精准度,对经过gamma校正和自适应对比度增强的图像使用基于T-GLCM和Tamura融合的特征提取方法对图像纹理特征进行提取并生成特征矩阵.
1.3.1 基于GLCM特征提取
灰度共生矩阵(GLCM)[11]在统计图像分析中得到了广泛的应用,GLCM常用的纹理特征统计量有14个,经常采用的有以下4种特征统计量:
1)能量(ASM)是GLCM元素值的总和,反映图像纹理的粗细程度以及灰度分布的均匀程度,其量值记为A;
2)熵(ENT)表示图像纹理的不均匀性和复杂程度,其量值记为E;
3)对比度(CON)反映图像纹理沟纹的深浅程度,沟纹越深,对比度就越明显,其量值记为C;
4)逆差分矩(IDM)反映图像纹理的同质性,度量图像纹理的局部变化量,其量值记为I.
1.3.2 改进的灰度共生矩阵(T-GLCM)
直接采用传统的灰度共生矩阵(GLCM)存在一个问题,其特征值随旋转角度的改变而变化且存在大量冗余信息.为了解决传统GLCM存在的不足,提高特征提取的精度,本文提出了一种改进的灰度共生矩阵(T-GLCM).改进的灰度共生矩阵的具体方法如下:首先对传统的灰度共生矩阵(GLCM)进行转置操作后与GLCM取平均值得到G1;然后对G1从0°、45°、90°、135°四个方向上得到的各个矩阵进行相加取平均值得到最终的共生矩阵T-GLCM.
(6)
其中,G表示传统灰度共生矩阵,GT表示G的转置矩阵.式中得到的G1具有旋转不变性.
4个特征统计量可分别表示为
(7)
(8)
(9)
(10)
1.3.3 基于Tamura纹理特征提取
Tamura等[12]在深入研究图像纹理后,根据心理学观点,提出6个纹理特征成分,即对比度、方向度、粗糙度、线粒度、规则度和粗略度.本文应用对比度、方向度和粗糙度3个特征对图像纹理进行分析.
1)对比度:图像中最亮与最暗两部分的灰度之差就是对比度.对比度越大,图像更清晰,反之,对比度越小,效果越模糊.对比度的计算方法如下:
① 像素(x,y)的3×3邻域像素的平均值为
(11)
其中,f(i,j)为像素点,(i,j)为灰度值.
② 标准差为
(12)
③ 四阶矩为
(13)
④ 对比度为
(14)
2)方向度:图像中的纹理沿着某个方向呈现出某种形态,具有一定的方向性,它可以通过计算梯度向量来计算出方向度.计算步骤如下:
① 像素点(x,y)的梯度向量的模以及方向如下:
|ΔG(x,y)|=(|ΔH|+|ΔV|)/2,
(15)
(16)
其中,ΔH和ΔV分别表示对图像进行如式(17)卷积计算后在水平与垂直方向上的结果.
(17)
② 根据赵海英等[13]方法设定阈值t=12,像素点(x,y)的方向角d(x,y)计算公式如下:
(18)
③ 像素点(x,y)的3×3邻域所有像素的方向角均值:
(19)
④ 像素点(x,y)的方向角为
d′(x,y)=|d(x,y)-μ(x,y)|.
(20)
3)粗糙度:比对分析多种图像粗糙度的计算方法后表明,Tamura在表达图像粗糙度方面是最准确的.用线性量化代替指数量化又可以降低算法的复杂度.其计算步骤如下:
① 以像素(i,j)为中心,水平方向平均灰度方差为
En,u(i,j)=|An(i-n,j)-An(i+n,j)|.
(21)
② 垂直方向平均灰度方差为
En,v(i,j)=|An(i,j-n)-An(i,j+n)|,
(22)
其中,A(i,j)为平均灰度值,n为1,2,3,4,5.
③ 不分方向得到最大值:
Sbest(i,j)=max{En,m(i,j)|n∈[1,5],m=u,v}.
(23)
④ 以像素(i,j)为中心的3×3邻域平均粗糙度为
(24)
⑤ 像素粗糙度与平均粗糙度差的绝对值就是该像素的粗糙度度量.
1.3.4 纹理特征提取方法
本文提出的特征提取具体流程如下:
1)选取gamma校正对图像的亮度偏差进行校正,从而减少因图像亮度偏差对纹理提取精度的影响.
2)选取自适应对比度增强算法(ACE)对纹理图像进行预处理,提高原图像的对比度,得到对比度增强的纹理图像.
3)根据改进的灰度共生矩阵(T-GLCM)的4个统计量:特征能量(ASM)、熵(ENT)、对比度(CON)和逆差分矩(IDM)得到图像的特征信息.
4)使用Tamura算法通过对比度、方向度和粗糙度3个特征对图像纹理进行分析,并融合改进的灰度共生矩阵(T-GLCM)对图像纹理特征进行提取并生成特征矩阵.
本文选择的支持向量(SVM)[14]是一种在分类和回归的情况下进行预测的技术,在模式识别、分类和非线性回归方面得到了广泛的应用.支持向量机是一种与学习算法相关的监督模型,对于给定的一组训练集,每个不同的示例被标记为两个类别中的一个,SVM将新的示例分配给其中一个类别,使得其成为非概率二进制线性分类器.依赖于被称为结构风险最小化(SRM)的机制,利用支持向量机将输入向量映射到高维空间,计算两组样本之间的最佳分离超平面.SVM需要一组参数,包括支持向量机的类型、核函数的类型、罚因子和训练停止的标准.其中,SVM的核心是核函数.核函数的类型有很多,经过不断的研究表明,高斯径向基函数在纹理图像分类方面取得了较高的分类精度,并且高斯径向基函数计算复杂度低[15].其公式如下:
(25)
其中,x′是内核函数中心,σ是函数的宽度参数,控制函数的径向范围.
本文选择带高斯径向基函数的支持向量机对不同材质的纹理图像进行分类,而且系统采用网格搜索方法获得最优参数,以此提升训练精度,采用交叉验证方法来提高预测精度.
为了验证本文提出的算法能有效提高纹理特征提取的精度,选择Brodatz纹理库中的木板、铝箔、大理石、棉布、饼干、树叶、丝绸、砂纸8类纹理图像样本进行分类精度实验.图2为选择的8类纹理图像.
图2 选择的8类纹理图片Fig.2 Selected 8 types of texture images
选取的8类纹理图像大小均为640×640像素.共有训练样本560个,测试样本240个,其中每个种类的训练样本为70个,每个种类的测试样本为30个.采用K-means聚类算法[16],对三类数据集进行划分,提升运算的效率.
分别测试了T-GLCM、Tamura以及T-GLCM和Tamura融合特征的分类精度.对于 T-GLCM 算法,选择d=1,灰度等级为16,依据4个角度上的对比度、相关性、能量和逆差矩,得到16个参数的特征矩阵.对于Tamura算法,对图像进行量化,然后将各特征区域量化后级联成一组特征向量,融合T-GLCM的纹理特征提取粗糙度、对比度、方向度来描述图像.
方法1为通过Tamura算法得到的3个特征参数作为SVM的输入进行分类;方法2为通过改进的灰度共生矩阵(T-GLCM)得到的16个特征参数级联起来的矩阵作为纹理特征通过SVM分类;方法3是基于T-GLCM和Tamura融合特征的纹理材质分类方法.
1)实验1.为了验证本文算法的正确性,进行了对比实验,结果如图3所示.从图3可以看出,T-GLCM算法的整个样本的正确性高于Tamura,并且每种样本的准确率也高于 Tamura,两种算法相结合的正确性明显优于单一算法,且准确率可以达到97.1%.
图3 3种方法的准确率Fig.3 Classification accuracy comparison between three methods
2)实验2.为了验证本文改进的灰度共生矩阵(T-GLCM)与传统灰度共生矩阵(GLCM)在性能上是否有提升,将传两种算法的分类精度进行对比,分类的结果如图4所示,明显看出,本文提出的T-GLCM具有比传统灰度共生矩阵(GLCM)更高的分类精度.
图4 传统GLCM与T-GLCM准确率Fig.4 Classification accuracy comparison between traditional GLCM and T-GLCM
3)实验3.为了验证算法的鲁棒性,对测试集进行错误匹配实验,选取了3组,每组30张Brodatz纹理库中不同于样本的图像作为测试样本,测试错误图像是否会被划分到样本集中.3种方法均有一定程度的错误分类,主要是因为错误样本的纹理特征较为平滑,与样本棉布和砂纸容易混淆.据实验结果来看,Tamura的错误分类率最高,T-GLCM次之,本文方法的错误分类率最低.总体来说,本文提出的分类方法是准确可行的.
为了满足实际工程应用的需要,图像纹理特征提取分类算法的实时性是一个重要的指标.为了评估本文算法的实时性,将一个图像纹理特征提取分类的平均时耗作为衡量实时性的指标,并与其他一些算法进行比较,最终的结果如表1所示.
表1 本文提出的算法与其他算法的时间消耗对比
从表1可以看出,本文提出的算法与其他算法相比,在保证较高分类精度的情况下仍然具有较好的实时性.但与文献[19]相比识别速度上仍然有明显的不足,主要原因在于其仅仅利用位运算和很少的加法乘法就可以完成分类.总的来说,本文提出的算法仍是是一种高效的纹理特征提取分类算法.
为了进一步验证本文提出的图像纹理特征提取算法对于提高虚拟现实力触觉再现的真实性,现对基于原有的GLCM算法、Tamura算法和改进后的T-GLCM与Tamura融合算法的粗糙度特征分别进行力触觉渲染,即将提取出的纹理特征与反馈力建立映射关系,最后通过Geomagic Touch手控器感知图像的粗糙度.
本部分实验仍然选用图2中的8类纹理图像,实验过程如图6所示,受试者手持Geomagic Touch力反馈设备的操作杆在搭建的虚拟环境中与实验图像进行交互感知,通过力反馈设备反馈的力来感知图像纹理粗糙度.实验中每幅实验图像均已编号且随机出现,实验过程中对图像进行遮挡处理,图像本身不可见,当被试者感知完一幅图像后,需要从8幅真实的实验纹理图像中选出与自己感知相似度最大的一副图像,直至8幅实验纹理图像全部感知完毕,最终统计感知正确率.
图6 实验过程Fig.6 Screenshot of force haptic perception experiment
实验对象为20个在校学生(10个男生,10个女生),年龄均在21~26岁,且惯用手均为右手,没有使用过相关力反馈设备感知纹理图像的经验.最终的实验结果如图7所示,可以得出依据本文提出的纹理特征提取算法建立的力触觉渲染模型优于传统算法,提高了感知的真实性.
图7 3种算法的力触觉感知准确率Fig.7 Force haptic perception accuracy of three algorithms
本文主要研究了纹理特征的提取与分类,针对当前纹理特征提取方法中的计算效率低、鲁棒性差、提取精度低等问题,提出基于T-GLCM和Tamura融合特征的纹理材质分类方法.选择Brodatz纹理库中的图片,通过gamma校正与自适应对比度增强(ACE)处理再建立样本集与测试集,使用支持向量机(SVM)进行分类.由实验结果可以得出,融合的特征提取方法较单一的纹理提取方法更加高效、分类精度更高且鲁棒性也更好,而且可以对错误的图像进行有效的区分,实时性也满足实际工程应用的需要.
接下来将继续对T-GLCM算法进行研究,进一步优化算法,研究梯度方向的灰度共生矩阵,以此提高精准度.