时间:2024-05-04
侯 璇 李登峰
(武汉纺织大学数学与计算机学院 武汉 430200)
我国是纺织品生产大国,因此提高纺织品的疵点检测准确率对提高纺织品企业核心竞争力有重要意义。在织物生产中,织物疵点常采用人工检测的方式,但人工检测容易受到人主观情绪和检测环境的影响,从而造成检测结果不精确和检测困难的问题[1]。随着科技的发展,织物疵点检测的方式逐渐由传统的人工检测转向自动化检测。自动化检测的优势在于检测速度快,检测结果较为精准,且检测效果与人眼所注意的结果吻合度高。目前,用于织物疵点显著性特征检测的方法分为两大类。一类是自下向上的基于数据驱动的检测方法,一类是自上而下的任务驱动型检测方法[2]。基于数据驱动的检测方法是在没有先验知识的情况下,受数据驱动将人的视觉指导到场景中的例如颜色、亮度、边缘等,引起像素明显差异的显著区域,该类检测方法检测速度较快[3];基于任务驱动的检测方法是在监控任务下,从任务的角度出发,例如知识,预期和当前的目标,对任务目标有意识的进行自上向下的处理以提取需要的感兴趣的区域,该类方法检测速度较慢[4]。
LLE算法在织物疵点显著性特征检测中得到了广泛应用,它将高维输入数据点映射到全局低维坐标系,在完整保留有用信息完整性的同时除去大量冗余信息[5]。经典的LLE算法对织物疵点形状较为敏感,较为容易检测织物疵点,但光照因素会对实验结果造成较大影响。具有较好时频局部化特性的Gabor小波对光照不敏感,可以滤除光照对实验结果带来的影响,所以将Gabor小波应用于对织物疵点图像的滤波[6]。因此本文提出一种将Gabor滤波簇与监督LLE算法相结合的算法,用5个尺度和8个方向组成的40个滤波簇对织物图像进行滤波,以除去图像中噪声和光照等因素的影响。然后用改进的监督LLE算法对Gabor滤波后的高维特征进行降维,除去高维特征中冗余信息,同时保留完整的织物疵点特征,再用F-KNN方法对降维后的特征进行分类以检测织物疵点。最后,用本文提出的方法对规则和不规则的织物疵点分别进行织物疵点检测仿真实验,测试该算法对织物疵点的识别效果。
改进的监督LLE算法的流程如图1所示。首先通过Gabor滤波簇来提取织物疵点的特征,其次采用改进的监督LLE算法对提取的高维特征进行降维,然后采用F-KNN算法进行分类,最后得到识别结果。
图1 改进的监督LLE算法流程图
Gabor小波在时域和频域都具有良好的分辨能力且对光照不敏感[7],能在一定程度上减小光照因素对实验带来的影响,因此本文将Gabor小波作为滤波器。又Gabor滤波簇以Gabor小波作为基础,且能有效地提取图像多尺度下的局部方向特征,所以这里采用Gabor滤波簇作为滤波器,选取4、4、8、8、16五种波长和八个方向尺度组成的40个滤波器对每幅图片提取40个Gabor纹理特征。
Gabor滤波簇提取的特征维数较高,存在大量冗余信息,影响织物疵点检测的准确率。为降低高维特征,消除冗余,保留织物疵点的有效识别特征,需对高维特征进行降维处理。
2.3.1 LLE算法
LLE算法是由Roweis和Saul于2000年提出的,是一种非线性的在降维空间中能最大程度保留图像局部信息的一种局部线性流行性学习算法[8]。该算法的主要思想是先将高维数据用局部线性的方式进行表示,再将其在降维空间进行降维处理,尽可能地保持其局部线性所表示的有效特征的完整来实现降维过程[9]。LLE算法因其求解便捷的特性,被广泛应用于各个领域。
2.3.2 监督的LLE算法
LLE算法的降维效果虽然较好,但对样本类别信息的考虑并不十分周全。而监督的LLE算法不仅能够利用数据集中少量的类别信息,更能体现数据集的本征维数。监督LLE算法是在样本点与其邻域之间构造局部线性平面,并在此基础上建立优化目标函数[10]。
监督的LLE算法与传统LLE算法不同,它将所有样本分为训练集和测试集。对训练样本进行降维的过程,由于考虑到样本点间的类别信息[11],因此第一步需先计算两个样本之间的最大欧氏距离。假定D1表示计算后的距离,D表示两样本之间的距离,max(D)表示两类之间的最大欧氏距离,σ表示控制两个距离之间的参数,则D1=D+σmax(D)。求出样本间的距离后,确定各个数据点的k个近邻点,通过最小化目标函数可得到约束的权值矩阵w。根据权值矩阵w,通过最小化代价函数可计算出最优嵌入Y=(y1,y2,…,yn)。其次将所有高维样本点映射到低维空 间 ,其 损 失 函 数 ε()Y 为。当其取最小值时,可以求出 xi的输出向量 yi,当=I,则yij(j=1,2,3,…,k)是 yi的k个近邻点[12]。
测试样本集的降维方式与训练集存在较大差异。假定 X(d×N)为训练样本,Y(d×N)为训练样本降维后的样本,d为训练样本的维数,m为训练样本降维后的维数,N为训练样本的个数,X′为测试样本的集合,则测试样本集的算法通过以下三个步骤来实现:第一步:在测试样本中选取一个特征xa,将 xa加入 X矩阵,则该矩阵变为dx(N+1)矩阵。在训练样本中寻找 xa的k个近邻点,用d(xi,xj)=||xi-xj||计算两个样本之间的距离。第二步:计算 xa与其k个近邻点间的权值系数:,其中 xaj(j=1,2,3,…,k)是 xa的k个邻近点waj之间的权值。第三步:计算xa降维后的向量[13]。这样,就实现降维过程。
2.3.3 改进的监督LLE方法
传统的织物疵点检测由于对样本进行特征提取的过程产生了大量高维特征向量,为避免对高维特征进行统一的处理而忽略其中的有效信息。本文在监督的LLE算法的基础上提出一种非均匀的增量式LLE检测方法,该方法在监测数据流变化的同时,仍能在降维后完整保留高维特征的拓扑结构[14]。因此该降维方式充分利用了数据处理后的中间结果,不需重新对数据集进行计算,即可对检测集的样本进行识别[15]。该算法实现步骤如下:
1)为新样本特征向量寻找近邻点。用LLE算法的第一步找出xN+1的k个近邻点(j=(1 , 2,…,k ));
3)将与新样本特征向量对应的降维后的点求出。已知xN+1的近邻点xjN+1,对应的降维后的数据点为。 xN+1降维后的输出向量为 yN+1,,这样,改进的非均匀增量式LLE算法实现对高维特征降维。
KNN分类算法是一种将模糊理论与KNN算法相结合的快速分类算法[16]。该分类算法克服了KNN算法将最邻近样本之间的不同距离看成是等距离来进行分类,从而在样本分布不均匀时,影响分类精度的缺点[17]。F-KNN算法对该问题进行了改善,为每一个类别设置相应的隶属度,然后根据隶属度的大小来判定属于哪一个类别,而不是单纯的将某个样本判定为是否为某一类。同时,F-KNN算法在时间上有所优化,缩短了分类的时间。
本文将F-KNN算法引入作为分类器,该算法判定样本属于某类的依据是根据样本x对每个类别 j的隶属程度来判定的。当所选取的样本类别j隶属度最高时,则将 j作为最终的分类类别。但在该判定过程中会出现待分类样本对其中两个类别的隶属度相差不大的情况,这种情况下很难根据隶属程度来判断属于哪一个类别。因此,F-KNN算法设置了两极隶属度,当出现该种情况时,首先用一极隶属度来判定是否与结果类别相符合,若符合,则判定属于该类。如不符合,则用第二极隶属度做相应的判断。这种隶属度分极的方式使得分类结果更为准确。
F-KNN分类器的具体操作步骤是先输入待分类的数据样本x,按照分类所选取的分类指标将待分类样本分成 j类,并计算出每个样本与已知样本之间的相似度sim(x ,xi),取出相似度最大的前k个样本,然后计算样本x对每个类别 j的隶属度,最后根据隶属度的判定规则来做出判定。
设待分类数据x对类别 j的隶属度函数为
其中simdam为属于 j类的nj个邻居与xi的相似度之和,即
simk为k个邻居与xi的相似度之和,即
经过以上步骤分类成功,但当出现两个类别的隶属度相差不大,很难判定具体属于哪个类的时候,需用两极隶属度的方法来进行分类,其主要步骤如下:首先选择μ()x≥0.4的类别 j,其个数记为nμmj:
若nμmj=0,则 x不属于任何已知类型,此时生成一种新类,并将x标记为该类的样本;
若nμmj=1,则判定x属于类别 j;
若 nμmj=2 ,且 μj1(x) ≥μj2(x),判定x第一极属于 j1类,第二极属于 j2类。
该分类方法充分利用样本信息,同时从近邻的数量与质量两个方面考虑隶属程度。因此,该方法在样本分布不均匀时,仍能较好地体现样本的特点,且分类正确率较高。将该分类方法用于织物疵点的检测会使得织物疵点分类更准确,检测速度更快。
为了验证提出的算法有效性,这里对不规则和规则织物疵点进行检测,其中规则织物疵点分别是破洞、粗纬和油渍三种类型。实验机器配置为Intel Core 2.6GHz CPU,RAM 8.0G,在Windows 10平台上用Matlab2017进行仿真实验。图片大小为512pixel×512pixel。分别使用LLE算法、有监督的LLE算法及本文提出的方法进行实验。
针对不同类型的织物疵点,用上述三种算法进行检测,得到实验结果如下。
1)不规则织物疵点图片
2)破洞图片
3)粗纬图片
4)油渍图片
上面四组实验结果表明,本文提出改进的显著性特征识别方法对不规则织物疵点和破洞、粗纬以及油渍疵点都有较好的识别效果,显著突出了织物疵点,且与人眼视觉所观察到的基本一致。检测结果不仅边缘信息完整良好,且误检和漏检情况较少。实验充分利用Gabor小波的优势,对待检测图片进行Gabor滤波簇处理之后,使显著性特征受噪声、光照等因素影响的效果较小,且检测结果与原检测图的分辨率相同。
表1 对不同类型织物疵点图像进行检测的精确度
从上表可看出,改进的监督LLE算法相对于有监督LLE算法和LLE算法,其检测精度都有较大提高。
表2 三种算法对织物疵点检测的时间比较
在实际应用中,检测速度是织物检测的一项重要指标。从上表可知,本文提出的算法运行时间最短,检测速度最快。其主要原因是该算法可以准确地找到显著的有用特征,有效降低特征维数,消除了其中大量的无用、冗余特征。
本文用Gabor滤波簇对织物疵点特征进行提取,再用改进的监督LLE算法进行数据降维。LLE算法与监督的LLE算法在织物疵点检测的过程中都有较好的降维效果,但LLE算法对样本分类信息考虑不完全,监督的LLE算法检测时间较长,效率较低。本文针对这个问题,提出了一种改进的监督LLE算法,其检测准确率高于其他算法,同时时间性能也更具有优势。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!