殷鹏 景军锋
摘 要:针对传统的织物缺陷检测算法普适性不足的问题,提出一种基于改进DANN网络的织物缺陷检测算法。分析了对抗迁移学习领域的DANN网络存在的仅考虑源域和目标域间特征相似的情况和对于复杂图片提取到的特征能力较差的问题。提出了改进的方法,通过在网络中加入MMD层,可以对提取到的目标域特征赋予不同的权重,并使用ResNet50作为特征提取器。将原DANN网络和改进的MMD-DANN网络在织物缺陷图库中进行了测试并对比了二者的缺陷检测结果。结果表明,改进后网络相比于原网络的准确率平均提高了5%左右,且实时性良好,能满足实际工业需求。
关键词:织物缺陷检测;对抗迁移学习;DANN网络;MMD;ResNet50
中图分类号:TP391.4
文献标志码:A
文章编号:1009-265X(2020)05-0057-07
Fabric Defect Detection Based on Improved DANN Network
YIN Peng, JING Junfeng
(School of Electrics and Information, Xian Polytechnic University, Xian 710048, China)
Abstract:Aiming at the poor general applicability of traditional fabric defect detection algorithm, a fabric defect detection algorithm based on improved DANN network was proposed. Firstly, the shortcomings of the DANN network in the fieldof adversarial transfer learning were analyzed. For example, it only considers the situation of similar features between the source and target domains and cant well exact features of the image with complex information. Next, an improved method was proposed for these deficiencies. By adding the MMD layer to the network, different weights could be assigned to the extracted target domain features, and ResNet50 was used as the feature extractor. Finally, the original DANN network and the improved MMD-DANN network were testedin the fabric defect library, and theirdefect detection results were compared. The test results show that the accuracy of the improved network is about 5% higher than that of the original network, with good timeliness, and it can meet practical industrial needs.
Key words:fabric defect detection;adversarial transfer learning; DANN network; MMD; ResNet50
中国作为一个纺织大国,有着悠久的纺织历史。纺织品质量的好坏直接关系到企业的声誉和经济效益。统计表明,缺陷过多甚至会使产品的价值下降45%~60%[1-2]。因此,要想获得高质量的织物产品,就必须对织物的表面缺陷進行严格的监控。早期对织物表面缺陷的检测是由肉眼来完成,这种检测方式存在效率低下、精度不高、容易受人为因素影响等缺点,不能满足现代纺织行业高速发展的需求[3]。目前使用机器视觉技术对织物表面进行缺陷检测已经成为主流趋势。找到检测精度高,实时性好的算法是织物缺陷检测中亟待解决的问题。
目前,对织物缺陷检测算法的研究共分为3大类:基于传统图像处理算法的织物缺陷检测、基于传统机器学习算法的织物缺陷检测研究和基于大数据集的深度学习算法的织物缺陷检测研究。
传统的图像检测算法主要通过将单个织物图像中的缺陷部分从织物图像中精确的分离来达到检测的目的[4],包括空间域的统计方法[5-7]和频率域的谱方法[8-10];机器学习对织物缺陷的检测侧重于类别上的特征,根据缺陷的类型手动选取相关特征,包括基于模型的方法[11]和基于学习的方法[12-14];应用大数据集的深度学习算法的织物缺陷检测技术能够自动地提取图像的特征,这种方法主要分为:基于物体分类的方法和基于目标识别的方法。基于物体分类的方法主要思想是通过特征学习方法对整个图像进行全局描述,后采用深度学习分类模型对图像进行预测,判断其属于哪一类别,如基于AlexNet的方法[15]、基于GoogLeNet的方法[16]、基于ResNet的方法[17]等。基于目标识别的方法是在物体分类的思想上,不仅判断属于何种类型,而且还标定缺陷的大概位置。这种方法有基于SSD的方法[3]、基于Faster R-CNN的方法[18]等。
对以上3类方法而言,即使在特定的织物种类上适用且表现最佳,也不能直接应用于另一种织物。传统的图像处理技术需要对新的织物种类重新选择合适的检测算法,且基于机器学习和深度学习的技术都需重新收集样本并花费巨大的人力物力去标注样本。这些方法都极大地增加了研究成本,寻找一种普适性强的检测算法势在必行。为了解决此问题,本研究提出一种基于改进DANN网络(Domain-Adversarial Neural Network)的织物缺陷检测算法。
1 DANN网络
DANN网络[19]是生成对抗网络和迁移学习思想的融合。自生成对抗网络(GAN)在2014年被Goodfellow等[20]提出后,目前已经成为人工智能领域最炙手可热的概念之一。GAN的目标很明确,即生成训练样本。这种思想和迁移学习的思想似乎有些出入,迁移学习研究的目标是如何将源域的知识 迁移到目标域上[21],其存在一个源领域和一个目标领域,因此,可以免去生成样本的过程,而直接将其中一个领域的数据(通常是目标域)当作是生成的样本。此时,GAN网络的生成器的职能发生变化,不再是生成新样本,而是扮演了特征提取的功能,通过不断学习领域数据的特征,使得其判别器无法对两个领域进行分辨。这样,原来的生成器也可以称为特征提取器。
Ganin等[19]正是基于上述想法,首次提出对抗迁移学习并构造DANN网络实现了这一想法。整个网络的网络结构如图1所示,该网络由3大部分构成,分别为特征提取网络、域判别网络和预测网络。对网络输入源域带标签样本和目标域无标签样本,特征提取器用于提取特征,域判别器用于区分源域和目标域的特征,预测器用于预测提取到所有特征的类别。整个网络的学习目标是生成的特征尽可能帮助区分两个领域的特征,同时使得判别器无法对两个领域的差异进行判别。
假定源域数据Ds={(xsi,ysi)}Nsi=1,其中Ns表示源域样本数,目标域数据Dt={xti}Nti=1,其中Nt表示目标域没有标签的样本数,算法的目标为通过训练该网络正确预测到目标域的标签yt。由于源域Ds和目标域Dt不再满足独立同分布,因此不能再直接将源域训练的模型直接用于目标域的预测,而需要迁移学习的思想。在DANN网络中,使用Gf(·;θf)作为该网络的特征提取器,θf为特征提取部分的参数;Gy(·;θy)作为该网络的类别预测器,θy为类别预测部分的参数;Gd(·;θd)作为该网络的域判别器,θd为域判别部分的参数。因此,可以得到式(1)和式(2),其中Liy(θf,θy)和Lid(θf,θd)分别为类别预测和域判别的损失函数,Ly(·)和Ld(·)分别为网络所选取的损失函数,yi和di为样本真实值(源域样本d的值为0,目标域样本d得值为1)。
Liy(θf,θy)=Ly(Gy(Gf(xi;θf);θy),yi)(1)
Lid(θf,θd)=Ld(Gd(Gf(xi;θf);θd),di)(2)
因此,整个网络的优化目标为式(3)所示,其中λ为超参数,整个网络使用SGD来更新参数。
E(θf,θy,θd)=1Ns∑Nsi=1Liy(θf,θy)-
λ1Ns∑Nsi=1Lid(θf,θd)+1Nt∑Nti=1Lid(θf,θd)(3)
2 改进DANN网络
尽管相比于早期的迁移学习模型,如GFK[22]、DDC[23]、DAN[24]等,DANN网络在文档情感分析、图像分类和行人重识别等方面取得了不错的成绩[19],但是该网络还是存在以下缺点:
a)该网络只能适用在源域和目标域中特征完全相似的情况下,而在大多数迁移学习场合中目标域的特征和源域的特征往往有相同部分和不同部分;
b)在原文中该网络仅使用LeNet-5[25]的前两个卷积层作为特征提取网络,而使用此网络来对复杂图像提取特征,则无法得到更深层次的特征。
考虑到源域的特征和目标域的特征既有相同部分也有不同部分,因此尝试将网络的结构更改为如图2所示。首先,使用特征提取器Gf(·;θf)分别对输入的源域数据xs和目标域数据xt进行特征提取得到Gf(xs;θf)和Gf(xt;θf);然后,通过MMD层对目标域特征赋予一定的权重值,将源域的特征和目标域的特征映射到再生希尔伯特空间中,在这个空间中计算这两个特征之间的距离来度量它们的相似性,权重值的大小即为MMD的倒数,如式(4)所示,在这里参考了DAN网络的MK-MMD(Multi-kernel maximum mean discrepancy)方法[24],其计算如式(5)所示,其中φ(·)是映射,用于把原变量映射到再生希尔伯特空间[26](RKHS);最后,和DANN网络的后面结构相似,使用同样的类别预测器Gy(·;θy)和域判别器Gd(·;θd)。
Gnewf(xt;θf)=1MMD(Gf(xs;θf),Gf(xt;θf))Gf(xt;θf)(4)
MMD(Gf(xs;θf),Gf(xt;θf))=
φ(Gf(xs;θf))-φ(Gf(xt;θf))2H(5)
使用ResNet50[27]作为特征提取网络。相比于LeNet网络,ResNet50具有更深的网络结构,对于较复杂的图像能够提取更多高层特征,同时,与传统的深度卷积网络不同的是其特有的Residual的结构,如图3所示。该网络在原有的深度卷積网络基础
上增加了恒等映射(identitymapping),将原始所需要学的函数H(x)转换成F(x)+x,尽管这两种表达的效果相同,但是优化的难度却并不相同,F(x)的优化会比H(x)简单得多。这一想法也是源于图像处理中的残差向量编码,通过一个reformulation,将一个问题分解成多个尺度直接的残差问题,能够很好的起到优化训练的效果[28]。该结构的加入可以有效地解决深度卷积神经网络越深,训练错误越多的问题。
3 实验设计与结果分析
3.1 实验准备
参照上文的内容在PyTorch深度学习框架上分别搭建了DANN网络和改进的DANN网络,称改进的DANN网络为MMD-DANN网络,实验使用了白坯布缺陷样本库、玻璃纤维电子布缺陷样本库、色织物缺陷样本库作为测试的样本数据集,实验在单块GPU型号为GTX 1080Ti上运行。
这3种缺陷样本库类别共有5种,分别为正常、污渍、破洞、毛羽、布皱,具体如表1所示。其中白坯布缺陷样本库中4 000张训练集、3 000张测试集,在这里将白坯布缺陷样本库称为WF(White Fabric);玻璃纤维电子布缺陷样本库中共有5 000张训练集、3 000张测试集,同样将玻璃纤维电子布缺陷样本库称为EC(Electronic Cloth);色织物缺陷样本库中共有3 000张训练集、3 000张测试集,将色织物缺陷样本库称为YF(Yarn-dyed Fabric)。
3.2 实验设置
在实验测试前,对所有的实验样本作了预处理,共分为3步:a)为了方便构建深度卷积神经网络和网络训练,将图片的大小全部resize为256×256像素;b)为了提高训练速度和精度,对样本数据集进行归一化,使得所有样本值在0到1之间;c)对数据集做数据增强处理,数据增强可以有效地减小过拟合[29]。
选用了去掉全连接层后的ResNet50网络作为特征提取器,预测器使用了3个全连接层、2个归一化层、2个激活层和1个Dropout层。激活层使用了Swish激活函数,计算如式(6)所示。DropOut是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。全连接层在整个卷积神经网络中起到“分类器”的作用,可以将学到的“分布式特征表示”映射到样本标记空间。域判别器使用了2个全连接层、1个归一化层和1个激活层,激活层同样使用了Swish激活函数。网络的损失函数使用了交叉熵损失函数,计算如式(7)所示。
f(x)=x1+e-x(6)
L=∑Ni=0y(i)logy ^(i)+(1-y(i)log(1-y ^(i)))(7)
3.3 结果分析
表2是使用了ResNet50的特征提取层分别对WF、CE、YF 3个缺陷样本集中的图片提取所得到的特征图,为了方便展示,从样本数据集的每个类别中分别抽出一张图像显示出该网络中第二个卷积层的输出特征图。
图4是从源域为WF迁移到目标域为EC的训练准确率曲线图,其中横坐标表示迭代次数,纵坐标表示训练准确率(%)。曲线1表示对源域WF的训练准确率,因为使用的模型参数是提前在源域WF上训练好的,因此,其表现的准确率很高,约为98%;曲线2为使用DANN网络在有标签的WF上对无标签的EC上的训练准确率,其训练准确率大概为83%;曲线3为使用MMD-DANN网络在有标签的WF上对无标签的EC上的训练准确率,其训练准确率大概为89%。因此,可以看出MMD-DANN网络在训练集上表现要优于DANN网络。
表3是WF、EC、YF相互作为源域和目标域的情况下,直接对目标域预测、使用DANN网络和使用MMD-DANN网络所得到的测试平均正确率比对结果。通过观察,可得到对源域和目标域使用DANN网络的效果优于使用源域所训练的网络直接对目标域去预测的效果,但是DANN网络的效果又明显不及MMD-DANN网络。综上MMD-DANN网络的效果对不同种类织物缺陷检测效果更佳。
在实际工业应用中,不仅要考虑检测的准确率,还要考虑其检测的实时性。为了测试,使用了一台带有1050ti显卡的工控机,对每个类别测试了10张图像共50张图像,实验结果如表4所示。可以看出,单幅图像的检测耗时平均为10 ms以下,而根据要求,检测算法必须在12 ms以下,才能保证检测速度达到90 m/min,可以满足实际工业需求。
4 结 论
针对织物种类众多,当前织物缺陷检测算法普适性不足的问题,提出一种基于改进DANN网络的织物缺陷检测算法。针对原始DANN网络中存在的仅考虑源域和目标域间特征相似的情况以及对于复杂图片提取到的特征能力较差的问题,提出了改进的方法,通过在网络中加入MMD层,对提取到的目标域特征赋予不同的权重,并使用ResNet50作为特征提取器。在织物缺陷图库上对原DANN网络和改进的MMD-DANN网络进行测试,结果表明,改进后的网络相比于原DANN网络在测试集上的准确率平均提高了5%左右,并且验证了其检测的实时性,保证在工业现场能实时检测。
参考文献:
[1] CHO C S, CHUNG B M, PARK M J. Development of real-time vision-based fabric inspection system[J]. IEEE Transactions on Industrial Electronics, 2005,52(4):1073-1079.
[2] KUMAR A. Computer-vision-based fabric defect detection: A survey[J]. IEEE Transactions on Industrial Electronics,2008,55(1):348-363.
[3] 董阿梅.基于卷积神经网络的色织物疵点检测与分类算法研究[D].西安:西安工程大學,2018.
[4] ZHANG Y F, BRESEE R R. Fabric defect detection and classification using image analysis[J]. Textile Research Journal, 1995,65(1):1-9.
[5] 朱丹丹.基于图像分析的色织物疵点检测研究[D].无锡:江南大学,2014.
[6] RAHEJA J L, KUMAR S, CHAUDHARY A. Fabric defect detection based on GLCM and Gabor filter: A comparison[J]. Optik-International Journal for Light and Electron Optics, 2013,124(23):6469-6474.
[7] 任获荣.数学形态学及其应用[D].西安:西安电子科技大学,2004.
[8] MALEK A S, DREAN J Y, BIGUE L, et al. Optimization of automated online fabric inspection by fast Fourier transform (FFT) and cross-correlation[J]. Textile Research Journal, 2013,83(3):256-268.
[9] MAK K L, PENG P. An automated inspection system for textile fabrics based on Gabor filters[J]. Robotics and Computer-Integrated Manufacturing,2008,24(3):359-369.
[10] 杨晓波.基于自适应离散小波变换的混合特征畸变织物疵点识别[J].纺织学报,2013,34(1):133-137.
[11] 景军锋,李阳,李鹏飞,等.基于小波域多尺度Markov随机场的织物印花图案分割[J].纺织学报,2014,35(1):127-133.
[12] WONG W K, YUEN C W M, FAN D D, et al. Stitching defect detection and classification using wavelet transform and BP neural network[J]. Expert Systems with Applications, 2009,36(2):3845-3856.
[13] FENG T, ZOU L, YAN J, et al. Real-time fabric defect detection using accelerated small-scale over-completed dictionary of sparse coding[J]. International Journal of Advanced Robotic Systems,2016,13(1):1-9.
[14] 景军锋,党永强,苏泽斌,等.基于改进SAE网络的织物疵点检测算法[J].电子测量与仪器学报,2017,31(8):1321-1329.
[15] JING J, DONG A, LI P, et al. Yarn-dyed fabric defect classification based on convolutional neural network[J]. Optical Engineering, 2017,56(9):93-104.
[16] 张宏伟,张凌婕,李鹏飞,等.基于GoogLeNet的色织物花型分类[J].纺织科技进展,2017(7):33-35,52.
[17] SIEGMUND D, PRAJAPATI A, KIRCHBUCHNER F, et al. An integrated deep neural network for defect detection in dynamic textile textures[C]//International Workshop on Artificial Intelligence and Pattern Recognition. Springer, Cham, 2018:77-84.
[18] 李明,景军锋,李鹏飞.应用GAN和Faster R-CNN的色织物缺陷识别[J].西安工程大学学报,2018,32(6):663-669.
[19] GANIN Y, USTINOVA E, AJAKAN H, et al. Domain-adversarial training of neural networks[J]. The Journal of Machine Learning Research, 2016,17(1):2096-2030.
[20] GOODFELLOW I, POUGET-ABADIE J, MIRZA M, et al. Generative adversarial nets[C]//Advances in neural information processing systems. 2014:2672-2680.
[21] PAN S J, YANG Q. A survey on transfer learning[J]. IEEE Transactions on Knowledge and Data Engineering, 2010,22(10):1345-1359.
[22] GONG B, SHI Y, SHA F, et al. Geodesic flow kernel for unsupervised domain adaptation[C]//Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on. IEEE, 2012:2066-2073.
[23] TZENG E, HOFFMAN J, ZHANG N, et al. Simultaneous deep transfer across domains and tasks[C]//Proceedings of the IEEE International Conference on Computer Vision, Piscataway: IEEE, 2015:4068-4076.
[24] LONG M, CAO Y, WANG J, et al.Learning transferable features with deep adaptation networks[C]//Proceedings of the 32nd International Conference on Machine Learning, Lille: PMLR, 2015: 97-105.
[25] LECUN Y, JACKEL L D, BOTTOU L, et al. Comparison of learning algorithms for handwritten digit recognition[C]//International conference on artificial neural networks, 1995,60:53-60.
[26] BORGWARDT K M, GRETTON A, RASCH M J, et al. Integrating structured biological data by kernel maximum mean discrepancy[J]. Bioinformatics, 2006,22(14):e49-e57.
[27] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition, 2016:770-778.
[28] 彭博.深度卷積网络:原理与实践[M].北京:机械工业出版社,2018:169-171.
[29] KRIZHEVSKY A, SUTSKEVER I, HINTON G. ImageNet classification with deep convolutional neural[C]//Neural Information Processing Systems,2014:1-9.