在纺织品领域中, 织物疵点检测占据着举足轻重的地位, 它是衡量成品的质量以及价格的评判依据. 传统的织物疵点检测主要依赖于人工的肉眼, 人工检测容易产生疲劳, 从而导致检测精度低、误检率高. 这几年来, 随着计算机视觉和图像处理技术突飞猛进的发展, 纺织品领域使用织物疵点自动检测技术已成为必然趋势. 频谱法、统计法、结构法、模型法、神经网络和深度学习是织物疵点主要检测方法. 基于频谱法、结构法以及神经网络的织物缺陷分类, 仍然是该领域的研究重点. 傅里叶变换、小波变换和Gabor变换是频谱法常用的经典变换方法, 它们通常与其他相关算法组合应用. 李东等人[1]结合傅里叶方法和支持向量机方法提出了一种多分类方法. 由于小波变换[2]具有很明显的局部时频特点, 在织物检测方面, 它受到广泛应用. 该方法在突出边缘的缺陷中具有良好的效果, 但在具有平滑灰度差异的缺陷中表现不佳. Gabor滤波器适用于模拟人眼的生物学特征, 织物检测经常用到该方法. 考虑到Gabor滤波器在进行滤波操作时有多方向和多尺度的特点从而引发高计算复杂性, 实时要求难以得到满足. 文献[3,4]通过采用遗传算法来构建最优Gabor滤波器达到降低计算复杂性的目的, 但是该滤波器执行的特点仅在一个方向和一个尺度上, 导致性能不佳. Jing等人[5]使用遗传算法构建的最佳Gabor滤波器对图案化图像进行滤波, 并对处理后的图像进行阈值化处理. 文献[6]通过HOG算子提取图像块特征, 再利用低秩分解模型实现了织物疵点检测. 文献[7]考虑了织物纹理和疵点特性, 利用LBP算子实现了织物疵点准确分割. 近年来, 神经网络也被用于织物缺陷检测和分类[8]. 除了经典的反向传播(BP)网络之外, 新兴的神经网络, 即脉冲耦合神经网络(PCNN)[9,10].
传统的浅层神经网络结构主要由一个输入层、一个隐藏层和一个输出层构成. 与浅层网络结构相比, 具有多个隐含层的神经网络, 简称为深层网络. Hinton等人[11]在2006年提出逐层贪婪算法, 该算法通过初始化深度网络结构权重, 达到改善网络性能的目的. Hinton引发了深度学习在研究和应用领域的热潮, 引起了学者们广泛的反响, 具有创历史的意义. 流行的深度学习模型框架如AlexNet[12]、Vgg-16[13]、GoogleNet[14]和Inception V3[15]等深层网络已成功用于图像分类. Vgg-Face[16]网络结构被用作一个非常深的网络例子, 在实验中证明了它成功地学习面部特征来进行面部验证. 然而, 由于高计算复杂性, 导致计算机硬件设备无法满足需求. 随后, Chollet[17]提出的Xception网络证明了利用深度可分离滤波器可超越Inception V3网络性能. 另外Howard等人[18]利用深度可分离卷积设计了MobileNet并在手机端进行应用. Li等人[19]将Fisher准则融合到LSTM中实现了高效的识别分类. Li等人[20]提出对栈式去噪自编码器加入Fisher准则来进一步提高织物疵点的检测率, 但是当样本数量增加时, 准确率有所下降.
本文为了对具有周期性图织物实现自动化疵点分类检测, 提出了基于Fisher准则的深层卷积神经网络, 其利用深度可分离卷积设计一个小型的深层卷积神经网络(DCNN), 相比较于大型卷积神经网络, 不仅大大地降低网络参数、计算量和分类运行时间, 还保证了织物疵点分类率较高; 其次, 对深层卷积神经网络的Softmax损失函数增加Fisher准则约束, 减小类内间距, 增大类间间距, 通过梯度算法更新整个网络参数, 得到深层卷积神经网络(FDCNN); 最后, 分别将2类织物疵点数据集送入FDCNN网络中进行疵点分类检测. 实验结果表明: 深度可分离卷积可有效地减小网络参数、计算量以及运行时间, 且通过对深层卷积神经网络增加Fisher准则约束, 可有效提高织物疵点分类率.
1 深度可分离卷积本文的网络模型主要基于深度可分离卷积, 核心就是将标准卷积因式分解为深度卷积和逐点卷积. 深度可分离卷积先考虑区域, 再考虑通道, 实现了通道和区域的分离, 其与标准卷积相比网络参数和计算量减小. 将
${G_{k,l,n}} = \displaystyle\sum\limits_{i,j,m} {{K_{i,j,m,n}}} \cdot {F_{k + i - 1,l + j - 1,m}}\;$ | (1) |
${{{D}}_K} \cdot {{{D}}_K} \cdot {{M}} \cdot {{N}} \cdot {{{D}}_F} \cdot {{{D}}_F}$ | (2) |
利用深度可分离卷积将标准卷积分解为深度卷积和逐点卷积, 通过1×1的逐点卷积将深度卷积输出特征图线性输出, 深度可分离卷积的计算量为深度卷积和逐点卷积之和, 即深度卷积的输出特征图、计算量和深度可分离卷积的计算量分别如下式(3)(4)(5):
${{\hat{ G}}_{k,l,m}} = \displaystyle\sum\limits_{i,j} {{{{\hat{ K}}}_{i,j,m}}} \cdot {{{F}}_{k + i - 1,l + j - 1,m}}$ | (3) |
${{{D}}_K} \cdot {{{D}}_K} \cdot {{M}} \cdot {{{D}}_F} \cdot {{{D}}_F}$ | (4) |
${{{D}}_K} \cdot {{{D}}_K} \cdot {{M}} \cdot {{{D}}_F} \cdot {{{D}}_F} + {{M}} \cdot {{N}} \cdot {{{D}}_F} \cdot {{{D}}_F}$ | (5) |
其中,
假设由
${{{L}}_s} = - \dfrac{1}{{{m}}}\displaystyle\sum\limits_{i = 1}^m {\displaystyle\sum\limits_{j = 1}^k {1\{ {{{y}}^{_i}} = {{j}}\} } \log \dfrac{{{{{e}}^{^{\omega _j^{\rm T}{x^i}}}}}}{{\displaystyle\sum\limits_{j = 1}^k {{{{e}}^{\omega _j^{\rm T}{x^i}}}} }}} $ | (6) |
$1({{{y}}^i} = {{j}}) = \left\{ {\begin{array}{*{20}{c}} {1,\;\;{{{y}}^i} = {{j}}{\text{为真}}}\\ {0,\;\;{{{y}}^i} = {{j}}{\text{为假}}} \end{array}} \right.$ | (7) |
其中,
为了进一步提高深层卷积神经网络的分类性能, 提出对深层卷积神经网络的损失函数进行Fisher准则约束, 基于Fisher线性判别提出了新Fisher判据, 即表示为:
${{{L}}_f} = \dfrac{1}{2}\displaystyle\sum\limits_{i = 1}^m {\displaystyle\sum\limits_{j = 1}^k {||{{{O}}_i} - {{{u}}_{{y^i}}}||_2^2} } - \dfrac{\delta }{2}\displaystyle\sum\limits_{i = 1}^m {\displaystyle\sum\limits_{j = 1,{{t}} = 1}^m {||{{{u}}_{{j^i}}} - {{{u}}_t}||_2^2} } $ | (8) |
其中,
${{L}} = {{{L}}_s} + \theta {{{L}}_f}$ | (9) |
其中,
$\dfrac{{\partial {{{L}}^e}}}{{\partial {{O}}_i^e}} = \dfrac{{\partial {{L}}_s^e}}{{\partial {{O}}_i^e}} + \theta \dfrac{{\partial {{L}}_f^e}}{{\partial {{O}}_i^e}}$ | (10) |
${{{w}}^{e + 1}} = {{{w}}^e} - {\lambda ^e} \cdot \dfrac{{\partial {{L}}_f^e}}{{\partial {{{w}}^e}}}$ | (11) |
织物疵点分类检测主要步骤: (1)构建织物疵点训练集和测试集; (2)利用深度可分离卷积设计14层的深层卷积神经网络, 输入织物疵点样本训练DCNN模型; (3)对DCNN网络的Softmax函数增加Fisher准则约束, 根据反向传播梯度下降不断迭代更新权值进行训练微调, 得到FDCNN模型; (4)将测试集的织物疵点图像输入到训练好的FDCNN模型中进行分类识别. FDCNN算法具体流程如图1所示.
3.1 实验环境与实验数据集
实验运行环境: Intel(R) Xeon(R) E5-2620 V4@2.10 GHZ, 64 GB, 在MATLAB2018a环境下编写代码. 本文的织物疵点数据集主要来源于: TILDA织物数据集和彩色格子织物疵点样本集, 如图2和图3所示.
图2为TILDA数据库织物, 通过数据增强方法增加图片样本量, 使得深层卷积神经网络可以学到更多图像特性, 减小深层卷积神经网络过拟合的可能性. 本文采用旋转变换、翻转变换、平移变换等操作将样本数量扩充至原来10倍, 再从原始图像中随机截取若干小块图像, 并归一化. 实验随机选择6460张为训练集, 2490张为测试集. 图3为实验室环境下, 使用工业相机实时采集的彩色格子织物数据集, 彩色格子织物数据集共收集2768张. 同样采用上述的数据增强方法, 对疵点样本进行扩充6倍. 随机选取6869张为训练集, 2640张为测试集.
3.2 深层卷积神经网络结构
由于传统CNN网络采用的是标准卷积层和池化层, 导致网络参数、计算量大, 无法满足计算机硬件需求. 深度可分离卷积将标准卷积层分解为深度卷积层和逐点卷积层, 使得计算量和网络参数减小. 为了满足在有限的织物疵点库上提高织物疵点分类率, 本文以Vgg-16网络结构为基础, 结合深度可分离卷积设计出14层的深层卷积神经网络结构(不包括输入层、BN、ReLu、池化层、Softmax层以及输出层), 降低网络模型中的参数数量和计算量, 节省了运行占用内存, 加快运行速度, 减小分类时间. 深层卷积神经网络(DCNN)结构流程如图4所示.
3.3 训练FDCNN
为了进一步提高DCNN网络模型的性能, 对其Softmax损失函数增加Fisher准则约束, 将
4 实验结果与分析 4.1 FDCNN网络模型分析
表1为使用不同的分辨率因子作用于FDCNN在两种织物数据集上的实验结果, 输入层分辨率为224、192、128和64, 批量大小为32, 学习率为0.001, 迭代次数为975次, 训练周期为6.
由表1可知: 1)通过输入不同分辨率的图片, 当输入层分辨率不断减小时, 网络参数不变, 织物疵点分类运行时间逐渐降低. 2)当FDCNN-128时, 织物疵点分类率最高, 在TILDA和彩色格子织物数据集上分类率分别为98.14%和98.55%. 由上可知, 本文的FDCNN模型输入层图片分辨率选取为
4.2 FDCNN算法与其他算法进行比较
将FDCNN算法与当前流行的深层网络模型、传统算法在TILDA和彩色格子织物数据集上进行比较. 选取AlexNet、Vgg-16和Inception V3流行网络结构进行对比, 实验结果如表2所示. 使用了2种传统的特征提取方法, 选取的特征包括方向梯度直方图(HOG)特征和局部二值模式(LBP)特征, 实验结果如表3所示.
由表2可以看出: 1) FDCNN模型与流行网络结构相比, 网络参数最小为1.8百万, 运行时间最短为1781 s. 深度可分离卷积可以节省网络参数和运行时间, 解决了网络训练时计算机硬件设备不足的困难. 2) FDCNN模型在TILDA织物数据集上分类率为98.14%, FDCNN分类率比AlexNet提高0.38%, 比Vgg-16和Inception V3分别下降0.18%和0.46%; 3) FDCNN模型在彩色格子织物数据集上分类率为98.55%, FDCNN分类率比AlexNet和Vgg-16分别提高0.13%和0.25%, 比Inception V3下降0.2%; 综上可知, 从网络参数、运行时间和分类率上考虑, FDCNN模型最有效.
由表3可知: 1) FDCNN和DCNN模型比传统算法分类率高. 当传统算法与FDCNN均使用Softmax作为分类器, 深层卷积神经网络通过非线性映射学习自动提取织物疵点的深层特征, 其深层特征优于传统算法提取特征特性, 其具有较强的识别能力. TILDA和彩色格子织物纹理结构较为丰富, 采用两种传统的特征描述算子不能提取有效织物疵点特征, 不利于Softmax分类器进行分类识别. 2)在TILDA和彩色格子织物数据集上, FDCNN模型分类率分别为98.14%和98.55%, 比DCNN模型分别提高2.62%和2.47%. 由实验结果表明, 与大型卷积神经网络模型相比, 对DCNN模型的Softmax层增加Fisher准则约束减小类内间距, 增大类间间距, 不仅提高织物疵点分类率还大幅度降低了网络参数、计算量和运行时间, 所以, FDCNN模型设计是合理的, 在实际检测中是可行的.
5 结论针对纹理结构复杂的织物疵点检测人工提取特征的困难和检测率低的不足, 本文提出的基于Fisher准则的深层卷积神经网络织物疵点检测算法. 该方法不仅可以自动提取织物疵点的特征, 还利用深度可分离卷积有效减小网络参数量和降低运行时间, 并通过对DCNN的Softmax层损失函数增加Fisher准则约束, 减小类内间距, 增大类间间距, 进而不断更新整个网络参数, 得到最优化的FDCNN网络模型, 有效提高织物疵点分类精度. 在TILDA和彩色格子织物数据集上, FDCNN模型分类率分别为98.14%和98.55%. 实验结果表明: FDCNN算法采用深度可分离卷积可减小网络参数量和降低运行时间, 且通过增加Fisher准则约束, 不断进行迭代更新微调参数, 对不同纹理背景的织物疵点图像实现分类识别, 具有泛化性.
在后续工作中, 将通过改进算法来训练出更好的深层卷积神经网络模型, 使其对纹理更为复杂和疵点类型更多样化的图像库中进行分类识别, 并将探讨如何将此方法检测应用到自动检测系统中.
[1] |
李东, 万贤福, 汪军. 采用傅里叶描述子和支持向量机的服装款式识别方法. 纺织学报, 2017, 38(5): 122-127. |
[2] |
Li PF, Zhang HH, Jing JF, et al. Fabric defect detection based on multi-scale wavelet transform and Gaussian mixture model method. The Journal of the Textile Institute, 2015, 106(6): 587-592. DOI:10.1080/00405000.2014.929790 |
[3] |
Tong L, Wong WK, Kwong CK. Differential evolution-based optimal Gabor filter model for fabric inspection. Neurocomputing, 2016, 173: 1386-1401. DOI:10.1016/j.neucom.2015.09.011 |
[4] |
Hu GH. Automated defect detection in textured surfaces using optimal elliptical Gabor filters. Optik, 2015, 126(14): 1331-1340. DOI:10.1016/j.ijleo.2015.04.017 |
[5] |
Jing JF, Yang PP, Li PF, et al. Supervised defect detection on textile fabrics via optimal Gabor filter. Journal of Industrial Textiles, 2014, 44(1): 40-57. DOI:10.1177/1528083713490002 |
[6] |
李春雷, 高广帅, 刘洲峰, 等. 应用方向梯度直方图和低秩分解的织物疵点检测算法. 纺织学报, 2017, 38(3): 149-154. |
[7] |
周建, 王静安, 高卫东. 应用局部纹理特征的无监督织物瑕疵检测算法. 纺织学报, 2016, 37(12): 43-48. |
[8] |
景军锋, 范晓婷, 李鹏飞, 等. 应用深度卷积神经网络的色织物缺陷检测. 纺织学报, 2017, 38(2): 68-74. |
[9] |
宋寅卯, 袁端磊, 卢易枫, 等. 基于最优PCNN模型的织物疵点自动检测. 仪器仪表学报, 2008, 29(4): 888-891. DOI:10.3321/j.issn:0254-3087.2008.04.042 |
[10] |
祝双武, 郝重阳. 一种基于改进型PCNN的织物疵点图像自适应分割方法. 电子学报, 2012, 40(3): 611-616. |
[11] |
Hinton GE, Osindero S, Teh YW. A fast learning algorithm for deep belief nets. Neural Computation, 2006, 18(7): 1527-1554. DOI:10.1162/neco.2006.18.7.1527 |
[12] |
Krizhevsky A, Sutskever I, Hinton GE. ImageNet classification with deep convolutional neural networks. Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, NV, USA. 2012. 1097–1105.
|
[13] |
Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.
|
[14] |
Szegedy C, Liu W, Jia YQ, et al. Going deeper with convolutions. Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, MA, USA. 2014. 1–9.
|
[15] |
Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA. 2016. 2818–2826.
|
[16] |
Parkhi OM, Vedaldi A, Zisserman A. Deep face recognition. Proceedings of the 26th British Machine Vision Conference. Swansea, UK. 2015. 41.1–41.12.
|
[17] |
Chollet F. Xception: Deep learning with depthwise separable convolutions. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA. 2017. 1800–1807.
|
[18] |
Howard AG, Zhu ML, Chen B, et al. MobileNets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861, 2017.
|
[19] |
Li C, Xie CY, Zhang BC, et al. Deep fisher discriminant learning for mobile hand gesture recognition. Pattern Recognition, 2017, 77: 276-288. |
[20] |
Li YD, Zhao WG, Pan JH. Deformable patterned fabric defect detection with fisher criterion-based deep learning. IEEE Transactions on Automation Science and Engineering, 2017, 14(2): 1256-1264. DOI:10.1109/TASE.2016.2520955 |