基于灰度梯度共生矩阵和SVDD的织物疵点检测

2018-09-10 13:42王孟涛李岳阳杜帅蒋高明罗海驰
丝绸 2018年12期

王孟涛 李岳阳 杜帅 蒋高明 罗海驰

摘要: 织物疵点检测是现代纺织工业产品质量控制中的关键环节之一,对保证纺织品质量具有重要的现实意义。文章基于此提出一种灰度梯度共生矩阵(GGCM)和单分类器(SVDD)结合的检测方法。该方法首先对织物原图像采用自适应中值滤波、同态滤波进行预处理,以消除图像上的光照不匀和噪声等影响,然后利用灰度梯度共生矩阵对预处理后的图像提取15个特征值并组成特征向量,经归一化后送入到单分类器SVDD中训练和测试。实验结果表明:使用此方法进行疵点检测,检验正确率达97%,漏检率为4.5%和误检率为1.4%,具有很好的检测效果。

关键词: 疵点检测;SVDD;GGCM;自适应中值滤波;同态滤波

Fabric defect detection based on gray level gradient co occurrence matrix and SVDD

WANG Mengtao, LI Yueyang, DU Shuai, JIANG Gaoming, LUO Haichi

(Engineering Research Center for Knitting Technology Ministry of Education, Jiangnan University, Wuxi 214122, China)

Abstract: Fabric defect detection is one of the key links in the quality control of modern textile industry products, and has important practical significance for ensuring the quality of textiles. Based on this, a detection method combining gray level gradient co occurrence matrix (GGCM) and single classifier (SVDD) is proposed in this paper. In the method, firstly, adaptive median filtering and homomorphic filtering were used to preprocess the original fabric image to eliminate the impacts of illumination unevenness and noise on the image, and then GGCM was used to extract 15 eigenvalues from the images after preprocessing. The eigenvalues were then combined to form a feature vector which was normalized and sent to the single classifier SVDD for training and testing. The experimental results showed that: with this method for defect detection, the test accuracy rate could reach 97%, and the missed detection rate and the false detection rate were 4.5% and 1.4%, respectively. Thus, the proposed method has a very good detection effect.

Key words: defect detection; support vector domain description; gray level gradient co occurrence matrix; adaptive median filtering; homomorphic filtering

近十年來,先进的计算机和人工智能技术为纺织企业注入了新的活力,基于机器视觉的织物疵点自动检测是众多学者研究的热点之一。织物疵点检测是纺织品质量控制的关键环节,出现疵点的纺织品将严重影响其价格,可导致产品价格下降45%~65%[1]。目前绝大多数的纺织企业中织物疵点都是由检验人员完成的。由于检测劳动强度大,考虑到人为因素的影响,检测效率低,漏检率较高,缺乏可靠性。因此,织物疵点的自动化检测是纺织企业生产中产品质量控制的必然趋势。

织物疵点自动检测,被许多从事此领域的研究人员认为是一个非常艰巨的任务,归结起来主要有两个问题[2]:一是没有通用性的特征;二是一个典型的一类分类问题。由于存在各种织物疵点类型,并且在织物织造过程中,光源的不稳定和车间环境的复杂性,因此要确定一个能够检测大多数疵点的特征是较为困难的;一类分类也称为新颖性检测或异常值检测,被广泛应用于异常检测[3 4]、故障诊断[5]和样本聚类[6]等多个方向。据Markou等[7]的研究可知,单分类问题是属于无监督学习范畴。然而在传统的两分类问题中,正负两类样本可以为最终决策函数提供有力的支持,比如王鹤翔[8]、吴哲[9]和Kumar等[10]采用传统的支持向量机(support vector machine, SVM)来检测常见的织物疵点。但是发现传统的支持向量机训练时需要大量正常织物和疵点织物图像,而在现实生产过程中疵点图像获取较为困难。鉴于此问题,Tax等[11 12]在1999和2004年开发出一种支持向量数据描述(support vector domain description,SVDD),与此同时Schokopf[13]在2001年也提出了一类支持向量机(one class SVM,OCSVM),两者都可以应用到单分类问题中。虽然已有一些关于传统支持向量机应用到织物疵点检测中的研究,但是关于单分类SVDD和OCSVM在织物疵点上的应用还是很少的。

由于传统支持向量机训练时需要大量的正负样本,为避免这一问题,本文提出了一种基于灰度梯度共生矩阵和单分类器SVDD的疵点检测方法,包括图像预处理、图像特征提取与处理和分类器分类识别三部分。

1 图像预处理

由于获取织物图像时,不可避免地会出现光照不匀、相机抖动和车间内的飞花等一些干扰因素的影响。获得的织物图像存在一定噪声,如不处理直接对织物图像提取特征,这就会造成分类器对疵点识别率低或错分等后果,因此图像预处理是模式识别中必不可少的环节。本文采用自适应中值滤波法对原图像进行去噪,然后使用同态滤波法对去噪后的图像进行增强,并消除局部纹理对后续特征提取的影响。

1.1 自适应中值滤波

由于传统的中值滤波器的窗口大小是固定不变的,不能同时兼顾去噪和保护图像细节,因此邓秀勤等[14]在中值滤波基础之上作了改进,提出一种加权的自适应中值滤波算法。

自适应中值滤波法的原理是:根据噪声密度的影响来改变滤波窗口大小,对噪声点和信号点采取不同的操作,对噪声点采取中值滤波,对信号点保留其灰度值。

设Z(x,y)是点(x,y)处的灰度值,A(x,y)为当前工作窗口,Zmin、Zmax和Zmed分别是A(x,y)的灰度最小值、最大值和中值,Amax为预设的最大窗口。

自适应中值滤波算法可以分为两个进程:A进程和B进程。

A进程:

A1=Zmed-Zmin,Z2=Zmed-Zmax(1)

如果A1>0且A2<0,则转至B进程;否则,增加窗口的尺寸;如果A(x,y)≤Amax,则重复A进程,否则输出Zmed。

B进程:

B1=Z(x,y)-Zmin,B2=Z(x,y)-Zmax(2)

如果B1>0且B2<0,则输出Z(x,y),反之输出Zmed。

本文选取的织物图像大小为512pixel×512pixel,初始预设的窗口大小为3,然后采用自适应中值滤波对图像进行滤波去噪,去噪效果如图1所示。

1.2 同态滤波

同态滤波是把图像的灰度变换和频率过滤相结合的图像处理方法,通过增强图像的对比度和调整图像的灰度范围以改善图像质量。

同态滤波器的原理:对于一副图像f(x,y)是由照度函数i(x,y)和反射函数r(x,y)的乘积组成的,即:

f(x,y)=i(x,y)r(x,y)(3)

同态滤波算法的流程如图2所示。

根据图2,选择同态滤波函数H(u,v)为高斯同态滤波,参数设置:高频rh为4.7,低频rl为0.5,处理后的效果如图3所示。

2 特征提取

图像识别实际上是一个分类的过程,为了识别出某图像所属的类别,本文需要将它与其他不同类别的图像区分开来。这就要求选取的特征不仅要能够很好地描述图像纹理,更重要的是还要能够很好地区分不同类别的图像。因此,本文选取灰度梯度共生矩阵作为本文的特征提取方法,并与灰度差分、灰度共生矩阵两种方法作对比。

2.1 灰度梯度共生矩阵

灰度梯度共生矩阵(gray gradient co occurrence matrix,GGCM)[8]反映一幅图像各像素点的灰度和梯度的关系,图像的灰度是其构成的基础,而梯度则是构成图像边缘轮廓的主要元素,将二者结合起来使用,能够很好地表征图像的纹理特征。

2.2 图像的灰度和梯度的正规化

正规化的目的是在保证对图像纹理特征无影响的情况下,通过对灰度和梯度的正规化,以减少提取特征时的计算量。

图像灰度的正规化:

F(K,L)=INTf(K,L)×nf/fm(4)

式中:INT為取整运算;f(K,L)为当前图像的灰度值;fm为图像的灰度最大值;nf为正规后希望的最大灰度值,本文取32。

图像梯度的正规化:

T(K,L)=INTt(K,L)×nt/tm+1(5)

式中:INT为取整运算;t(K,L)当前图像的梯度值;tm为图像的梯度最大值;nt为正规后希望的最大梯度值,本文取32。

经正规化的灰度F(K,L)和梯度T(K,L),则可以计算灰度梯度共生矩阵。

2.3 计算灰度梯度共生矩阵

图像的灰度F(K,L)和梯度T(K,L)经过正规化后,然后统计同时使F(K,L)=i和T(K,L)=j成立的像素点数,这个统计值即是共生矩阵A在点(i,j)的像素值A(i,j),在此处的共生矩阵A的概率:

pij=cij/∑i∑jcij(6)

2.4 基于灰度梯度共生矩阵的图像特征提取

计算出灰度梯度共生矩阵之后,就能计算能够描述图像纹理的统计量,本文选取GGCM的15个统计特性,包括小梯度优势(T1)、大梯度优势(T2)、灰度分布的均匀性(T3)、梯度分布不均匀性(T4)、能量(T5)、灰度平均(T6)、梯度平均(T7)、灰度均方差(T8)、梯度均方差(T9)、相关性(T10)、灰度熵(T11)、梯度熵(T12)、混合熵(T13)、惯性(T14)和逆差矩(T15)。

由灰度梯度共生矩阵的15个特征组成灰度图像纹理特征向量,记作T:

T=[T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15](7)

为了便于后续分类器的分类和识别,需将获得的特征向量进行归一化,本文采取的归一化方法是所用MATLAB自带的mapminmax()函数,将所有特征向量归一到[0,1]。

3 基于SVDD的织物疵点检测

3.1 SVDD主要思想

首先选择合适的核函数将训练样本映射到高维特征空间中,再在特征空间中寻找一个最优超球面将全部或绝大多数训练样本包含在超球内,然后对测试样本做相同的映射,如果测试样本落入到超球体内,则称此样本为正常点,反之,称为异常点。本文基于此思想,首先选择无疵点的图像,经过预处理、特征提取、归一化组成特征向量,通过核函数映射到高维特征空间中,训练一个只包含无疵点图像的Model(最优超球体),然后选取有疵点的图像去检测训练的超球体是否合理。

3.2 SVDD原理

对于给定的训练数据集xi={x1,x2,…,xi}∈RN,构造xi的超球体就转换为下式的最优化问题:

minR,c,ξiR2+c∑iξi(8)

s.t. ‖(xi)-a‖2≤R2+ξi,ξi≥0;i=1,2,3…n

式中:a与R分别是超球体的球心和半径,c是惩罚系数,ξi是松弛变量。

下式为式(8)的对偶形式:

minα∑ijαiαjk(xi,xj)-∑iαik(xi,xj)(9)

s.t.∑iαi=1,0≤αi≤c,i=1,2,…τ

k(x,y)=exp‖x-y‖22δ2(10)

式中:αi是拉格朗日乘子,k(x,y)是核函数,δ是高斯核函数的参数。

然后,由下式可计算出超球体的半径:

R2=1-2∑iαik(xi,x)+∑ijαiαjk(xi·xj)(11)

式中:x代表任一支持向量。

最后,用下式计算测试样本t与超球中心a的距离s:

s=1-2∑iαik(xi,t)+∑ijαiαjk(xi·xj)(12)

若s≤R,则可认为测试样本是正常点,反之可认为异常点。

3.3 基于SVDD的算法流程

本文基于SVDD的检测方法,具体步骤可以概括训练阶段和测试阶段两部分,算法流程图如图4所示。

3.4 算法实现

首先对有疵点和无疵点的图像进行预处理,消除图像上的光照不匀和噪声等影响,然后对预处理后的图像进行分割成一定大小的子图像,再对每一子图像提取特征值组成特征向量,为保证分类器分类的准确性和降低运算量,需对特征向量进行归一化,最后用SVDD分类器对特征向量进行训练和测试,给出分类结果。具体算法描述如下:

1)首先采用自适应中值滤波和同态滤波对织物原图像进行预处理。

2)然后采用图像分块算法把预处理后的图像分成64pixel×64pixel大小的子图像,其中包括训练样本506幅,测试样本300幅(包括有疵点样本144幅,无疵点样本156幅)。

3)利用灰度梯度共生矩阵(GGCM)分别对训练样本和测试样本提取15个特征值,归一化后组成特征向量,送入到分类器进行分类识别。为了验证GGCM提取的特征是最优,本文采用灰度差分统计法(GLDS)、灰度共生矩阵(GLCM)与之对比,来说明GGCM的特征是最优的。

用单分类器支持向量数据描述(SVDD)首先对506个训练样本的特征向量进行训练出一个模型,然后将300个测试样本(其中包括144个有疵点样本和156幅无疵点样本)的特征向量送入到SVDD训练好的模型中进行分类识别,最终给出分类的误检率、漏检率和分类的准确率。

4 结果与分析

4.1 评价指标

本文选取误检率(AR)、漏检率(MR)和检测正确率(CR)去衡量此检测算法的可靠性。其中:TP代表有疵点的测试样本被检测出疵点;TF代表有疵点的测试样本没有被检测出疵点;WP代表无疵点的样本被检测出疵点;WF代表无疵点的测试样本没有被检测出疵点;SP代表测试样本总数,SP1代表测试样本无疵点样本总数,SP2代表测试样本有疵点样本总数,则有:

AR=WPSP1(13)

MR=TFSP2(14)

CR=TP+WFSP(15)

4.2 檢验的织物疵点

为了验证本文提出算法的可行性,选取训练样本506个,全部为无疵点图像;测试样本300个,其中疵点样本144个,无疵点样本156个,大小均为64pixel×64pixel。实验的硬件环境CPU为2.50GHz,内存8G,操作系统Windows7专业版,软件为Matlab 2017a,在台湾大学林智仁(Lin Chih Jen)教授开发的LIBSVM SVDD工具箱上完成的。

首先利用三种特征提取方法分别对506幅训练样本和200幅测试样本提取特征,统计每一种方法所需时间,如表1所示。由于GGCM提取15个特征特性所花费的总时间为15.05s,而GLCM提取织物图像的能量、熵、惯性矩、相关性的均值和标准差8个统计量的总时间是38.09s,相当于GGCM的两倍多;灰度差分(GLDS)虽然花费的时间最少,但是它仅提取织物图像的4个特征统计量,并且计算方式过于简单,可信度不可靠。所以,灰度梯度共生矩阵提取特征最合理。

然后将分别属于训练样本和测试样本归一化后的特征向量,送入到分类器进行分类识别。由于本文采用的是LIBSVM SVDD工具箱,因此只需要设置合适的参数就可以训练模型,参数设置为‘-s5-t2-c。其中‘-s代表选择SVM的类型,具体表示类型如表2所示;‘-t代表选择核函数的类型,如表3所示。

‘-c是分类器SVDD一个最重要参数,叫做惩罚参数,控制超球体体积和描述误差,且v=1/nc,v是控制错分比例参数。较大的c意味着训练的超球体就越大,绝大多数的训练样本包含在超球体内,随着c的减小,超球体的体积就减小,这时就会将那些松散且距离超球中心的样本点排除在外,提高分类器的分类精度。本文选取的SVM类型是SVDD,核函数是径向基和函数RBF,其中核函数中参数对超球分类精度影响也较大,较小的σ会使映射后超球分界面较为复杂,需要大量的支持向量机进行描述,因此分类精度高,但泛化能力较差;然而随着σ增大,分类精度会减小,但是泛化能力会增强。

表4采用灰度差分统计法(GLDS)和灰度共生矩阵(GLCM)两种特征来描述织物纹理特征,与本文所采用的灰度梯度共生矩阵(GGCM)的特征相比较,分别将相应的特征向量送入到分类器SVDD模型中,其中‘-c參数设置为0.0021,进行训练和测试,最后给出实验结果。

从表4可以看出,使用本文所提出的方法进行织物疵点检测,检测正确率达97.0%,漏检率和误检率都相对较低,分别为4.5%和1.4%,相比较传统的灰度共生矩阵有所提高。这是因为灰度梯度共生矩阵在灰度共生矩阵的基础上有加上梯度这一信息,能够更加合理地描述织物纹理。

最后给出几幅织物图像疵点检测结果,演示的每行都是检测一个大小为512pixel×512pixel织物疵点图像,其对应的实际织物尺寸为2592pixel×80pixel,如图5所示。第一列是织物原图像的灰度图像,第二列是经过预处理后的图像,第三列显示的是相应的疵点检测结果,其中有交叉的网格代表被本文所提出的算法所识别出来的大小为64pixel×64pixel的疵点样本。

5 结 语

本文提出的基于灰度梯度共生矩阵和支持向量数据描述(SVDD)的织物疵点检测方法,其优点避免了传统两分类或者多分类(负样本)获取困难的问题。采用灰度梯度共生矩阵提取样本特征,相比较于共生矩阵在像素灰度信息的基础上又添加梯度信息,能够更好地描述织物纹理。实验结果表明:用本文提出的织物疵点检测方法进行织物疵点检测,正确率达97%,漏检率和误检率分别为4.5%和1.4%。但是还存在一定的不足:本文缺少对SVDD分类器参数的优化,提取的特征没有考虑频率域的特征,这些有待下一步研究。

参考文献:

[1]MARK L, PENG P. Detecting defects in textile fabrics with optimal Gabor filters [J]. International Journal of Computer Science, 2006, 1(4): 274 282.

[2]BU H G, WANG J, HUANG X B. Fabric defect detection based on multiple fractal features and support vector data description [J]. Engineering Applications of Artificial Intelligence, 2009(22): 224 235.

[3]WANGS, YU J, LAPIRA E, et al. A modified support vector data description based novelty detection approach for machinery components [J]. Applied Soft Computing, 2012, 13: 1193 1205.

[4]LIUB, XIAOY S, CAO L B, et al. SVDD based outlier detection on uncertain data [J]. Knowledge and Information Systems, 2013, 34(3): 597 618.

[5]敬人可, 李建增, 周海林. 聚类分析在缺陷分类中的应用[J]. 国外电子测量技术, 2012, 31(10): 55 58.

JING Renke, LI Jianzeng, ZHOU Hailin. The application of cluster analysis in defect classification[J]. Foreign Electronic Measurement Technology, 2012, 31(10): 55 58.

[6]NIAZMARDI S, HOMAYOUNI S, SAFARI A. An improved FCM algorithm based on the SVVD for uns uper vised hyperspectral data classification [J]. IEEE Journal of Selected Topics in Applied Earth Bservations and Remote Sensing, 2013, 6(2): 831 839.

[7]MARKOU M, SINGH S. Novelty detection: a review—part 2: neural network based approaches [J]. Signal Processing, 2003, 83(12): 2499 2521.

[8]王鹤翔. 基于小波变换和SVM的织物疵点检测与分类[D]. 上海: 东华大学, 2015.

WANG Hexiang. Fabric Defect Detection and Classification Based on Wavelet Transform and SVM [D]. Shanghai: Donghua University, 2015.

[9]吴哲. 基于小波分析与SVM的织物疵点识别分类算法的研究[D].泉州: 华侨大学, 2016.

WU Zhe. Research on Fabric Defect Recognition Algorithm Based on Wavelet Analysis and SVM [D]. Quanzhou: Huaqiao University, 2016.

[10]KUMAR, SHEN. Texture inspection for defects using neural networks and support vector machines [J]. IEEE Proceedings of the International Conference on Image Processing, 2002(3): 353 356.

[11]TAX, DUIN. Support vector domain description [J]. Pattern Recognition Letters, 1999(20): 1191 1199.

[12]TAX, DUIN. Support vector data description [J]. Machine Learning, 2004(54): 45 66.

[13]SCHOLKOPF B, PLATT J C, SHAWE TAYLOR J, et al. Estimating the support of a high dimensional distribution [J]. Neural Computation, 2001, 13(7): 1443 1471.

[14]邓秀勤, 熊勇, 彭宏. 一种有效的自适应加权中值滤波算法[J]. 计算机工程与应用, 2009, 45(35) : 186 187.

DENG Xiuqin, XIONG Yong, PENG Hong. Effective adaptive weighted median filter algorithm[J]. Computer Engineering and Applications, 2009, 45(35) : 186 187.