基于非下采样轮廓波变换和朴素贝叶斯分类器的织物缺陷检测
郝磐霞, 景军锋, 张蕾, 张宏伟, 王晓华     
西安工程大学 电子信息学院, 陕西 西安 710048
摘要:为检测织物生产过程中产生的缺陷,提出一种非下采样轮廓波变换(nonsubsampled contourlet transform,NSCT)和朴素贝叶斯分类器(naive Bayes classifier,NBC)相结合的缺陷检测算法。该方法分为2个阶段:学习阶段和检测阶段.在学习阶段,分别提取有缺陷和无缺陷织物的子块集合,首先利用NSCT进行滤波去噪;然后提取每个子块的广义高斯分布的混合(mixture of the generalized Gaussion distribution,MoGG)模型,并计算子块之间的相对熵(kullback-leibler divergence,KLD);最后利用得到的数据训练NBC.在检测阶段,将待检测图像分割成子块,利用经过训练的NBC检测子块,输出缺陷检测结果.实验结果表明,该算法对于灰度均匀织物及净色纹理织物的缺陷检测均具有良好效果,并且利用该算法可以检测出多种缺陷类型,检测精度可达到97%,能满足工业生产需求。
关键词非下采样轮廓波变换     朴素贝叶斯分类器     广义高斯分布的混合模型    
Fabric defect detection based on NSCT and naive Bayes classifier
HAO Panxia, JING Junfeng, ZHANG Lei, ZHANG Hongwei, WANG Xiaohua     
School of Electronics and Information, Xi'an Polytechnic University, Xi'an 710048, China
Abstract: In order to detect fabric defects that generated during the production process, the algorithm which combines Naive Bayesian classifier (NBC) and nonsubsampled Contourlet transform (NSCT) is presented.The proposed approach is divided into two phases:the learning phase and detection phase. In the learning phase, sub-blocks of defects and defect-free fabric are extracted, respectively. Firstly, NSCT is used to filter and denoise the image. Then, the mixture of the generalized Gaussian distribution (MoGG) model of each sub-block is extracted, and the Kullback-Leibler divergence (KLD) between the sub-blocks is calculated. Finally, NBC is trained by the obtained data. In the detection phase, the detected image is divided into sub-blocks. The trained NBC is used to detect the sub-blocks, and the defect detection results are output. Experiment results show that the algorithm of the defect detection has a good effect for the uniform gray and color textured fabric and can detect many kinds of fabric defects. The detection accuracy can reach 97% which can meet demand of industrial production.
Key words: NSCT     naive Bayesian classifier     mixture of the generalized Gaussian distribution (MoGG) model    
0 引言

纺织品生产中, 织物缺陷检测是质量控制的重要环节[1].传统的检测方法以人工检测为主, 受检测人员的主观因素影响大, 准确率低.为了提高检测精度、缩短检测时间、提高生产效率, 纺织品的自动缺陷检测算法的研究倍受关注.

近几年, 国内外的研究学者为此已经开展了大量的研究工作并从中取得一些研究成果.缺陷检测算法大致分为四大类:统计法、结构法、频域法和基于模型的方法.基于统计的缺陷检测算法如Sezer等[2]使用独立分量分析提取子块特征以检测缺陷, 该方法仅适用于灰度均匀的纹理织物;结构法基于纹理基元及排列规则提取特征参数[3], 由于织物纹理结构易变形及纹理多样性, 不能实现织物缺陷的快速自动检测;基于模型的缺陷检测算法常用模型主要包含马尔科夫随机场模型、自回归模型、分形模型等, 模型的参数估计仍是利用模型法对织物进行缺陷检测的难点所在[4];基于频域的算法因其计算的简便性运用广泛, 如Chan和Pang [5]采用傅立叶分析来定位灰度图像缺陷;Kumar和Pang [6]利用多通道Gabor滤波器和有监督学习方法对有纹理的材质进行缺陷检测,由于Gabor滤波器需要大量的计算, 不同信息通道的最佳融合仍然是难以解决的问题; Ngan等[7]将小波变换用于检测和定位不同类型的纹理缺陷, 然而该方法采用手动选取的自适应阈值方法, 有一定局限性.

针对上述问题, 文中提出一种NSCT和NBC相结合的缺陷检测算法.利用该算法对灰度均匀织物以及净色纹理织物进行缺陷检测, 实验证明, 提出的算法具有较高的准确性和适用性.

1 特征提取 1.1 NSCT

小波变换在时域和频域同时具有良好的局部化特点, 但是小波变换只存在3个方向, 会显著影响其在图像处理领域的应用效果, 因此多尺度几何分析理论正在逐步发展.轮廓波变换[8-9]是利用拉普拉斯金字塔分解和方向滤波器组相结合的一种多分辨率、多方向性的图像表示方法, 该方法可以捕获到自然图像的定向信息.由于轮廓波变换采用下采样操作, 因此变换后的图像缺乏平移不变性, 利用阈值对图像进行滤波去噪时, 会导致奇点附近产生伪吉布斯现象[10].

为了弥补上述缺点, Cunha等提出NSCT[11].该方法是由非下采样金字塔(nonsubsampled pyramid, NSP)和非下采样方向滤波器组(nonsubsampled directional filter bank, NSDFB)相结合, 通过迭代非下采样滤波器组获得平移不变、多尺度、多方向特性, 能够有效表达图像的纹理特征.首先由NSP对输入图像进行塔形分解, 分解为高频子带和低频子带.然后由NSDFB将高频子带分解为多个方向子带, 低频子带继续进行上述分解.NSCT原理示意图如图 1所示.

图 1 NSCT原理示意图 Fig.1 Schematic of NSCT
1.2 MoGG模型

当一个随机变量xR时, 广义高斯分布(generalized Gaussian distribution, GGD)的概率密度函数(probability density function, PDF)[12]如式(1)~(3) 所示.

$ p\left( {x\left| {\mu, \sigma, \beta } \right.} \right) = \left( {\beta \sqrt {\frac{{\mathit{\Gamma }\left( {3/\beta } \right)}}{{\mathit{\Gamma }\left( {1/\beta } \right)}}} /2\sigma \mathit{\Gamma }\left( {1/\beta } \right)} \right)\exp \left( { - A\left( \beta \right) {{\left| {\frac{{x - \mu }}{\sigma }} \right|}^\beta }} \right), $ (1)
$ A\left( \beta \right) = {\left[{\frac{{\mathit{\Gamma }\left( {3/\beta } \right)}}{{\mathit{\Gamma }\left( {1/\beta } \right)}}} \right]^{\beta /2}}, $ (2)
$ \mathit{\Gamma }\left( X \right) = \int_0^\infty {{\tau ^{x - 1}}\exp \left( { - \tau } \right){\rm{d}}\tau } . $ (3)

式中:Γ(·)表示Gamma函数, μσ分别是GGD的平均值和标准差.β是决定PDF峰度值的形状参数.当β→∞时, 趋于均匀分布; 当β→0时, PDF的分布趋于以μ为中心的三角函数; 当β=2时, 广义高斯分布为高斯分布.

Allili等[13]提出一种MoGG模型用来处理多模态数据.当数据样本x=(x1, x2, …, xn)时, x的边缘分布为MoGG模型, 给定K个分量的MoGG模型如公式(4)~(6) 所示.

$ p\left( {x\left| \theta \right.} \right) = \sum\limits_{i = 1}^K {{\pi _i}p\left( {x\left| {{\mu _i}, {\sigma _i}, {\beta _i}} \right.} \right)} . $ (4)
$ \theta = \left\{ {{\pi _i}, {\mu _i}, {\sigma _i}, {\beta _i}, i = 1, 2, \cdots, K} \right\}, $ (5)
$ \sum\limits_{i = 1}^K {{\pi _i} = 1, 0 < {\pi _i} \le 1} . $ (6)

MoGG模型选择和参数估计[14]是利用最小消息长度(MML, minimum message length)方法来实现一种完全无监督模式的选择[15], 选择能够产生整体消息长度最小的参数为模型.在模型复杂性和给定数据样本x=(x1, x2, …, xn)的拟合精度之间, MML方法提供了一种最优的平衡, 如式(7) 所示.

$ MessL = - \ln p\left( {\bar \theta } \right) + \frac{1}{2}\ln \left| {I\left( {\bar \theta } \right)} \right| + \frac{c}{2}\left( {1 + \ln \frac{1}{{12}}} \right) - \ln p\left( {\frac{x}{{\bar \theta }}} \right). $ (7)

其中, p(θ)表示参数θ的先验分布, l(θ)表示Fisher信息矩阵, $p\left( {\frac{x}{{\bar \theta }}} \right) $表示数据的可能性, c=4K表示混合模型中的参数总数.

1.3 KLD

KLD是两个概率分布PQ之间差异的一种非对称度量.当一个随机变量xR时, 两个概率分布之间的KLD定义如公式(8) 和(9) 所示.

$ {\rm{KLD}}\left( {P\left\| Q \right.} \right) = \int {P\left( x \right)\ln \left( {\frac{{P\left( x \right)}}{{Q\left( x \right)}}} \right){\rm{d}}x}, $ (8)
$ P\left( x \right) = \sum\limits_{i = 1}^K {{\pi _i}p\left( {x\left| {{\theta _i}} \right.} \right)}, Q\left( x \right) = \sum\limits_{j = 1}^K {{\pi _j}q\left( {x\left| {{\theta _j}} \right.} \right)} . $ (9)

当给定数据样本x=(x1, x2, …, xn)时, MoGG模型具有多个参数, 因此本文使用蒙特卡洛采样方法近似求解KLD[16], 由式(10) 给出.

$ {\rm{KL}}{{\rm{D}}_{mc}}\left( {P\left\| Q \right.} \right) = \frac{1}{n}\sum\limits_{i = 1}^K {\ln \left( {\frac{{P\left( x_i \right)}}{{Q\left( x_i \right)}}} \right)} \approx {}_{n \to \infty }{\rm{KLD}}\left( {P\left\| Q \right.} \right). $ (10)
2 缺陷检测 2.1 NBC

NBC是一种基于有监督学习的概率分类器[17], 其假设每个特征属性对于给定类标记的影响独立于其他特征属性.

NBC将训练集作为输入, 训练集中的每一个样本特征向量包括自身特征属性和所属类别, 具体形式为{a1, a2, …, am, c}, 其中, a1, a2, …, am表示样本的m个特征属性取值, cC为该训练样本的类标记, C为一有限集合.由于各特征属性值是独立的[18], 所以朴素贝叶斯假设如式(11) 所示.

$ P\left( {{a_1}, {a_2}, \cdots, {a_m}\left| c \right.} \right) = \prod\limits_{j = 1}^m {P\left( {{a_j}\left| c \right.} \right)} . $ (11)

对于待分类新样本x, 给定描述样本的特征属性值为{a1, a2, …, am}, 得到最可能的类标记c(x), 则朴素贝叶斯的分类公式可表示为式(12).

$ c\left( x \right)\mathop {\arg \max }\limits_{c \in C} P\left( c \right)\prod\limits_{j = 1}^m {P\left( {{a_j}\left| c \right.} \right)} . $ (12)

式中, ajx的第j个属性值, P(c)和P(aj|c)可以通过计算训练集中不同类和特征属性值组合的出现频率来简单计算, 如式(13) 和(14) 所示.

$ P\left( c \right) = \sum\limits_{i = 1}^n {\delta \left( {{c_i}, c} \right)/n}, $ (13)
$ p\left( {{a_j}\left| c \right.} \right) = \left( {\sum\limits_{i = 1}^n {\delta \left( {{a_{ij}}, {a_j}} \right)\delta \left( {{c_i}, c} \right)} } \right)/\sum\limits_{i = 1}^n {\delta \left( {{c_i}, c} \right)} . $ (14)

其中, n为训练样本的个数, ci为第i个训练样本的类标记, aij为第i个训练样本的第j个特征属性值, 当ci=c时, 二值函数δ(ci, c)的值为1, 否则为0.

大多数情况下, 上述方法可以实现良好的概率估计, 但当接近零频频率的特征属性值出现时, 这种基于频率比例的估计方法会产生一个过低估计概率.针对该问题, 文中利用Laplace估计来平滑上述得到的概率, 平滑后概率如式(15) 和(16) 所示.

$ P\left( c \right) = \frac{{\sum\limits_{i = 1}^n {\delta \left( {{c_i}, c} \right)} + 1}}{{n + {n_c}}}, $ (15)
$ P\left( {{a_j}\left| c \right.} \right) = \left( {\sum\limits_{i = 1}^n {\delta \left( {{a_{ij}}, {a_j}} \right)\delta \left( {{c_i}, c} \right)} + 1} \right)/\left( {\sum\limits_{i = 1}^n {\delta \left( {{c_i}, c} \right)} + {n_j}} \right). $ (16)

式中, nc为类的个数, nj为训练样本第j个特征属性的取值个数.

综上所述, 朴素贝叶斯分类器算法逻辑简单, 分类过程易于实现, 对于不同的数据特点其分类性能差别不大, 模型健壮性较好.

2.2 算法流程

算法分为2个阶段,其流程图如图 2所示.

图 2 算法流程图 Fig.2 Flow chart of algorithm
2.2.1 学习阶段

(1) 提取有缺陷织物的子块集合Bd={Bd1, Bd2, …, Bdm}和无缺陷织物的子块集合Bf={Bf1, Bf2, …, Bfm};(2) 对所有子块进行非下采样轮廓波变换; (3) 提取每个子块的MoGG模型; (4) 选取一标准无缺陷子块Bds, 计算其与每个子块间的KLD系数, 得到特征集合KLDd={KLDd1, KLDd2, …, KLDdm}, KLDf={KLDf1, KLDf2, …, KLDfn}, (5) 利用得到的KLDd和KLDf训练朴素贝叶斯分类器; (6) 利用经过训练的朴素贝叶斯分类器对BdBf进行检测, 得到分类误差ε.

2.2.2 检测阶段

(1) 将待检测图像分割成与学习样本相同大小的子块; (2) 对所有子块进行非下采样轮廓波变换; (3) 提取每个子块的MoGG模型; (4) 计算Bd与每个子块之间的KLD系数, 得到特征集合KLDs; (5) 利用经过训练的朴素贝叶斯分类器对KLDs进行分类, 并输出缺陷检测结果.

3 结果与分析

实验选取TILDA织物纹理数据库中C1R1、C2R2两类织物样本和广州溢达纺织有限公司生产的净色织物进行检测, 仿真平台为Matlab R2011a.由于织物纹理和缺陷类型的差异, 针对C1R1、C2R2两类织物样本, 实验选取待检测织物图像大小为512×512像素, 分割子块大小为32×32像素, 缺陷类型包括破洞、经纬纱疵、接头、污渍、断头等.选取净色织物的待检测图像大小为256×256像素, 分割子块大小为16×16像素, 缺陷类型包括脱纬、接头、错色、带纱、污渍、棉球、骚损、破洞、密路等.

该算法包括学习阶段和检测阶段.首先在学习阶段分别提取三类织物的无缺陷织物子块集合, 以及包含所有类型缺陷的织物子块集合; 然后分别对两个集合进行特征提取; 最后根据提取的特征进行学习, 训练NBC.在检测阶段, 将待检测图像分割为和图像子块大小相同的子块, 提取出每一个子块的特征, 利用经过训练的NBC对子块进行分类, 分为有缺陷和无缺陷两类, 并输出缺陷检测图.由于该算法包含学习功能, 任一类型有缺陷子块特征都会与无缺陷子块特征有差异, 因此可以将不同类型的缺陷共同提取至有缺陷织物子块集合中, 并不需要对每一类缺陷进行单独提取特征.样本学习结果如表 1所示, 缺陷检测结果如图 3~5所示.

表 1 样本学习结果 Table 1 Learning results of samples
织物类型 m n 错分数 ε/%
C1R1 114 1 166 99 7.73
184 2 376 110 4.30
290 3 550 91 2.37
C2R2 79 1 201 76 5.94
92 2 468 77 3.01
108 3 752 55 1.43
净色织物 58 1 222 86 6.72
91 2 469 83 3.24
126 3 714 68 1.77
图 3 C1R1类缺陷检测结果 Fig.3 Defect detection results of class C1R1
图 4 C2R2类缺陷检测结果 Fig.4 Defect detection results of class C2R2
图 5 净色织物检测结果 Fig.5 Defect detection results of solid color fabric

表 1中, m, nε分别表示有缺陷、无缺陷子块数和样本分类误差.由表 1可知, 针对C1R1、C2R2和净色织物三类织物样本, 实验分别选取1 280、2 560和3 840个样本进行学习, 其缺陷检测精度分别可以达到92%, 95%, 97%.实验结果表明, 样本数量越多, 分类误差越小, 因此对于上述三类织物类型, 均选取3 840个样本用于训练NBC.利用NBC的分类方法, 缺陷检测精度可以达到97%.

图 3~5均为部分实验结果.图 3图 4中, 第1行和第3行为有缺陷织物图像, 第2行和第4行为检测结果图像.图 5中, 第1, 3, 5行为有缺陷织物图像, 第2, 4, 6行为检测结果图像.通过图 3图 4可知, 该算法对于灰度均匀的图像检测结果良好, 不受织物纹理方向的影响.图 4(b)中待检测图像中出现两种完全不同类型的缺陷时, 利用该算法可以同时将两种缺陷类型检测出来.由图 5可知, 该算法对于不同颜色的净色织物均有良好的检测结果, 检测结果完整.由图 3~5的缺陷检测结果可知, 该算法不仅适用于灰度均匀的纹理织物, 对于净色纹理织物的缺陷检测也同样适用, 并且检测结果不受织物纹理方向影响.该算法对于破洞、错色、脱纬、接头、污渍、骚损、带纱、密路等多种缺陷类型均有良好的检测效果, 适用范围广泛, 检测精度高.

4 结论

针对灰度均匀织物和净色纹理织物的缺陷检测, 提出基于NSCT与NBC相结合的检测方法.该算法分为学习阶段和检测阶段, 对于同种织物, 只需在学习阶段进行一次学习, 就可得到训练好的NBC.因此在检测阶段可以直接利用训练好的NBC对后续待检测织物进行检测, 检测效率可大大提升.实验结果表明, 该算法能够有效提取织物纹理特征, 并对其进行分类.并且该算法不仅适用于灰度均匀的纹理织物, 对于净色纹理织物的缺陷检测也同样适用, 并且检测结果不受织物纹理方向影响.该算法可以成功检测多种类型的织物缺陷, 同时检测精度可达到97%, 进一步证实了该算法的有效性、适用性以及高精度特性, 能够满足工业生产需求, 未来可以将该算法应用在工业现场.

参考文献
[1] 韩其睿, 池楠. 编织物疵点检测及类型识别[J]. 计算机工程与应用, 2014, 50(21): 234-237
HAN Qirui, CHI Nan. Knitted fabric defect detection and type identification[J]. Computer Engineering and Applications, 2014, 50(21): 234-237 DOI:10.3778/j.issn.1002-8331.1401-0393
[2] SEZER O G, ERCIL A, ERTUZUN A. Using perceptual relation of regularity and anisotropy in the texture with independent component model for defect detection[J]. Pattern Recognition, 2007, 40(1): 121-133 DOI:10.1016/j.patcog.2006.05.023
[3] 祝双武, 郝重阳. 一种基于纹理方向性分析的织物疵点检测方法[J]. 西安工程大学学报, 2010, 24(3): 261-266
ZHU Shuangwu, HAO Chongyang. Fabric defect detection approach based on texture directionality analysis[J]. Journal of Xi'an Polytechnic University, 2010, 24(3): 261-266
[4] 刘绥美, 李鹏飞. 基于稀疏编码字典学习的疵点检测[J]. 西安工程大学学报, 2015, 29(5): 594-599
LIU Suimei, LI Pengfei. Defect detection based on sparse coding dictionary learning[J]. Journal of Xi'an Polytechnic University, 2015, 29(5): 594-599
[5] CHAN C, PANG G K H. Fabric defect detection by Fourier analysis[J]. IEEE Transactions on Industry Applications, 2000, 36(5): 1267-1276 DOI:10.1109/28.871274
[6] KUMAR A, PANG G K H. Defect detection in textured materials using Gabor filters[J]. IEEE Transactions on Industry Applications, 2002, 38(2): 425-440 DOI:10.1109/28.993164
[7] NGAN H Y T, PANG G K H, YUNG S P, et al. Wavelet based methods on patterned fabric defect detection[J]. Pattern Recognition, 2005, 38(4): 559-576 DOI:10.1016/j.patcog.2004.07.009
[8] DO M N, VETTERLI M. The contourlet transform:An efficient directional multiresolution image representation[J]. IEEE Transactions on Image Processing, 2005, 14(12): 2091-2106 DOI:10.1109/TIP.2005.859376
[9] DO M N, VETTERLI M.Contourlets:a directional multiresolution image representation[C]//Proceedings of the 2002 International Conference on Image Processing, New York:IEEE, 2002:357-360.
[10] 黄涛, 薛丰昌, 钱洪亮, 等. 基于NSCT和自适应模糊阈值遥感图像去噪算法[J]. 计算机技术与发展, 2016, 26(1): 65-69
HUANG Tao, XUE Fengchang, QIAN Hongliang, et al. Remote sensing image denoising algorithm based on NSCT and adaptive fuzzy threshold[J]. Computer Technology and Development, 2016, 26(1): 65-69
[11] CUNHA D L, ZHOU J P, DO M N. The nonsubsampled contourlet transform:theory, design, and applications[J]. IEEE Transactions on Image Processing, 2006, 15(10): 3089-3101 DOI:10.1109/TIP.2006.877507
[12] MILLER J, THOMAS J. Detectors for discrete-time signals in non-Gaussian noise[J]. IEEE Transactions on Information Theory, 1972, 18(2): 241-250 DOI:10.1109/TIT.1972.1054787
[13] ALLILI M S, ZIOU D, BOUGUILA N, et al. Image and video segmentation by combining unsupervised generalized Gaussian mixture modeling and feature selection[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2010, 20(10): 1373-1377 DOI:10.1109/TCSVT.2010.2077483
[14] ALLILI M S. Wavelet modeling using finite mixtures of generalized gaussian distributions:application to texture discrimination and retrieval[J]. IEEE Transaction on Image Processing, 2012, 21(21): 1452-1464
[15] WALLACE C S. Statistical and inductive inference by minimum message length[M]. Germany: Springer Science & Business Media, 2005: 3-5.
[16] ALLILI M S, BAAZIZ N, MEJRI M. Texture modeling using contourlets and finite mixtures of generalized Gaussian distributions and applications[J]. IEEE Transactions on Multimedia, 2014, 16(3): 772-784 DOI:10.1109/TMM.2014.2298832
[17] PERNKOPF F. Detection of surface defects on raw steel blocks using Bayesian network classifiers[J]. Pattern Analysis and Applications, 2004, 7(3): 333-342 DOI:10.1007/s10044-004-0232-3
[18] 张亚萍, 陈得宝, 侯俊钦, 等. 朴素贝叶斯分类算法的改进及应用[J]. 计算机工程与应用, 2011, 47(15): 134-137
ZHANG Yaping, CHEN Debao, HOU Junqin, et al. Improvement and application of Naive Bayesian classification[J]. Computer Engineering and Applications, 2011, 47(15): 134-137 DOI:10.3778/j.issn.1002-8331.2011.15.037
西安工程大学、中国纺织服装教育学会主办
0

文章信息

郝磐霞, 景军锋, 张蕾, 等.
HAO Panxia, JING Junfeng, ZHANG Lei, et al.
基于非下采样轮廓波变换和朴素贝叶斯分类器的织物缺陷检测
Fabric defect detection based on NSCT and naive Bayes classifier
纺织高校基础科学学报, 2017, 30(1): 134-141, 147
Basic Sciences Journal of Textile Universities, 2017, 30(1): 134-141, 147.

文章历史

收稿日期: 2016-09-14

相关文章

工作空间